about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig3
-rw-r--r--.github/CODEOWNERS7
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md2
-rw-r--r--.github/ISSUE_TEMPLATE/build_failure.md2
-rw-r--r--.github/ISSUE_TEMPLATE/missing_documentation.md2
-rw-r--r--.github/ISSUE_TEMPLATE/out_of_date_package_report.md2
-rw-r--r--.github/ISSUE_TEMPLATE/packaging_request.md2
-rw-r--r--.github/ISSUE_TEMPLATE/unreproducible_package.md2
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md2
-rw-r--r--.github/workflows/basic-eval.yml4
-rw-r--r--.github/workflows/check-by-name.yml2
-rw-r--r--.github/workflows/check-maintainers-sorted.yaml2
-rw-r--r--.github/workflows/editorconfig.yml2
-rw-r--r--.github/workflows/manual-nixos.yml4
-rw-r--r--.github/workflows/manual-nixpkgs.yml4
-rw-r--r--.github/workflows/periodic-merge-24h.yml1
-rw-r--r--.github/workflows/periodic-merge-6h.yml1
-rw-r--r--.github/workflows/update-terraform-providers.yml4
-rw-r--r--.mailmap2
-rw-r--r--CONTRIBUTING.md19
-rw-r--r--doc/README.md2
-rw-r--r--doc/languages-frameworks/cuda.section.md47
-rw-r--r--lib/customisation.nix7
-rw-r--r--lib/licenses.nix6
-rw-r--r--lib/systems/default.nix3
-rw-r--r--maintainers/README.md7
-rw-r--r--maintainers/maintainer-list.nix151
-rw-r--r--maintainers/scripts/README.md58
-rwxr-xr-xmaintainers/scripts/get-maintainer.sh73
-rwxr-xr-xmaintainers/scripts/haskell/hydra-report.hs36
-rw-r--r--maintainers/scripts/luarocks-packages.csv2
-rw-r--r--maintainers/team-list.nix13
-rw-r--r--nixos/doc/manual/configuration/luks-file-systems.section.md42
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md84
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md20
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh54
-rw-r--r--nixos/modules/config/mysql.nix57
-rw-r--r--nixos/modules/config/nix.nix8
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix5
-rw-r--r--nixos/modules/programs/screen.nix38
-rw-r--r--nixos/modules/programs/tsm-client.nix299
-rw-r--r--nixos/modules/services/audio/wyoming/faster-whisper.nix1
-rw-r--r--nixos/modules/services/audio/wyoming/piper.nix1
-rw-r--r--nixos/modules/services/backup/borgbackup.nix33
-rw-r--r--nixos/modules/services/backup/postgresql-backup.nix5
-rw-r--r--nixos/modules/services/backup/tsm.nix11
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix9
-rw-r--r--nixos/modules/services/cluster/spark/default.nix16
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/worker.nix4
-rw-r--r--nixos/modules/services/desktops/ayatana-indicators.nix58
-rw-r--r--nixos/modules/services/development/zammad.nix55
-rw-r--r--nixos/modules/services/display-managers/greetd.nix12
-rw-r--r--nixos/modules/services/games/teeworlds.nix2
-rw-r--r--nixos/modules/services/hardware/thinkfan.nix2
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix12
-rw-r--r--nixos/modules/services/logging/vector.nix6
-rw-r--r--nixos/modules/services/matrix/appservice-irc.nix2
-rw-r--r--nixos/modules/services/matrix/maubot.nix2
-rw-r--r--nixos/modules/services/misc/ankisyncd.nix6
-rw-r--r--nixos/modules/services/misc/guix/default.nix394
-rw-r--r--nixos/modules/services/misc/preload.nix2
-rw-r--r--nixos/modules/services/misc/redmine.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix19
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix10
-rw-r--r--nixos/modules/services/monitoring/ups.nix421
-rw-r--r--nixos/modules/services/networking/ejabberd.nix6
-rw-r--r--nixos/modules/services/networking/harmonia.nix6
-rw-r--r--nixos/modules/services/networking/iwd.nix2
-rw-r--r--nixos/modules/services/networking/keepalived/default.nix21
-rw-r--r--nixos/modules/services/networking/teamspeak3.nix42
-rw-r--r--nixos/modules/services/search/hound.nix77
-rw-r--r--nixos/modules/services/security/clamav.nix52
-rw-r--r--nixos/modules/services/torrent/transmission.nix8
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix14
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix2
-rw-r--r--nixos/modules/services/web-apps/mattermost.nix2
-rw-r--r--nixos/modules/services/web-apps/netbox.nix2
-rw-r--r--nixos/modules/services/web-apps/node-red.nix2
-rw-r--r--nixos/modules/services/web-apps/windmill.nix177
-rw-r--r--nixos/modules/services/web-apps/wordpress.nix2
-rw-r--r--nixos/modules/services/web-servers/caddy/default.nix6
-rw-r--r--nixos/modules/services/web-servers/nginx/tailscale-auth.nix158
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix1
-rw-r--r--nixos/modules/system/boot/clevis.md51
-rw-r--r--nixos/modules/system/boot/clevis.nix107
-rw-r--r--nixos/modules/system/boot/luksroot.nix48
-rw-r--r--nixos/modules/system/boot/networkd.nix2
-rw-r--r--nixos/modules/tasks/filesystems/bcachefs.nix10
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix13
-rw-r--r--nixos/modules/virtualisation/incus.nix4
-rw-r--r--nixos/modules/virtualisation/lxc-container.nix4
-rw-r--r--nixos/modules/virtualisation/lxc.nix26
-rw-r--r--nixos/modules/virtualisation/lxcfs.nix12
-rw-r--r--nixos/modules/virtualisation/lxd-agent.nix4
-rw-r--r--nixos/modules/virtualisation/lxd-virtual-machine.nix4
-rw-r--r--nixos/modules/virtualisation/lxd.nix6
-rw-r--r--nixos/tests/all-terminfo.nix6
-rw-r--r--nixos/tests/all-tests.nix5
-rw-r--r--nixos/tests/auth-mysql.nix3
-rw-r--r--nixos/tests/ayatana-indicators.nix71
-rw-r--r--nixos/tests/caddy.nix15
-rw-r--r--nixos/tests/cinnamon-wayland.nix71
-rw-r--r--nixos/tests/eris-server.nix2
-rw-r--r--nixos/tests/guix/basic.nix38
-rw-r--r--nixos/tests/guix/default.nix8
-rw-r--r--nixos/tests/guix/publish.nix95
-rw-r--r--nixos/tests/guix/scripts/add-existing-files-to-store.scm52
-rw-r--r--nixos/tests/guix/scripts/create-file-to-store.scm8
-rw-r--r--nixos/tests/harmonia.nix3
-rw-r--r--nixos/tests/home-assistant.nix2
-rw-r--r--nixos/tests/incus/container.nix4
-rw-r--r--nixos/tests/incus/preseed.nix4
-rw-r--r--nixos/tests/incus/socket-activated.nix4
-rw-r--r--nixos/tests/incus/virtual-machine.nix4
-rw-r--r--nixos/tests/input-remapper.nix5
-rw-r--r--nixos/tests/installer-systemd-stage-1.nix4
-rw-r--r--nixos/tests/installer.nix248
-rw-r--r--nixos/tests/lxd/container.nix4
-rw-r--r--nixos/tests/lxd/nftables.nix6
-rw-r--r--nixos/tests/lxd/preseed.nix2
-rw-r--r--nixos/tests/lxd/ui.nix4
-rw-r--r--nixos/tests/lxd/virtual-machine.nix4
-rw-r--r--nixos/tests/spark/default.nix66
-rw-r--r--nixos/tests/teleport.nix3
-rw-r--r--nixos/tests/terminal-emulators.nix5
-rw-r--r--nixos/tests/tsm-client-gui.nix6
-rw-r--r--nixos/tests/zammad.nix5
-rw-r--r--pkgs/README.md2
-rw-r--r--pkgs/applications/audio/CHOWTapeModel/default.nix82
-rw-r--r--pkgs/applications/audio/airwindows-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/alsa-scarlett-gui/default.nix4
-rw-r--r--pkgs/applications/audio/cheesecutter/default.nix5
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix4
-rw-r--r--pkgs/applications/audio/eartag/default.nix6
-rw-r--r--pkgs/applications/audio/fmit/default.nix11
-rw-r--r--pkgs/applications/audio/gnome-podcasts/Cargo.lock1051
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix7
-rw-r--r--pkgs/applications/audio/gspeech/default.nix5
-rw-r--r--pkgs/applications/audio/in-formant/default.nix2
-rw-r--r--pkgs/applications/audio/kid3/default.nix2
-rw-r--r--pkgs/applications/audio/ledfx/default.nix2
-rw-r--r--pkgs/applications/audio/praat/default.nix9
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix7
-rw-r--r--pkgs/applications/audio/qpwgraph/default.nix4
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix6
-rw-r--r--pkgs/applications/audio/raysession/default.nix8
-rw-r--r--pkgs/applications/audio/reaper/default.nix8
-rw-r--r--pkgs/applications/audio/rubyripper/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/linux.nix6
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix4
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/Cargo.lock833
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/default.nix70
-rw-r--r--pkgs/applications/backup/timeshift/unwrapped.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-knots/default.nix6
-rw-r--r--pkgs/applications/blockchains/bitcoin/default.nix4
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/sparrow/default.nix4
-rw-r--r--pkgs/applications/blockchains/ton/default.nix7
-rw-r--r--pkgs/applications/display-managers/greetd/gtkgreet.nix4
-rw-r--r--pkgs/applications/display-managers/lightdm-slick-greeter/default.nix4
-rw-r--r--pkgs/applications/editors/aseprite/default.nix4
-rw-r--r--pkgs/applications/editors/cosmic-edit/default.nix76
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix4
-rw-r--r--pkgs/applications/editors/emacs/make-emacs.nix19
-rw-r--r--pkgs/applications/editors/greenfoot/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/bin/darwin.nix (renamed from pkgs/applications/editors/jetbrains/darwin.nix)0
-rw-r--r--pkgs/applications/editors/jetbrains/bin/ides.json172
-rw-r--r--pkgs/applications/editors/jetbrains/bin/linux.nix (renamed from pkgs/applications/editors/jetbrains/linux.nix)41
-rwxr-xr-xpkgs/applications/editors/jetbrains/bin/update_bin.py (renamed from pkgs/applications/editors/jetbrains/update_ides.py)2
-rw-r--r--pkgs/applications/editors/jetbrains/bin/versions.json (renamed from pkgs/applications/editors/jetbrains/versions.json)0
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix704
-rw-r--r--pkgs/applications/editors/jetbrains/patches/jetbrains-remote-dev.patch (renamed from pkgs/applications/editors/jetbrains/JetbrainsRemoteDev.patch)0
-rw-r--r--pkgs/applications/editors/jetbrains/patches/kotlinc-path.patch23
-rw-r--r--pkgs/applications/editors/jetbrains/patches/libdbm-headers.patch52
-rw-r--r--pkgs/applications/editors/jetbrains/patches/no-download.patch128
-rw-r--r--pkgs/applications/editors/jetbrains/patches/pycharm-build-fix.patch41
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/default.nix2
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/tests.nix2
-rwxr-xr-xpkgs/applications/editors/jetbrains/plugins/update_plugins.py2
-rw-r--r--pkgs/applications/editors/jetbrains/readme.md65
-rw-r--r--pkgs/applications/editors/jetbrains/source/brokenPlugins.json1
-rw-r--r--pkgs/applications/editors/jetbrains/source/build.nix264
-rwxr-xr-xpkgs/applications/editors/jetbrains/source/build_maven.py94
-rw-r--r--pkgs/applications/editors/jetbrains/source/default.nix21
-rw-r--r--pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json7107
-rw-r--r--pkgs/applications/editors/netbeans/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix824
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix111
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names3
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix30
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix3
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix12
-rw-r--r--pkgs/applications/editors/vscode/generic.nix6
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix4
-rw-r--r--pkgs/applications/emulators/dosbox-x/default.nix19
-rw-r--r--pkgs/applications/emulators/dosbox/default.nix3
-rw-r--r--pkgs/applications/emulators/yuzu/sources.nix14
-rw-r--r--pkgs/applications/file-managers/ytree/default.nix40
-rw-r--r--pkgs/applications/gis/spatialite-gui/default.nix2
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix9
-rw-r--r--pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch93
-rw-r--r--pkgs/applications/graphics/epick/default.nix6
-rw-r--r--pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch200
-rw-r--r--pkgs/applications/graphics/goxel/default.nix8
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix4
-rw-r--r--pkgs/applications/graphics/komikku/default.nix4
-rw-r--r--pkgs/applications/graphics/krita/default.nix6
-rw-r--r--pkgs/applications/graphics/krita/generic.nix3
-rw-r--r--pkgs/applications/graphics/monado/default.nix13
-rw-r--r--pkgs/applications/graphics/monado/steamvr_lh-use-old-interface.patch13
-rw-r--r--pkgs/applications/graphics/normcap/default.nix52
-rw-r--r--pkgs/applications/graphics/oculante/default.nix5
-rw-r--r--pkgs/applications/graphics/pizarra/default.nix9
-rw-r--r--pkgs/applications/graphics/qimgv/default.nix4
-rw-r--r--pkgs/applications/graphics/rnote/Cargo.lock489
-rw-r--r--pkgs/applications/graphics/rnote/default.nix4
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix2
-rw-r--r--pkgs/applications/graphics/upscayl/default.nix4
-rw-r--r--pkgs/applications/kde/angelfish.nix2
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/grantleetheme/default.nix7
-rw-r--r--pkgs/applications/kde/kalgebra.nix46
-rw-r--r--pkgs/applications/kde/srcs.nix1952
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix10
-rw-r--r--pkgs/applications/misc/activate-linux/default.nix5
-rw-r--r--pkgs/applications/misc/binocle/default.nix6
-rw-r--r--pkgs/applications/misc/blender/default.nix7
-rw-r--r--pkgs/applications/misc/chrysalis/default.nix4
-rw-r--r--pkgs/applications/misc/clipcat/default.nix6
-rw-r--r--pkgs/applications/misc/collision/default.nix6
-rw-r--r--pkgs/applications/misc/collision/shards.nix (renamed from pkgs/applications/misc/collision/collision-shards.nix)33
-rw-r--r--pkgs/applications/misc/cura/numpy-cast.patch12
-rw-r--r--pkgs/applications/misc/flowtime/default.nix14
-rw-r--r--pkgs/applications/misc/fluidd/default.nix4
-rw-r--r--pkgs/applications/misc/fluxboxlauncher/default.nix5
-rw-r--r--pkgs/applications/misc/gnome-firmware/default.nix4
-rw-r--r--pkgs/applications/misc/houdini/default.nix6
-rw-r--r--pkgs/applications/misc/houdini/runtime-build.nix35
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix34
-rw-r--r--pkgs/applications/misc/itd/default.nix8
-rw-r--r--pkgs/applications/misc/josm/default.nix8
-rw-r--r--pkgs/applications/misc/khard/default.nix4
-rw-r--r--pkgs/applications/misc/klayout/default.nix3
-rw-r--r--pkgs/applications/misc/llpp/default.nix1
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lscolors/default.nix6
-rw-r--r--pkgs/applications/misc/mediaelch/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/mobilecoin-wallet/default.nix7
-rw-r--r--pkgs/applications/misc/navi/default.nix1
-rw-r--r--pkgs/applications/misc/notejot/default.nix10
-rw-r--r--pkgs/applications/misc/nwg-displays/default.nix5
-rw-r--r--pkgs/applications/misc/pe-bear/default.nix4
-rw-r--r--pkgs/applications/misc/rsibreak/default.nix9
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix8
-rw-r--r--pkgs/applications/misc/skytemple/default.nix5
-rw-r--r--pkgs/applications/misc/snowmachine/default.nix24
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/system76-keyboard-configurator/default.nix5
-rw-r--r--pkgs/applications/misc/tellico/hex.patch15
-rw-r--r--pkgs/applications/misc/thedesk/default.nix3
-rw-r--r--pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch55
-rw-r--r--pkgs/applications/misc/vym/default.nix1
-rw-r--r--pkgs/applications/misc/xygrib/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch43
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/floorp/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json14
-rw-r--r--pkgs/applications/networking/browsers/mullvad-browser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/palemoon/bin.nix8
-rw-r--r--pkgs/applications/networking/browsers/tor-browser/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/acorn/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/eks-node-viewer/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/opentofu/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/rke2/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix99
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json278
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/indigenous-desktop/default.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rwxr-xr-xpkgs/applications/networking/instant-messengers/element/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/gotktrix/default.nix50
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/sources.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/pin.json9
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix131
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix113
-rwxr-xr-xpkgs/applications/networking/instant-messengers/schildichat/update.sh43
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix27
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/juju/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/misc/zammad/0001-nulldb.patch2
-rw-r--r--pkgs/applications/networking/misc/zammad/default.nix20
-rw-r--r--pkgs/applications/networking/misc/zammad/gemset.nix643
-rw-r--r--pkgs/applications/networking/misc/zammad/package.json195
-rw-r--r--pkgs/applications/networking/misc/zammad/source.json4
-rwxr-xr-xpkgs/applications/networking/misc/zammad/update.sh5
-rw-r--r--pkgs/applications/networking/p2p/libutp/3.4.nix6
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix53
-rw-r--r--pkgs/applications/networking/pjsip/default.nix15
-rw-r--r--pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch25
-rw-r--r--pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch34
-rw-r--r--pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch25
-rw-r--r--pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch26
-rw-r--r--pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch27
-rw-r--r--pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch27
-rw-r--r--pkgs/applications/networking/powerdns-admin/default.nix24
-rw-r--r--pkgs/applications/networking/protonmail-bridge/default.nix8
-rw-r--r--pkgs/applications/networking/protonvpn-gui/default.nix111
-rw-r--r--pkgs/applications/networking/protonvpn-gui/legacy.nix79
-rw-r--r--pkgs/applications/networking/remote/aws-workspaces/default.nix3
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix10
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/sources.nix11
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix20
-rw-r--r--pkgs/applications/networking/rymdport/default.nix9
-rw-r--r--pkgs/applications/networking/sniffnet/default.nix10
-rw-r--r--pkgs/applications/networking/sync/wdt/default.nix6
-rw-r--r--pkgs/applications/networking/warp/default.nix8
-rw-r--r--pkgs/applications/office/calligra/qt5_11.patch98
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix13
-rw-r--r--pkgs/applications/office/planify/default.nix10
-rw-r--r--pkgs/applications/office/skrooge/default.nix2
-rw-r--r--pkgs/applications/office/timeular/default.nix2
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/office/trilium/desktop.nix6
-rw-r--r--pkgs/applications/office/trilium/server.nix4
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix4
-rw-r--r--pkgs/applications/radio/abracadabra/default.nix4
-rw-r--r--pkgs/applications/radio/flamp/default.nix4
-rw-r--r--pkgs/applications/radio/gridtracker/default.nix4
-rw-r--r--pkgs/applications/radio/inspectrum/default.nix4
-rw-r--r--pkgs/applications/radio/pat/default.nix6
-rw-r--r--pkgs/applications/radio/qlog/default.nix9
-rw-r--r--pkgs/applications/radio/qlog/mac.patch32
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix4
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/biology/seqkit/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/quantum-espresso/default.nix104
-rw-r--r--pkgs/applications/science/electronics/csxcad/default.nix6
-rw-r--r--pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch31
-rw-r--r--pkgs/applications/science/electronics/nvc/default.nix4
-rw-r--r--pkgs/applications/science/electronics/openems/default.nix8
-rw-r--r--pkgs/applications/science/logic/cryptominisat/default.nix4
-rw-r--r--pkgs/applications/science/logic/why3/default.nix11
-rw-r--r--pkgs/applications/science/math/caffe/default.nix27
-rw-r--r--pkgs/applications/science/math/cbc/default.nix3
-rw-r--r--pkgs/applications/science/math/clp/default.nix2
-rw-r--r--pkgs/applications/science/math/labplot/default.nix2
-rw-r--r--pkgs/applications/science/math/yacas/fix-test-script.patch26
-rw-r--r--pkgs/applications/science/misc/foldingathome/client.nix82
-rw-r--r--pkgs/applications/science/misc/root/5.nix2
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix4
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix32
-rw-r--r--pkgs/applications/science/networking/sumo/default.nix4
-rw-r--r--pkgs/applications/science/robotics/mujoco/default.nix242
-rw-r--r--pkgs/applications/science/robotics/mujoco/dependencies.patch114
-rw-r--r--pkgs/applications/science/robotics/mujoco/mujoco-system-deps-dont-fetch.patch538
-rw-r--r--pkgs/applications/science/robotics/mujoco/sdflib-system-deps.patch192
-rw-r--r--pkgs/applications/search/recoll/default.nix6
-rw-r--r--pkgs/applications/system/glances/skip-failing-tests.patch52
-rw-r--r--pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff20
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix84
-rw-r--r--pkgs/applications/terminal-emulators/contour/macos-codesign.diff21
-rw-r--r--pkgs/applications/terminal-emulators/mlterm/default.nix4
-rw-r--r--pkgs/applications/version-management/cvs-fast-export/default.nix4
-rw-r--r--pkgs/applications/version-management/gg/default.nix8
-rw-r--r--pkgs/applications/version-management/gh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-annex-remote-rclone/default.nix4
-rw-r--r--pkgs/applications/version-management/git-town/default.nix6
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json14
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/got/default.nix4
-rw-r--r--pkgs/applications/version-management/radicle-upstream/default.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/core.nix9
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/hub.nix19
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/paste.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/scm.nix10
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix9
-rw-r--r--pkgs/applications/video/animdl/default.nix63
-rw-r--r--pkgs/applications/video/cutecapture/default.nix2
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix50
-rw-r--r--pkgs/applications/video/droidcam/default.nix4
-rw-r--r--pkgs/applications/video/haruna/default.nix4
-rw-r--r--pkgs/applications/video/hypnotix/default.nix19
-rw-r--r--pkgs/applications/video/kodi/addons/pvr-hts/default.nix4
-rw-r--r--pkgs/applications/video/media-downloader/default.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/default.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-webm.nix24
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix4
-rw-r--r--pkgs/applications/video/olive-editor/default.nix14
-rw-r--r--pkgs/applications/video/olive-editor/q-painter-path.patch48
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix33
-rw-r--r--pkgs/applications/video/pipe-viewer/default.nix5
-rw-r--r--pkgs/applications/video/video-trimmer/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch21
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix4
-rw-r--r--pkgs/applications/virtualization/tart/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch11
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/portals.patch28
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix4
-rw-r--r--pkgs/applications/window-managers/weston/default.nix16
-rw-r--r--pkgs/build-support/add-driver-runpath/default.nix14
-rw-r--r--pkgs/build-support/add-driver-runpath/setup-hook.sh29
-rw-r--r--pkgs/build-support/appimage/default.nix1
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix6
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix6
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix2
-rw-r--r--pkgs/build-support/fetchtorrent/default.nix2
-rw-r--r--pkgs/build-support/fetchtorrent/tests.nix26
-rw-r--r--pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh6
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/Cargo.lock120
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/Cargo.toml11
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/default.nix12
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/cacache.rs9
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/main.rs4
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs109
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs5
-rw-r--r--pkgs/build-support/templaterpm/default.nix25
-rwxr-xr-xpkgs/build-support/templaterpm/nix-template-rpm.py518
-rw-r--r--pkgs/build-support/trivial-builders/default.nix13
-rw-r--r--pkgs/by-name/README.md4
-rw-r--r--pkgs/by-name/ab/aba/package.nix14
-rw-r--r--pkgs/by-name/al/alp/package.nix56
-rw-r--r--pkgs/by-name/ar/arcan/package.nix (renamed from pkgs/desktops/arcan/arcan/default.nix)28
-rw-r--r--pkgs/by-name/ar/arcan/wrapper.nix (renamed from pkgs/desktops/arcan/wrapper.nix)0
-rw-r--r--pkgs/by-name/ar/arduino-ide/package.nix38
-rw-r--r--pkgs/by-name/ar/ark-pixel-font/package.nix60
-rw-r--r--pkgs/by-name/ay/ayatana-indicator-messages/package.nix147
-rw-r--r--pkgs/by-name/bn/bngblaster/package.nix53
-rw-r--r--pkgs/by-name/br/bruno/package.nix4
-rw-r--r--pkgs/by-name/ca/cargo-swift/package.nix26
-rw-r--r--pkgs/by-name/ca/cargo-vibe/package.nix40
-rw-r--r--pkgs/by-name/ca/cat9/package.nix (renamed from pkgs/desktops/arcan/cat9/default.nix)14
-rw-r--r--pkgs/by-name/cg/cgl/package.nix38
-rw-r--r--pkgs/by-name/cm/cmakerc/package.nix32
-rw-r--r--pkgs/by-name/co/codeium/package.nix10
-rw-r--r--pkgs/by-name/co/cosmic-edit/Cargo.lock (renamed from pkgs/applications/editors/cosmic-edit/Cargo.lock)1952
-rw-r--r--pkgs/by-name/co/cosmic-edit/package.nix97
-rw-r--r--pkgs/by-name/co/cowsql/package.nix2
-rw-r--r--pkgs/by-name/cp/cpu-x/package.nix4
-rw-r--r--pkgs/by-name/db/dbus-cpp/package.nix2
-rw-r--r--pkgs/by-name/do/doge/package.nix33
-rw-r--r--pkgs/by-name/dr/drone-scp/package.nix28
-rw-r--r--pkgs/by-name/du/durden/package.nix (renamed from pkgs/desktops/arcan/durden/default.nix)14
-rw-r--r--pkgs/by-name/em/emojify/package.nix31
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/by-name/fl/flarectl/package.nix6
-rw-r--r--pkgs/by-name/fm/fmtoy/package.nix70
-rw-r--r--pkgs/by-name/fo/fortune-kind/package.nix6
-rw-r--r--pkgs/by-name/fr/framework-system-tools/Cargo.lock1312
-rw-r--r--pkgs/by-name/fr/framework-system-tools/package.nix45
-rw-r--r--pkgs/by-name/fr/frankenphp/package.nix24
-rw-r--r--pkgs/by-name/ge/get-google-fonts/package.nix37
-rw-r--r--pkgs/by-name/gi/gickup/package.nix4
-rw-r--r--pkgs/by-name/gi/gifgen/package.nix39
-rw-r--r--pkgs/by-name/go/goredo/fix-tests.diff4
-rw-r--r--pkgs/by-name/go/goredo/package.nix9
-rw-r--r--pkgs/by-name/gu/guile-lzma/package.nix3
-rw-r--r--pkgs/by-name/gu/guix/package.nix11
-rw-r--r--pkgs/by-name/ha/handlr-regex/package.nix (renamed from pkgs/tools/misc/handlr-regex/default.nix)6
-rw-r--r--pkgs/by-name/ha/haredo/package.nix71
-rw-r--r--pkgs/by-name/ha/haredo/setup-hook.sh69
-rw-r--r--pkgs/by-name/ha/hayabusa/package.nix50
-rw-r--r--pkgs/by-name/ia/ia-writer-quattro/package.nix31
-rw-r--r--pkgs/by-name/im/immersed-vr/package.nix4
-rw-r--r--pkgs/by-name/in/incus-unwrapped/package.nix2
-rw-r--r--pkgs/by-name/in/indiepass-desktop/package.nix58
-rw-r--r--pkgs/by-name/ja/jazz2/package.nix4
-rw-r--r--pkgs/by-name/ko/kor/package.nix34
-rw-r--r--pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch13
-rw-r--r--pkgs/by-name/la/lanraragi/package.nix1
-rw-r--r--pkgs/by-name/la/lazymc/Cargo.lock2079
-rw-r--r--pkgs/by-name/la/lazymc/package.nix42
-rw-r--r--pkgs/by-name/li/lib3270/package.nix56
-rw-r--r--pkgs/by-name/li/libdict/package.nix40
-rw-r--r--pkgs/by-name/li/libfmvoice/package.nix52
-rw-r--r--pkgs/by-name/li/libmbd/package.nix45
-rw-r--r--pkgs/by-name/li/librda/package.nix61
-rw-r--r--pkgs/by-name/li/libv3270/package.nix58
-rw-r--r--pkgs/by-name/li/linien-gui/package.nix47
-rw-r--r--pkgs/by-name/lo/loupe/package.nix4
-rw-r--r--pkgs/by-name/lx/lxd-to-incus/package.nix2
-rw-r--r--pkgs/by-name/ma/maid/Gemfile3
-rw-r--r--pkgs/by-name/ma/maid/Gemfile.lock55
-rw-r--r--pkgs/by-name/ma/maid/gemset.nix230
-rw-r--r--pkgs/by-name/ma/maid/package.nix23
-rw-r--r--pkgs/by-name/ma/maid/test.nix20
-rw-r--r--pkgs/by-name/ma/majima/package.nix22
-rw-r--r--pkgs/by-name/ma/material-cursors/package.nix42
-rw-r--r--pkgs/by-name/ma/matlab-language-server/package.nix39
-rw-r--r--pkgs/by-name/me/mev-boost/package.nix27
-rw-r--r--pkgs/by-name/mo/monophony/package.nix28
-rw-r--r--pkgs/by-name/ne/net-cpp/package.nix2
-rw-r--r--pkgs/by-name/nh/nh/package.nix59
-rw-r--r--pkgs/by-name/ni/nimmm/lock.json14
-rw-r--r--pkgs/by-name/ni/nimmm/package.nix6
-rw-r--r--pkgs/by-name/ni/nixos-anywhere/package.nix4
-rw-r--r--pkgs/by-name/no/normcap/package.nix117
-rw-r--r--pkgs/by-name/nw/nwg-drawer/package.nix4
-rw-r--r--pkgs/by-name/op/openobserve/Cargo.lock8238
-rw-r--r--pkgs/by-name/op/openobserve/build.rs.patch29
-rw-r--r--pkgs/by-name/op/openobserve/package.nix139
-rw-r--r--pkgs/by-name/op/opentype-sanitizer/package.nix44
-rw-r--r--pkgs/by-name/pa/pam-honeycreds/package.nix25
-rw-r--r--pkgs/by-name/pa/passwdqc/package.nix67
-rw-r--r--pkgs/by-name/pe/perl-debug-adapter/package.nix45
-rw-r--r--pkgs/by-name/ph/phpunit/package.nix (renamed from pkgs/development/tools/misc/phpunit/default.nix)10
-rw-r--r--pkgs/by-name/pi/pipeworld/package.nix (renamed from pkgs/desktops/arcan/pipeworld/default.nix)14
-rw-r--r--pkgs/by-name/pl/pls/Cargo.lock856
-rw-r--r--pkgs/by-name/pl/pls/package.nix37
-rw-r--r--pkgs/by-name/po/polybar-pulseaudio-control/package.nix44
-rw-r--r--pkgs/by-name/po/polybar/package.nix4
-rw-r--r--pkgs/by-name/pr/presenterm/package.nix14
-rw-r--r--pkgs/by-name/pr/prettypst/Cargo.lock471
-rw-r--r--pkgs/by-name/pr/prettypst/package.nix31
-rw-r--r--pkgs/by-name/pr/prio/package.nix (renamed from pkgs/desktops/arcan/prio/default.nix)8
-rw-r--r--pkgs/by-name/pw/pw3270/package.nix76
-rw-r--r--pkgs/by-name/py/pywalfox-native/package.nix32
-rw-r--r--pkgs/by-name/qu/quicktype/package.nix8
-rw-r--r--pkgs/by-name/ra/raft-cowsql/package.nix2
-rw-r--r--pkgs/by-name/rc/rclip/package.nix46
-rw-r--r--pkgs/by-name/re/redocly-cli/package.nix48
-rw-r--r--pkgs/by-name/re/resources/package.nix66
-rw-r--r--pkgs/by-name/re/revup/package.nix66
-rw-r--r--pkgs/by-name/ri/rita/package.nix34
-rw-r--r--pkgs/by-name/se/seclists/package.nix6
-rw-r--r--pkgs/by-name/se/serverless/package-lock.json13752
-rw-r--r--pkgs/by-name/se/serverless/package.nix33
-rw-r--r--pkgs/by-name/sg/sgfutils/package.nix52
-rw-r--r--pkgs/by-name/si/simdutf/package.nix4
-rw-r--r--pkgs/by-name/sn/snowmachine/package.nix25
-rw-r--r--pkgs/by-name/so/sov/package.nix (renamed from pkgs/tools/wayland/sov/default.nix)7
-rw-r--r--pkgs/by-name/sp/spacedrive/package.nix39
-rw-r--r--pkgs/by-name/sp/spade/Cargo.lock1813
-rw-r--r--pkgs/by-name/sp/spade/package.nix44
-rw-r--r--pkgs/by-name/ss/sshx/package.nix53
-rw-r--r--pkgs/by-name/sy/syntax/package.nix30
-rw-r--r--pkgs/by-name/ta/tailscale-nginx-auth/package.nix43
-rw-r--r--pkgs/by-name/th/themix-gui/package.nix78
-rw-r--r--pkgs/by-name/tr/trealla/package.nix2
-rw-r--r--pkgs/by-name/tr/trigger-control/package.nix (renamed from pkgs/tools/games/trigger-control/default.nix)23
-rw-r--r--pkgs/by-name/ty/typst/Cargo.lock (renamed from pkgs/tools/typesetting/typst/Cargo.lock)980
-rw-r--r--pkgs/by-name/ty/typst/package.nix (renamed from pkgs/tools/typesetting/typst/default.nix)16
-rw-r--r--pkgs/by-name/ui/uiua/package.nix6
-rw-r--r--pkgs/by-name/us/usql/package.nix6
-rw-r--r--pkgs/by-name/vc/vcpkg-tool/change-lock-location.patch14
-rw-r--r--pkgs/by-name/vc/vcpkg-tool/package.nix73
-rw-r--r--pkgs/by-name/vc/vcpkg/package.nix51
-rw-r--r--pkgs/by-name/ve/vesktop/package.nix6
-rw-r--r--pkgs/by-name/vg/vgm2x/package.nix57
-rw-r--r--pkgs/by-name/vi/vieb/package.nix (renamed from pkgs/applications/networking/browsers/vieb/default.nix)8
-rw-r--r--pkgs/by-name/vi/vinegar/package.nix54
-rw-r--r--pkgs/by-name/wa/wannier90/package.nix73
-rw-r--r--pkgs/by-name/wa/wash-cli/package.nix47
-rw-r--r--pkgs/by-name/wi/windmill/Cargo.lock (renamed from pkgs/servers/windmill/Cargo.lock)1311
-rw-r--r--pkgs/by-name/wi/windmill/package.nix (renamed from pkgs/servers/windmill/default.nix)42
-rw-r--r--pkgs/by-name/wi/windmill/run.bash.config.proto.patch (renamed from pkgs/servers/windmill/run.bash.config.proto.patch)0
-rw-r--r--pkgs/by-name/wi/windmill/run.go.config.proto.patch (renamed from pkgs/servers/windmill/run.go.config.proto.patch)0
-rw-r--r--pkgs/by-name/wi/windmill/run.python3.config.proto.patch (renamed from pkgs/servers/windmill/run.python3.config.proto.patch)0
-rw-r--r--pkgs/by-name/wi/windmill/swagger-cli.patch (renamed from pkgs/servers/windmill/swagger-cli.patch)0
-rw-r--r--pkgs/by-name/xa/xarcan/package.nix (renamed from pkgs/desktops/arcan/xarcan/default.nix)14
-rw-r--r--pkgs/by-name/yg/yggdrasil/package.nix6
-rw-r--r--pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff39
-rw-r--r--pkgs/by-name/yt/ytree/package.nix46
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/quivira/default.nix29
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/icons/vimix-cursor-theme/default.nix33
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix4
-rw-r--r--pkgs/data/misc/dbip-country-lite/default.nix4
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/catppuccin/default.nix14
-rw-r--r--pkgs/desktops/arcan/default.nix49
-rw-r--r--pkgs/desktops/cinnamon/bulky/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix21
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix15
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch17
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/default.nix21
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/folder-color-switcher/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix21
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/srcs.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/pix/default.nix14
-rw-r--r--pkgs/desktops/cinnamon/warpinator/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/xapp/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xreader/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xviewer/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch6
-rw-r--r--pkgs/desktops/gnome/core/gnome-disk-utility/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix8
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch32
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json158
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/unite/default.nix43
-rw-r--r--pkgs/desktops/gnome/games/gnome-sudoku/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch11
-rw-r--r--pkgs/desktops/gnustep/gui/default.nix4
-rw-r--r--pkgs/desktops/lomiri/default.nix9
-rw-r--r--pkgs/desktops/lomiri/development/deviceinfo/default.nix2
-rw-r--r--pkgs/desktops/lomiri/development/geonames/default.nix4
-rw-r--r--pkgs/desktops/lomiri/development/gmenuharness/default.nix2
-rw-r--r--pkgs/desktops/lomiri/development/libusermetrics/default.nix4
-rw-r--r--pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix129
-rw-r--r--pkgs/desktops/lomiri/development/u1db-qt/default.nix102
-rw-r--r--pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix65
-rw-r--r--pkgs/desktops/lomiri/services/biometryd/default.nix137
-rw-r--r--pkgs/desktops/lomiri/services/hfd-service/default.nix75
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix10
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch13
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch210
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix480
-rw-r--r--pkgs/desktops/xfce/applications/parole/default.nix21
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix4
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix20
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix4
-rw-r--r--pkgs/development/beam-modules/build-mix.nix13
-rw-r--r--pkgs/development/beam-modules/mix-release.nix81
-rw-r--r--pkgs/development/compilers/ballerina/default.nix4
-rw-r--r--pkgs/development/compilers/cone/default.nix10
-rw-r--r--pkgs/development/compilers/corretto/mk-corretto.nix8
-rw-r--r--pkgs/development/compilers/critcl/default.nix46
-rw-r--r--pkgs/development/compilers/cudatoolkit/common.nix367
-rw-r--r--pkgs/development/compilers/cudatoolkit/extension.nix5
-rw-r--r--pkgs/development/compilers/cudatoolkit/flags.nix170
-rw-r--r--pkgs/development/compilers/cudatoolkit/gpus.nix148
-rw-r--r--pkgs/development/compilers/cudatoolkit/hooks/mark-for-cudatoolkit-root-hook.sh8
-rw-r--r--pkgs/development/compilers/cudatoolkit/hooks/nvcc-setup-hook.sh5
-rw-r--r--pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh68
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix178
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/extension.nix139
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.7.0.json879
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.2.0.json1151
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.4.4.json1518
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.5.2.json1536
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.6.2.json1546
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.7.0.json1565
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.8.0.json1938
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.0.1.json2050
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.1.1.json2050
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.2.0.json2030
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/overrides.nix142
-rw-r--r--pkgs/development/compilers/cudatoolkit/saxpy/default.nix50
-rw-r--r--pkgs/development/compilers/cudatoolkit/stdenv.nix33
-rw-r--r--pkgs/development/compilers/cudatoolkit/versions.toml91
-rw-r--r--pkgs/development/compilers/dart/sources.nix12
-rw-r--r--pkgs/development/compilers/flix/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/default.nix106
-rw-r--r--pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch20
-rw-r--r--pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch43
-rw-r--r--pkgs/development/compilers/gcc/patches/8/avr-gcc-8-darwin.patch16
-rw-r--r--pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch261
-rw-r--r--pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch70
-rw-r--r--pkgs/development/compilers/gcc/patches/default.nix8
-rw-r--r--pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch83
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch87
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch107
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch33
-rw-r--r--pkgs/development/compilers/ghc/8.6.5-binary.nix17
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix381
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix8
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix6
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix110
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/jcef.nix137
-rw-r--r--pkgs/development/compilers/llvm/17/clang/default.nix (renamed from pkgs/development/compilers/llvm/7/clang/default.nix)82
-rw-r--r--pkgs/development/compilers/llvm/17/clang/gnu-install-dirs.patch98
-rw-r--r--pkgs/development/compilers/llvm/17/clang/purity.patch29
-rw-r--r--pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch21
-rw-r--r--pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch71
-rw-r--r--pkgs/development/compilers/llvm/17/compiler-rt/default.nix (renamed from pkgs/development/compilers/llvm/7/compiler-rt/default.nix)93
-rw-r--r--pkgs/development/compilers/llvm/17/compiler-rt/gnu-install-dirs.patch20
-rw-r--r--pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch16
-rw-r--r--pkgs/development/compilers/llvm/17/default.nix358
-rw-r--r--pkgs/development/compilers/llvm/17/libcxx/default.nix114
-rw-r--r--pkgs/development/compilers/llvm/17/libcxxabi/default.nix117
-rw-r--r--pkgs/development/compilers/llvm/17/libcxxabi/gnu-install-dirs.patch22
-rw-r--r--pkgs/development/compilers/llvm/17/libunwind/default.nix63
-rw-r--r--pkgs/development/compilers/llvm/17/lld/default.nix (renamed from pkgs/development/compilers/llvm/7/lld/default.nix)23
-rw-r--r--pkgs/development/compilers/llvm/17/lld/gnu-install-dirs.patch46
-rw-r--r--pkgs/development/compilers/llvm/17/lldb/cpu_subtype_arm64e_replacement.patch12
-rw-r--r--pkgs/development/compilers/llvm/17/lldb/gnu-install-dirs.patch23
-rw-r--r--pkgs/development/compilers/llvm/17/lldb/procfs.patch46
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/default.nix427
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch19
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs.patch137
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch17
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch80
-rw-r--r--pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch24
-rw-r--r--pkgs/development/compilers/llvm/17/openmp/default.nix74
-rw-r--r--pkgs/development/compilers/llvm/17/openmp/fix-find-tool.patch17
-rw-r--r--pkgs/development/compilers/llvm/17/openmp/gnu-install-dirs.patch22
-rw-r--r--pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch0
-rw-r--r--pkgs/development/compilers/llvm/6/lldb/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/7/clang/HIP-use-PATH-7.patch68
-rw-r--r--pkgs/development/compilers/llvm/7/clang/gnu-install-dirs.patch281
-rw-r--r--pkgs/development/compilers/llvm/7/clang/unwindlib.patch227
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt/armv7l.patch38
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt/crtbegin-and-end.patch595
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch117
-rw-r--r--pkgs/development/compilers/llvm/7/default.nix273
-rw-r--r--pkgs/development/compilers/llvm/7/libcxx/default.nix89
-rw-r--r--pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch72
-rw-r--r--pkgs/development/compilers/llvm/7/libcxxabi/default.nix89
-rw-r--r--pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch28
-rw-r--r--pkgs/development/compilers/llvm/7/libunwind/default.nix53
-rw-r--r--pkgs/development/compilers/llvm/7/libunwind/gnu-install-dirs.patch28
-rw-r--r--pkgs/development/compilers/llvm/7/lld/gnu-install-dirs.patch68
-rw-r--r--pkgs/development/compilers/llvm/7/lldb/default.nix95
-rw-r--r--pkgs/development/compilers/llvm/7/lldb/gnu-install-dirs.patch76
-rw-r--r--pkgs/development/compilers/llvm/7/llvm/default.nix322
-rw-r--r--pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs-polly.patch106
-rw-r--r--pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs.patch386
-rw-r--r--pkgs/development/compilers/llvm/7/openmp/default.nix37
-rw-r--r--pkgs/development/compilers/llvm/8/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/9/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/common/lldb.nix3
-rw-r--r--pkgs/development/compilers/llvm/git/clang/default.nix22
-rw-r--r--pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch77
-rw-r--r--pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch33
-rw-r--r--pkgs/development/compilers/llvm/git/compiler-rt/default.nix41
-rw-r--r--pkgs/development/compilers/llvm/git/compiler-rt/normalize-var.patch24
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix61
-rw-r--r--pkgs/development/compilers/llvm/git/libcxx/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch22
-rw-r--r--pkgs/development/compilers/llvm/git/libcxxabi/default.nix17
-rw-r--r--pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch12
-rw-r--r--pkgs/development/compilers/llvm/git/libunwind/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch22
-rw-r--r--pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch46
-rw-r--r--pkgs/development/compilers/llvm/git/lldb/cpu_subtype_arm64e_replacement.patch12
-rw-r--r--pkgs/development/compilers/llvm/git/lldb/procfs.patch10
-rw-r--r--pkgs/development/compilers/llvm/git/lldb/resource-dir.patch15
-rw-r--r--pkgs/development/compilers/llvm/git/llvm/default.nix43
-rw-r--r--pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch73
-rw-r--r--pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch9
-rw-r--r--pkgs/development/compilers/llvm/git/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch53
-rw-r--r--pkgs/development/compilers/llvm/git/openmp/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/git/openmp/fix-find-tool.patch11
-rw-r--r--pkgs/development/compilers/llvm/git/openmp/run-lit-directly.patch12
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/17.nix4
-rw-r--r--pkgs/development/compilers/polyml/default.nix20
-rw-r--r--pkgs/development/compilers/sagittarius-scheme/default.nix6
-rw-r--r--pkgs/development/compilers/tvm/default.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix16
-rw-r--r--pkgs/development/compilers/yosys/fix-clang-build.patch8
-rw-r--r--pkgs/development/coq-modules/coq-bits/default.nix10
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix3
-rw-r--r--pkgs/development/coq-modules/extructures/default.nix2
-rw-r--r--pkgs/development/coq-modules/gaia-hydras/default.nix4
-rw-r--r--pkgs/development/cuda-modules/README.md32
-rw-r--r--pkgs/development/cuda-modules/backend-stdenv.nix39
-rw-r--r--pkgs/development/cuda-modules/cuda/extension.nix102
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_11.4.4.json1212
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_11.5.2.json1224
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_11.6.2.json1224
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_11.7.1.json1244
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_11.8.0.json1540
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_12.0.1.json1622
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_12.1.1.json1622
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_12.2.2.json1600
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/feature_12.3.0.json1316
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_11.4.4.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json)0
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_11.5.2.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json)0
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_11.6.2.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json)0
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_11.7.1.json885
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_11.8.0.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.8.0.json)0
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_12.0.1.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.0.1.json)1
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_12.1.1.json (renamed from pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.1.1.json)0
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_12.2.2.json1151
-rw-r--r--pkgs/development/cuda-modules/cuda/manifests/redistrib_12.3.0.json971
-rw-r--r--pkgs/development/cuda-modules/cuda/overrides.nix129
-rw-r--r--pkgs/development/cuda-modules/cudatoolkit/default.nix374
-rw-r--r--pkgs/development/cuda-modules/cudatoolkit/releases.nix108
-rw-r--r--pkgs/development/cuda-modules/cudnn/fixup.nix69
-rw-r--r--pkgs/development/cuda-modules/cudnn/releases.nix262
-rw-r--r--pkgs/development/cuda-modules/cudnn/shims.nix13
-rw-r--r--pkgs/development/cuda-modules/cutensor/extension.nix164
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/feature_1.3.3.json44
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/feature_1.4.0.json44
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/feature_1.5.0.json44
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/feature_1.6.2.json44
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/feature_1.7.0.json44
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.3.3.json32
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.4.0.json32
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.5.0.json32
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.6.2.json32
-rw-r--r--pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.7.0.json32
-rw-r--r--pkgs/development/cuda-modules/flags.nix390
-rw-r--r--pkgs/development/cuda-modules/generic-builders/manifest.nix250
-rw-r--r--pkgs/development/cuda-modules/generic-builders/multiplex.nix131
-rw-r--r--pkgs/development/cuda-modules/gpus.nix204
-rw-r--r--pkgs/development/cuda-modules/modules/README.md27
-rw-r--r--pkgs/development/cuda-modules/modules/cuda/default.nix1
-rw-r--r--pkgs/development/cuda-modules/modules/cudnn/default.nix12
-rw-r--r--pkgs/development/cuda-modules/modules/cutensor/default.nix1
-rw-r--r--pkgs/development/cuda-modules/modules/default.nix10
-rw-r--r--pkgs/development/cuda-modules/modules/generic/default.nix7
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/default.nix7
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/feature/manifest.nix10
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/feature/outputs.nix60
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/feature/package.nix10
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/feature/release.nix10
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/redistrib/manifest.nix33
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/redistrib/package.nix32
-rw-r--r--pkgs/development/cuda-modules/modules/generic/manifests/redistrib/release.nix36
-rw-r--r--pkgs/development/cuda-modules/modules/generic/releases/default.nix45
-rw-r--r--pkgs/development/cuda-modules/modules/generic/types/default.nix39
-rw-r--r--pkgs/development/cuda-modules/modules/tensorrt/default.nix16
-rw-r--r--pkgs/development/cuda-modules/nccl-tests/default.nix84
-rw-r--r--pkgs/development/cuda-modules/nccl/default.nix112
-rw-r--r--pkgs/development/cuda-modules/nvcc-compatibilities.nix124
-rw-r--r--pkgs/development/cuda-modules/saxpy/CMakeLists.txt (renamed from pkgs/development/compilers/cudatoolkit/saxpy/CMakeLists.txt)0
-rw-r--r--pkgs/development/cuda-modules/saxpy/default.nix56
-rw-r--r--pkgs/development/cuda-modules/saxpy/saxpy.cu (renamed from pkgs/development/compilers/cudatoolkit/saxpy/saxpy.cu)0
-rw-r--r--pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh (renamed from pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh)0
-rw-r--r--pkgs/development/cuda-modules/setup-hooks/extension.nix47
-rw-r--r--pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh14
-rw-r--r--pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh139
-rw-r--r--pkgs/development/cuda-modules/tensorrt/fixup.nix113
-rw-r--r--pkgs/development/cuda-modules/tensorrt/releases.nix130
-rw-r--r--pkgs/development/cuda-modules/tensorrt/shims.nix16
-rw-r--r--pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch88
-rw-r--r--pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch43
-rw-r--r--pkgs/development/embedded/elf2uf2-rs/default.nix6
-rw-r--r--pkgs/development/guile-modules/guile-gcrypt/default.nix3
-rw-r--r--pkgs/development/guile-modules/guile-ncurses/default.nix4
-rw-r--r--pkgs/development/hare-packages/hare-json/default.nix39
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix92
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix189
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml6
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml102
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml10
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1756
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix4
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/replxx.nix6
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/singeli.nix6
-rw-r--r--pkgs/development/interpreters/elixir/generic-builder.nix12
-rw-r--r--pkgs/development/interpreters/gauche/boot.nix6
-rw-r--r--pkgs/development/interpreters/gauche/default.nix8
-rw-r--r--pkgs/development/interpreters/guile/3.0.nix1
-rw-r--r--pkgs/development/interpreters/guile/guile-hurd-posix-spawn.patch44
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/love/0.7-gl-prototypes.patch21
-rw-r--r--pkgs/development/interpreters/love/11.nix4
-rw-r--r--pkgs/development/interpreters/octave/patches/bug62436.patch27
-rw-r--r--pkgs/development/interpreters/php/generic.nix9
-rw-r--r--pkgs/development/interpreters/php/install-pear-nozlib-phar.nix2
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py295
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix9
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix6
-rw-r--r--pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch15
-rw-r--r--pkgs/development/libraries/accounts-qml-module/default.nix88
-rw-r--r--pkgs/development/libraries/apr/is-this-a-compiler-bug.patch17
-rw-r--r--pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch13
-rw-r--r--pkgs/development/libraries/botan/2.0.nix4
-rw-r--r--pkgs/development/libraries/botan/3.0.nix6
-rw-r--r--pkgs/development/libraries/botan/generic.nix4
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/cairo/default.nix2
-rw-r--r--pkgs/development/libraries/cairo/skip-configure-stderr-check.patch89
-rw-r--r--pkgs/development/libraries/cctag/default.nix2
-rw-r--r--pkgs/development/libraries/crypto++/default.nix4
-rw-r--r--pkgs/development/libraries/ctranslate2/default.nix10
-rw-r--r--pkgs/development/libraries/dlib/default.nix30
-rw-r--r--pkgs/development/libraries/dqlite/default.nix2
-rw-r--r--pkgs/development/libraries/epoll-shim/default.nix2
-rw-r--r--pkgs/development/libraries/example-robot-data/default.nix6
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/futuresql/default.nix2
-rw-r--r--pkgs/development/libraries/glib/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/rpcgen-path.patch54
-rw-r--r--pkgs/development/libraries/gr-framework/default.nix17
-rw-r--r--pkgs/development/libraries/highfive/default.nix4
-rw-r--r--pkgs/development/libraries/hnswlib/default.nix4
-rw-r--r--pkgs/development/libraries/hwloc/default.nix9
-rw-r--r--pkgs/development/libraries/kpeoplevcard/default.nix2
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix4
-rw-r--r--pkgs/development/libraries/libaec/default.nix4
-rw-r--r--pkgs/development/libraries/libayatana-common/default.nix2
-rw-r--r--pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch27
-rw-r--r--pkgs/development/libraries/libcbor/default.nix2
-rw-r--r--pkgs/development/libraries/libcue/default.nix16
-rw-r--r--pkgs/development/libraries/libdatovka/default.nix4
-rw-r--r--pkgs/development/libraries/libdeltachat/Cargo.lock129
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix7
-rw-r--r--pkgs/development/libraries/libfive/default.nix4
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--pkgs/development/libraries/libglibutil/default.nix4
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libmpc/default.nix2
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libnbd/default.nix13
-rw-r--r--pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch (renamed from pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch)0
-rw-r--r--pkgs/development/libraries/libopenshot-audio/default.nix (renamed from pkgs/applications/video/openshot-qt/libopenshot-audio.nix)22
-rw-r--r--pkgs/development/libraries/libopenshot/0001-link-magickcore.diff12
-rw-r--r--pkgs/development/libraries/libopenshot/default.nix (renamed from pkgs/applications/video/openshot-qt/libopenshot.nix)49
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix5
-rw-r--r--pkgs/development/libraries/libqtdbusmock/default.nix2
-rw-r--r--pkgs/development/libraries/libqtdbustest/default.nix2
-rw-r--r--pkgs/development/libraries/libressl/fix-build-with-glibc.patch92
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libspatialindex/default.nix2
-rw-r--r--pkgs/development/libraries/libunicode/default.nix33
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libva/utils.nix4
-rw-r--r--pkgs/development/libraries/libwnck/fix-pc-file.patch24
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix6
-rw-r--r--pkgs/development/libraries/libxmlb/installed-tests-path.patch10
-rw-r--r--pkgs/development/libraries/libzim/default.nix4
-rw-r--r--pkgs/development/libraries/loudmouth/glib-2.32.patch13
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix35
-rw-r--r--pkgs/development/libraries/minizip-ng/default.nix4
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/mp4v2/fix-build-clang.patch13
-rw-r--r--pkgs/development/libraries/msgpack-c/default.nix2
-rw-r--r--pkgs/development/libraries/msgpack-cxx/default.nix2
-rw-r--r--pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch22
-rw-r--r--pkgs/development/libraries/nco/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/default.nix13
-rw-r--r--pkgs/development/libraries/ngtcp2/gnutls.nix4
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix4
-rw-r--r--pkgs/development/libraries/nng/default.nix6
-rw-r--r--pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix5
-rw-r--r--pkgs/development/libraries/nvidia-thrust/default.nix102
-rw-r--r--pkgs/development/libraries/open62541/default.nix31
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix37
-rw-r--r--pkgs/development/libraries/openimageio/default.nix4
-rw-r--r--pkgs/development/libraries/openmpi/default.nix17
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix30
-rw-r--r--pkgs/development/libraries/openvino/default.nix11
-rw-r--r--pkgs/development/libraries/pango/default.nix1
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix4
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/properties-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/protobuf/25.nix6
-rw-r--r--pkgs/development/libraries/qcoro/default.nix4
-rw-r--r--pkgs/development/libraries/qmenumodel/default.nix4
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtmultimedia.nix12
-rw-r--r--pkgs/development/libraries/qtutilities/default.nix4
-rw-r--r--pkgs/development/libraries/qzxing/default.nix59
-rw-r--r--pkgs/development/libraries/raft-canonical/default.nix2
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--pkgs/development/libraries/rure/Cargo.lock4
-rw-r--r--pkgs/development/libraries/science/chemistry/openmm/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/cudnn/extension.nix66
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix170
-rw-r--r--pkgs/development/libraries/science/math/cudnn/releases.nix185
-rw-r--r--pkgs/development/libraries/science/math/cutensor/generic.nix73
-rw-r--r--pkgs/development/libraries/science/math/faiss/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/nccl/default.nix85
-rw-r--r--pkgs/development/libraries/science/math/nccl/tests.nix69
-rw-r--r--pkgs/development/libraries/science/math/spooles/allocate.patch38
-rw-r--r--pkgs/development/libraries/science/math/spooles/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/spooles/transform.patch43
-rw-r--r--pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch45
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/extension.nix28
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/generic.nix92
-rw-r--r--pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix13
-rw-r--r--pkgs/development/libraries/spandsp/3.nix4
-rw-r--r--pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch29
-rw-r--r--pkgs/development/libraries/spdk/default.nix7
-rw-r--r--pkgs/development/libraries/symengine/default.nix4
-rw-r--r--pkgs/development/libraries/tcllib/default.nix15
-rw-r--r--pkgs/development/libraries/termbench-pro/default.nix34
-rw-r--r--pkgs/development/libraries/tevent/default.nix4
-rw-r--r--pkgs/development/libraries/tiledb/default.nix4
-rw-r--r--pkgs/development/libraries/ucc/default.nix20
-rw-r--r--pkgs/development/libraries/ucx/default.nix32
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK32.nix9
-rw-r--r--pkgs/development/libraries/x264/default.nix14
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix4
-rw-r--r--pkgs/development/libraries/xeus/default.nix4
-rw-r--r--pkgs/development/libraries/xsimd/default.nix2
-rw-r--r--pkgs/development/libraries/xtensor/default.nix2
-rw-r--r--pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch18
-rw-r--r--pkgs/development/libraries/zlog/default.nix4
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch19
-rw-r--r--pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch36
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix56
-rw-r--r--pkgs/development/lua-modules/overrides.nix10
-rw-r--r--pkgs/development/misc/avr/libc/default.nix3
-rw-r--r--pkgs/development/node-packages/aliases.nix1
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix705
-rw-r--r--pkgs/development/node-packages/overrides.nix67
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/expat/unittest.patch15
-rw-r--r--pkgs/development/ocaml-modules/fix/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/gluten/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/gluten/eio.nix12
-rw-r--r--pkgs/development/ocaml-modules/gluten/lwt-unix.nix2
-rw-r--r--pkgs/development/ocaml-modules/gluten/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/h2/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/hpack/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/inotify/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix4
-rw-r--r--pkgs/development/php-packages/box/default.nix6
-rw-r--r--pkgs/development/php-packages/composer/default.nix1
-rw-r--r--pkgs/development/php-packages/grumphp/default.nix1
-rw-r--r--pkgs/development/php-packages/psalm/default.nix1
-rw-r--r--pkgs/development/php-packages/spx/default.nix (renamed from pkgs/development/php-packages/php-spx/default.nix)2
-rw-r--r--pkgs/development/php-packages/xdebug/default.nix4
-rw-r--r--pkgs/development/python-modules/IPy/default.nix1
-rw-r--r--pkgs/development/python-modules/a2wsgi/default.nix4
-rw-r--r--pkgs/development/python-modules/aadict/default.nix1
-rw-r--r--pkgs/development/python-modules/aafigure/default.nix1
-rw-r--r--pkgs/development/python-modules/about-time/default.nix1
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix1
-rw-r--r--pkgs/development/python-modules/accupy/default.nix1
-rw-r--r--pkgs/development/python-modules/acme-tiny/default.nix1
-rw-r--r--pkgs/development/python-modules/acme/default.nix1
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adb-homeassistant/default.nix1
-rw-r--r--pkgs/development/python-modules/addict/default.nix1
-rw-r--r--pkgs/development/python-modules/adext/default.nix1
-rw-r--r--pkgs/development/python-modules/advocate/default.nix1
-rw-r--r--pkgs/development/python-modules/agate-dbf/default.nix1
-rw-r--r--pkgs/development/python-modules/agate-sql/default.nix1
-rw-r--r--pkgs/development/python-modules/agent-py/default.nix1
-rw-r--r--pkgs/development/python-modules/aigpy/default.nix1
-rw-r--r--pkgs/development/python-modules/aioasuswrt/default.nix1
-rw-r--r--pkgs/development/python-modules/aioazuredevops/default.nix1
-rw-r--r--pkgs/development/python-modules/aiocron/default.nix1
-rw-r--r--pkgs/development/python-modules/aiodns/default.nix1
-rw-r--r--pkgs/development/python-modules/aiodocker/default.nix1
-rw-r--r--pkgs/development/python-modules/aioeagle/default.nix1
-rw-r--r--pkgs/development/python-modules/aioemonitor/default.nix1
-rw-r--r--pkgs/development/python-modules/aioextensions/default.nix1
-rw-r--r--pkgs/development/python-modules/aioharmony/default.nix1
-rw-r--r--pkgs/development/python-modules/aiohttp-cors/default.nix1
-rw-r--r--pkgs/development/python-modules/aiohttp-socks/default.nix1
-rw-r--r--pkgs/development/python-modules/aiohttp-wsgi/default.nix1
-rw-r--r--pkgs/development/python-modules/aioinflux/default.nix1
-rw-r--r--pkgs/development/python-modules/aiokef/default.nix1
-rw-r--r--pkgs/development/python-modules/aiolip/default.nix1
-rw-r--r--pkgs/development/python-modules/aiomodernforms/default.nix1
-rw-r--r--pkgs/development/python-modules/aiopylgtv/default.nix1
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix1
-rw-r--r--pkgs/development/python-modules/aiorwlock/default.nix1
-rw-r--r--pkgs/development/python-modules/aioserial/default.nix1
-rw-r--r--pkgs/development/python-modules/aiosomecomfort/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosyncthing/default.nix1
-rw-r--r--pkgs/development/python-modules/aiotractive/default.nix1
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiounittest/default.nix1
-rw-r--r--pkgs/development/python-modules/aioymaps/default.nix1
-rw-r--r--pkgs/development/python-modules/aiozeroconf/default.nix1
-rw-r--r--pkgs/development/python-modules/airly/default.nix1
-rw-r--r--pkgs/development/python-modules/ajpy/default.nix1
-rw-r--r--pkgs/development/python-modules/ajsonrpc/default.nix1
-rw-r--r--pkgs/development/python-modules/alabaster/default.nix1
-rw-r--r--pkgs/development/python-modules/alarmdecoder/default.nix1
-rw-r--r--pkgs/development/python-modules/alectryon/default.nix1
-rw-r--r--pkgs/development/python-modules/alive-progress/default.nix1
-rw-r--r--pkgs/development/python-modules/allure-behave/default.nix1
-rw-r--r--pkgs/development/python-modules/allure-python-commons-test/default.nix1
-rw-r--r--pkgs/development/python-modules/allure-python-commons/default.nix1
-rw-r--r--pkgs/development/python-modules/alpha-vantage/default.nix1
-rw-r--r--pkgs/development/python-modules/amaranth-boards/default.nix1
-rw-r--r--pkgs/development/python-modules/amaranth-soc/default.nix1
-rw-r--r--pkgs/development/python-modules/amazon-ion/default.nix29
-rw-r--r--pkgs/development/python-modules/amazon-kclpy/default.nix1
-rw-r--r--pkgs/development/python-modules/ambiclimate/default.nix1
-rw-r--r--pkgs/development/python-modules/amiibo-py/default.nix1
-rw-r--r--pkgs/development/python-modules/amply/default.nix1
-rw-r--r--pkgs/development/python-modules/amqplib/default.nix1
-rw-r--r--pkgs/development/python-modules/anchor-kr/default.nix26
-rw-r--r--pkgs/development/python-modules/androguard/default.nix1
-rw-r--r--pkgs/development/python-modules/android-backup/default.nix1
-rw-r--r--pkgs/development/python-modules/aniso8601/default.nix1
-rw-r--r--pkgs/development/python-modules/anitopy/default.nix26
-rw-r--r--pkgs/development/python-modules/ansible-kernel/default.nix1
-rw-r--r--pkgs/development/python-modules/ansible-vault-rw/default.nix1
-rw-r--r--pkgs/development/python-modules/ansicolor/default.nix1
-rw-r--r--pkgs/development/python-modules/ansicolors/default.nix1
-rw-r--r--pkgs/development/python-modules/ansiconv/default.nix1
-rw-r--r--pkgs/development/python-modules/ansimarkup/default.nix1
-rw-r--r--pkgs/development/python-modules/anyconfig/default.nix1
-rw-r--r--pkgs/development/python-modules/anyqt/default.nix1
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix1
-rw-r--r--pkgs/development/python-modules/apcaccess/default.nix1
-rw-r--r--pkgs/development/python-modules/appdirs/default.nix1
-rw-r--r--pkgs/development/python-modules/applicationinsights/default.nix1
-rw-r--r--pkgs/development/python-modules/appnope/default.nix1
-rw-r--r--pkgs/development/python-modules/approval-utilities/default.nix13
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix18
-rw-r--r--pkgs/development/python-modules/aprslib/default.nix1
-rw-r--r--pkgs/development/python-modules/aqualogic/default.nix1
-rw-r--r--pkgs/development/python-modules/area/default.nix1
-rw-r--r--pkgs/development/python-modules/arelle/default.nix1
-rw-r--r--pkgs/development/python-modules/argon2-cffi-bindings/default.nix1
-rw-r--r--pkgs/development/python-modules/argparse-addons/default.nix1
-rw-r--r--pkgs/development/python-modules/argparse-dataclass/default.nix1
-rw-r--r--pkgs/development/python-modules/args/default.nix1
-rw-r--r--pkgs/development/python-modules/ariadne/default.nix11
-rw-r--r--pkgs/development/python-modules/ariadne/remove-opentracing.patch12
-rw-r--r--pkgs/development/python-modules/arpeggio/default.nix1
-rw-r--r--pkgs/development/python-modules/arrayqueues/default.nix1
-rw-r--r--pkgs/development/python-modules/arrow/default.nix1
-rw-r--r--pkgs/development/python-modules/arxiv2bib/default.nix1
-rw-r--r--pkgs/development/python-modules/asciimatics/default.nix1
-rw-r--r--pkgs/development/python-modules/asciitree/default.nix1
-rw-r--r--pkgs/development/python-modules/ase/default.nix1
-rw-r--r--pkgs/development/python-modules/asf-search/default.nix4
-rw-r--r--pkgs/development/python-modules/asgi-csrf/default.nix1
-rw-r--r--pkgs/development/python-modules/asgineer/default.nix1
-rw-r--r--pkgs/development/python-modules/asn1ate/default.nix1
-rw-r--r--pkgs/development/python-modules/aspy-refactor-imports/default.nix1
-rw-r--r--pkgs/development/python-modules/aspy.yaml/default.nix1
-rw-r--r--pkgs/development/python-modules/assay/default.nix1
-rw-r--r--pkgs/development/python-modules/assertpy/default.nix1
-rw-r--r--pkgs/development/python-modules/asterisk-mbox/default.nix1
-rw-r--r--pkgs/development/python-modules/astropy-healpix/default.nix1
-rw-r--r--pkgs/development/python-modules/astropy-helpers/default.nix1
-rw-r--r--pkgs/development/python-modules/astunparse/default.nix1
-rw-r--r--pkgs/development/python-modules/async-generator/default.nix1
-rw-r--r--pkgs/development/python-modules/async-timeout/default.nix1
-rw-r--r--pkgs/development/python-modules/asyncclick/default.nix1
-rw-r--r--pkgs/development/python-modules/asyncio-rlock/default.nix1
-rw-r--r--pkgs/development/python-modules/asyncio-throttle/default.nix1
-rw-r--r--pkgs/development/python-modules/asyncserial/default.nix1
-rw-r--r--pkgs/development/python-modules/asynctest/default.nix1
-rw-r--r--pkgs/development/python-modules/atomiclong/default.nix1
-rw-r--r--pkgs/development/python-modules/atomicwrites/default.nix1
-rw-r--r--pkgs/development/python-modules/atsim-potentials/default.nix1
-rw-r--r--pkgs/development/python-modules/aubio/default.nix1
-rw-r--r--pkgs/development/python-modules/audible/default.nix1
-rw-r--r--pkgs/development/python-modules/audioread/default.nix1
-rw-r--r--pkgs/development/python-modules/audiotools/default.nix1
-rw-r--r--pkgs/development/python-modules/augeas/default.nix1
-rw-r--r--pkgs/development/python-modules/auroranoaa/default.nix1
-rw-r--r--pkgs/development/python-modules/auth0-python/default.nix4
-rw-r--r--pkgs/development/python-modules/authres/default.nix1
-rw-r--r--pkgs/development/python-modules/autograd-gamma/default.nix1
-rw-r--r--pkgs/development/python-modules/automat/default.nix1
-rw-r--r--pkgs/development/python-modules/av/default.nix125
-rw-r--r--pkgs/development/python-modules/avea/default.nix1
-rw-r--r--pkgs/development/python-modules/avro-python3/default.nix1
-rw-r--r--pkgs/development/python-modules/avro3k/default.nix1
-rw-r--r--pkgs/development/python-modules/awacs/default.nix1
-rw-r--r--pkgs/development/python-modules/awesome-slugify/default.nix1
-rw-r--r--pkgs/development/python-modules/awkward/default.nix7
-rw-r--r--pkgs/development/python-modules/aws-encryption-sdk/default.nix1
-rw-r--r--pkgs/development/python-modules/aws-xray-sdk/default.nix70
-rw-r--r--pkgs/development/python-modules/awslambdaric/default.nix1
-rw-r--r--pkgs/development/python-modules/axisregistry/default.nix47
-rw-r--r--pkgs/development/python-modules/azure-applicationinsights/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-common/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-cosmos/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-cosmosdb-table/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-functions-devops-build/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-graphrbac/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-identity/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-keyvault-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-loganalytics/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-advisor/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-authorization/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-batchai/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-billing/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-botservice/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-commerce/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-common/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-consumption/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-core/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-databoxedge/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datamigration/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-devspaces/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-dns/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-extendedlocation/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix26
-rw-r--r--pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-managedservices/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-rdbms/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-relay/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-scheduler/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicefabricmanagedclusters/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sql/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-subscription/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-synapse/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-multiapi-storage/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-servicefabric/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-storage-common/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-storage-file/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-storage-nspkg/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-synapse-managedprivateendpoints/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-synapse-spark/default.nix1
-rw-r--r--pkgs/development/python-modules/babelfish/default.nix1
-rw-r--r--pkgs/development/python-modules/babelfont/default.nix55
-rw-r--r--pkgs/development/python-modules/babelgladeextractor/default.nix1
-rw-r--r--pkgs/development/python-modules/backcall/default.nix1
-rw-r--r--pkgs/development/python-modules/backports-entry-points-selectable/default.nix4
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix1
-rw-r--r--pkgs/development/python-modules/bagit/default.nix1
-rw-r--r--pkgs/development/python-modules/banal/default.nix1
-rw-r--r--pkgs/development/python-modules/bap/default.nix1
-rw-r--r--pkgs/development/python-modules/baron/default.nix1
-rw-r--r--pkgs/development/python-modules/base36/default.nix1
-rw-r--r--pkgs/development/python-modules/base64io/default.nix1
-rw-r--r--pkgs/development/python-modules/baseline/default.nix1
-rw-r--r--pkgs/development/python-modules/baselines/default.nix1
-rw-r--r--pkgs/development/python-modules/basemap-data/default.nix1
-rw-r--r--pkgs/development/python-modules/basemap/default.nix1
-rw-r--r--pkgs/development/python-modules/bash-kernel/default.nix4
-rw-r--r--pkgs/development/python-modules/basiciw/default.nix1
-rw-r--r--pkgs/development/python-modules/batinfo/default.nix1
-rw-r--r--pkgs/development/python-modules/baycomp/default.nix1
-rw-r--r--pkgs/development/python-modules/bayespy/default.nix1
-rw-r--r--pkgs/development/python-modules/bcdoc/default.nix1
-rw-r--r--pkgs/development/python-modules/bcf/default.nix1
-rw-r--r--pkgs/development/python-modules/bcg/default.nix1
-rw-r--r--pkgs/development/python-modules/bch/default.nix1
-rw-r--r--pkgs/development/python-modules/bdffont/default.nix42
-rw-r--r--pkgs/development/python-modules/beancount/default.nix1
-rw-r--r--pkgs/development/python-modules/beanstalkc/default.nix1
-rw-r--r--pkgs/development/python-modules/bech32/default.nix1
-rw-r--r--pkgs/development/python-modules/before-after/default.nix1
-rw-r--r--pkgs/development/python-modules/behave/default.nix1
-rw-r--r--pkgs/development/python-modules/beniget/default.nix1
-rw-r--r--pkgs/development/python-modules/betacode/default.nix1
-rw-r--r--pkgs/development/python-modules/betamax-matchers/default.nix1
-rw-r--r--pkgs/development/python-modules/betamax-serializers/default.nix1
-rw-r--r--pkgs/development/python-modules/betamax/default.nix1
-rw-r--r--pkgs/development/python-modules/betterproto/default.nix9
-rw-r--r--pkgs/development/python-modules/beziers/default.nix41
-rw-r--r--pkgs/development/python-modules/binaryornot/default.nix1
-rw-r--r--pkgs/development/python-modules/binho-host-adapter/default.nix1
-rw-r--r--pkgs/development/python-modules/binwalk/default.nix1
-rw-r--r--pkgs/development/python-modules/biopython/default.nix1
-rw-r--r--pkgs/development/python-modules/biplist/default.nix1
-rw-r--r--pkgs/development/python-modules/bitcoinlib/default.nix1
-rw-r--r--pkgs/development/python-modules/bitmath/default.nix1
-rw-r--r--pkgs/development/python-modules/bitvavo-aio/default.nix1
-rw-r--r--pkgs/development/python-modules/bizkaibus/default.nix1
-rw-r--r--pkgs/development/python-modules/bkcharts/default.nix1
-rw-r--r--pkgs/development/python-modules/black-macchiato/default.nix1
-rw-r--r--pkgs/development/python-modules/black/default.nix4
-rw-r--r--pkgs/development/python-modules/bleach-allowlist/default.nix1
-rw-r--r--pkgs/development/python-modules/bleach/default.nix1
-rw-r--r--pkgs/development/python-modules/blessed/default.nix1
-rw-r--r--pkgs/development/python-modules/blessings/default.nix1
-rw-r--r--pkgs/development/python-modules/blockchain/default.nix1
-rw-r--r--pkgs/development/python-modules/blockfrost-python/default.nix6
-rw-r--r--pkgs/development/python-modules/bluepy-devices/default.nix1
-rw-r--r--pkgs/development/python-modules/bluepy/default.nix1
-rw-r--r--pkgs/development/python-modules/bluetooth-data-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/blurhash/default.nix1
-rw-r--r--pkgs/development/python-modules/bme280spi/default.nix1
-rw-r--r--pkgs/development/python-modules/bme680/default.nix1
-rw-r--r--pkgs/development/python-modules/boto/default.nix1
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/braceexpand/default.nix1
-rw-r--r--pkgs/development/python-modules/bravia-tv/default.nix1
-rw-r--r--pkgs/development/python-modules/brian2/default.nix1
-rw-r--r--pkgs/development/python-modules/brother-ql/default.nix1
-rw-r--r--pkgs/development/python-modules/brotli/default.nix1
-rw-r--r--pkgs/development/python-modules/brotlicffi/default.nix1
-rw-r--r--pkgs/development/python-modules/brotlipy/default.nix1
-rw-r--r--pkgs/development/python-modules/brottsplatskartan/default.nix1
-rw-r--r--pkgs/development/python-modules/bsddb3/default.nix1
-rw-r--r--pkgs/development/python-modules/bson/default.nix1
-rw-r--r--pkgs/development/python-modules/bsuite/default.nix1
-rw-r--r--pkgs/development/python-modules/bt-proximity/default.nix1
-rw-r--r--pkgs/development/python-modules/btrfs/default.nix1
-rw-r--r--pkgs/development/python-modules/bugwarrior/default.nix1
-rw-r--r--pkgs/development/python-modules/bugzilla/default.nix1
-rw-r--r--pkgs/development/python-modules/buienradar/default.nix1
-rw-r--r--pkgs/development/python-modules/bwapy/default.nix1
-rw-r--r--pkgs/development/python-modules/bz2file/default.nix1
-rw-r--r--pkgs/development/python-modules/cachelib/default.nix1
-rw-r--r--pkgs/development/python-modules/cachy/default.nix1
-rw-r--r--pkgs/development/python-modules/cadquery/default.nix1
-rw-r--r--pkgs/development/python-modules/calmjs-types/default.nix1
-rw-r--r--pkgs/development/python-modules/calmjs/default.nix1
-rw-r--r--pkgs/development/python-modules/capstone/default.nix1
-rw-r--r--pkgs/development/python-modules/capturer/default.nix1
-rw-r--r--pkgs/development/python-modules/carbon/default.nix1
-rw-r--r--pkgs/development/python-modules/casttube/default.nix1
-rw-r--r--pkgs/development/python-modules/cbor/default.nix1
-rw-r--r--pkgs/development/python-modules/celery-redbeat/default.nix1
-rw-r--r--pkgs/development/python-modules/celery/default.nix4
-rw-r--r--pkgs/development/python-modules/cepa/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-cloudflare/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-google/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-inwx/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-ovh/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-rfc2136/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot-dns-route53/default.nix1
-rw-r--r--pkgs/development/python-modules/certbot/default.nix1
-rw-r--r--pkgs/development/python-modules/certifi/default.nix1
-rw-r--r--pkgs/development/python-modules/certipy/default.nix1
-rw-r--r--pkgs/development/python-modules/certvalidator/default.nix1
-rw-r--r--pkgs/development/python-modules/cexprtk/default.nix1
-rw-r--r--pkgs/development/python-modules/cfscrape/default.nix1
-rw-r--r--pkgs/development/python-modules/cgen/default.nix1
-rw-r--r--pkgs/development/python-modules/cgroup-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/chai/default.nix1
-rw-r--r--pkgs/development/python-modules/chainmap/default.nix1
-rw-r--r--pkgs/development/python-modules/character-encoding-utils/default.nix41
-rw-r--r--pkgs/development/python-modules/characteristic/default.nix1
-rw-r--r--pkgs/development/python-modules/chart-studio/default.nix1
-rw-r--r--pkgs/development/python-modules/cheetah3/default.nix4
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix1
-rw-r--r--pkgs/development/python-modules/chevron/default.nix1
-rw-r--r--pkgs/development/python-modules/chromaprint/default.nix1
-rw-r--r--pkgs/development/python-modules/ci-info/default.nix1
-rw-r--r--pkgs/development/python-modules/cinemagoer/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-aqt/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-core/default.nix16
-rw-r--r--pkgs/development/python-modules/cirq-ft/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-google/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-ionq/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-pasqal/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-rigetti/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq-web/default.nix1
-rw-r--r--pkgs/development/python-modules/cirq/default.nix1
-rw-r--r--pkgs/development/python-modules/ciscomobilityexpress/default.nix1
-rw-r--r--pkgs/development/python-modules/citeproc-py/default.nix1
-rw-r--r--pkgs/development/python-modules/classify-imports/default.nix1
-rw-r--r--pkgs/development/python-modules/cld2-cffi/default.nix1
-rw-r--r--pkgs/development/python-modules/clf/default.nix1
-rw-r--r--pkgs/development/python-modules/click-completion/default.nix1
-rw-r--r--pkgs/development/python-modules/click-datetime/default.nix1
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix1
-rw-r--r--pkgs/development/python-modules/click-didyoumean/default.nix1
-rw-r--r--pkgs/development/python-modules/click-help-colors/default.nix4
-rw-r--r--pkgs/development/python-modules/click-log/default.nix1
-rw-r--r--pkgs/development/python-modules/click-plugins/default.nix1
-rw-r--r--pkgs/development/python-modules/click-repl/default.nix1
-rw-r--r--pkgs/development/python-modules/click-spinner/default.nix1
-rw-r--r--pkgs/development/python-modules/click-threading/default.nix1
-rw-r--r--pkgs/development/python-modules/clickclick/default.nix1
-rw-r--r--pkgs/development/python-modules/clickhouse-driver/default.nix1
-rw-r--r--pkgs/development/python-modules/cliff/default.nix1
-rw-r--r--pkgs/development/python-modules/clifford/default.nix1
-rw-r--r--pkgs/development/python-modules/cligj/default.nix1
-rw-r--r--pkgs/development/python-modules/clint/default.nix1
-rw-r--r--pkgs/development/python-modules/clldutils/default.nix1
-rw-r--r--pkgs/development/python-modules/cloudflare/default.nix4
-rw-r--r--pkgs/development/python-modules/cmdline/default.nix1
-rw-r--r--pkgs/development/python-modules/cmigemo/default.nix1
-rw-r--r--pkgs/development/python-modules/cmsis-svd/default.nix1
-rw-r--r--pkgs/development/python-modules/co2signal/default.nix1
-rw-r--r--pkgs/development/python-modules/cobs/default.nix1
-rw-r--r--pkgs/development/python-modules/cock/default.nix1
-rw-r--r--pkgs/development/python-modules/coconut/default.nix1
-rw-r--r--pkgs/development/python-modules/cocotb-bus/default.nix1
-rw-r--r--pkgs/development/python-modules/cocotb/default.nix1
-rw-r--r--pkgs/development/python-modules/codecov/default.nix1
-rw-r--r--pkgs/development/python-modules/codepy/default.nix1
-rw-r--r--pkgs/development/python-modules/cogapp/default.nix1
-rw-r--r--pkgs/development/python-modules/coincurve/default.nix1
-rw-r--r--pkgs/development/python-modules/collidoscope/default.nix44
-rw-r--r--pkgs/development/python-modules/colorcet/default.nix1
-rw-r--r--pkgs/development/python-modules/colorclass/default.nix1
-rw-r--r--pkgs/development/python-modules/colored-traceback/default.nix1
-rw-r--r--pkgs/development/python-modules/coloredlogs/default.nix1
-rw-r--r--pkgs/development/python-modules/colorlog/default.nix1
-rw-r--r--pkgs/development/python-modules/colorlover/default.nix1
-rw-r--r--pkgs/development/python-modules/colormath/default.nix1
-rw-r--r--pkgs/development/python-modules/colorspacious/default.nix1
-rw-r--r--pkgs/development/python-modules/colorthief/default.nix1
-rw-r--r--pkgs/development/python-modules/command_runner/default.nix1
-rw-r--r--pkgs/development/python-modules/commandlines/default.nix32
-rw-r--r--pkgs/development/python-modules/commentjson/default.nix1
-rw-r--r--pkgs/development/python-modules/commonmark/default.nix1
-rw-r--r--pkgs/development/python-modules/compiledb/default.nix1
-rw-r--r--pkgs/development/python-modules/concurrent-log-handler/default.nix1
-rw-r--r--pkgs/development/python-modules/conda/default.nix1
-rw-r--r--pkgs/development/python-modules/configclass/default.nix1
-rw-r--r--pkgs/development/python-modules/confight/default.nix1
-rw-r--r--pkgs/development/python-modules/configshell/default.nix1
-rw-r--r--pkgs/development/python-modules/configupdater/default.nix5
-rw-r--r--pkgs/development/python-modules/connection-pool/default.nix1
-rw-r--r--pkgs/development/python-modules/constantly/default.nix1
-rw-r--r--pkgs/development/python-modules/contexter/default.nix1
-rw-r--r--pkgs/development/python-modules/contexttimer/default.nix1
-rw-r--r--pkgs/development/python-modules/cookiecutter/default.nix1
-rw-r--r--pkgs/development/python-modules/coordinates/default.nix1
-rw-r--r--pkgs/development/python-modules/coreapi/default.nix1
-rw-r--r--pkgs/development/python-modules/coreschema/default.nix1
-rw-r--r--pkgs/development/python-modules/cornice/default.nix1
-rw-r--r--pkgs/development/python-modules/cov-core/default.nix1
-rw-r--r--pkgs/development/python-modules/coverage/default.nix1
-rw-r--r--pkgs/development/python-modules/coveralls/default.nix1
-rw-r--r--pkgs/development/python-modules/cppe/default.nix2
-rw-r--r--pkgs/development/python-modules/cppy/default.nix1
-rw-r--r--pkgs/development/python-modules/cram/default.nix1
-rw-r--r--pkgs/development/python-modules/crashtest/default.nix1
-rw-r--r--pkgs/development/python-modules/crayons/default.nix1
-rw-r--r--pkgs/development/python-modules/crc16/default.nix1
-rw-r--r--pkgs/development/python-modules/crcmod/default.nix1
-rw-r--r--pkgs/development/python-modules/credstash/default.nix1
-rw-r--r--pkgs/development/python-modules/cryptacular/default.nix1
-rw-r--r--pkgs/development/python-modules/cryptolyzer/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptoparser/default.nix4
-rw-r--r--pkgs/development/python-modules/cson/default.nix1
-rw-r--r--pkgs/development/python-modules/csrmesh/default.nix1
-rw-r--r--pkgs/development/python-modules/css-html-js-minify/default.nix1
-rw-r--r--pkgs/development/python-modules/csscompressor/default.nix1
-rw-r--r--pkgs/development/python-modules/cssmin/default.nix1
-rw-r--r--pkgs/development/python-modules/ctap-keyring-device/default.nix1
-rw-r--r--pkgs/development/python-modules/cucumber-tag-expressions/default.nix1
-rw-r--r--pkgs/development/python-modules/cufflinks/default.nix1
-rw-r--r--pkgs/development/python-modules/cupy/default.nix47
-rw-r--r--pkgs/development/python-modules/curve25519-donna/default.nix1
-rw-r--r--pkgs/development/python-modules/cvxopt/default.nix1
-rw-r--r--pkgs/development/python-modules/cx-freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cxxfilt/default.nix1
-rw-r--r--pkgs/development/python-modules/cycler/default.nix1
-rw-r--r--pkgs/development/python-modules/cypari2/default.nix1
-rw-r--r--pkgs/development/python-modules/cysignals/default.nix1
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix1
-rw-r--r--pkgs/development/python-modules/daemonize/default.nix1
-rw-r--r--pkgs/development/python-modules/daemonocle/default.nix1
-rw-r--r--pkgs/development/python-modules/dash-core-components/default.nix1
-rw-r--r--pkgs/development/python-modules/dash-html-components/default.nix1
-rw-r--r--pkgs/development/python-modules/dash-table/default.nix1
-rw-r--r--pkgs/development/python-modules/dask-glm/default.nix4
-rw-r--r--pkgs/development/python-modules/datapoint/default.nix1
-rw-r--r--pkgs/development/python-modules/dataprep-ml/default.nix4
-rw-r--r--pkgs/development/python-modules/datashader/default.nix4
-rw-r--r--pkgs/development/python-modules/datashape/default.nix1
-rw-r--r--pkgs/development/python-modules/dateutils/default.nix1
-rw-r--r--pkgs/development/python-modules/dawg-python/default.nix1
-rw-r--r--pkgs/development/python-modules/dbfread/default.nix1
-rw-r--r--pkgs/development/python-modules/dbt-redshift/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-client-gen/default.nix1
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-next/default.nix1
-rw-r--r--pkgs/development/python-modules/dbus-signature-pyparsing/default.nix1
-rw-r--r--pkgs/development/python-modules/dcmstack/default.nix1
-rw-r--r--pkgs/development/python-modules/ddt/default.nix1
-rw-r--r--pkgs/development/python-modules/deap/default.nix1
-rw-r--r--pkgs/development/python-modules/debtcollector/default.nix1
-rw-r--r--pkgs/development/python-modules/debts/default.nix1
-rw-r--r--pkgs/development/python-modules/deep-chainmap/default.nix1
-rw-r--r--pkgs/development/python-modules/deepdish/default.nix1
-rw-r--r--pkgs/development/python-modules/deeptoolsintervals/default.nix1
-rw-r--r--pkgs/development/python-modules/deezer-py/default.nix1
-rw-r--r--pkgs/development/python-modules/deform/default.nix1
-rw-r--r--pkgs/development/python-modules/defusedxml/default.nix1
-rw-r--r--pkgs/development/python-modules/dehinter/default.nix37
-rw-r--r--pkgs/development/python-modules/deluge-client/default.nix1
-rw-r--r--pkgs/development/python-modules/deprecated/default.nix1
-rw-r--r--pkgs/development/python-modules/deprecation/default.nix1
-rw-r--r--pkgs/development/python-modules/devialet/default.nix45
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix1
-rw-r--r--pkgs/development/python-modules/dicom2nifti/default.nix1
-rw-r--r--pkgs/development/python-modules/dictionaries/default.nix1
-rw-r--r--pkgs/development/python-modules/dicttoxml/default.nix1
-rw-r--r--pkgs/development/python-modules/digi-xbee/default.nix1
-rw-r--r--pkgs/development/python-modules/directv/default.nix1
-rw-r--r--pkgs/development/python-modules/discid/default.nix1
-rw-r--r--pkgs/development/python-modules/dissononce/default.nix1
-rw-r--r--pkgs/development/python-modules/distorm3/default.nix1
-rw-r--r--pkgs/development/python-modules/dj-rest-auth/default.nix1
-rw-r--r--pkgs/development/python-modules/dj-search-url/default.nix1
-rw-r--r--pkgs/development/python-modules/django-annoying/default.nix1
-rw-r--r--pkgs/development/python-modules/django-anymail/default.nix1
-rw-r--r--pkgs/development/python-modules/django-autocomplete-light/default.nix1
-rw-r--r--pkgs/development/python-modules/django-cache-url/default.nix1
-rw-r--r--pkgs/development/python-modules/django-celery-email/default.nix1
-rw-r--r--pkgs/development/python-modules/django-colorful/default.nix1
-rw-r--r--pkgs/development/python-modules/django-contrib-comments/default.nix1
-rw-r--r--pkgs/development/python-modules/django-cors-headers/default.nix1
-rw-r--r--pkgs/development/python-modules/django-csp/default.nix1
-rw-r--r--pkgs/development/python-modules/django-environ/default.nix1
-rw-r--r--pkgs/development/python-modules/django-extensions/default.nix1
-rw-r--r--pkgs/development/python-modules/django-filter/default.nix4
-rw-r--r--pkgs/development/python-modules/django-gravatar2/default.nix1
-rw-r--r--pkgs/development/python-modules/django-guardian/default.nix1
-rw-r--r--pkgs/development/python-modules/django-hcaptcha/default.nix1
-rw-r--r--pkgs/development/python-modules/django-health-check/default.nix1
-rw-r--r--pkgs/development/python-modules/django-hijack/default.nix6
-rw-r--r--pkgs/development/python-modules/django-js-reverse/default.nix1
-rw-r--r--pkgs/development/python-modules/django-logentry-admin/default.nix1
-rw-r--r--pkgs/development/python-modules/django-multiselectfield/default.nix1
-rw-r--r--pkgs/development/python-modules/django-nose/default.nix1
-rw-r--r--pkgs/development/python-modules/django-otp/default.nix1
-rw-r--r--pkgs/development/python-modules/django-paintstore/default.nix1
-rw-r--r--pkgs/development/python-modules/django-pglocks/default.nix1
-rw-r--r--pkgs/development/python-modules/django-polymorphic/default.nix1
-rw-r--r--pkgs/development/python-modules/django-ranged-response/default.nix1
-rw-r--r--pkgs/development/python-modules/django-raster/default.nix1
-rw-r--r--pkgs/development/python-modules/django-rest-auth/default.nix1
-rw-r--r--pkgs/development/python-modules/django-rest-polymorphic/default.nix1
-rw-r--r--pkgs/development/python-modules/django-reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/django-scopes/default.nix1
-rw-r--r--pkgs/development/python-modules/django-sekizai/default.nix1
-rw-r--r--pkgs/development/python-modules/django-simple-captcha/default.nix1
-rw-r--r--pkgs/development/python-modules/django-sites/default.nix1
-rw-r--r--pkgs/development/python-modules/django-sr/default.nix1
-rw-r--r--pkgs/development/python-modules/django-stubs-ext/default.nix4
-rw-r--r--pkgs/development/python-modules/django-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/django-tagging/default.nix1
-rw-r--r--pkgs/development/python-modules/django-taggit/default.nix4
-rw-r--r--pkgs/development/python-modules/django-versatileimagefield/default.nix1
-rw-r--r--pkgs/development/python-modules/django/5.nix4
-rw-r--r--pkgs/development/python-modules/djangoql/default.nix1
-rw-r--r--pkgs/development/python-modules/djangorestframework-camel-case/default.nix1
-rw-r--r--pkgs/development/python-modules/djangorestframework-guardian/default.nix1
-rw-r--r--pkgs/development/python-modules/djangorestframework-guardian2/default.nix1
-rw-r--r--pkgs/development/python-modules/djangorestframework-recursive/default.nix1
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix1
-rw-r--r--pkgs/development/python-modules/djmail/default.nix1
-rw-r--r--pkgs/development/python-modules/dkimpy/default.nix1
-rw-r--r--pkgs/development/python-modules/dlib/default.nix2
-rw-r--r--pkgs/development/python-modules/dlx/default.nix1
-rw-r--r--pkgs/development/python-modules/dm-haiku/default.nix1
-rw-r--r--pkgs/development/python-modules/dm-tree/default.nix1
-rw-r--r--pkgs/development/python-modules/dnf4/default.nix83
-rw-r--r--pkgs/development/python-modules/dnf4/fix-python-install-dir.patch13
-rw-r--r--pkgs/development/python-modules/docker-py/default.nix1
-rw-r--r--pkgs/development/python-modules/docker-pycreds/default.nix1
-rw-r--r--pkgs/development/python-modules/dockerpty/default.nix1
-rw-r--r--pkgs/development/python-modules/dockerspawner/default.nix1
-rw-r--r--pkgs/development/python-modules/docloud/default.nix1
-rw-r--r--pkgs/development/python-modules/docopt/default.nix1
-rw-r--r--pkgs/development/python-modules/docplex/default.nix1
-rw-r--r--pkgs/development/python-modules/docrep/default.nix1
-rw-r--r--pkgs/development/python-modules/doctest-ignore-unicode/default.nix1
-rw-r--r--pkgs/development/python-modules/dodgy/default.nix1
-rw-r--r--pkgs/development/python-modules/dogtag-pki/default.nix1
-rw-r--r--pkgs/development/python-modules/dogtail/default.nix1
-rw-r--r--pkgs/development/python-modules/doit-py/default.nix1
-rw-r--r--pkgs/development/python-modules/doit/default.nix1
-rw-r--r--pkgs/development/python-modules/dopy/default.nix1
-rw-r--r--pkgs/development/python-modules/downloader-cli/default.nix9
-rw-r--r--pkgs/development/python-modules/dpkt/default.nix1
-rw-r--r--pkgs/development/python-modules/draftjs-exporter/default.nix1
-rw-r--r--pkgs/development/python-modules/dragonfly/default.nix1
-rw-r--r--pkgs/development/python-modules/drf-jwt/default.nix1
-rw-r--r--pkgs/development/python-modules/drf-spectacular/default.nix1
-rw-r--r--pkgs/development/python-modules/drf-writable-nested/default.nix1
-rw-r--r--pkgs/development/python-modules/drf-yasg/default.nix1
-rw-r--r--pkgs/development/python-modules/drivelib/default.nix1
-rw-r--r--pkgs/development/python-modules/ds4drv/default.nix1
-rw-r--r--pkgs/development/python-modules/ducc0/default.nix1
-rw-r--r--pkgs/development/python-modules/duecredit/default.nix9
-rw-r--r--pkgs/development/python-modules/duet/default.nix1
-rw-r--r--pkgs/development/python-modules/dugong/default.nix1
-rw-r--r--pkgs/development/python-modules/dungeon-eos/default.nix1
-rw-r--r--pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-objects/default.nix11
-rw-r--r--pkgs/development/python-modules/dvc-render/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc/dvc-daemon.patch18
-rw-r--r--pkgs/development/python-modules/dyn/default.nix1
-rw-r--r--pkgs/development/python-modules/dynd/default.nix1
-rw-r--r--pkgs/development/python-modules/easyenergy/default.nix4
-rw-r--r--pkgs/development/python-modules/easygui/default.nix1
-rw-r--r--pkgs/development/python-modules/easyprocess/default.nix1
-rw-r--r--pkgs/development/python-modules/easywatch/default.nix1
-rw-r--r--pkgs/development/python-modules/ebaysdk/default.nix1
-rw-r--r--pkgs/development/python-modules/ecdsa/default.nix1
-rw-r--r--pkgs/development/python-modules/echo/default.nix1
-rw-r--r--pkgs/development/python-modules/ecoaliface/default.nix1
-rw-r--r--pkgs/development/python-modules/ed25519-blake2b/default.nix1
-rw-r--r--pkgs/development/python-modules/ed25519/default.nix1
-rw-r--r--pkgs/development/python-modules/editdistance-s/default.nix1
-rw-r--r--pkgs/development/python-modules/editorconfig/default.nix1
-rw-r--r--pkgs/development/python-modules/edlib/default.nix1
-rw-r--r--pkgs/development/python-modules/edward/default.nix1
-rw-r--r--pkgs/development/python-modules/eggdeps/default.nix4
-rw-r--r--pkgs/development/python-modules/elasticsearch-dsl/default.nix5
-rw-r--r--pkgs/development/python-modules/elasticsearch/default.nix1
-rw-r--r--pkgs/development/python-modules/elevate/default.nix1
-rw-r--r--pkgs/development/python-modules/emailthreads/default.nix1
-rw-r--r--pkgs/development/python-modules/embedding-reader/default.nix1
-rw-r--r--pkgs/development/python-modules/emborg/default.nix4
-rw-r--r--pkgs/development/python-modules/empty-files/default.nix1
-rw-r--r--pkgs/development/python-modules/empy/default.nix5
-rw-r--r--pkgs/development/python-modules/emulated-roku/default.nix1
-rw-r--r--pkgs/development/python-modules/enaml/default.nix4
-rw-r--r--pkgs/development/python-modules/enamlx/default.nix1
-rw-r--r--pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch274
-rw-r--r--pkgs/development/python-modules/energyzero/default.nix4
-rw-r--r--pkgs/development/python-modules/enocean/default.nix1
-rw-r--r--pkgs/development/python-modules/enrich/default.nix1
-rw-r--r--pkgs/development/python-modules/entrance/default.nix1
-rw-r--r--pkgs/development/python-modules/enum-compat/default.nix1
-rw-r--r--pkgs/development/python-modules/environmental-override/default.nix1
-rw-r--r--pkgs/development/python-modules/envoy-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/enzyme/default.nix1
-rw-r--r--pkgs/development/python-modules/epc/default.nix1
-rw-r--r--pkgs/development/python-modules/epson-projector/default.nix1
-rw-r--r--pkgs/development/python-modules/es-client/default.nix4
-rw-r--r--pkgs/development/python-modules/escapism/default.nix1
-rw-r--r--pkgs/development/python-modules/etcd/default.nix1
-rw-r--r--pkgs/development/python-modules/ete3/default.nix1
-rw-r--r--pkgs/development/python-modules/etelemetry/default.nix1
-rw-r--r--pkgs/development/python-modules/etesync/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-abi/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-account/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-hash/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-keyfile/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-keys/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-rlp/default.nix1
-rw-r--r--pkgs/development/python-modules/eth-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/etils/default.nix4
-rw-r--r--pkgs/development/python-modules/evernote/default.nix1
-rw-r--r--pkgs/development/python-modules/evohome-async/default.nix5
-rw-r--r--pkgs/development/python-modules/ewmh/default.nix1
-rw-r--r--pkgs/development/python-modules/expects/default.nix1
-rw-r--r--pkgs/development/python-modules/experiment-utilities/default.nix1
-rw-r--r--pkgs/development/python-modules/explorerscript/default.nix1
-rw-r--r--pkgs/development/python-modules/exrex/default.nix9
-rw-r--r--pkgs/development/python-modules/extras/default.nix1
-rw-r--r--pkgs/development/python-modules/extruct/default.nix1
-rw-r--r--pkgs/development/python-modules/ezyrb/default.nix4
-rw-r--r--pkgs/development/python-modules/f90nml/default.nix1
-rw-r--r--pkgs/development/python-modules/fabric/default.nix1
-rw-r--r--pkgs/development/python-modules/fabulous/default.nix1
-rw-r--r--pkgs/development/python-modules/facebook-sdk/default.nix1
-rw-r--r--pkgs/development/python-modules/facedancer/default.nix1
-rw-r--r--pkgs/development/python-modules/fake-useragent/default.nix10
-rw-r--r--pkgs/development/python-modules/faker/default.nix1
-rw-r--r--pkgs/development/python-modules/farm-haystack/default.nix4
-rw-r--r--pkgs/development/python-modules/fast-histogram/default.nix1
-rw-r--r--pkgs/development/python-modules/fastcache/default.nix1
-rw-r--r--pkgs/development/python-modules/fastdiff/default.nix1
-rw-r--r--pkgs/development/python-modules/fastdtw/default.nix1
-rw-r--r--pkgs/development/python-modules/fastentrypoints/default.nix1
-rw-r--r--pkgs/development/python-modules/faster-whisper/default.nix13
-rw-r--r--pkgs/development/python-modules/fastimport/default.nix1
-rw-r--r--pkgs/development/python-modules/fastpbkdf2/default.nix1
-rw-r--r--pkgs/development/python-modules/fastprogress/default.nix1
-rw-r--r--pkgs/development/python-modules/fasttext/default.nix2
-rw-r--r--pkgs/development/python-modules/faulthandler/disable-env-test.patch13
-rw-r--r--pkgs/development/python-modules/fb-re2/default.nix1
-rw-r--r--pkgs/development/python-modules/feedgen/default.nix1
-rw-r--r--pkgs/development/python-modules/feedgenerator/default.nix1
-rw-r--r--pkgs/development/python-modules/ffcv/default.nix1
-rw-r--r--pkgs/development/python-modules/fiblary3-fork/default.nix1
-rw-r--r--pkgs/development/python-modules/fields/default.nix1
-rw-r--r--pkgs/development/python-modules/file-read-backwards/default.nix1
-rw-r--r--pkgs/development/python-modules/filebytes/default.nix1
-rw-r--r--pkgs/development/python-modules/finalfusion/default.nix1
-rw-r--r--pkgs/development/python-modules/fingerprints/default.nix1
-rw-r--r--pkgs/development/python-modules/firetv/default.nix1
-rw-r--r--pkgs/development/python-modules/fixerio/default.nix1
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-future-import/default.nix1
-rw-r--r--pkgs/development/python-modules/flake8-polyfill/default.nix1
-rw-r--r--pkgs/development/python-modules/flametree/default.nix1
-rw-r--r--pkgs/development/python-modules/flashtext/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch45
-rw-r--r--pkgs/development/python-modules/flask-assets/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-basicauth/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-bcrypt/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-elastic/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-gravatar/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-mail/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-mailman/default.nix8
-rw-r--r--pkgs/development/python-modules/flask-openid/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-paranoid/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-principal/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-script/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch257
-rw-r--r--pkgs/development/python-modules/flask-seasurf/default.nix16
-rw-r--r--pkgs/development/python-modules/flask-swagger-ui/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-swagger/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-talisman/default.nix1
-rw-r--r--pkgs/development/python-modules/flask-themes2/default.nix28
-rw-r--r--pkgs/development/python-modules/flatbuffers/default.nix2
-rw-r--r--pkgs/development/python-modules/flatdict/default.nix1
-rw-r--r--pkgs/development/python-modules/fleep/default.nix1
-rw-r--r--pkgs/development/python-modules/fluent-logger/default.nix1
-rw-r--r--pkgs/development/python-modules/flynt/default.nix1
-rw-r--r--pkgs/development/python-modules/fn/default.nix1
-rw-r--r--pkgs/development/python-modules/fnvhash/default.nix1
-rw-r--r--pkgs/development/python-modules/font-v/default.nix54
-rw-r--r--pkgs/development/python-modules/fontawesomefree/default.nix4
-rw-r--r--pkgs/development/python-modules/fontbakery/default.nix147
-rw-r--r--pkgs/development/python-modules/fontbakery/tests.nix22
-rw-r--r--pkgs/development/python-modules/fontfeatures/default.nix51
-rw-r--r--pkgs/development/python-modules/fontmake/default.nix1
-rw-r--r--pkgs/development/python-modules/foobot-async/default.nix1
-rw-r--r--pkgs/development/python-modules/forbiddenfruit/default.nix1
-rw-r--r--pkgs/development/python-modules/fordpass/default.nix1
-rw-r--r--pkgs/development/python-modules/formencode/default.nix1
-rw-r--r--pkgs/development/python-modules/fpdf/default.nix1
-rw-r--r--pkgs/development/python-modules/fpdf2/default.nix67
-rw-r--r--pkgs/development/python-modules/fpylll/default.nix1
-rw-r--r--pkgs/development/python-modules/freetype-py/default.nix1
-rw-r--r--pkgs/development/python-modules/frida-python/default.nix1
-rw-r--r--pkgs/development/python-modules/frilouz/default.nix1
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix4
-rw-r--r--pkgs/development/python-modules/fs-s3fs/default.nix1
-rw-r--r--pkgs/development/python-modules/fs/default.nix1
-rw-r--r--pkgs/development/python-modules/fschat/default.nix4
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix1
-rw-r--r--pkgs/development/python-modules/func-timeout/default.nix1
-rw-r--r--pkgs/development/python-modules/funcsigs/default.nix1
-rw-r--r--pkgs/development/python-modules/funsor/default.nix1
-rw-r--r--pkgs/development/python-modules/furl/default.nix1
-rw-r--r--pkgs/development/python-modules/fuse-python/default.nix1
-rw-r--r--pkgs/development/python-modules/fusepy/default.nix1
-rw-r--r--pkgs/development/python-modules/future-fstrings/default.nix1
-rw-r--r--pkgs/development/python-modules/future-typing/default.nix1
-rw-r--r--pkgs/development/python-modules/fuzzyfinder/default.nix1
-rw-r--r--pkgs/development/python-modules/fuzzywuzzy/default.nix1
-rw-r--r--pkgs/development/python-modules/fvs/default.nix1
-rw-r--r--pkgs/development/python-modules/fx2/default.nix1
-rw-r--r--pkgs/development/python-modules/fypp/default.nix1
-rw-r--r--pkgs/development/python-modules/galois/default.nix4
-rw-r--r--pkgs/development/python-modules/garminconnect/default.nix6
-rw-r--r--pkgs/development/python-modules/gatt/default.nix1
-rw-r--r--pkgs/development/python-modules/gb-io/default.nix1
-rw-r--r--pkgs/development/python-modules/gbinder-python/default.nix1
-rw-r--r--pkgs/development/python-modules/gbulb/default.nix1
-rw-r--r--pkgs/development/python-modules/gdata/default.nix1
-rw-r--r--pkgs/development/python-modules/geeknote/default.nix1
-rw-r--r--pkgs/development/python-modules/gehomesdk/default.nix4
-rw-r--r--pkgs/development/python-modules/gemfileparser/default.nix1
-rw-r--r--pkgs/development/python-modules/genpy/default.nix1
-rw-r--r--pkgs/development/python-modules/genzshcomp/default.nix1
-rw-r--r--pkgs/development/python-modules/geographiclib/default.nix1
-rw-r--r--pkgs/development/python-modules/geoip/default.nix1
-rw-r--r--pkgs/development/python-modules/geometric/default.nix1
-rw-r--r--pkgs/development/python-modules/geopy/default.nix4
-rw-r--r--pkgs/development/python-modules/georss-generic-client/default.nix1
-rw-r--r--pkgs/development/python-modules/get-video-properties/default.nix1
-rw-r--r--pkgs/development/python-modules/getkey/default.nix1
-rw-r--r--pkgs/development/python-modules/gflanguages/default.nix49
-rw-r--r--pkgs/development/python-modules/ghdiff/default.nix1
-rw-r--r--pkgs/development/python-modules/gibberish-detector/default.nix1
-rw-r--r--pkgs/development/python-modules/gin-config/default.nix1
-rw-r--r--pkgs/development/python-modules/gistyc/default.nix1
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix1
-rw-r--r--pkgs/development/python-modules/git-revise/default.nix1
-rw-r--r--pkgs/development/python-modules/github-to-sqlite/default.nix1
-rw-r--r--pkgs/development/python-modules/github-webhook/default.nix1
-rw-r--r--pkgs/development/python-modules/githubkit/default.nix38
-rw-r--r--pkgs/development/python-modules/glad/default.nix1
-rw-r--r--pkgs/development/python-modules/glcontext/default.nix1
-rw-r--r--pkgs/development/python-modules/glean-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/glean-sdk/default.nix1
-rw-r--r--pkgs/development/python-modules/glfw/default.nix4
-rw-r--r--pkgs/development/python-modules/glfw/search-path.patch11
-rw-r--r--pkgs/development/python-modules/glob2/default.nix1
-rw-r--r--pkgs/development/python-modules/globre/default.nix1
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/glom/default.nix4
-rw-r--r--pkgs/development/python-modules/glueviz/default.nix1
-rw-r--r--pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch22
-rw-r--r--pkgs/development/python-modules/glyphsets/default.nix56
-rw-r--r--pkgs/development/python-modules/glyphslib/default.nix4
-rw-r--r--pkgs/development/python-modules/glyphtools/default.nix40
-rw-r--r--pkgs/development/python-modules/gmpy/default.nix1
-rw-r--r--pkgs/development/python-modules/gmpy2/default.nix1
-rw-r--r--pkgs/development/python-modules/gntp/default.nix1
-rw-r--r--pkgs/development/python-modules/gnureadline/default.nix1
-rw-r--r--pkgs/development/python-modules/gocardless-pro/default.nix6
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dataproc/default.nix6
-rw-r--r--pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix4
-rw-r--r--pkgs/development/python-modules/google-crc32c/default.nix1
-rw-r--r--pkgs/development/python-modules/google-pasta/default.nix1
-rw-r--r--pkgs/development/python-modules/googleapis-common-protos/default.nix1
-rw-r--r--pkgs/development/python-modules/googletrans/default.nix1
-rw-r--r--pkgs/development/python-modules/gorilla/default.nix1
-rw-r--r--pkgs/development/python-modules/govee-led-wez/default.nix55
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix1
-rw-r--r--pkgs/development/python-modules/gpaw/default.nix1
-rw-r--r--pkgs/development/python-modules/gps3/default.nix1
-rw-r--r--pkgs/development/python-modules/gpsoauth/default.nix1
-rw-r--r--pkgs/development/python-modules/gpt-2-simple/default.nix1
-rw-r--r--pkgs/development/python-modules/gptcache/default.nix4
-rw-r--r--pkgs/development/python-modules/gpxpy/default.nix1
-rw-r--r--pkgs/development/python-modules/grammalecte/default.nix1
-rw-r--r--pkgs/development/python-modules/graphql-server-core/default.nix1
-rw-r--r--pkgs/development/python-modules/graphqlclient/default.nix1
-rw-r--r--pkgs/development/python-modules/graphtage/default.nix1
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix1
-rw-r--r--pkgs/development/python-modules/graspologic/default.nix1
-rw-r--r--pkgs/development/python-modules/grequests/default.nix1
-rw-r--r--pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--pkgs/development/python-modules/grip/default.nix1
-rw-r--r--pkgs/development/python-modules/grpc-google-iam-v1/default.nix1
-rw-r--r--pkgs/development/python-modules/grpcio-channelz/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-gcp/default.nix1
-rw-r--r--pkgs/development/python-modules/grpcio-health-checking/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-reflection/default.nix4
-rw-r--r--pkgs/development/python-modules/grpclib/default.nix1
-rw-r--r--pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix1
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix1
-rw-r--r--pkgs/development/python-modules/gtts-token/default.nix1
-rw-r--r--pkgs/development/python-modules/gudhi/default.nix1
-rw-r--r--pkgs/development/python-modules/guestfs/default.nix1
-rw-r--r--pkgs/development/python-modules/guppy3/default.nix1
-rw-r--r--pkgs/development/python-modules/gym-notices/default.nix1
-rw-r--r--pkgs/development/python-modules/gym/default.nix1
-rw-r--r--pkgs/development/python-modules/gyp/default.nix1
-rw-r--r--pkgs/development/python-modules/h11/default.nix1
-rw-r--r--pkgs/development/python-modules/h3/default.nix1
-rw-r--r--pkgs/development/python-modules/habitipy/default.nix1
-rw-r--r--pkgs/development/python-modules/habluetooth/default.nix68
-rw-r--r--pkgs/development/python-modules/hacking/default.nix1
-rw-r--r--pkgs/development/python-modules/halo/default.nix1
-rw-r--r--pkgs/development/python-modules/handout/default.nix1
-rw-r--r--pkgs/development/python-modules/hawkauthlib/default.nix1
-rw-r--r--pkgs/development/python-modules/hcs_utils/default.nix1
-rw-r--r--pkgs/development/python-modules/hdbscan/default.nix1
-rw-r--r--pkgs/development/python-modules/hdfs/default.nix1
-rw-r--r--pkgs/development/python-modules/hdmedians/default.nix1
-rw-r--r--pkgs/development/python-modules/helpdev/default.nix1
-rw-r--r--pkgs/development/python-modules/helper/default.nix1
-rw-r--r--pkgs/development/python-modules/hetzner/default.nix1
-rw-r--r--pkgs/development/python-modules/hexdump/default.nix1
-rw-r--r--pkgs/development/python-modules/hfst/default.nix1
-rw-r--r--pkgs/development/python-modules/hg-evolve/default.nix1
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix4
-rw-r--r--pkgs/development/python-modules/hid/default.nix1
-rw-r--r--pkgs/development/python-modules/hidapi/default.nix1
-rw-r--r--pkgs/development/python-modules/hieroglyph/default.nix1
-rw-r--r--pkgs/development/python-modules/hikvision/default.nix1
-rw-r--r--pkgs/development/python-modules/hiro/default.nix1
-rw-r--r--pkgs/development/python-modules/hiyapyco/default.nix1
-rw-r--r--pkgs/development/python-modules/hjson/default.nix1
-rw-r--r--pkgs/development/python-modules/hkdf/default.nix1
-rw-r--r--pkgs/development/python-modules/hlk-sw16/default.nix1
-rw-r--r--pkgs/development/python-modules/hocr-tools/default.nix1
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--pkgs/development/python-modules/homepluscontrol/default.nix1
-rw-r--r--pkgs/development/python-modules/hopcroftkarp/default.nix1
-rw-r--r--pkgs/development/python-modules/hpack/default.nix1
-rw-r--r--pkgs/development/python-modules/hpccm/default.nix1
-rw-r--r--pkgs/development/python-modules/hs-dbus-signature/default.nix1
-rw-r--r--pkgs/development/python-modules/hsaudiotag3k/default.nix1
-rw-r--r--pkgs/development/python-modules/hsluv/default.nix1
-rw-r--r--pkgs/development/python-modules/html-text/default.nix1
-rw-r--r--pkgs/development/python-modules/html2image/default.nix45
-rw-r--r--pkgs/development/python-modules/html2text/default.nix1
-rw-r--r--pkgs/development/python-modules/html5lib/default.nix1
-rw-r--r--pkgs/development/python-modules/htmllaundry/default.nix1
-rw-r--r--pkgs/development/python-modules/htmlmin/default.nix1
-rw-r--r--pkgs/development/python-modules/htseq/default.nix1
-rw-r--r--pkgs/development/python-modules/httmock/default.nix1
-rw-r--r--pkgs/development/python-modules/httpauth/default.nix1
-rw-r--r--pkgs/development/python-modules/httpretty/default.nix1
-rw-r--r--pkgs/development/python-modules/httpserver/default.nix1
-rw-r--r--pkgs/development/python-modules/httpsig/default.nix1
-rw-r--r--pkgs/development/python-modules/hug/default.nix1
-rw-r--r--pkgs/development/python-modules/huisbaasje-client/default.nix1
-rw-r--r--pkgs/development/python-modules/human-readable/default.nix33
-rw-r--r--pkgs/development/python-modules/humanfriendly/default.nix1
-rw-r--r--pkgs/development/python-modules/humblewx/default.nix1
-rw-r--r--pkgs/development/python-modules/hupper/default.nix1
-rw-r--r--pkgs/development/python-modules/hvac/default.nix6
-rw-r--r--pkgs/development/python-modules/hydrawiser/default.nix1
-rw-r--r--pkgs/development/python-modules/hypchat/default.nix1
-rw-r--r--pkgs/development/python-modules/hyperframe/default.nix1
-rw-r--r--pkgs/development/python-modules/hyperlink/default.nix1
-rw-r--r--pkgs/development/python-modules/hyppo/default.nix1
-rw-r--r--pkgs/development/python-modules/i-pi/default.nix7
-rw-r--r--pkgs/development/python-modules/i2c-tools/default.nix2
-rw-r--r--pkgs/development/python-modules/i2csense/default.nix1
-rw-r--r--pkgs/development/python-modules/i3-py/default.nix1
-rw-r--r--pkgs/development/python-modules/i3ipc/default.nix1
-rw-r--r--pkgs/development/python-modules/iapws/default.nix1
-rw-r--r--pkgs/development/python-modules/icecream/default.nix1
-rw-r--r--pkgs/development/python-modules/icmplib/default.nix1
-rw-r--r--pkgs/development/python-modules/icoextract/default.nix1
-rw-r--r--pkgs/development/python-modules/icontract/default.nix4
-rw-r--r--pkgs/development/python-modules/ics/default.nix1
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/idna-ssl/default.nix1
-rw-r--r--pkgs/development/python-modules/ifaddr/default.nix1
-rw-r--r--pkgs/development/python-modules/ifconfig-parser/default.nix1
-rw-r--r--pkgs/development/python-modules/ignite/default.nix1
-rw-r--r--pkgs/development/python-modules/ihm/default.nix4
-rw-r--r--pkgs/development/python-modules/ijson/default.nix1
-rw-r--r--pkgs/development/python-modules/image-go-nord/default.nix1
-rw-r--r--pkgs/development/python-modules/imagecodecs-lite/default.nix1
-rw-r--r--pkgs/development/python-modules/imagecorruptions/default.nix1
-rw-r--r--pkgs/development/python-modules/imagehash/default.nix1
-rw-r--r--pkgs/development/python-modules/imagesize/default.nix1
-rw-r--r--pkgs/development/python-modules/imantics/default.nix1
-rw-r--r--pkgs/development/python-modules/imapclient/default.nix4
-rw-r--r--pkgs/development/python-modules/imaplib2/default.nix1
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix1
-rw-r--r--pkgs/development/python-modules/imgsize/default.nix1
-rw-r--r--pkgs/development/python-modules/importlab/default.nix1
-rw-r--r--pkgs/development/python-modules/importmagic/default.nix1
-rw-r--r--pkgs/development/python-modules/imutils/default.nix1
-rw-r--r--pkgs/development/python-modules/incremental/default.nix1
-rw-r--r--pkgs/development/python-modules/infinity/default.nix1
-rw-r--r--pkgs/development/python-modules/inflection/default.nix1
-rw-r--r--pkgs/development/python-modules/influxdb/default.nix1
-rw-r--r--pkgs/development/python-modules/inifile/default.nix1
-rw-r--r--pkgs/development/python-modules/iniparse/default.nix1
-rw-r--r--pkgs/development/python-modules/inotify-simple/default.nix1
-rw-r--r--pkgs/development/python-modules/inotify/default.nix1
-rw-r--r--pkgs/development/python-modules/inotifyrecursive/default.nix1
-rw-r--r--pkgs/development/python-modules/inquirer/default.nix4
-rw-r--r--pkgs/development/python-modules/insegel/default.nix1
-rw-r--r--pkgs/development/python-modules/intake-parquet/default.nix1
-rw-r--r--pkgs/development/python-modules/intelhex/default.nix1
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--pkgs/development/python-modules/interruptingcow/default.nix1
-rw-r--r--pkgs/development/python-modules/intervaltree/default.nix1
-rw-r--r--pkgs/development/python-modules/into-dbus-python/default.nix1
-rw-r--r--pkgs/development/python-modules/iocapture/default.nix1
-rw-r--r--pkgs/development/python-modules/iodata/default.nix1
-rw-r--r--pkgs/development/python-modules/ionhash/default.nix1
-rw-r--r--pkgs/development/python-modules/iowait/default.nix1
-rw-r--r--pkgs/development/python-modules/ipaddr/default.nix1
-rw-r--r--pkgs/development/python-modules/ipdbplugin/default.nix1
-rw-r--r--pkgs/development/python-modules/iptools/default.nix1
-rw-r--r--pkgs/development/python-modules/ipydatawidgets/default.nix1
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix10
-rw-r--r--pkgs/development/python-modules/ipykernel/tests.nix20
-rw-r--r--pkgs/development/python-modules/ipython-sql/default.nix1
-rw-r--r--pkgs/development/python-modules/ipyvue/default.nix1
-rw-r--r--pkgs/development/python-modules/ipyvuetify/default.nix1
-rw-r--r--pkgs/development/python-modules/ipyxact/default.nix1
-rw-r--r--pkgs/development/python-modules/ircrobots/default.nix1
-rw-r--r--pkgs/development/python-modules/ircstates/default.nix1
-rw-r--r--pkgs/development/python-modules/irctokens/default.nix1
-rw-r--r--pkgs/development/python-modules/islpy/default.nix1
-rw-r--r--pkgs/development/python-modules/iso-639/default.nix1
-rw-r--r--pkgs/development/python-modules/isodate/default.nix1
-rw-r--r--pkgs/development/python-modules/isosurfaces/default.nix1
-rw-r--r--pkgs/development/python-modules/isounidecode/default.nix1
-rw-r--r--pkgs/development/python-modules/isoweek/default.nix1
-rw-r--r--pkgs/development/python-modules/itemdb/default.nix1
-rw-r--r--pkgs/development/python-modules/iterm2/default.nix1
-rw-r--r--pkgs/development/python-modules/itsdangerous/default.nix1
-rw-r--r--pkgs/development/python-modules/itunespy/default.nix1
-rw-r--r--pkgs/development/python-modules/itypes/default.nix1
-rw-r--r--pkgs/development/python-modules/iwlib/default.nix1
-rw-r--r--pkgs/development/python-modules/j2cli/default.nix1
-rw-r--r--pkgs/development/python-modules/jaeger-client/default.nix1
-rw-r--r--pkgs/development/python-modules/janus/default.nix1
-rw-r--r--pkgs/development/python-modules/jaraco-stream/default.nix1
-rw-r--r--pkgs/development/python-modules/javaobj-py3/default.nix1
-rw-r--r--pkgs/development/python-modules/jax/default.nix4
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix46
-rw-r--r--pkgs/development/python-modules/jaxlib/default.nix14
-rw-r--r--pkgs/development/python-modules/jaydebeapi/default.nix1
-rw-r--r--pkgs/development/python-modules/jc/default.nix1
-rw-r--r--pkgs/development/python-modules/jdcal/default.nix1
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix1
-rw-r--r--pkgs/development/python-modules/jieba/default.nix1
-rw-r--r--pkgs/development/python-modules/jinja2-ansible-filters/default.nix1
-rw-r--r--pkgs/development/python-modules/jinja2-pluralize/default.nix1
-rw-r--r--pkgs/development/python-modules/jinja2-time/default.nix1
-rw-r--r--pkgs/development/python-modules/jmp/default.nix1
-rw-r--r--pkgs/development/python-modules/jplephem/default.nix5
-rw-r--r--pkgs/development/python-modules/jpylyzer/default.nix1
-rw-r--r--pkgs/development/python-modules/jpype1/default.nix1
-rw-r--r--pkgs/development/python-modules/js2py/default.nix1
-rw-r--r--pkgs/development/python-modules/jschema-to-python/default.nix1
-rw-r--r--pkgs/development/python-modules/json-home-client/default.nix1
-rw-r--r--pkgs/development/python-modules/json-merge-patch/default.nix1
-rw-r--r--pkgs/development/python-modules/json-rpc/default.nix1
-rw-r--r--pkgs/development/python-modules/json5/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonable/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonconversion/default.nix1
-rw-r--r--pkgs/development/python-modules/jsondate/default.nix1
-rw-r--r--pkgs/development/python-modules/jsondiff/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonfield/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonpickle/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonpointer/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonrpclib-pelix/default.nix1
-rw-r--r--pkgs/development/python-modules/jsonstreams/default.nix1
-rw-r--r--pkgs/development/python-modules/jstyleson/default.nix1
-rw-r--r--pkgs/development/python-modules/junit-xml/default.nix1
-rw-r--r--pkgs/development/python-modules/junitparser/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-c-kernel/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-contrib-core/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-lsp/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter-sphinx/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyter/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyterlab-lsp/default.nix1
-rw-r--r--pkgs/development/python-modules/jupyterlab-widgets/default.nix1
-rw-r--r--pkgs/development/python-modules/justbases/default.nix1
-rw-r--r--pkgs/development/python-modules/justbytes/default.nix1
-rw-r--r--pkgs/development/python-modules/jwt/default.nix1
-rw-r--r--pkgs/development/python-modules/jxmlease/default.nix1
-rw-r--r--pkgs/development/python-modules/k5test/default.nix1
-rw-r--r--pkgs/development/python-modules/kaa-base/default.nix1
-rw-r--r--pkgs/development/python-modules/kaa-metadata/default.nix1
-rw-r--r--pkgs/development/python-modules/kafka-python/default.nix1
-rw-r--r--pkgs/development/python-modules/kaggle/default.nix1
-rw-r--r--pkgs/development/python-modules/kaitaistruct/default.nix1
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/default.nix1
-rw-r--r--pkgs/development/python-modules/kazoo/default.nix1
-rw-r--r--pkgs/development/python-modules/kconfiglib/default.nix1
-rw-r--r--pkgs/development/python-modules/keep/default.nix1
-rw-r--r--pkgs/development/python-modules/keepkey/default.nix1
-rw-r--r--pkgs/development/python-modules/keepkey_agent/default.nix1
-rw-r--r--pkgs/development/python-modules/kerberos/default.nix1
-rw-r--r--pkgs/development/python-modules/keyboard/default.nix1
-rw-r--r--pkgs/development/python-modules/keyring/default.nix17
-rw-r--r--pkgs/development/python-modules/keystone-engine/default.nix1
-rw-r--r--pkgs/development/python-modules/keystoneauth1/default.nix1
-rw-r--r--pkgs/development/python-modules/keyutils/default.nix1
-rw-r--r--pkgs/development/python-modules/kinparse/default.nix1
-rw-r--r--pkgs/development/python-modules/klaus/default.nix1
-rw-r--r--pkgs/development/python-modules/kmapper/default.nix1
-rw-r--r--pkgs/development/python-modules/konnected/default.nix1
-rw-r--r--pkgs/development/python-modules/korean-lunar-calendar/default.nix1
-rw-r--r--pkgs/development/python-modules/krakenex/default.nix1
-rw-r--r--pkgs/development/python-modules/kurbopy/default.nix54
-rw-r--r--pkgs/development/python-modules/l18n/default.nix1
-rw-r--r--pkgs/development/python-modules/labgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/langdetect/default.nix1
-rw-r--r--pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--pkgs/development/python-modules/language-tags/default.nix1
-rw-r--r--pkgs/development/python-modules/latexcodec/default.nix1
-rw-r--r--pkgs/development/python-modules/latexify-py/default.nix4
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix1
-rw-r--r--pkgs/development/python-modules/lazy/default.nix1
-rw-r--r--pkgs/development/python-modules/lazy_import/default.nix1
-rw-r--r--pkgs/development/python-modules/lcd-i2c/default.nix34
-rw-r--r--pkgs/development/python-modules/lcov_cobertura/default.nix1
-rw-r--r--pkgs/development/python-modules/ldap3/default.nix1
-rw-r--r--pkgs/development/python-modules/ldappool/default.nix1
-rw-r--r--pkgs/development/python-modules/ldaptor/default.nix1
-rw-r--r--pkgs/development/python-modules/leather/default.nix1
-rw-r--r--pkgs/development/python-modules/leb128/default.nix1
-rw-r--r--pkgs/development/python-modules/ledger_agent/default.nix1
-rw-r--r--pkgs/development/python-modules/leveldb/default.nix1
-rw-r--r--pkgs/development/python-modules/lexid/default.nix1
-rw-r--r--pkgs/development/python-modules/libagent/default.nix1
-rw-r--r--pkgs/development/python-modules/libevdev/default.nix1
-rw-r--r--pkgs/development/python-modules/libgpuarray/default.nix1
-rw-r--r--pkgs/development/python-modules/libkeepass/default.nix1
-rw-r--r--pkgs/development/python-modules/liblarch/default.nix1
-rw-r--r--pkgs/development/python-modules/libmr/default.nix1
-rw-r--r--pkgs/development/python-modules/libpurecool/default.nix1
-rw-r--r--pkgs/development/python-modules/libsass/default.nix1
-rw-r--r--pkgs/development/python-modules/libsixel/default.nix1
-rw-r--r--pkgs/development/python-modules/libsoundtouch/default.nix1
-rw-r--r--pkgs/development/python-modules/libusb1/default.nix1
-rw-r--r--pkgs/development/python-modules/libusbsio/default.nix1
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix1
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix8
-rw-r--r--pkgs/development/python-modules/lightparam/default.nix1
-rw-r--r--pkgs/development/python-modules/lima/default.nix1
-rw-r--r--pkgs/development/python-modules/limitlessled/default.nix1
-rw-r--r--pkgs/development/python-modules/linecache2/default.nix1
-rw-r--r--pkgs/development/python-modules/lineedit/default.nix1
-rw-r--r--pkgs/development/python-modules/linien-client/default.nix41
-rw-r--r--pkgs/development/python-modules/linien-common/default.nix53
-rw-r--r--pkgs/development/python-modules/linien-common/tests.nix26
-rw-r--r--pkgs/development/python-modules/linode-api/default.nix1
-rw-r--r--pkgs/development/python-modules/linode/default.nix1
-rw-r--r--pkgs/development/python-modules/linuxfd/default.nix1
-rw-r--r--pkgs/development/python-modules/lit/default.nix1
-rw-r--r--pkgs/development/python-modules/litellm/default.nix19
-rw-r--r--pkgs/development/python-modules/livelossplot/default.nix1
-rw-r--r--pkgs/development/python-modules/livereload/default.nix1
-rw-r--r--pkgs/development/python-modules/livestreamer-curses/default.nix28
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix38
-rw-r--r--pkgs/development/python-modules/lizard/default.nix1
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix1
-rw-r--r--pkgs/development/python-modules/lml/default.nix1
-rw-r--r--pkgs/development/python-modules/lmtpd/default.nix1
-rw-r--r--pkgs/development/python-modules/localimport/default.nix1
-rw-r--r--pkgs/development/python-modules/localstack-client/default.nix1
-rw-r--r--pkgs/development/python-modules/localstack-ext/default.nix1
-rw-r--r--pkgs/development/python-modules/localstack/default.nix1
-rw-r--r--pkgs/development/python-modules/localzone/default.nix1
-rw-r--r--pkgs/development/python-modules/lockfile/default.nix1
-rw-r--r--pkgs/development/python-modules/logical-unification/default.nix1
-rw-r--r--pkgs/development/python-modules/logster/default.nix1
-rw-r--r--pkgs/development/python-modules/logzero/default.nix1
-rw-r--r--pkgs/development/python-modules/lomond/default.nix1
-rw-r--r--pkgs/development/python-modules/lrcalc-python/default.nix1
-rw-r--r--pkgs/development/python-modules/luddite/default.nix15
-rw-r--r--pkgs/development/python-modules/luhn/default.nix1
-rw-r--r--pkgs/development/python-modules/luqum/default.nix45
-rw-r--r--pkgs/development/python-modules/lxml/default.nix1
-rw-r--r--pkgs/development/python-modules/lzstring/default.nix1
-rw-r--r--pkgs/development/python-modules/m2r/default.nix1
-rw-r--r--pkgs/development/python-modules/macropy/default.nix1
-rw-r--r--pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix1
-rw-r--r--pkgs/development/python-modules/mahotas/default.nix1
-rw-r--r--pkgs/development/python-modules/mail-parser/default.nix1
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix11
-rw-r--r--pkgs/development/python-modules/mailchimp/default.nix1
-rw-r--r--pkgs/development/python-modules/maison/default.nix4
-rw-r--r--pkgs/development/python-modules/makefun/default.nix1
-rw-r--r--pkgs/development/python-modules/mako/default.nix1
-rw-r--r--pkgs/development/python-modules/managesieve/default.nix1
-rw-r--r--pkgs/development/python-modules/manhole/default.nix1
-rw-r--r--pkgs/development/python-modules/manuel/default.nix5
-rw-r--r--pkgs/development/python-modules/mapbox/default.nix1
-rw-r--r--pkgs/development/python-modules/mariadb/default.nix1
-rw-r--r--pkgs/development/python-modules/marisa/default.nix1
-rw-r--r--pkgs/development/python-modules/markdown-macros/default.nix1
-rw-r--r--pkgs/development/python-modules/markdown2/default.nix1
-rw-r--r--pkgs/development/python-modules/markdownify/default.nix1
-rw-r--r--pkgs/development/python-modules/markuppy/default.nix1
-rw-r--r--pkgs/development/python-modules/marshmallow-enum/default.nix1
-rw-r--r--pkgs/development/python-modules/marshmallow-polyfield/default.nix1
-rw-r--r--pkgs/development/python-modules/matchpy/default.nix1
-rw-r--r--pkgs/development/python-modules/matlink-gpapi/default.nix1
-rw-r--r--pkgs/development/python-modules/matplotlib-inline/default.nix1
-rw-r--r--pkgs/development/python-modules/matplotlib-sixel/default.nix1
-rw-r--r--pkgs/development/python-modules/matrix-client/default.nix1
-rw-r--r--pkgs/development/python-modules/mattermostdriver/default.nix1
-rw-r--r--pkgs/development/python-modules/mccabe/default.nix1
-rw-r--r--pkgs/development/python-modules/md2gemini/default.nix1
-rw-r--r--pkgs/development/python-modules/mdutils/default.nix1
-rw-r--r--pkgs/development/python-modules/mediafire-dl/default.nix37
-rw-r--r--pkgs/development/python-modules/meep/default.nix4
-rw-r--r--pkgs/development/python-modules/meinheld/default.nix1
-rw-r--r--pkgs/development/python-modules/meld3/default.nix1
-rw-r--r--pkgs/development/python-modules/memestra/default.nix1
-rw-r--r--pkgs/development/python-modules/memory-allocator/default.nix1
-rw-r--r--pkgs/development/python-modules/memory-profiler/default.nix1
-rw-r--r--pkgs/development/python-modules/mercantile/default.nix1
-rw-r--r--pkgs/development/python-modules/mergedeep/default.nix1
-rw-r--r--pkgs/development/python-modules/mergedict/default.nix1
-rw-r--r--pkgs/development/python-modules/meshcat/default.nix1
-rw-r--r--pkgs/development/python-modules/meteoalertapi/default.nix1
-rw-r--r--pkgs/development/python-modules/mf2py/default.nix1
-rw-r--r--pkgs/development/python-modules/micloud/default.nix1
-rw-r--r--pkgs/development/python-modules/microdata/default.nix1
-rw-r--r--pkgs/development/python-modules/migen/default.nix1
-rw-r--r--pkgs/development/python-modules/milc/default.nix1
-rw-r--r--pkgs/development/python-modules/milksnake/default.nix1
-rw-r--r--pkgs/development/python-modules/millheater/default.nix4
-rw-r--r--pkgs/development/python-modules/minexr/default.nix1
-rw-r--r--pkgs/development/python-modules/minikanren/default.nix1
-rw-r--r--pkgs/development/python-modules/miniupnpc/default.nix1
-rw-r--r--pkgs/development/python-modules/misaka/default.nix1
-rw-r--r--pkgs/development/python-modules/misoc/default.nix1
-rw-r--r--pkgs/development/python-modules/mixins/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-drawio-exporter/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-exclude/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-git-authors-plugin/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-gitlab-plugin/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-linkcheck/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-minify/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-redirects/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-simple-hooks/default.nix1
-rw-r--r--pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocstrings/default.nix20
-rw-r--r--pkgs/development/python-modules/mkl-service/default.nix1
-rw-r--r--pkgs/development/python-modules/ml-collections/default.nix1
-rw-r--r--pkgs/development/python-modules/mlrose/default.nix1
-rw-r--r--pkgs/development/python-modules/mlxtend/default.nix1
-rw-r--r--pkgs/development/python-modules/mmpython/default.nix1
-rw-r--r--pkgs/development/python-modules/mnemonic/default.nix1
-rw-r--r--pkgs/development/python-modules/mnist/default.nix1
-rw-r--r--pkgs/development/python-modules/mock-open/default.nix1
-rw-r--r--pkgs/development/python-modules/mock-services/default.nix1
-rw-r--r--pkgs/development/python-modules/mockito/default.nix1
-rw-r--r--pkgs/development/python-modules/modeled/default.nix1
-rw-r--r--pkgs/development/python-modules/moderngl/default.nix4
-rw-r--r--pkgs/development/python-modules/mohawk/default.nix1
-rw-r--r--pkgs/development/python-modules/monai/default.nix1
-rw-r--r--pkgs/development/python-modules/monero/default.nix1
-rw-r--r--pkgs/development/python-modules/mongodict/default.nix1
-rw-r--r--pkgs/development/python-modules/mongoengine/default.nix1
-rw-r--r--pkgs/development/python-modules/mongoquery/default.nix1
-rw-r--r--pkgs/development/python-modules/monkeyhex/default.nix1
-rw-r--r--pkgs/development/python-modules/monotonic/default.nix1
-rw-r--r--pkgs/development/python-modules/moretools/default.nix1
-rw-r--r--pkgs/development/python-modules/morphys/default.nix1
-rw-r--r--pkgs/development/python-modules/mortgage/default.nix1
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix1
-rw-r--r--pkgs/development/python-modules/mox3/default.nix1
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix1
-rw-r--r--pkgs/development/python-modules/mpl-scatter-density/default.nix1
-rw-r--r--pkgs/development/python-modules/mpldatacursor/default.nix1
-rw-r--r--pkgs/development/python-modules/mplfinance/default.nix1
-rw-r--r--pkgs/development/python-modules/mplleaflet/default.nix1
-rw-r--r--pkgs/development/python-modules/mpyq/default.nix1
-rw-r--r--pkgs/development/python-modules/mqtt2influxdb/default.nix1
-rw-r--r--pkgs/development/python-modules/ms-cv/default.nix1
-rw-r--r--pkgs/development/python-modules/msal-extensions/default.nix1
-rw-r--r--pkgs/development/python-modules/msgpack-numpy/default.nix1
-rw-r--r--pkgs/development/python-modules/msrestazure/default.nix1
-rw-r--r--pkgs/development/python-modules/mujoco/default.nix70
-rw-r--r--pkgs/development/python-modules/mujson/default.nix1
-rw-r--r--pkgs/development/python-modules/mullvad-api/default.nix1
-rw-r--r--pkgs/development/python-modules/mulpyplexer/default.nix1
-rw-r--r--pkgs/development/python-modules/multipledispatch/default.nix1
-rw-r--r--pkgs/development/python-modules/multitasking/default.nix1
-rw-r--r--pkgs/development/python-modules/munch/default.nix1
-rw-r--r--pkgs/development/python-modules/munkres/default.nix1
-rw-r--r--pkgs/development/python-modules/musicbrainzngs/default.nix1
-rw-r--r--pkgs/development/python-modules/mutag/default.nix1
-rw-r--r--pkgs/development/python-modules/mutesync/default.nix1
-rw-r--r--pkgs/development/python-modules/mwcli/default.nix1
-rw-r--r--pkgs/development/python-modules/mwtypes/default.nix1
-rw-r--r--pkgs/development/python-modules/mwxml/default.nix1
-rw-r--r--pkgs/development/python-modules/mxnet/default.nix2
-rw-r--r--pkgs/development/python-modules/myhdl/default.nix1
-rw-r--r--pkgs/development/python-modules/mypy-boto3/default.nix708
-rw-r--r--pkgs/development/python-modules/mypy-boto3/update.sh384
-rw-r--r--pkgs/development/python-modules/mysqlclient/default.nix1
-rw-r--r--pkgs/development/python-modules/nad-receiver/default.nix1
-rw-r--r--pkgs/development/python-modules/names/default.nix1
-rw-r--r--pkgs/development/python-modules/nampa/default.nix1
-rw-r--r--pkgs/development/python-modules/nanoleaf/default.nix1
-rw-r--r--pkgs/development/python-modules/nanomsg-python/default.nix1
-rw-r--r--pkgs/development/python-modules/nanotime/default.nix1
-rw-r--r--pkgs/development/python-modules/naturalsort/default.nix1
-rw-r--r--pkgs/development/python-modules/nbconflux/default.nix1
-rw-r--r--pkgs/development/python-modules/nbsmoke/default.nix1
-rw-r--r--pkgs/development/python-modules/nc-dnsapi/default.nix1
-rw-r--r--pkgs/development/python-modules/ndg-httpsclient/default.nix1
-rw-r--r--pkgs/development/python-modules/ndtypes/default.nix1
-rw-r--r--pkgs/development/python-modules/nengo/default.nix1
-rw-r--r--pkgs/development/python-modules/nested-lookup/default.nix1
-rw-r--r--pkgs/development/python-modules/netaddr/default.nix1
-rw-r--r--pkgs/development/python-modules/netapp-ontap/default.nix4
-rw-r--r--pkgs/development/python-modules/netdisco/default.nix1
-rw-r--r--pkgs/development/python-modules/nethsm/default.nix51
-rw-r--r--pkgs/development/python-modules/netmap/default.nix1
-rw-r--r--pkgs/development/python-modules/netmiko/default.nix1
-rw-r--r--pkgs/development/python-modules/networkx/default.nix1
-rw-r--r--pkgs/development/python-modules/nidaqmx/default.nix1
-rw-r--r--pkgs/development/python-modules/nimfa/default.nix1
-rw-r--r--pkgs/development/python-modules/nine/default.nix1
-rw-r--r--pkgs/development/python-modules/nipy/default.nix1
-rw-r--r--pkgs/development/python-modules/nitransforms/default.nix1
-rw-r--r--pkgs/development/python-modules/nix-kernel/default.nix1
-rw-r--r--pkgs/development/python-modules/nix-prefetch-github/default.nix1
-rw-r--r--pkgs/development/python-modules/nixpkgs-pytools/default.nix1
-rw-r--r--pkgs/development/python-modules/nixpkgs/default.nix1
-rw-r--r--pkgs/development/python-modules/nocasedict/default.nix1
-rw-r--r--pkgs/development/python-modules/nodepy-runtime/default.nix1
-rw-r--r--pkgs/development/python-modules/noise/default.nix1
-rw-r--r--pkgs/development/python-modules/noiseprotocol/default.nix1
-rw-r--r--pkgs/development/python-modules/normality/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-cov/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-cprof/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-exclude/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-pattern-exclude/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-randomly/default.nix1
-rw-r--r--pkgs/development/python-modules/nose-timer/default.nix1
-rw-r--r--pkgs/development/python-modules/nose/default.nix1
-rw-r--r--pkgs/development/python-modules/nose3/default.nix1
-rw-r--r--pkgs/development/python-modules/nose_warnings_filters/default.nix1
-rw-r--r--pkgs/development/python-modules/nosexcover/default.nix1
-rw-r--r--pkgs/development/python-modules/notedown/default.nix1
-rw-r--r--pkgs/development/python-modules/notify2/default.nix1
-rw-r--r--pkgs/development/python-modules/notion-client/default.nix1
-rw-r--r--pkgs/development/python-modules/notmuch/default.nix2
-rw-r--r--pkgs/development/python-modules/notmuch2/default.nix1
-rw-r--r--pkgs/development/python-modules/nplusone/default.nix1
-rw-r--r--pkgs/development/python-modules/npyscreen/default.nix1
-rw-r--r--pkgs/development/python-modules/nsapi/default.nix1
-rw-r--r--pkgs/development/python-modules/ntplib/default.nix1
-rw-r--r--pkgs/development/python-modules/num2words/default.nix1
-rw-r--r--pkgs/development/python-modules/numericalunits/default.nix1
-rw-r--r--pkgs/development/python-modules/numpy-stl/default.nix5
-rw-r--r--pkgs/development/python-modules/oauth/default.nix1
-rw-r--r--pkgs/development/python-modules/oauth2/default.nix1
-rw-r--r--pkgs/development/python-modules/oauth2client/default.nix1
-rw-r--r--pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--pkgs/development/python-modules/obfsproxy/default.nix1
-rw-r--r--pkgs/development/python-modules/objax/default.nix1
-rw-r--r--pkgs/development/python-modules/obspy/default.nix1
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/odfpy/default.nix1
-rw-r--r--pkgs/development/python-modules/oelint-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/offtrac/default.nix1
-rw-r--r--pkgs/development/python-modules/ofxclient/default.nix1
-rw-r--r--pkgs/development/python-modules/ofxhome/default.nix1
-rw-r--r--pkgs/development/python-modules/ofxparse/default.nix1
-rw-r--r--pkgs/development/python-modules/ofxtools/default.nix1
-rw-r--r--pkgs/development/python-modules/okonomiyaki/default.nix1
-rw-r--r--pkgs/development/python-modules/ome-zarr/default.nix1
-rw-r--r--pkgs/development/python-modules/omorfi/default.nix1
-rw-r--r--pkgs/development/python-modules/omrdatasettools/default.nix1
-rw-r--r--pkgs/development/python-modules/onetimepass/default.nix1
-rw-r--r--pkgs/development/python-modules/onkyo-eiscp/default.nix1
-rw-r--r--pkgs/development/python-modules/online-judge-api-client/default.nix1
-rw-r--r--pkgs/development/python-modules/online-judge-tools/default.nix1
-rw-r--r--pkgs/development/python-modules/opcua-widgets/default.nix1
-rw-r--r--pkgs/development/python-modules/open-clip-torch/default.nix86
-rw-r--r--pkgs/development/python-modules/openai/default.nix74
-rw-r--r--pkgs/development/python-modules/opencensus-context/default.nix1
-rw-r--r--pkgs/development/python-modules/opencensus-ext-azure/default.nix4
-rw-r--r--pkgs/development/python-modules/opencensus/default.nix1
-rw-r--r--pkgs/development/python-modules/openidc-client/default.nix1
-rw-r--r--pkgs/development/python-modules/openrouteservice/default.nix1
-rw-r--r--pkgs/development/python-modules/openshift/default.nix1
-rw-r--r--pkgs/development/python-modules/opensimplex/default.nix1
-rw-r--r--pkgs/development/python-modules/openstackdocstheme/default.nix1
-rw-r--r--pkgs/development/python-modules/openstep-plist/default.nix1
-rw-r--r--pkgs/development/python-modules/opentsne/default.nix32
-rw-r--r--pkgs/development/python-modules/opentypespec/default.nix30
-rw-r--r--pkgs/development/python-modules/openwebifpy/default.nix1
-rw-r--r--pkgs/development/python-modules/openwrt-luci-rpc/default.nix1
-rw-r--r--pkgs/development/python-modules/openwrt-ubus-rpc/default.nix1
-rw-r--r--pkgs/development/python-modules/opower/default.nix4
-rw-r--r--pkgs/development/python-modules/opuslib/default.nix1
-rw-r--r--pkgs/development/python-modules/orange-canvas-core/default.nix1
-rw-r--r--pkgs/development/python-modules/orange-widget-base/default.nix1
-rw-r--r--pkgs/development/python-modules/orange3/default.nix1
-rw-r--r--pkgs/development/python-modules/orderedmultidict/default.nix1
-rw-r--r--pkgs/development/python-modules/orderedset/default.nix1
-rw-r--r--pkgs/development/python-modules/orvibo/default.nix1
-rw-r--r--pkgs/development/python-modules/os-service-types/default.nix1
-rw-r--r--pkgs/development/python-modules/osc-lib/default.nix1
-rw-r--r--pkgs/development/python-modules/osc/default.nix1
-rw-r--r--pkgs/development/python-modules/oscpy/default.nix1
-rw-r--r--pkgs/development/python-modules/oset/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-concurrency/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-config/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-db/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-i18n/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-serialization/default.nix1
-rw-r--r--pkgs/development/python-modules/oslo-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/osmpythontools/default.nix1
-rw-r--r--pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch34
-rw-r--r--pkgs/development/python-modules/ots-python/default.nix49
-rw-r--r--pkgs/development/python-modules/outcome/default.nix1
-rw-r--r--pkgs/development/python-modules/ovmfvartool/default.nix1
-rw-r--r--pkgs/development/python-modules/pa-ringbuffer/default.nix1
-rw-r--r--pkgs/development/python-modules/packbits/default.nix1
-rw-r--r--pkgs/development/python-modules/pad4pi/default.nix1
-rw-r--r--pkgs/development/python-modules/pagelabels/default.nix1
-rw-r--r--pkgs/development/python-modules/paho-mqtt/default.nix1
-rw-r--r--pkgs/development/python-modules/palace/default.nix1
-rw-r--r--pkgs/development/python-modules/pallets-sphinx-themes/default.nix1
-rw-r--r--pkgs/development/python-modules/pamela/default.nix1
-rw-r--r--pkgs/development/python-modules/pandas-datareader/default.nix1
-rw-r--r--pkgs/development/python-modules/pandoc-attributes/default.nix1
-rw-r--r--pkgs/development/python-modules/pandocfilters/default.nix1
-rw-r--r--pkgs/development/python-modules/papis-python-rofi/default.nix1
-rw-r--r--pkgs/development/python-modules/para/default.nix1
-rw-r--r--pkgs/development/python-modules/paramz/default.nix1
-rw-r--r--pkgs/development/python-modules/parquet/default.nix1
-rw-r--r--pkgs/development/python-modules/parse-type/default.nix1
-rw-r--r--pkgs/development/python-modules/parsedatetime/default.nix1
-rw-r--r--pkgs/development/python-modules/parso/default.nix1
-rw-r--r--pkgs/development/python-modules/partd/default.nix1
-rw-r--r--pkgs/development/python-modules/particle/default.nix4
-rw-r--r--pkgs/development/python-modules/pastel/default.nix1
-rw-r--r--pkgs/development/python-modules/patch-ng/default.nix1
-rw-r--r--pkgs/development/python-modules/patch/default.nix1
-rw-r--r--pkgs/development/python-modules/path-and-address/default.nix1
-rw-r--r--pkgs/development/python-modules/pathlib/default.nix1
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix1
-rw-r--r--pkgs/development/python-modules/pathtools/default.nix1
-rw-r--r--pkgs/development/python-modules/patrowl4py/default.nix1
-rw-r--r--pkgs/development/python-modules/patsy/default.nix1
-rw-r--r--pkgs/development/python-modules/pbkdf2/default.nix1
-rw-r--r--pkgs/development/python-modules/pbr/default.nix1
-rw-r--r--pkgs/development/python-modules/pc-ble-driver-py/default.nix1
-rw-r--r--pkgs/development/python-modules/pcpp/default.nix1
-rw-r--r--pkgs/development/python-modules/pdfkit/default.nix1
-rw-r--r--pkgs/development/python-modules/pdfrw/default.nix1
-rw-r--r--pkgs/development/python-modules/pdftotext/default.nix1
-rw-r--r--pkgs/development/python-modules/pdfx/default.nix1
-rw-r--r--pkgs/development/python-modules/pdoc3/default.nix1
-rw-r--r--pkgs/development/python-modules/pdunehd/default.nix1
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pelican/default.nix1
-rw-r--r--pkgs/development/python-modules/pep8/default.nix1
-rw-r--r--pkgs/development/python-modules/peppercorn/default.nix1
-rw-r--r--pkgs/development/python-modules/percol/default.nix1
-rw-r--r--pkgs/development/python-modules/permissionedforms/default.nix1
-rw-r--r--pkgs/development/python-modules/persist-queue/default.nix1
-rw-r--r--pkgs/development/python-modules/persisting-theory/default.nix1
-rw-r--r--pkgs/development/python-modules/pexif/default.nix1
-rw-r--r--pkgs/development/python-modules/pexpect/default.nix1
-rw-r--r--pkgs/development/python-modules/pgcli/default.nix1
-rw-r--r--pkgs/development/python-modules/pgpdump/default.nix1
-rw-r--r--pkgs/development/python-modules/pgsanity/default.nix1
-rw-r--r--pkgs/development/python-modules/pgspecial/default.nix1
-rw-r--r--pkgs/development/python-modules/phe/default.nix1
-rw-r--r--pkgs/development/python-modules/phone-modem/default.nix1
-rw-r--r--pkgs/development/python-modules/phpserialize/default.nix1
-rw-r--r--pkgs/development/python-modules/piccata/default.nix1
-rw-r--r--pkgs/development/python-modules/piccolo-theme/default.nix5
-rw-r--r--pkgs/development/python-modules/pickleshare/default.nix1
-rw-r--r--pkgs/development/python-modules/picobox/default.nix11
-rw-r--r--pkgs/development/python-modules/picos/default.nix1
-rw-r--r--pkgs/development/python-modules/picosvg/default.nix1
-rw-r--r--pkgs/development/python-modules/pid/default.nix1
-rw-r--r--pkgs/development/python-modules/piep/default.nix1
-rw-r--r--pkgs/development/python-modules/piexif/default.nix1
-rw-r--r--pkgs/development/python-modules/pijuice/default.nix1
-rw-r--r--pkgs/development/python-modules/pika-pool/default.nix1
-rw-r--r--pkgs/development/python-modules/pillowfight/default.nix1
-rw-r--r--pkgs/development/python-modules/pinboard/default.nix1
-rw-r--r--pkgs/development/python-modules/pinecone-client/default.nix1
-rw-r--r--pkgs/development/python-modules/pivy/default.nix1
-rw-r--r--pkgs/development/python-modules/pixcat/default.nix1
-rw-r--r--pkgs/development/python-modules/pixel-font-builder/default.nix54
-rw-r--r--pkgs/development/python-modules/pkce/default.nix1
-rw-r--r--pkgs/development/python-modules/pkginfo2/default.nix1
-rw-r--r--pkgs/development/python-modules/pkuseg/default.nix1
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/plantuml/default.nix1
-rw-r--r--pkgs/development/python-modules/plaster-pastedeploy/default.nix1
-rw-r--r--pkgs/development/python-modules/plaster/default.nix1
-rw-r--r--pkgs/development/python-modules/playsound/default.nix1
-rw-r--r--pkgs/development/python-modules/playwright/default.nix6
-rw-r--r--pkgs/development/python-modules/plexauth/default.nix1
-rw-r--r--pkgs/development/python-modules/plone-testing/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix1
-rw-r--r--pkgs/development/python-modules/pluginbase/default.nix1
-rw-r--r--pkgs/development/python-modules/plugnplay/default.nix1
-rw-r--r--pkgs/development/python-modules/ply/default.nix1
-rw-r--r--pkgs/development/python-modules/plyer/default.nix1
-rw-r--r--pkgs/development/python-modules/plyfile/default.nix1
-rw-r--r--pkgs/development/python-modules/plyvel/default.nix1
-rw-r--r--pkgs/development/python-modules/pmsensor/default.nix1
-rw-r--r--pkgs/development/python-modules/pmw/default.nix1
-rw-r--r--pkgs/development/python-modules/pnglatex/default.nix1
-rw-r--r--pkgs/development/python-modules/pocket/default.nix1
-rw-r--r--pkgs/development/python-modules/podcats/default.nix1
-rw-r--r--pkgs/development/python-modules/podman/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry-semver/default.nix1
-rw-r--r--pkgs/development/python-modules/polarizationsolver/default.nix1
-rw-r--r--pkgs/development/python-modules/polib/default.nix1
-rw-r--r--pkgs/development/python-modules/policyuniverse/default.nix4
-rw-r--r--pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch26
-rw-r--r--pkgs/development/python-modules/ponywhoosh/default.nix1
-rw-r--r--pkgs/development/python-modules/pook/default.nix1
-rw-r--r--pkgs/development/python-modules/poolsense/default.nix1
-rw-r--r--pkgs/development/python-modules/posthog/default.nix4
-rw-r--r--pkgs/development/python-modules/power/default.nix1
-rw-r--r--pkgs/development/python-modules/powerline-mem-segment/default.nix1
-rw-r--r--pkgs/development/python-modules/powerline/default.nix1
-rw-r--r--pkgs/development/python-modules/poyo/default.nix1
-rw-r--r--pkgs/development/python-modules/ppdeep/default.nix1
-rw-r--r--pkgs/development/python-modules/pplpy/default.nix1
-rw-r--r--pkgs/development/python-modules/pproxy/default.nix1
-rw-r--r--pkgs/development/python-modules/pq/default.nix1
-rw-r--r--pkgs/development/python-modules/preggy/default.nix1
-rw-r--r--pkgs/development/python-modules/premailer/default.nix1
-rw-r--r--pkgs/development/python-modules/primecountpy/default.nix1
-rw-r--r--pkgs/development/python-modules/prison/default.nix1
-rw-r--r--pkgs/development/python-modules/proboscis/default.nix1
-rw-r--r--pkgs/development/python-modules/process-tests/default.nix1
-rw-r--r--pkgs/development/python-modules/prodict/default.nix1
-rw-r--r--pkgs/development/python-modules/proglog/default.nix1
-rw-r--r--pkgs/development/python-modules/progress/default.nix1
-rw-r--r--pkgs/development/python-modules/progressbar/default.nix1
-rw-r--r--pkgs/development/python-modules/progressbar33/default.nix1
-rw-r--r--pkgs/development/python-modules/prometheus-flask-exporter/default.nix1
-rw-r--r--pkgs/development/python-modules/property-manager/default.nix1
-rw-r--r--pkgs/development/python-modules/protego/default.nix1
-rw-r--r--pkgs/development/python-modules/proto-plus/default.nix1
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix1
-rw-r--r--pkgs/development/python-modules/protobuf3-to-dict/default.nix1
-rw-r--r--pkgs/development/python-modules/proton-client/default.nix1
-rw-r--r--pkgs/development/python-modules/proton-core/default.nix76
-rw-r--r--pkgs/development/python-modules/proton-keyring-linux-secretservice/default.nix46
-rw-r--r--pkgs/development/python-modules/proton-keyring-linux/default.nix48
-rw-r--r--pkgs/development/python-modules/proton-vpn-api-core/default.nix66
-rw-r--r--pkgs/development/python-modules/proton-vpn-connection/default.nix71
-rw-r--r--pkgs/development/python-modules/proton-vpn-killswitch-network-manager/default.nix58
-rw-r--r--pkgs/development/python-modules/proton-vpn-killswitch/default.nix46
-rw-r--r--pkgs/development/python-modules/proton-vpn-logger/default.nix51
-rw-r--r--pkgs/development/python-modules/proton-vpn-network-manager-openvpn/default.nix51
-rw-r--r--pkgs/development/python-modules/proton-vpn-network-manager/default.nix58
-rw-r--r--pkgs/development/python-modules/proton-vpn-session/default.nix67
-rw-r--r--pkgs/development/python-modules/protonup-ng/default.nix1
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/default.nix1
-rw-r--r--pkgs/development/python-modules/prov/default.nix1
-rw-r--r--pkgs/development/python-modules/prox-tv/default.nix1
-rw-r--r--pkgs/development/python-modules/psautohint/default.nix1
-rw-r--r--pkgs/development/python-modules/psycopg/ctypes.patch31
-rw-r--r--pkgs/development/python-modules/psycopg/default.nix14
-rw-r--r--pkgs/development/python-modules/psycopg2cffi/default.nix1
-rw-r--r--pkgs/development/python-modules/ptable/default.nix1
-rw-r--r--pkgs/development/python-modules/ptest/default.nix1
-rw-r--r--pkgs/development/python-modules/ptyprocess/default.nix1
-rw-r--r--pkgs/development/python-modules/publicsuffix/default.nix1
-rw-r--r--pkgs/development/python-modules/publicsuffix2/default.nix1
-rw-r--r--pkgs/development/python-modules/pubnubsub-handler/default.nix1
-rw-r--r--pkgs/development/python-modules/pulsectl/default.nix1
-rw-r--r--pkgs/development/python-modules/pulumi/default.nix3
-rw-r--r--pkgs/development/python-modules/pure-cdb/default.nix1
-rw-r--r--pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix1
-rw-r--r--pkgs/development/python-modules/pure-python-adb/default.nix1
-rw-r--r--pkgs/development/python-modules/purepng/default.nix1
-rw-r--r--pkgs/development/python-modules/purl/default.nix1
-rw-r--r--pkgs/development/python-modules/push-receiver/default.nix1
-rw-r--r--pkgs/development/python-modules/pushover-complete/default.nix1
-rw-r--r--pkgs/development/python-modules/pvextractor/default.nix1
-rw-r--r--pkgs/development/python-modules/pweave/default.nix1
-rw-r--r--pkgs/development/python-modules/pwntools/default.nix1
-rw-r--r--pkgs/development/python-modules/pxml/default.nix1
-rw-r--r--pkgs/development/python-modules/py-air-control-exporter/default.nix1
-rw-r--r--pkgs/development/python-modules/py-air-control/default.nix1
-rw-r--r--pkgs/development/python-modules/py-cid/default.nix1
-rw-r--r--pkgs/development/python-modules/py-deprecate/default.nix1
-rw-r--r--pkgs/development/python-modules/py-ecc/default.nix1
-rw-r--r--pkgs/development/python-modules/py-eth-sig-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/py-expression-eval/default.nix1
-rw-r--r--pkgs/development/python-modules/py-libzfs/default.nix1
-rw-r--r--pkgs/development/python-modules/py-lru-cache/default.nix1
-rw-r--r--pkgs/development/python-modules/py-multiaddr/default.nix1
-rw-r--r--pkgs/development/python-modules/py-serializable/default.nix4
-rw-r--r--pkgs/development/python-modules/py-sonic/default.nix1
-rw-r--r--pkgs/development/python-modules/py-ubjson/default.nix1
-rw-r--r--pkgs/development/python-modules/py/default.nix1
-rw-r--r--pkgs/development/python-modules/py2bit/default.nix1
-rw-r--r--pkgs/development/python-modules/py3dns/default.nix1
-rw-r--r--pkgs/development/python-modules/py4j/default.nix1
-rw-r--r--pkgs/development/python-modules/pyacoustid/default.nix1
-rw-r--r--pkgs/development/python-modules/pyaehw4a1/default.nix1
-rw-r--r--pkgs/development/python-modules/pyaes/default.nix1
-rw-r--r--pkgs/development/python-modules/pyalgotrade/default.nix1
-rw-r--r--pkgs/development/python-modules/pyaml/default.nix1
-rw-r--r--pkgs/development/python-modules/pyarlo/default.nix1
-rw-r--r--pkgs/development/python-modules/pyarr/default.nix1
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix1
-rw-r--r--pkgs/development/python-modules/pyasn/default.nix1
-rw-r--r--pkgs/development/python-modules/pyasn1-modules/default.nix1
-rw-r--r--pkgs/development/python-modules/pyasuswrt/default.nix45
-rw-r--r--pkgs/development/python-modules/pyautogui/default.nix1
-rw-r--r--pkgs/development/python-modules/pyavm/default.nix1
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix1
-rw-r--r--pkgs/development/python-modules/pybids/default.nix1
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix1
-rw-r--r--pkgs/development/python-modules/pybtex/default.nix1
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix1
-rw-r--r--pkgs/development/python-modules/pycapnp/default.nix1
-rw-r--r--pkgs/development/python-modules/pycdio/default.nix1
-rw-r--r--pkgs/development/python-modules/pycflow2dot/default.nix1
-rw-r--r--pkgs/development/python-modules/pychannels/default.nix1
-rw-r--r--pkgs/development/python-modules/pychart/default.nix1
-rw-r--r--pkgs/development/python-modules/pychm/default.nix1
-rw-r--r--pkgs/development/python-modules/pyclimacell/default.nix1
-rw-r--r--pkgs/development/python-modules/pycognito/default.nix1
-rw-r--r--pkgs/development/python-modules/pycoin/default.nix1
-rw-r--r--pkgs/development/python-modules/pycollada/default.nix1
-rw-r--r--pkgs/development/python-modules/pycomposefile/default.nix1
-rw-r--r--pkgs/development/python-modules/pycosat/default.nix1
-rw-r--r--pkgs/development/python-modules/pycotap/default.nix1
-rw-r--r--pkgs/development/python-modules/pycountry/default.nix1
-rw-r--r--pkgs/development/python-modules/pycparser/default.nix1
-rw-r--r--pkgs/development/python-modules/pycritty/default.nix1
-rw-r--r--pkgs/development/python-modules/pycron/default.nix1
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix1
-rw-r--r--pkgs/development/python-modules/pycsdr/default.nix1
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix1
-rw-r--r--pkgs/development/python-modules/pycups/default.nix1
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix1
-rw-r--r--pkgs/development/python-modules/pycxx/default.nix1
-rw-r--r--pkgs/development/python-modules/pydal/default.nix4
-rw-r--r--pkgs/development/python-modules/pydanfossair/default.nix1
-rw-r--r--pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch30
-rw-r--r--pkgs/development/python-modules/pydenticon/default.nix1
-rw-r--r--pkgs/development/python-modules/pydes/default.nix1
-rw-r--r--pkgs/development/python-modules/pydigiham/default.nix1
-rw-r--r--pkgs/development/python-modules/pydispatcher/default.nix1
-rw-r--r--pkgs/development/python-modules/pydocumentdb/default.nix1
-rw-r--r--pkgs/development/python-modules/pyechonest/default.nix1
-rw-r--r--pkgs/development/python-modules/pyeclib/default.nix1
-rw-r--r--pkgs/development/python-modules/pyedimax/default.nix1
-rw-r--r--pkgs/development/python-modules/pyemby/default.nix1
-rw-r--r--pkgs/development/python-modules/pyenchant/default.nix1
-rw-r--r--pkgs/development/python-modules/pyepsg/default.nix1
-rw-r--r--pkgs/development/python-modules/pyeverlights/default.nix1
-rw-r--r--pkgs/development/python-modules/pyevmasm/default.nix1
-rw-r--r--pkgs/development/python-modules/pyexcel-io/default.nix1
-rw-r--r--pkgs/development/python-modules/pyexcel-ods/default.nix1
-rw-r--r--pkgs/development/python-modules/pyexcel-xls/default.nix1
-rw-r--r--pkgs/development/python-modules/pyexcel/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfakewebcam/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfantom/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfcm/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfido/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfiglet/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfireservicerota/default.nix1
-rw-r--r--pkgs/development/python-modules/pyflic/default.nix1
-rw-r--r--pkgs/development/python-modules/pyflick/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfnip/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfreedompro/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfribidi/default.nix1
-rw-r--r--pkgs/development/python-modules/pyftgl/default.nix1
-rw-r--r--pkgs/development/python-modules/pyfttt/default.nix1
-rw-r--r--pkgs/development/python-modules/pygal/default.nix1
-rw-r--r--pkgs/development/python-modules/pygame-gui/default.nix1
-rw-r--r--pkgs/development/python-modules/pygame_sdl2/default.nix1
-rw-r--r--pkgs/development/python-modules/pygatt/default.nix1
-rw-r--r--pkgs/development/python-modules/pygdbmi/default.nix1
-rw-r--r--pkgs/development/python-modules/pygeoip/default.nix1
-rw-r--r--pkgs/development/python-modules/pygeos/default.nix3
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix1
-rw-r--r--pkgs/development/python-modules/pygls/default.nix4
-rw-r--r--pkgs/development/python-modules/pygments-markdown-lexer/default.nix1
-rw-r--r--pkgs/development/python-modules/pygments-style-github/default.nix1
-rw-r--r--pkgs/development/python-modules/pygpgme/default.nix1
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix1
-rw-r--r--pkgs/development/python-modules/pygreat/default.nix1
-rw-r--r--pkgs/development/python-modules/pygrok/default.nix1
-rw-r--r--pkgs/development/python-modules/pygsl/default.nix1
-rw-r--r--pkgs/development/python-modules/pygtail/default.nix1
-rw-r--r--pkgs/development/python-modules/pygti/default.nix1
-rw-r--r--pkgs/development/python-modules/pygtrie/default.nix1
-rw-r--r--pkgs/development/python-modules/pyhanko-certvalidator/default.nix6
-rw-r--r--pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch25
-rw-r--r--pkgs/development/python-modules/pyhanko/default.nix12
-rw-r--r--pkgs/development/python-modules/pyhcl/default.nix1
-rw-r--r--pkgs/development/python-modules/pyheif/default.nix1
-rw-r--r--pkgs/development/python-modules/pyheos/default.nix1
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix1
-rw-r--r--pkgs/development/python-modules/pyhomepilot/default.nix1
-rw-r--r--pkgs/development/python-modules/pyi2cflash/default.nix1
-rw-r--r--pkgs/development/python-modules/pyialarm/default.nix1
-rw-r--r--pkgs/development/python-modules/pyicloud/default.nix1
-rw-r--r--pkgs/development/python-modules/pyimpfuzzy/default.nix1
-rw-r--r--pkgs/development/python-modules/pyinotify/default.nix1
-rw-r--r--pkgs/development/python-modules/pyinputevent/default.nix1
-rw-r--r--pkgs/development/python-modules/pyipv8/default.nix48
-rw-r--r--pkgs/development/python-modules/pyixapi/default.nix1
-rw-r--r--pkgs/development/python-modules/pyjet/default.nix1
-rw-r--r--pkgs/development/python-modules/pyjks/default.nix1
-rw-r--r--pkgs/development/python-modules/pyjsparser/default.nix1
-rw-r--r--pkgs/development/python-modules/pyjwkest/default.nix1
-rw-r--r--pkgs/development/python-modules/pykdtree/default.nix1
-rw-r--r--pkgs/development/python-modules/pykerberos/default.nix1
-rw-r--r--pkgs/development/python-modules/pykmtronic/default.nix1
-rw-r--r--pkgs/development/python-modules/pykwalify/default.nix1
-rw-r--r--pkgs/development/python-modules/pylatexenc/default.nix1
-rw-r--r--pkgs/development/python-modules/pyld/default.nix1
-rw-r--r--pkgs/development/python-modules/pylev/default.nix1
-rw-r--r--pkgs/development/python-modules/pylibacl/default.nix1
-rw-r--r--pkgs/development/python-modules/pylibconfig2/default.nix1
-rw-r--r--pkgs/development/python-modules/pylibdmtx/default.nix1
-rw-r--r--pkgs/development/python-modules/pyliblo/default.nix1
-rw-r--r--pkgs/development/python-modules/pylint-celery/default.nix1
-rw-r--r--pkgs/development/python-modules/pylint-flask/default.nix1
-rw-r--r--pkgs/development/python-modules/pylnk3/default.nix1
-rw-r--r--pkgs/development/python-modules/pylpsd/default.nix1
-rw-r--r--pkgs/development/python-modules/pyls-flake8/default.nix1
-rw-r--r--pkgs/development/python-modules/pyls-isort/default.nix1
-rw-r--r--pkgs/development/python-modules/pyls-memestra/default.nix1
-rw-r--r--pkgs/development/python-modules/pyls-spyder/default.nix1
-rw-r--r--pkgs/development/python-modules/pylsp-rope/default.nix1
-rw-r--r--pkgs/development/python-modules/pylsqpack/default.nix1
-rw-r--r--pkgs/development/python-modules/pylti/default.nix1
-rw-r--r--pkgs/development/python-modules/pylutron/default.nix1
-rw-r--r--pkgs/development/python-modules/pylxd/default.nix1
-rw-r--r--pkgs/development/python-modules/pylyrics/default.nix1
-rw-r--r--pkgs/development/python-modules/pylzma/default.nix1
-rw-r--r--pkgs/development/python-modules/pymacaroons/default.nix1
-rw-r--r--pkgs/development/python-modules/pymarshal/default.nix1
-rw-r--r--pkgs/development/python-modules/pymata-express/default.nix1
-rw-r--r--pkgs/development/python-modules/pymaven-patch/default.nix1
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix1
-rw-r--r--pkgs/development/python-modules/pymdstat/default.nix1
-rw-r--r--pkgs/development/python-modules/pymediaroom/default.nix1
-rw-r--r--pkgs/development/python-modules/pymemoize/default.nix1
-rw-r--r--pkgs/development/python-modules/pyment/default.nix1
-rw-r--r--pkgs/development/python-modules/pymetar/default.nix1
-rw-r--r--pkgs/development/python-modules/pymeteireann/default.nix1
-rw-r--r--pkgs/development/python-modules/pymeteoclimatic/default.nix1
-rw-r--r--pkgs/development/python-modules/pymiele/default.nix45
-rw-r--r--pkgs/development/python-modules/pymilter/default.nix1
-rw-r--r--pkgs/development/python-modules/pymitv/default.nix1
-rw-r--r--pkgs/development/python-modules/pymoo/default.nix1
-rw-r--r--pkgs/development/python-modules/pymorphy2/default.nix1
-rw-r--r--pkgs/development/python-modules/pymorphy3/default.nix1
-rw-r--r--pkgs/development/python-modules/pymvglive/default.nix1
-rw-r--r--pkgs/development/python-modules/pymystem3/default.nix1
-rw-r--r--pkgs/development/python-modules/pynac/default.nix1
-rw-r--r--pkgs/development/python-modules/pynanoleaf/default.nix1
-rw-r--r--pkgs/development/python-modules/pync/default.nix1
-rw-r--r--pkgs/development/python-modules/pyngrok/default.nix4
-rw-r--r--pkgs/development/python-modules/pynitrokey/default.nix (renamed from pkgs/tools/security/pynitrokey/default.nix)77
-rw-r--r--pkgs/development/python-modules/pynmea2/default.nix1
-rw-r--r--pkgs/development/python-modules/pynut2/default.nix1
-rw-r--r--pkgs/development/python-modules/pynvim/default.nix19
-rw-r--r--pkgs/development/python-modules/pynvml/default.nix1
-rw-r--r--pkgs/development/python-modules/pynws/default.nix1
-rw-r--r--pkgs/development/python-modules/pynx584/default.nix1
-rw-r--r--pkgs/development/python-modules/pynzb/default.nix1
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix6
-rw-r--r--pkgs/development/python-modules/pyopnsense/default.nix1
-rw-r--r--pkgs/development/python-modules/pyorthanc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyparser/default.nix1
-rw-r--r--pkgs/development/python-modules/pyparted/default.nix1
-rw-r--r--pkgs/development/python-modules/pypass/default.nix1
-rw-r--r--pkgs/development/python-modules/pypblib/default.nix1
-rw-r--r--pkgs/development/python-modules/pypca/default.nix1
-rw-r--r--pkgs/development/python-modules/pypcap/default.nix1
-rw-r--r--pkgs/development/python-modules/pypdf3/default.nix1
-rw-r--r--pkgs/development/python-modules/pypeg2/default.nix1
-rw-r--r--pkgs/development/python-modules/pypemicro/default.nix1
-rw-r--r--pkgs/development/python-modules/pyperclip/default.nix1
-rw-r--r--pkgs/development/python-modules/pyphotonfile/default.nix1
-rw-r--r--pkgs/development/python-modules/pypillowfight/default.nix1
-rw-r--r--pkgs/development/python-modules/pypresence/default.nix1
-rw-r--r--pkgs/development/python-modules/pyprof2calltree/default.nix1
-rw-r--r--pkgs/development/python-modules/pyproj/default.nix1
-rw-r--r--pkgs/development/python-modules/pyptlib/default.nix1
-rw-r--r--pkgs/development/python-modules/pypubsub/default.nix1
-rw-r--r--pkgs/development/python-modules/pypugjs/default.nix1
-rw-r--r--pkgs/development/python-modules/pyqldb/default.nix1
-rw-r--r--pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch20
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch31
-rw-r--r--pkgs/development/python-modules/pyquaternion/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrabbit2/default.nix1
-rw-r--r--pkgs/development/python-modules/pyramid-beaker/default.nix1
-rw-r--r--pkgs/development/python-modules/pyramid-chameleon/default.nix1
-rw-r--r--pkgs/development/python-modules/pyramid-exclog/default.nix1
-rw-r--r--pkgs/development/python-modules/pyramid-mako/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrdfa3/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrect/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrfxtrx/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrisco/default.nix1
-rw-r--r--pkgs/development/python-modules/pyro-api/default.nix1
-rw-r--r--pkgs/development/python-modules/pyroma/default.nix1
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrr/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrsistent/default.nix1
-rw-r--r--pkgs/development/python-modules/pyrss2gen/default.nix1
-rw-r--r--pkgs/development/python-modules/pysabnzbd/default.nix1
-rw-r--r--pkgs/development/python-modules/pysam/default.nix1
-rw-r--r--pkgs/development/python-modules/pysatochip/default.nix1
-rw-r--r--pkgs/development/python-modules/pysbd/default.nix1
-rw-r--r--pkgs/development/python-modules/pyscf/default.nix1
-rw-r--r--pkgs/development/python-modules/pyschedule/default.nix1
-rw-r--r--pkgs/development/python-modules/pyscreenshot/default.nix1
-rw-r--r--pkgs/development/python-modules/pyscrypt/default.nix1
-rw-r--r--pkgs/development/python-modules/pysendfile/default.nix1
-rw-r--r--pkgs/development/python-modules/pysensors/default.nix1
-rw-r--r--pkgs/development/python-modules/pyserial-asyncio/default.nix1
-rw-r--r--pkgs/development/python-modules/pysftp/default.nix1
-rw-r--r--pkgs/development/python-modules/pysiaalarm/default.nix1
-rw-r--r--pkgs/development/python-modules/pysignalclirestapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigset/default.nix1
-rw-r--r--pkgs/development/python-modules/pysimplesoap/default.nix1
-rw-r--r--pkgs/development/python-modules/pysingleton/default.nix1
-rw-r--r--pkgs/development/python-modules/pysmf/default.nix1
-rw-r--r--pkgs/development/python-modules/pysmi/default.nix1
-rw-r--r--pkgs/development/python-modules/pysnmp-pysmi/default.nix7
-rw-r--r--pkgs/development/python-modules/pysnmp/default.nix1
-rw-r--r--pkgs/development/python-modules/pysocks/default.nix1
-rw-r--r--pkgs/development/python-modules/pysol-cards/default.nix1
-rw-r--r--pkgs/development/python-modules/pysolr/default.nix1
-rw-r--r--pkgs/development/python-modules/pysonos/default.nix1
-rw-r--r--pkgs/development/python-modules/pyspf/default.nix1
-rw-r--r--pkgs/development/python-modules/pyspiflash/default.nix1
-rw-r--r--pkgs/development/python-modules/pyspinel/default.nix1
-rw-r--r--pkgs/development/python-modules/pyspnego/default.nix1
-rw-r--r--pkgs/development/python-modules/pysqlcipher3/default.nix1
-rw-r--r--pkgs/development/python-modules/pysrt/default.nix1
-rw-r--r--pkgs/development/python-modules/pyssim/default.nix1
-rw-r--r--pkgs/development/python-modules/pystemd/default.nix1
-rw-r--r--pkgs/development/python-modules/pysvg-py3/default.nix1
-rw-r--r--pkgs/development/python-modules/pysyncthru/default.nix25
-rw-r--r--pkgs/development/python-modules/pytabix/default.nix1
-rw-r--r--pkgs/development/python-modules/pytankerkoenig/default.nix1
-rw-r--r--pkgs/development/python-modules/pytapo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyte/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-astropy/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-black/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-catchlog/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-click/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-cov/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-cram/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-dependency/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-django/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-dotenv/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-error-for-skips/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-expect/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-fixture-config/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-flakes/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-freezegun/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-grpc/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-helpers-namespace/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-lazy-fixture/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-mpl/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-mypy/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-openfiles/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-plt/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-pytestrail/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-raisesregexp/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-random-order/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-resource-path/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-server-fixtures/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-services/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-subprocess/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-subtesthack/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-testinfra/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-tornado/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-tornasync/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-trio/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-vcr/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-virtualenv/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-warnings/default.nix1
-rw-r--r--pkgs/development/python-modules/pytest-watch/default.nix1
-rw-r--r--pkgs/development/python-modules/python-axolotl-curve25519/default.nix1
-rw-r--r--pkgs/development/python-modules/python-axolotl/default.nix1
-rw-r--r--pkgs/development/python-modules/python-baseconv/default.nix1
-rw-r--r--pkgs/development/python-modules/python-bidi/default.nix1
-rw-r--r--pkgs/development/python-modules/python-cinderclient/default.nix1
-rw-r--r--pkgs/development/python-modules/python-codon-tables/default.nix1
-rw-r--r--pkgs/development/python-modules/python-constraint/default.nix1
-rw-r--r--pkgs/development/python-modules/python-csxcad/default.nix10
-rw-r--r--pkgs/development/python-modules/python-ctags3/default.nix1
-rw-r--r--pkgs/development/python-modules/python-dbusmock/default.nix1
-rw-r--r--pkgs/development/python-modules/python-didl-lite/default.nix1
-rw-r--r--pkgs/development/python-modules/python-docx/default.nix1
-rw-r--r--pkgs/development/python-modules/python-doi/default.nix1
-rw-r--r--pkgs/development/python-modules/python-dotenv/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ecobee-api/default.nix1
-rw-r--r--pkgs/development/python-modules/python-editor/default.nix1
-rw-r--r--pkgs/development/python-modules/python-efl/default.nix1
-rw-r--r--pkgs/development/python-modules/python-etcd/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ethtool/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ev3dev2/default.nix1
-rw-r--r--pkgs/development/python-modules/python-frontmatter/default.nix1
-rw-r--r--pkgs/development/python-modules/python-google-nest/default.nix4
-rw-r--r--pkgs/development/python-modules/python-hglib/default.nix1
-rw-r--r--pkgs/development/python-modules/python-hpilo/default.nix1
-rw-r--r--pkgs/development/python-modules/python-i18n/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ironicclient/default.nix1
-rw-r--r--pkgs/development/python-modules/python-jenkins/default.nix1
-rw-r--r--pkgs/development/python-modules/python-json-logger/default.nix1
-rw-r--r--pkgs/development/python-modules/python-jsonrpc-server/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ldap-test/default.nix1
-rw-r--r--pkgs/development/python-modules/python-linux-procfs/default.nix1
-rw-r--r--pkgs/development/python-modules/python-logstash/default.nix1
-rw-r--r--pkgs/development/python-modules/python-louvain/default.nix1
-rw-r--r--pkgs/development/python-modules/python-lsp-black/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ly/default.nix1
-rw-r--r--pkgs/development/python-modules/python-lzf/default.nix1
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix1
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix3
-rw-r--r--pkgs/development/python-modules/python-markdown-math/default.nix1
-rw-r--r--pkgs/development/python-modules/python-memcached/default.nix1
-rw-r--r--pkgs/development/python-modules/python-mimeparse/default.nix1
-rw-r--r--pkgs/development/python-modules/python-mnist/default.nix1
-rw-r--r--pkgs/development/python-modules/python-mpv-jsonipc/default.nix1
-rw-r--r--pkgs/development/python-modules/python-mystrom/default.nix1
-rw-r--r--pkgs/development/python-modules/python-nmap/default.nix1
-rw-r--r--pkgs/development/python-modules/python-nvd3/default.nix1
-rw-r--r--pkgs/development/python-modules/python-oauth2/default.nix1
-rw-r--r--pkgs/development/python-modules/python-olm/default.nix1
-rw-r--r--pkgs/development/python-modules/python-openems/default.nix10
-rw-r--r--pkgs/development/python-modules/python-opensky/default.nix8
-rw-r--r--pkgs/development/python-modules/python-openstackclient/default.nix1
-rw-r--r--pkgs/development/python-modules/python-openzwave-mqtt/default.nix1
-rw-r--r--pkgs/development/python-modules/python-osc/default.nix19
-rw-r--r--pkgs/development/python-modules/python-owasp-zap-v2-4/default.nix1
-rw-r--r--pkgs/development/python-modules/python-packer/default.nix1
-rw-r--r--pkgs/development/python-modules/python-periphery/default.nix1
-rw-r--r--pkgs/development/python-modules/python-picnic-api/default.nix1
-rw-r--r--pkgs/development/python-modules/python-pidfile/default.nix1
-rw-r--r--pkgs/development/python-modules/python-pipedrive/default.nix1
-rw-r--r--pkgs/development/python-modules/python-pkcs11/default.nix1
-rw-r--r--pkgs/development/python-modules/python-pptx/default.nix1
-rw-r--r--pkgs/development/python-modules/python-prctl/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ptrace/default.nix1
-rw-r--r--pkgs/development/python-modules/python-registry/default.nix1
-rw-r--r--pkgs/development/python-modules/python-sat/default.nix1
-rw-r--r--pkgs/development/python-modules/python-simple-hipchat/default.nix1
-rw-r--r--pkgs/development/python-modules/python-status/default.nix1
-rw-r--r--pkgs/development/python-modules/python-string-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--pkgs/development/python-modules/python-telegram/default.nix1
-rw-r--r--pkgs/development/python-modules/python-trovo/default.nix1
-rw-r--r--pkgs/development/python-modules/python-u2flib-host/default.nix1
-rw-r--r--pkgs/development/python-modules/python-uinput/default.nix1
-rw-r--r--pkgs/development/python-modules/python-unshare/default.nix1
-rw-r--r--pkgs/development/python-modules/python-vipaccess/default.nix1
-rw-r--r--pkgs/development/python-modules/python-vlc/default.nix4
-rw-r--r--pkgs/development/python-modules/python-whois/default.nix1
-rw-r--r--pkgs/development/python-modules/python-wifi/default.nix1
-rw-r--r--pkgs/development/python-modules/python-wink/default.nix1
-rw-r--r--pkgs/development/python-modules/python-xmp-toolkit/default.nix1
-rw-r--r--pkgs/development/python-modules/python3-application/default.nix1
-rw-r--r--pkgs/development/python-modules/python3-eventlib/default.nix1
-rw-r--r--pkgs/development/python-modules/python3-gnutls/default.nix1
-rw-r--r--pkgs/development/python-modules/python3-openid/default.nix1
-rw-r--r--pkgs/development/python-modules/python_openzwave/default.nix1
-rw-r--r--pkgs/development/python-modules/pythondialog/default.nix1
-rw-r--r--pkgs/development/python-modules/pythran/default.nix1
-rw-r--r--pkgs/development/python-modules/pytidylib/default.nix1
-rw-r--r--pkgs/development/python-modules/pytikz-allefeld/default.nix55
-rw-r--r--pkgs/development/python-modules/pytimeparse/default.nix1
-rw-r--r--pkgs/development/python-modules/pytimeparse2/default.nix1
-rw-r--r--pkgs/development/python-modules/pytm/default.nix1
-rw-r--r--pkgs/development/python-modules/pytomlpp/default.nix1
-rw-r--r--pkgs/development/python-modules/pytomorrowio/default.nix1
-rw-r--r--pkgs/development/python-modules/pytools/default.nix1
-rw-r--r--pkgs/development/python-modules/pytorch-metric-learning/default.nix1
-rw-r--r--pkgs/development/python-modules/pytorch-pfn-extras/default.nix1
-rw-r--r--pkgs/development/python-modules/pytricia/default.nix1
-rw-r--r--pkgs/development/python-modules/pytun/default.nix1
-rw-r--r--pkgs/development/python-modules/pytweening/default.nix1
-rw-r--r--pkgs/development/python-modules/pytzdata/default.nix1
-rw-r--r--pkgs/development/python-modules/pyuavcan/default.nix1
-rw-r--r--pkgs/development/python-modules/pyudev/default.nix1
-rw-r--r--pkgs/development/python-modules/pyunifi/default.nix1
-rw-r--r--pkgs/development/python-modules/pyunifiprotect/default.nix30
-rw-r--r--pkgs/development/python-modules/pyunpack/default.nix13
-rw-r--r--pkgs/development/python-modules/pyupdate/default.nix1
-rw-r--r--pkgs/development/python-modules/pyusb/default.nix1
-rw-r--r--pkgs/development/python-modules/pyuseragents/default.nix1
-rw-r--r--pkgs/development/python-modules/pyutil/default.nix1
-rw-r--r--pkgs/development/python-modules/pyutilib/default.nix1
-rw-r--r--pkgs/development/python-modules/pyuv/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvcd/default.nix1
-rw-r--r--pkgs/development/python-modules/pyverilog/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvirtualdisplay/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvisa/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvizio/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvo/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvolumio/default.nix1
-rw-r--r--pkgs/development/python-modules/pyvoro/default.nix1
-rw-r--r--pkgs/development/python-modules/pywal/default.nix1
-rw-r--r--pkgs/development/python-modules/pywatchman/default.nix1
-rw-r--r--pkgs/development/python-modules/pywayland/default.nix1
-rw-r--r--pkgs/development/python-modules/pywebpush/default.nix1
-rw-r--r--pkgs/development/python-modules/pyworld/default.nix1
-rw-r--r--pkgs/development/python-modules/pyx/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxattr/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxdg/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxeoma/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxiaomigateway/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxl3/default.nix1
-rw-r--r--pkgs/development/python-modules/pyxnat/default.nix1
-rw-r--r--pkgs/development/python-modules/pyyaml-env-tag/default.nix1
-rw-r--r--pkgs/development/python-modules/pyzbar/default.nix1
-rw-r--r--pkgs/development/python-modules/qdarkstyle/default.nix1
-rw-r--r--pkgs/development/python-modules/qdldl/default.nix1
-rw-r--r--pkgs/development/python-modules/qgrid/default.nix1
-rw-r--r--pkgs/development/python-modules/qimage2ndarray/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-aer/default.nix2
-rw-r--r--pkgs/development/python-modules/qiskit-finance/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-ibmq-provider/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-ignis/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-machine-learning/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-nature/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-optimization/default.nix1
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix17
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix1
-rw-r--r--pkgs/development/python-modules/qt-material/default.nix1
-rw-r--r--pkgs/development/python-modules/qt5reactor/default.nix1
-rw-r--r--pkgs/development/python-modules/qtile/default.nix1
-rw-r--r--pkgs/development/python-modules/quamash/default.nix1
-rw-r--r--pkgs/development/python-modules/queuelib/default.nix1
-rw-r--r--pkgs/development/python-modules/r2pipe/default.nix4
-rw-r--r--pkgs/development/python-modules/rachiopy/default.nix1
-rw-r--r--pkgs/development/python-modules/radicale_infcloud/default.nix1
-rw-r--r--pkgs/development/python-modules/radiotherm/default.nix1
-rw-r--r--pkgs/development/python-modules/rainbowstream/default.nix1
-rw-r--r--pkgs/development/python-modules/ramlfications/default.nix1
-rw-r--r--pkgs/development/python-modules/random2/default.nix1
-rw-r--r--pkgs/development/python-modules/rapidfuzz-capi/default.nix1
-rw-r--r--pkgs/development/python-modules/rarfile/default.nix1
-rw-r--r--pkgs/development/python-modules/ratarmount/default.nix1
-rw-r--r--pkgs/development/python-modules/ratarmountcore/default.nix1
-rw-r--r--pkgs/development/python-modules/ratelim/default.nix1
-rw-r--r--pkgs/development/python-modules/ratelimit/default.nix1
-rw-r--r--pkgs/development/python-modules/raven/default.nix1
-rw-r--r--pkgs/development/python-modules/rawkit/default.nix1
-rw-r--r--pkgs/development/python-modules/rbtools/default.nix1
-rw-r--r--pkgs/development/python-modules/readability-lxml/default.nix1
-rw-r--r--pkgs/development/python-modules/readlike/default.nix1
-rw-r--r--pkgs/development/python-modules/readme/default.nix1
-rw-r--r--pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix1
-rw-r--r--pkgs/development/python-modules/recommonmark/default.nix1
-rw-r--r--pkgs/development/python-modules/redbaron/default.nix1
-rw-r--r--pkgs/development/python-modules/reflink/default.nix1
-rw-r--r--pkgs/development/python-modules/reikna/default.nix1
-rw-r--r--pkgs/development/python-modules/remi/default.nix1
-rw-r--r--pkgs/development/python-modules/remote-pdb/default.nix1
-rw-r--r--pkgs/development/python-modules/renson-endura-delta/default.nix53
-rw-r--r--pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--pkgs/development/python-modules/reorder-python-imports/default.nix1
-rw-r--r--pkgs/development/python-modules/reparser/default.nix1
-rw-r--r--pkgs/development/python-modules/repath/default.nix1
-rw-r--r--pkgs/development/python-modules/repocheck/default.nix1
-rw-r--r--pkgs/development/python-modules/reportlab/darwin-m1-compat.patch13
-rw-r--r--pkgs/development/python-modules/requests-hawk/default.nix1
-rw-r--r--pkgs/development/python-modules/requests-oauthlib/default.nix1
-rw-r--r--pkgs/development/python-modules/requests-wsgi-adapter/default.nix1
-rw-r--r--pkgs/development/python-modules/requestsexceptions/default.nix1
-rw-r--r--pkgs/development/python-modules/reretry/default.nix1
-rw-r--r--pkgs/development/python-modules/resize-right/default.nix1
-rw-r--r--pkgs/development/python-modules/resolvelib/default.nix1
-rw-r--r--pkgs/development/python-modules/result/default.nix1
-rw-r--r--pkgs/development/python-modules/rethinkdb/default.nix1
-rw-r--r--pkgs/development/python-modules/retry/default.nix1
-rw-r--r--pkgs/development/python-modules/rfc3339-validator/default.nix1
-rw-r--r--pkgs/development/python-modules/rfc3339/default.nix1
-rw-r--r--pkgs/development/python-modules/rfc3987/default.nix1
-rw-r--r--pkgs/development/python-modules/rfc7464/default.nix1
-rw-r--r--pkgs/development/python-modules/riprova/default.nix1
-rw-r--r--pkgs/development/python-modules/rising/default.nix1
-rw-r--r--pkgs/development/python-modules/rlax/default.nix1
-rw-r--r--pkgs/development/python-modules/rlp/default.nix1
-rw-r--r--pkgs/development/python-modules/rmsd/default.nix1
-rw-r--r--pkgs/development/python-modules/rnc2rng/default.nix1
-rw-r--r--pkgs/development/python-modules/rns/default.nix4
-rw-r--r--pkgs/development/python-modules/robot-detection/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework-databaselibrary/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework-pythonlibcore/default.nix15
-rw-r--r--pkgs/development/python-modules/robotframework-selenium2library/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework-sshlibrary/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework-tools/default.nix1
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix1
-rw-r--r--pkgs/development/python-modules/robotstatuschecker/default.nix1
-rw-r--r--pkgs/development/python-modules/robotsuite/default.nix1
-rw-r--r--pkgs/development/python-modules/rocket-errbot/default.nix1
-rw-r--r--pkgs/development/python-modules/roku/default.nix1
-rw-r--r--pkgs/development/python-modules/roman/default.nix1
-rw-r--r--pkgs/development/python-modules/ronin/default.nix1
-rw-r--r--pkgs/development/python-modules/routeros-api/default.nix1
-rw-r--r--pkgs/development/python-modules/routes/default.nix1
-rw-r--r--pkgs/development/python-modules/rpdb/default.nix1
-rw-r--r--pkgs/development/python-modules/rpi-gpio/default.nix1
-rw-r--r--pkgs/development/python-modules/rpi-gpio2/default.nix1
-rw-r--r--pkgs/development/python-modules/rplcd/default.nix1
-rw-r--r--pkgs/development/python-modules/rpmfile/default.nix1
-rw-r--r--pkgs/development/python-modules/rpmfluff/default.nix1
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix1
-rw-r--r--pkgs/development/python-modules/rst2ansi/default.nix1
-rw-r--r--pkgs/development/python-modules/rstr/default.nix37
-rw-r--r--pkgs/development/python-modules/rtmidi-python/default.nix1
-rw-r--r--pkgs/development/python-modules/rtmixer/default.nix1
-rw-r--r--pkgs/development/python-modules/rtoml/default.nix1
-rw-r--r--pkgs/development/python-modules/rtree/default.nix1
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix1
-rw-r--r--pkgs/development/python-modules/ruamel-base/default.nix1
-rw-r--r--pkgs/development/python-modules/ruamel-yaml/default.nix1
-rw-r--r--pkgs/development/python-modules/rubymarshal/default.nix1
-rw-r--r--pkgs/development/python-modules/ruffus/default.nix1
-rw-r--r--pkgs/development/python-modules/rustworkx/default.nix1
-rw-r--r--pkgs/development/python-modules/rx/default.nix1
-rw-r--r--pkgs/development/python-modules/s2clientprotocol/default.nix1
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/sabyenc/default.nix1
-rw-r--r--pkgs/development/python-modules/sacremoses/default.nix1
-rw-r--r--pkgs/development/python-modules/safeio/default.nix1
-rw-r--r--pkgs/development/python-modules/salmon-mail/default.nix1
-rw-r--r--pkgs/development/python-modules/sampledata/default.nix1
-rw-r--r--pkgs/development/python-modules/samsungctl/default.nix1
-rw-r--r--pkgs/development/python-modules/sane/default.nix1
-rw-r--r--pkgs/development/python-modules/saneyaml/default.nix1
-rw-r--r--pkgs/development/python-modules/sarif-om/default.nix1
-rw-r--r--pkgs/development/python-modules/scales/default.nix1
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix43
-rw-r--r--pkgs/development/python-modules/scapy/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-bio/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-fmm/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-learn-extra/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-learn/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-optimize/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-tda/default.nix1
-rw-r--r--pkgs/development/python-modules/scour/default.nix1
-rw-r--r--pkgs/development/python-modules/scp/default.nix1
-rw-r--r--pkgs/development/python-modules/scrapy-deltafetch/default.nix1
-rw-r--r--pkgs/development/python-modules/scrapy-splash/default.nix1
-rw-r--r--pkgs/development/python-modules/screed/default.nix1
-rw-r--r--pkgs/development/python-modules/scripttest/default.nix1
-rw-r--r--pkgs/development/python-modules/sdnotify/default.nix1
-rw-r--r--pkgs/development/python-modules/seabreeze/default.nix1
-rw-r--r--pkgs/development/python-modules/secp256k1/default.nix1
-rw-r--r--pkgs/development/python-modules/secure/default.nix1
-rw-r--r--pkgs/development/python-modules/securesystemslib/default.nix6
-rw-r--r--pkgs/development/python-modules/seekpath/default.nix1
-rw-r--r--pkgs/development/python-modules/segments/default.nix1
-rw-r--r--pkgs/development/python-modules/selectors2/default.nix1
-rw-r--r--pkgs/development/python-modules/sentence-splitter/default.nix1
-rw-r--r--pkgs/development/python-modules/sentencepiece/default.nix1
-rw-r--r--pkgs/development/python-modules/sentinel/default.nix1
-rw-r--r--pkgs/development/python-modules/sentinels/default.nix1
-rw-r--r--pkgs/development/python-modules/serpent/default.nix1
-rw-r--r--pkgs/development/python-modules/servefile/default.nix1
-rw-r--r--pkgs/development/python-modules/serverfiles/default.nix1
-rw-r--r--pkgs/development/python-modules/setproctitle/default.nix1
-rw-r--r--pkgs/development/python-modules/setuptools-declarative-requirements/default.nix1
-rw-r--r--pkgs/development/python-modules/setuptools-git/default.nix1
-rw-r--r--pkgs/development/python-modules/setuptools-lint/default.nix1
-rw-r--r--pkgs/development/python-modules/setuptools-scm-git-archive/default.nix1
-rw-r--r--pkgs/development/python-modules/sfepy/default.nix1
-rw-r--r--pkgs/development/python-modules/sgp4/default.nix1
-rw-r--r--pkgs/development/python-modules/shamir-mnemonic/default.nix1
-rw-r--r--pkgs/development/python-modules/shaperglot/default.nix55
-rw-r--r--pkgs/development/python-modules/sharedmem/default.nix1
-rw-r--r--pkgs/development/python-modules/shellescape/default.nix1
-rw-r--r--pkgs/development/python-modules/shippai/default.nix1
-rw-r--r--pkgs/development/python-modules/shlib/default.nix1
-rw-r--r--pkgs/development/python-modules/should-dsl/default.nix1
-rw-r--r--pkgs/development/python-modules/shouldbe/default.nix1
-rw-r--r--pkgs/development/python-modules/show-in-file-manager/default.nix1
-rw-r--r--pkgs/development/python-modules/showit/default.nix1
-rw-r--r--pkgs/development/python-modules/shutilwhich/default.nix1
-rw-r--r--pkgs/development/python-modules/signify/certificate-expiration-date.patch18
-rw-r--r--pkgs/development/python-modules/simanneal/default.nix1
-rw-r--r--pkgs/development/python-modules/simple-rlp/default.nix1
-rw-r--r--pkgs/development/python-modules/simple-websocket-server/default.nix1
-rw-r--r--pkgs/development/python-modules/simpleaudio/default.nix1
-rw-r--r--pkgs/development/python-modules/simplebayes/default.nix1
-rw-r--r--pkgs/development/python-modules/simplegeneric/default.nix1
-rw-r--r--pkgs/development/python-modules/simplehound/default.nix1
-rw-r--r--pkgs/development/python-modules/simplekml/default.nix1
-rw-r--r--pkgs/development/python-modules/simplemma/default.nix1
-rw-r--r--pkgs/development/python-modules/simplenote/default.nix1
-rw-r--r--pkgs/development/python-modules/simplesat/default.nix1
-rw-r--r--pkgs/development/python-modules/sipyco/default.nix1
-rw-r--r--pkgs/development/python-modules/skein/default.nix1
-rw-r--r--pkgs/development/python-modules/skia-pathops/default.nix1
-rw-r--r--pkgs/development/python-modules/skidl/default.nix1
-rw-r--r--pkgs/development/python-modules/skl2onnx/default.nix1
-rw-r--r--pkgs/development/python-modules/skorch/default.nix1
-rw-r--r--pkgs/development/python-modules/skybellpy/default.nix1
-rw-r--r--pkgs/development/python-modules/skyfield/default.nix1
-rw-r--r--pkgs/development/python-modules/skytemple-eventserver/default.nix1
-rw-r--r--pkgs/development/python-modules/skytemple-icons/default.nix1
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/sleekxmpp/default.nix1
-rw-r--r--pkgs/development/python-modules/sleepyq/default.nix1
-rw-r--r--pkgs/development/python-modules/slicedimage/default.nix1
-rw-r--r--pkgs/development/python-modules/slob/default.nix1
-rw-r--r--pkgs/development/python-modules/slugid/default.nix1
-rw-r--r--pkgs/development/python-modules/smart-meter-texas/default.nix1
-rw-r--r--pkgs/development/python-modules/smarthab/default.nix1
-rw-r--r--pkgs/development/python-modules/smartypants/default.nix1
-rw-r--r--pkgs/development/python-modules/smbus-cffi/default.nix1
-rw-r--r--pkgs/development/python-modules/smdebug-rulesconfig/default.nix1
-rw-r--r--pkgs/development/python-modules/smhi-pkg/default.nix1
-rw-r--r--pkgs/development/python-modules/smmap/default.nix1
-rw-r--r--pkgs/development/python-modules/snakebite/default.nix1
-rw-r--r--pkgs/development/python-modules/snapshottest/default.nix1
-rw-r--r--pkgs/development/python-modules/snowballstemmer/default.nix1
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--pkgs/development/python-modules/snuggs/default.nix1
-rw-r--r--pkgs/development/python-modules/social-auth-core/default.nix5
-rw-r--r--pkgs/development/python-modules/socketio-client/default.nix1
-rw-r--r--pkgs/development/python-modules/sockjs-tornado/default.nix1
-rw-r--r--pkgs/development/python-modules/sockjs/default.nix1
-rw-r--r--pkgs/development/python-modules/solaredge/default.nix1
-rw-r--r--pkgs/development/python-modules/solc-select/default.nix1
-rw-r--r--pkgs/development/python-modules/somfy-mylink-synergy/default.nix1
-rw-r--r--pkgs/development/python-modules/sonarr/default.nix1
-rw-r--r--pkgs/development/python-modules/sortedcollections/default.nix1
-rw-r--r--pkgs/development/python-modules/sortedcontainers/default.nix1
-rw-r--r--pkgs/development/python-modules/soundcloud-v2/default.nix1
-rw-r--r--pkgs/development/python-modules/sounddevice/default.nix1
-rw-r--r--pkgs/development/python-modules/soundfile/default.nix1
-rw-r--r--pkgs/development/python-modules/spacy-alignments/default.nix1
-rw-r--r--pkgs/development/python-modules/spacy-loggers/default.nix1
-rw-r--r--pkgs/development/python-modules/spacy-pkuseg/default.nix1
-rw-r--r--pkgs/development/python-modules/spake2/default.nix1
-rw-r--r--pkgs/development/python-modules/spark_parser/default.nix1
-rw-r--r--pkgs/development/python-modules/sparklines/default.nix1
-rw-r--r--pkgs/development/python-modules/sparqlwrapper/default.nix1
-rw-r--r--pkgs/development/python-modules/speaklater/default.nix1
-rw-r--r--pkgs/development/python-modules/speaklater3/default.nix1
-rw-r--r--pkgs/development/python-modules/spectral-cube/default.nix4
-rw-r--r--pkgs/development/python-modules/speedtest-cli/default.nix1
-rw-r--r--pkgs/development/python-modules/speg/default.nix1
-rw-r--r--pkgs/development/python-modules/sphfile/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-argparse/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-autoapi/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx-autobuild/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-basic-ng/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-better-theme/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-copybutton/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-fortran/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-issues/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-jinja/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-markdown-parser/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-markdown-tables/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-serve/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinx-testing/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-fulltoc/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-httpdomain/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-openapi/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix1
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-tikz/default.nix1
-rw-r--r--pkgs/development/python-modules/spidev/default.nix1
-rw-r--r--pkgs/development/python-modules/spinners/default.nix1
-rw-r--r--pkgs/development/python-modules/spsdk/default.nix1
-rw-r--r--pkgs/development/python-modules/sqlalchemy-citext/default.nix1
-rw-r--r--pkgs/development/python-modules/sqlalchemy-migrate/default.nix1
-rw-r--r--pkgs/development/python-modules/sqlglot/default.nix1
-rw-r--r--pkgs/development/python-modules/sqlitedict/default.nix1
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlsoup/default.nix1
-rw-r--r--pkgs/development/python-modules/squarify/default.nix1
-rw-r--r--pkgs/development/python-modules/sre-yield/default.nix35
-rw-r--r--pkgs/development/python-modules/srpenergy/default.nix1
-rw-r--r--pkgs/development/python-modules/srt/default.nix1
-rw-r--r--pkgs/development/python-modules/sshfs/default.nix1
-rw-r--r--pkgs/development/python-modules/sshpubkeys/default.nix1
-rw-r--r--pkgs/development/python-modules/sshtunnel/default.nix1
-rw-r--r--pkgs/development/python-modules/sslib/default.nix1
-rw-r--r--pkgs/development/python-modules/stack-data/default.nix1
-rw-r--r--pkgs/development/python-modules/starline/default.nix20
-rw-r--r--pkgs/development/python-modules/stashy/default.nix1
-rw-r--r--pkgs/development/python-modules/statistics/default.nix1
-rw-r--r--pkgs/development/python-modules/stdiomask/default.nix1
-rw-r--r--pkgs/development/python-modules/stestr/default.nix1
-rw-r--r--pkgs/development/python-modules/stevedore/default.nix1
-rw-r--r--pkgs/development/python-modules/stim/default.nix58
-rw-r--r--pkgs/development/python-modules/stm32loader/default.nix1
-rw-r--r--pkgs/development/python-modules/stopit/default.nix1
-rw-r--r--pkgs/development/python-modules/strategies/default.nix1
-rw-r--r--pkgs/development/python-modules/streamdeck/default.nix1
-rw-r--r--pkgs/development/python-modules/streaming-form-data/default.nix1
-rw-r--r--pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--pkgs/development/python-modules/strict-rfc3339/default.nix1
-rw-r--r--pkgs/development/python-modules/stringbrewer/default.nix38
-rw-r--r--pkgs/development/python-modules/stringcase/default.nix1
-rw-r--r--pkgs/development/python-modules/stringly/default.nix1
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/stups-cli-support/default.nix1
-rw-r--r--pkgs/development/python-modules/stups-fullstop/default.nix1
-rw-r--r--pkgs/development/python-modules/stups-tokens/default.nix1
-rw-r--r--pkgs/development/python-modules/stups-zign/default.nix1
-rw-r--r--pkgs/development/python-modules/subliminal/default.nix7
-rw-r--r--pkgs/development/python-modules/subunit2sql/default.nix1
-rw-r--r--pkgs/development/python-modules/svgwrite/default.nix1
-rw-r--r--pkgs/development/python-modules/swagger-spec-validator/default.nix1
-rw-r--r--pkgs/development/python-modules/swagger-ui-bundle/default.nix1
-rw-r--r--pkgs/development/python-modules/swift/default.nix1
-rw-r--r--pkgs/development/python-modules/swisshydrodata/default.nix1
-rw-r--r--pkgs/development/python-modules/sympy/default.nix1
-rw-r--r--pkgs/development/python-modules/syncedlyrics/default.nix10
-rw-r--r--pkgs/development/python-modules/syncer/default.nix1
-rw-r--r--pkgs/development/python-modules/synergy/default.nix1
-rw-r--r--pkgs/development/python-modules/systembridge/default.nix1
-rw-r--r--pkgs/development/python-modules/systemd/default.nix1
-rw-r--r--pkgs/development/python-modules/sysv_ipc/default.nix1
-rw-r--r--pkgs/development/python-modules/tabcmd/default.nix1
-rw-r--r--pkgs/development/python-modules/tabledata/default.nix1
-rw-r--r--pkgs/development/python-modules/tables/default.nix1
-rw-r--r--pkgs/development/python-modules/tadasets/default.nix1
-rw-r--r--pkgs/development/python-modules/tahoma-api/default.nix1
-rw-r--r--pkgs/development/python-modules/tailer/default.nix1
-rw-r--r--pkgs/development/python-modules/takethetime/default.nix1
-rw-r--r--pkgs/development/python-modules/tasklib/default.nix1
-rw-r--r--pkgs/development/python-modules/taskw/default.nix1
-rw-r--r--pkgs/development/python-modules/taxi/default.nix1
-rw-r--r--pkgs/development/python-modules/tblib/default.nix1
-rw-r--r--pkgs/development/python-modules/tcolorpy/default.nix1
-rw-r--r--pkgs/development/python-modules/telegram/default.nix1
-rw-r--r--pkgs/development/python-modules/telepath/default.nix1
-rw-r--r--pkgs/development/python-modules/telethon-session-sqlalchemy/default.nix1
-rw-r--r--pkgs/development/python-modules/telfhash/default.nix1
-rw-r--r--pkgs/development/python-modules/tempita/default.nix1
-rw-r--r--pkgs/development/python-modules/tensorflow-datasets/default.nix1
-rw-r--r--pkgs/development/python-modules/tensorflow-metadata/default.nix1
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix32
-rw-r--r--pkgs/development/python-modules/tensorrt/default.nix5
-rw-r--r--pkgs/development/python-modules/terminaltables/default.nix1
-rw-r--r--pkgs/development/python-modules/termstyle/default.nix1
-rw-r--r--pkgs/development/python-modules/tess/default.nix1
-rw-r--r--pkgs/development/python-modules/tesserocr/default.nix1
-rw-r--r--pkgs/development/python-modules/test-tube/default.nix1
-rw-r--r--pkgs/development/python-modules/testrepository/default.nix1
-rw-r--r--pkgs/development/python-modules/testresources/default.nix1
-rw-r--r--pkgs/development/python-modules/testscenarios/default.nix1
-rw-r--r--pkgs/development/python-modules/testtools/default.nix1
-rw-r--r--pkgs/development/python-modules/text-unidecode/default.nix1
-rw-r--r--pkgs/development/python-modules/textwrap3/default.nix1
-rw-r--r--pkgs/development/python-modules/tflearn/default.nix1
-rw-r--r--pkgs/development/python-modules/theano-pymc/default.nix1
-rw-r--r--pkgs/development/python-modules/theano/default.nix1
-rw-r--r--pkgs/development/python-modules/thermopro-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/thespian/default.nix1
-rw-r--r--pkgs/development/python-modules/threadloop/default.nix1
-rw-r--r--pkgs/development/python-modules/threadpool/default.nix1
-rw-r--r--pkgs/development/python-modules/three-merge/default.nix1
-rw-r--r--pkgs/development/python-modules/thrift/default.nix1
-rw-r--r--pkgs/development/python-modules/throttler/default.nix1
-rw-r--r--pkgs/development/python-modules/tika/default.nix1
-rw-r--r--pkgs/development/python-modules/tilestache/default.nix1
-rw-r--r--pkgs/development/python-modules/timeago/default.nix1
-rw-r--r--pkgs/development/python-modules/timecop/default.nix1
-rw-r--r--pkgs/development/python-modules/timelib/default.nix1
-rw-r--r--pkgs/development/python-modules/timeout-decorator/default.nix1
-rw-r--r--pkgs/development/python-modules/tinyobjloader-py/default.nix1
-rw-r--r--pkgs/development/python-modules/tissue/default.nix1
-rw-r--r--pkgs/development/python-modules/tlsh/default.nix1
-rw-r--r--pkgs/development/python-modules/tlslite-ng/default.nix1
-rw-r--r--pkgs/development/python-modules/tokenize-rt/default.nix1
-rw-r--r--pkgs/development/python-modules/tokenlib/default.nix1
-rw-r--r--pkgs/development/python-modules/toml/default.nix1
-rw-r--r--pkgs/development/python-modules/toolz/default.nix1
-rw-r--r--pkgs/development/python-modules/torch/default.nix41
-rw-r--r--pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch32
-rw-r--r--pkgs/development/python-modules/torchaudio/default.nix17
-rw-r--r--pkgs/development/python-modules/torchgpipe/default.nix1
-rw-r--r--pkgs/development/python-modules/torchmetrics/default.nix5
-rw-r--r--pkgs/development/python-modules/torchvision/default.nix33
-rw-r--r--pkgs/development/python-modules/tornado/default.nix1
-rw-r--r--pkgs/development/python-modules/torpy/default.nix1
-rw-r--r--pkgs/development/python-modules/torrequest/default.nix1
-rw-r--r--pkgs/development/python-modules/traceback2/default.nix1
-rw-r--r--pkgs/development/python-modules/tracerite/default.nix12
-rw-r--r--pkgs/development/python-modules/tracing/default.nix1
-rw-r--r--pkgs/development/python-modules/traittypes/default.nix1
-rw-r--r--pkgs/development/python-modules/transaction/default.nix4
-rw-r--r--pkgs/development/python-modules/translatepy/default.nix1
-rw-r--r--pkgs/development/python-modules/translationstring/default.nix1
-rw-r--r--pkgs/development/python-modules/transmissionrpc/default.nix1
-rw-r--r--pkgs/development/python-modules/trectools/default.nix1
-rw-r--r--pkgs/development/python-modules/tree-sitter/default.nix1
-rw-r--r--pkgs/development/python-modules/treelog/default.nix1
-rw-r--r--pkgs/development/python-modules/treq/default.nix1
-rw-r--r--pkgs/development/python-modules/trezor/default.nix1
-rw-r--r--pkgs/development/python-modules/trezor_agent/default.nix1
-rw-r--r--pkgs/development/python-modules/trfl/default.nix1
-rw-r--r--pkgs/development/python-modules/trueskill/default.nix1
-rw-r--r--pkgs/development/python-modules/ttach/default.nix1
-rw-r--r--pkgs/development/python-modules/tubes/default.nix1
-rw-r--r--pkgs/development/python-modules/tunigo/default.nix1
-rw-r--r--pkgs/development/python-modules/tuyaha/default.nix1
-rw-r--r--pkgs/development/python-modules/tvdb-api/default.nix1
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/twitch-python/default.nix1
-rw-r--r--pkgs/development/python-modules/twofish/default.nix1
-rw-r--r--pkgs/development/python-modules/txdbus/default.nix1
-rw-r--r--pkgs/development/python-modules/txgithub/default.nix1
-rw-r--r--pkgs/development/python-modules/txrequests/default.nix1
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix4
-rw-r--r--pkgs/development/python-modules/txzmq/default.nix1
-rw-r--r--pkgs/development/python-modules/type-infer/default.nix4
-rw-r--r--pkgs/development/python-modules/types-aiobotocore-packages/default.nix702
-rw-r--r--pkgs/development/python-modules/types-aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/types-appdirs/default.nix1
-rw-r--r--pkgs/development/python-modules/types-enum34/default.nix1
-rw-r--r--pkgs/development/python-modules/types-futures/default.nix1
-rw-r--r--pkgs/development/python-modules/types-ipaddress/default.nix1
-rw-r--r--pkgs/development/python-modules/types-s3transfer/default.nix4
-rw-r--r--pkgs/development/python-modules/types-tabulate/default.nix1
-rw-r--r--pkgs/development/python-modules/typesentry/default.nix1
-rw-r--r--pkgs/development/python-modules/typing-inspect/default.nix1
-rw-r--r--pkgs/development/python-modules/tzlocal/default.nix15
-rw-r--r--pkgs/development/python-modules/uamqp/default.nix1
-rw-r--r--pkgs/development/python-modules/uarray/default.nix1
-rw-r--r--pkgs/development/python-modules/udatetime/default.nix1
-rw-r--r--pkgs/development/python-modules/ueagle/default.nix1
-rw-r--r--pkgs/development/python-modules/ueberzug/default.nix1
-rw-r--r--pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch130
-rw-r--r--pkgs/development/python-modules/ufolint/default.nix41
-rw-r--r--pkgs/development/python-modules/ufonormalizer/default.nix1
-rw-r--r--pkgs/development/python-modules/ujson/default.nix1
-rw-r--r--pkgs/development/python-modules/umalqurra/default.nix1
-rw-r--r--pkgs/development/python-modules/uncertainties/default.nix1
-rw-r--r--pkgs/development/python-modules/uncompyle6/default.nix1
-rw-r--r--pkgs/development/python-modules/unicode-slugify/default.nix1
-rw-r--r--pkgs/development/python-modules/unicodecsv/default.nix1
-rw-r--r--pkgs/development/python-modules/unidata-blocks/default.nix44
-rw-r--r--pkgs/development/python-modules/unidiff/default.nix1
-rw-r--r--pkgs/development/python-modules/unifi/default.nix1
-rw-r--r--pkgs/development/python-modules/unifiled/default.nix1
-rw-r--r--pkgs/development/python-modules/unify/default.nix1
-rw-r--r--pkgs/development/python-modules/units/default.nix1
-rw-r--r--pkgs/development/python-modules/unittest-data-provider/default.nix1
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix1
-rw-r--r--pkgs/development/python-modules/unrardll/default.nix1
-rw-r--r--pkgs/development/python-modules/unstructured-inference/default.nix4
-rw-r--r--pkgs/development/python-modules/unstructured/default.nix4
-rw-r--r--pkgs/development/python-modules/untangle/default.nix1
-rw-r--r--pkgs/development/python-modules/untokenize/default.nix1
-rw-r--r--pkgs/development/python-modules/upb-lib/default.nix1
-rw-r--r--pkgs/development/python-modules/upcloud-api/default.nix1
-rw-r--r--pkgs/development/python-modules/update-copyright/default.nix1
-rw-r--r--pkgs/development/python-modules/update_checker/default.nix1
-rw-r--r--pkgs/development/python-modules/upnpy/default.nix1
-rw-r--r--pkgs/development/python-modules/uptime/default.nix1
-rw-r--r--pkgs/development/python-modules/uritemplate/default.nix9
-rw-r--r--pkgs/development/python-modules/urlgrabber/default.nix1
-rw-r--r--pkgs/development/python-modules/urlpy/default.nix1
-rw-r--r--pkgs/development/python-modules/urwidtrees/default.nix1
-rw-r--r--pkgs/development/python-modules/usbtmc/default.nix1
-rw-r--r--pkgs/development/python-modules/user-agents/default.nix1
-rw-r--r--pkgs/development/python-modules/ush/default.nix1
-rw-r--r--pkgs/development/python-modules/utils/default.nix1
-rw-r--r--pkgs/development/python-modules/uuid/default.nix1
-rw-r--r--pkgs/development/python-modules/uvcclient/default.nix1
-rw-r--r--pkgs/development/python-modules/validate-email/default.nix1
-rw-r--r--pkgs/development/python-modules/vapoursynth/default.nix1
-rw-r--r--pkgs/development/python-modules/varint/default.nix1
-rw-r--r--pkgs/development/python-modules/vcard/default.nix1
-rw-r--r--pkgs/development/python-modules/vcver/default.nix1
-rw-r--r--pkgs/development/python-modules/vcversioner/default.nix1
-rw-r--r--pkgs/development/python-modules/vdf/default.nix1
-rw-r--r--pkgs/development/python-modules/venstarcolortouch/default.nix1
-rw-r--r--pkgs/development/python-modules/venusian/default.nix1
-rw-r--r--pkgs/development/python-modules/versiontag/default.nix1
-rw-r--r--pkgs/development/python-modules/versiontools/default.nix1
-rw-r--r--pkgs/development/python-modules/veryprettytable/default.nix1
-rw-r--r--pkgs/development/python-modules/vharfbuzz/default.nix38
-rw-r--r--pkgs/development/python-modules/videocr/default.nix1
-rw-r--r--pkgs/development/python-modules/vidstab/default.nix1
-rw-r--r--pkgs/development/python-modules/viewstate/default.nix1
-rw-r--r--pkgs/development/python-modules/vilfo-api-client/default.nix1
-rw-r--r--pkgs/development/python-modules/vincenty/default.nix1
-rw-r--r--pkgs/development/python-modules/virtkey/default.nix1
-rw-r--r--pkgs/development/python-modules/virtualenvwrapper/default.nix1
-rw-r--r--pkgs/development/python-modules/visitor/default.nix1
-rw-r--r--pkgs/development/python-modules/viv-utils/default.nix1
-rw-r--r--pkgs/development/python-modules/vmprof/default.nix1
-rw-r--r--pkgs/development/python-modules/vobject/default.nix1
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix1
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix1
-rw-r--r--pkgs/development/python-modules/vpk/default.nix1
-rw-r--r--pkgs/development/python-modules/vprof/default.nix42
-rw-r--r--pkgs/development/python-modules/vsts-cd-manager/default.nix1
-rw-r--r--pkgs/development/python-modules/vsts/default.nix1
-rw-r--r--pkgs/development/python-modules/vultr/default.nix1
-rw-r--r--pkgs/development/python-modules/wadllib/default.nix1
-rw-r--r--pkgs/development/python-modules/wagtail-factories/default.nix1
-rw-r--r--pkgs/development/python-modules/waitress-django/default.nix1
-rw-r--r--pkgs/development/python-modules/waitress/default.nix1
-rw-r--r--pkgs/development/python-modules/wand/default.nix1
-rw-r--r--pkgs/development/python-modules/waqiasync/default.nix1
-rw-r--r--pkgs/development/python-modules/warrant/default.nix1
-rw-r--r--pkgs/development/python-modules/wasserstein/default.nix1
-rw-r--r--pkgs/development/python-modules/watchgod/default.nix1
-rw-r--r--pkgs/development/python-modules/wavefile/default.nix1
-rw-r--r--pkgs/development/python-modules/wcag-contrast-ratio/default.nix1
-rw-r--r--pkgs/development/python-modules/wcwidth/default.nix1
-rw-r--r--pkgs/development/python-modules/web-cache/default.nix1
-rw-r--r--pkgs/development/python-modules/webargs/default.nix1
-rw-r--r--pkgs/development/python-modules/webassets/default.nix1
-rw-r--r--pkgs/development/python-modules/webdataset/default.nix83
-rw-r--r--pkgs/development/python-modules/webdavclient3/default.nix1
-rw-r--r--pkgs/development/python-modules/webencodings/default.nix1
-rw-r--r--pkgs/development/python-modules/webrtcvad/default.nix1
-rw-r--r--pkgs/development/python-modules/wget/default.nix1
-rw-r--r--pkgs/development/python-modules/whichcraft/default.nix1
-rw-r--r--pkgs/development/python-modules/whisper/default.nix1
-rw-r--r--pkgs/development/python-modules/widlparser/default.nix1
-rw-r--r--pkgs/development/python-modules/wifi/default.nix1
-rw-r--r--pkgs/development/python-modules/wn/default.nix9
-rw-r--r--pkgs/development/python-modules/woodblock/default.nix1
-rw-r--r--pkgs/development/python-modules/worldengine/default.nix1
-rw-r--r--pkgs/development/python-modules/wrapio/default.nix1
-rw-r--r--pkgs/development/python-modules/ws4py/default.nix1
-rw-r--r--pkgs/development/python-modules/wsgiprox/default.nix1
-rw-r--r--pkgs/development/python-modules/wsgitools/default.nix1
-rw-r--r--pkgs/development/python-modules/wsme/default.nix1
-rw-r--r--pkgs/development/python-modules/wsnsimpy/default.nix1
-rw-r--r--pkgs/development/python-modules/wsproto/default.nix1
-rw-r--r--pkgs/development/python-modules/wtf-peewee/default.nix4
-rw-r--r--pkgs/development/python-modules/x256/default.nix1
-rw-r--r--pkgs/development/python-modules/xbox-webapi/default.nix1
-rw-r--r--pkgs/development/python-modules/xboxapi/default.nix1
-rw-r--r--pkgs/development/python-modules/xdot/default.nix1
-rw-r--r--pkgs/development/python-modules/xkbcommon/default.nix1
-rw-r--r--pkgs/development/python-modules/xkcdpass/default.nix4
-rw-r--r--pkgs/development/python-modules/xlib/default.nix1
-rw-r--r--pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch13
-rw-r--r--pkgs/development/python-modules/xlrd/default.nix1
-rw-r--r--pkgs/development/python-modules/xlwt/default.nix1
-rw-r--r--pkgs/development/python-modules/xml-marshaller/default.nix1
-rw-r--r--pkgs/development/python-modules/xmldiff/default.nix1
-rw-r--r--pkgs/development/python-modules/xmljson/default.nix1
-rw-r--r--pkgs/development/python-modules/xmodem/default.nix1
-rw-r--r--pkgs/development/python-modules/xnd/default.nix1
-rw-r--r--pkgs/development/python-modules/xpybutil/default.nix1
-rw-r--r--pkgs/development/python-modules/xtensor-python/default.nix2
-rw-r--r--pkgs/development/python-modules/xvfbwrapper/default.nix1
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix1
-rw-r--r--pkgs/development/python-modules/yacs/default.nix1
-rw-r--r--pkgs/development/python-modules/yahooweather/default.nix1
-rw-r--r--pkgs/development/python-modules/yamlordereddictloader/default.nix1
-rw-r--r--pkgs/development/python-modules/yanc/default.nix1
-rw-r--r--pkgs/development/python-modules/yapf/default.nix1
-rw-r--r--pkgs/development/python-modules/yapsy/default.nix1
-rw-r--r--pkgs/development/python-modules/yarg/default.nix1
-rw-r--r--pkgs/development/python-modules/yaswfp/default.nix1
-rw-r--r--pkgs/development/python-modules/ydiff/default.nix1
-rw-r--r--pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--pkgs/development/python-modules/yolink-api/default.nix4
-rw-r--r--pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch25
-rw-r--r--pkgs/development/python-modules/youseedee/default.nix46
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix1
-rw-r--r--pkgs/development/python-modules/yoyo-migrations/default.nix1
-rw-r--r--pkgs/development/python-modules/yq/default.nix1
-rw-r--r--pkgs/development/python-modules/yubico-client/default.nix1
-rw-r--r--pkgs/development/python-modules/z3c-checkversions/default.nix1
-rw-r--r--pkgs/development/python-modules/zc_lockfile/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroc-ice/default.nix1
-rw-r--r--pkgs/development/python-modules/zerorpc/default.nix1
-rw-r--r--pkgs/development/python-modules/zetup/default.nix1
-rw-r--r--pkgs/development/python-modules/zfec/default.nix1
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix1
-rw-r--r--pkgs/development/python-modules/zipfile2/default.nix1
-rw-r--r--pkgs/development/python-modules/zipstream/default.nix1
-rw-r--r--pkgs/development/python-modules/zm-py/default.nix1
-rw-r--r--pkgs/development/python-modules/zope-component/default.nix4
-rw-r--r--pkgs/development/python-modules/zope-configuration/default.nix63
-rw-r--r--pkgs/development/python-modules/zope-deferredimport/default.nix1
-rw-r--r--pkgs/development/python-modules/zope-hookable/default.nix5
-rw-r--r--pkgs/development/python-modules/zope-testbrowser/default.nix4
-rw-r--r--pkgs/development/python-modules/zope-testing/default.nix49
-rw-r--r--pkgs/development/python-modules/zope_configuration/default.nix33
-rw-r--r--pkgs/development/python-modules/zope_schema/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_testing/default.nix30
-rw-r--r--pkgs/development/python-modules/zope_testrunner/default.nix4
-rw-r--r--pkgs/development/python-modules/zstd/default.nix1
-rw-r--r--pkgs/development/python-modules/zulip/default.nix18
-rw-r--r--pkgs/development/scheme-modules/scheme-bytestructures/default.nix3
-rw-r--r--pkgs/development/skaware-packages/s6-man-pages/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix9
-rw-r--r--pkgs/development/tools/bearer/default.nix4
-rw-r--r--pkgs/development/tools/benthos/default.nix6
-rw-r--r--pkgs/development/tools/bloaty/default.nix46
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/1.9.nix111
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch24
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--pkgs/development/tools/buildkit/default.nix4
-rw-r--r--pkgs/development/tools/buildpack/default.nix4
-rw-r--r--pkgs/development/tools/cocogitto/default.nix6
-rw-r--r--pkgs/development/tools/compass/Gemfile5
-rw-r--r--pkgs/development/tools/compass/Gemfile.lock4
-rw-r--r--pkgs/development/tools/compass/default.nix9
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/pkg.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/plugins.nix30
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/worker.nix2
-rw-r--r--pkgs/development/tools/cucumber/Gemfile.lock24
-rw-r--r--pkgs/development/tools/cucumber/gemset.nix20
-rw-r--r--pkgs/development/tools/database/litefs/default.nix6
-rw-r--r--pkgs/development/tools/database/prisma-engines/Cargo.lock345
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix5
-rw-r--r--pkgs/development/tools/database/sqlcl/default.nix4
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/Cargo.lock257
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/default.nix4
-rw-r--r--pkgs/development/tools/database/trino-cli/default.nix4
-rw-r--r--pkgs/development/tools/electron/binary/generic.nix2
-rw-r--r--pkgs/development/tools/electron/common.nix12
-rw-r--r--pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch73
-rw-r--r--pkgs/development/tools/electron/info.json1130
-rw-r--r--pkgs/development/tools/electron/version-old.patch42
-rw-r--r--pkgs/development/tools/electron/version.patch4
-rw-r--r--pkgs/development/tools/espup/default.nix8
-rw-r--r--pkgs/development/tools/fastgron/default.nix4
-rw-r--r--pkgs/development/tools/fsautocomplete/deps.nix16
-rw-r--r--pkgs/development/tools/gdtoolkit/default.nix41
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/gojq/default.nix6
-rw-r--r--pkgs/development/tools/goperf/default.nix38
-rw-r--r--pkgs/development/tools/heroku/default.nix25
-rw-r--r--pkgs/development/tools/konstraint/default.nix6
-rw-r--r--pkgs/development/tools/melange/default.nix6
-rw-r--r--pkgs/development/tools/memray/default.nix8
-rw-r--r--pkgs/development/tools/minizinc/default.nix4
-rw-r--r--pkgs/development/tools/misc/act/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch68
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix8
-rw-r--r--pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix4
-rw-r--r--pkgs/development/tools/misc/phpunit/composer.lock1542
-rw-r--r--pkgs/development/tools/misc/pkg-config/default.nix8
-rw-r--r--pkgs/development/tools/misc/segger-ozone/default.nix48
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix8
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix6
-rw-r--r--pkgs/development/tools/mongosh/package-lock.json2092
-rw-r--r--pkgs/development/tools/mongosh/source.json8
-rw-r--r--pkgs/development/tools/neil/default.nix4
-rw-r--r--pkgs/development/tools/packer/default.nix6
-rw-r--r--pkgs/development/tools/redoc-cli/default.nix2
-rw-r--r--pkgs/development/tools/reindeer/default.nix8
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deb/default.nix7
-rw-r--r--pkgs/development/tools/rust/cargo-hack/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-leptos/Cargo.lock571
-rw-r--r--pkgs/development/tools/rust/cargo-leptos/default.nix15
-rw-r--r--pkgs/development/tools/rust/cargo-update/default.nix6
-rw-r--r--pkgs/development/tools/rust/ravedude/default.nix18
-rw-r--r--pkgs/development/tools/sca2d/default.nix2
-rw-r--r--pkgs/development/tools/spring-boot-cli/default.nix4
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/tools/tailwindcss/default.nix12
-rw-r--r--pkgs/development/tools/turso-cli/default.nix4
-rw-r--r--pkgs/development/tools/twilio-cli/default.nix4
-rw-r--r--pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch15
-rw-r--r--pkgs/development/tools/vagrant/default.nix15
-rw-r--r--pkgs/development/tools/vagrant/gemset_libvirt.nix42
-rw-r--r--pkgs/development/tools/vala-lint/default.nix6
-rw-r--r--pkgs/development/tools/vendir/default.nix4
-rw-r--r--pkgs/development/tools/vsce/default.nix4
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/default.nix6
-rw-r--r--pkgs/development/tools/yq-go/default.nix8
-rw-r--r--pkgs/development/tools/zed/default.nix6
-rw-r--r--pkgs/development/web/bun/default.nix10
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch95
-rw-r--r--pkgs/games/aaaaxy/default.nix6
-rw-r--r--pkgs/games/amoeba/default.nix20
-rw-r--r--pkgs/games/armagetronad/default.nix2
-rw-r--r--pkgs/games/chiaki4deck/default.nix4
-rw-r--r--pkgs/games/doom-ports/zandronum/add_gitinfo.patch20
-rw-r--r--pkgs/games/doom-ports/zandronum/default.nix49
-rw-r--r--pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch14
-rw-r--r--pkgs/games/doom-ports/zandronum/sqlite.nix4
-rw-r--r--pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch70
-rw-r--r--pkgs/games/gambatte/fix-scons-paths.patch15
-rw-r--r--pkgs/games/gcompris/default.nix2
-rw-r--r--pkgs/games/maptool/default.nix36
-rw-r--r--pkgs/games/openttd/jgrpp.nix4
-rw-r--r--pkgs/games/path-of-building/default.nix4
-rw-r--r--pkgs/games/runelite/default.nix7
-rw-r--r--pkgs/games/starsector/default.nix3
-rw-r--r--pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch136
-rw-r--r--pkgs/games/stepmania/default.nix55
-rw-r--r--pkgs/games/tennix/fix_FTBFS.patch288
-rw-r--r--pkgs/games/ultrastardx/default.nix4
-rw-r--r--pkgs/games/warzone2100/default.nix7
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix4
-rw-r--r--pkgs/misc/cups/0001-TargetConditionals.patch29
-rw-r--r--pkgs/misc/documentation-highlighter/LICENSE43
-rw-r--r--pkgs/misc/documentation-highlighter/README.md149
-rw-r--r--pkgs/misc/documentation-highlighter/highlight.pack.js347
-rw-r--r--pkgs/misc/documentation-highlighter/loader.js11
-rw-r--r--pkgs/misc/documentation-highlighter/mono-blue.css33
-rwxr-xr-xpkgs/misc/documentation-highlighter/update.sh18
-rw-r--r--pkgs/misc/doge/default.nix19
-rw-r--r--pkgs/misc/scrcpy/default.nix6
-rw-r--r--pkgs/os-specific/darwin/rectangle/default.nix4
-rw-r--r--pkgs/os-specific/linux/autosuspend/default.nix12
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json32
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.15.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-6.1.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix9
-rw-r--r--pkgs/os-specific/linux/libnss-mysql/default.nix13
-rw-r--r--pkgs/os-specific/linux/libnvme/default.nix2
-rw-r--r--pkgs/os-specific/linux/light/default.nix1
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix15
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix7
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix20
-rw-r--r--pkgs/os-specific/linux/pam_mysql/default.nix17
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch295
-rw-r--r--pkgs/os-specific/linux/zsa-udev-rules/default.nix6
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch51
-rw-r--r--pkgs/servers/bazarr/default.nix4
-rw-r--r--pkgs/servers/dico/default.nix3
-rw-r--r--pkgs/servers/elasticmq-server-bin/default.nix4
-rw-r--r--pkgs/servers/etcd/3.4.nix12
-rw-r--r--pkgs/servers/etcd/3.5.nix10
-rw-r--r--pkgs/servers/home-assistant/build-custom-component/check_manifest.py38
-rw-r--r--pkgs/servers/home-assistant/build-custom-component/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-components/README.md30
-rw-r--r--pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix30
-rw-r--r--pkgs/servers/home-assistant/custom-components/default.nix8
-rw-r--r--pkgs/servers/home-assistant/custom-components/govee-lan/default.nix39
-rw-r--r--pkgs/servers/home-assistant/custom-components/miele/default.nix35
-rw-r--r--pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix (renamed from pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix)3
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/default.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix39
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix6
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix59
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json25
-rw-r--r--pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch12
-rw-r--r--pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch88
-rw-r--r--pkgs/servers/invidious/versions.json6
-rw-r--r--pkgs/servers/komga/default.nix12
-rw-r--r--pkgs/servers/krill/default.nix9
-rw-r--r--pkgs/servers/mail/mailman/package.nix2
-rw-r--r--pkgs/servers/mail/mailpit/default.nix8
-rw-r--r--pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch44
-rw-r--r--pkgs/servers/mastodon/gemset.nix24
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/matrix-synapse/sliding-sync/default.nix6
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix8
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/mir/default.nix4
-rw-r--r--pkgs/servers/misc/virtiofsd/default.nix1
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix29
-rw-r--r--pkgs/servers/monitoring/plugins/default.nix5
-rw-r--r--pkgs/servers/monitoring/prometheus/atlas-exporter.nix22
-rw-r--r--pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch51
-rw-r--r--pkgs/servers/mxisd/0001-gradle.patch22
-rw-r--r--pkgs/servers/nats-server/default.nix6
-rw-r--r--pkgs/servers/nosql/ferretdb/default.nix6
-rw-r--r--pkgs/servers/nosql/immudb/default.nix6
-rw-r--r--pkgs/servers/nosql/janusgraph/default.nix4
-rw-r--r--pkgs/servers/owncast/default.nix6
-rw-r--r--pkgs/servers/oxigraph/default.nix6
-rw-r--r--pkgs/servers/prowlarr/default.nix10
-rw-r--r--pkgs/servers/rmfakecloud/webui.nix6
-rw-r--r--pkgs/servers/rustypaste/default.nix6
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/search/opensearch/default.nix4
-rw-r--r--pkgs/servers/spicedb/default.nix6
-rw-r--r--pkgs/servers/sql/pgpool/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix33
-rw-r--r--pkgs/servers/sunshine/default.nix2
-rw-r--r--pkgs/servers/tailscale/default.nix4
-rw-r--r--pkgs/servers/teleport/11/default.nix19
-rw-r--r--pkgs/servers/tracing/honeycomb/refinery/default.nix2
-rw-r--r--pkgs/servers/unstructured-api/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix3
-rw-r--r--pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch22
-rw-r--r--pkgs/servers/web-apps/netbox/config_3_3.patch50
-rw-r--r--pkgs/servers/web-apps/netbox/default.nix4
-rw-r--r--pkgs/servers/web-apps/netbox/generic.nix2
-rw-r--r--pkgs/servers/web-apps/netbox/graphql-3_2_0.patch21
-rw-r--r--pkgs/servers/web-apps/nifi/default.nix4
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix6
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix6
-rw-r--r--pkgs/shells/fish/default.nix6
-rw-r--r--pkgs/shells/fish/plugins/fzf-fish.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/zsh/agdsn-zsh-config/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-vi-mode/default.nix5
-rw-r--r--pkgs/stdenv/darwin/fixed-xnu-python3.patch41
-rw-r--r--pkgs/test/cuda/cuda-library-samples/extension.nix17
-rw-r--r--pkgs/test/cuda/cuda-library-samples/generic.nix74
-rw-r--r--pkgs/test/cuda/cuda-samples/extension.nix49
-rw-r--r--pkgs/test/cuda/cuda-samples/generic.nix125
-rw-r--r--pkgs/test/cuda/default.nix12
-rw-r--r--pkgs/test/default.nix4
-rw-r--r--pkgs/tools/admin/aws-encryption-sdk-cli/default.nix26
-rw-r--r--pkgs/tools/admin/awscli2/default.nix5
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix5
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix7
-rw-r--r--pkgs/tools/admin/berglas/default.nix6
-rw-r--r--pkgs/tools/admin/chamber/default.nix4
-rw-r--r--pkgs/tools/admin/colmena/default.nix2
-rw-r--r--pkgs/tools/admin/lxd/default.nix2
-rw-r--r--pkgs/tools/admin/lxd/ui.nix8
-rw-r--r--pkgs/tools/admin/pulumi-bin/data.nix338
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix2
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix2
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix2
-rw-r--r--pkgs/tools/admin/pulumi/default.nix6
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix6
-rw-r--r--pkgs/tools/admin/simplotask/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/audio/fmtoy/default.nix72
-rw-r--r--pkgs/tools/audio/mpdcron/fix-canonicalize-conflict-with-glibc.patch22
-rw-r--r--pkgs/tools/audio/mpdcron/gemset.nix13
-rw-r--r--pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch18
-rw-r--r--pkgs/tools/backup/bup/default.nix2
-rw-r--r--pkgs/tools/backup/pgbackrest/default.nix4
-rw-r--r--pkgs/tools/compression/bzip3/default.nix4
-rw-r--r--pkgs/tools/compression/ouch/default.nix16
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/blobfuse/install-adls.patch14
-rw-r--r--pkgs/tools/filesystems/davfs2/isdir.patch30
-rw-r--r--pkgs/tools/filesystems/dwarfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix8
-rw-r--r--pkgs/tools/filesystems/stratisd/Cargo.lock3
-rw-r--r--pkgs/tools/filesystems/stratisd/default.nix4
-rw-r--r--pkgs/tools/filesystems/stuffbin/default.nix4
-rw-r--r--pkgs/tools/games/ajour/default.nix6
-rw-r--r--pkgs/tools/games/igir/default.nix31
-rw-r--r--pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch17
-rw-r--r--pkgs/tools/games/pocket-updater-utility/default.nix9
-rw-r--r--pkgs/tools/games/pocket-updater-utility/deps.nix1
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix4
-rw-r--r--pkgs/tools/graphics/astc-encoder/default.nix4
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix19
-rw-r--r--pkgs/tools/graphics/mangohud/default.nix6
-rw-r--r--pkgs/tools/graphics/qrcode/default.nix8
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix47
-rw-r--r--pkgs/tools/inputmethods/fusuma/Gemfile6
-rw-r--r--pkgs/tools/inputmethods/fusuma/Gemfile.lock25
-rw-r--r--pkgs/tools/inputmethods/fusuma/gemset.nix35
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix10
-rw-r--r--pkgs/tools/inputmethods/keymapper/default.nix4
-rw-r--r--pkgs/tools/misc/cf-terraforming/default.nix4
-rw-r--r--pkgs/tools/misc/diffoci/default.nix6
-rw-r--r--pkgs/tools/misc/dua/default.nix6
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/fastfetch/default.nix4
-rw-r--r--pkgs/tools/misc/fend/default.nix21
-rw-r--r--pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch28
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/gti/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/bin-mv.patch30
-rw-r--r--pkgs/tools/misc/hyfetch/default.nix4
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/moar/default.nix4
-rw-r--r--pkgs/tools/misc/nb/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix4
-rw-r--r--pkgs/tools/misc/ostree/default.nix4
-rw-r--r--pkgs/tools/misc/panoply/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pls/default.nix44
-rw-r--r--pkgs/tools/misc/rkvm/default.nix6
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/sshx/default.nix79
-rw-r--r--pkgs/tools/misc/svu/default.nix4
-rw-r--r--pkgs/tools/misc/vrc-get/Cargo.lock (renamed from pkgs/servers/teleport/11/Cargo.lock)1855
-rw-r--r--pkgs/tools/misc/vrc-get/default.nix12
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix49
-rw-r--r--pkgs/tools/networking/bsd-finger/default.nix1
-rw-r--r--pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch53
-rw-r--r--pkgs/tools/networking/dirb/default.nix3
-rw-r--r--pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch12
-rw-r--r--pkgs/tools/networking/gping/default.nix6
-rw-r--r--pkgs/tools/networking/hping/default.nix7
-rw-r--r--pkgs/tools/networking/magic-wormhole-rs/default.nix6
-rw-r--r--pkgs/tools/networking/maubot/wrapper.nix2
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/mockoon/default.nix4
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix12
-rw-r--r--pkgs/tools/networking/nexttrace/default.nix6
-rw-r--r--pkgs/tools/networking/nikto/default.nix16
-rw-r--r--pkgs/tools/networking/nikto/nix-wrapper-fix.patch (renamed from pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch)24
-rw-r--r--pkgs/tools/networking/ofono/default.nix4
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/photon/destdir.patch20
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/strongswan/default.nix4
-rw-r--r--pkgs/tools/networking/trippy/default.nix6
-rw-r--r--pkgs/tools/networking/wakelan/default.nix3
-rw-r--r--pkgs/tools/networking/whois/default.nix10
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py4
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py4
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py24
-rw-r--r--pkgs/tools/package-management/libcomps/default.nix65
-rw-r--r--pkgs/tools/package-management/libcomps/fix-python-install-dir.patch13
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix34
-rw-r--r--pkgs/tools/package-management/libdnf/fix-python-install-dir.patch12
-rw-r--r--pkgs/tools/package-management/micromamba/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-doc/default.nix6
-rw-r--r--pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch13
-rw-r--r--pkgs/tools/security/argocd-vault-plugin/default.nix6
-rw-r--r--pkgs/tools/security/aws-iam-authenticator/default.nix6
-rw-r--r--pkgs/tools/security/cfripper/default.nix4
-rw-r--r--pkgs/tools/security/clevis/default.nix15
-rw-r--r--pkgs/tools/security/clevis/tang-timeout.patch13
-rw-r--r--pkgs/tools/security/cnspec/default.nix6
-rw-r--r--pkgs/tools/security/cryptomator/default.nix23
-rw-r--r--pkgs/tools/security/dalfox/default.nix6
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fscan/default.nix5
-rw-r--r--pkgs/tools/security/gnupg/gpgkey2ssh-20.patch14
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/gopass/git-credential.nix6
-rw-r--r--pkgs/tools/security/gopass/hibp.nix6
-rw-r--r--pkgs/tools/security/gopass/jsonapi.nix6
-rw-r--r--pkgs/tools/security/gopass/summon.nix6
-rw-r--r--pkgs/tools/security/gotestwaf/default.nix4
-rw-r--r--pkgs/tools/security/jadx/default.nix7
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock6
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix6
-rw-r--r--pkgs/tools/security/nitrokey-app2/default.nix1
-rw-r--r--pkgs/tools/security/oauth2c/default.nix6
-rw-r--r--pkgs/tools/security/ossec/agent.nix69
-rw-r--r--pkgs/tools/security/ossec/default.nix45
-rw-r--r--pkgs/tools/security/ossec/no-root.patch403
-rw-r--r--pkgs/tools/security/ossec/server.nix70
-rw-r--r--pkgs/tools/security/pinentry-bemenu/default.nix4
-rw-r--r--pkgs/tools/security/qdigidoc/default.nix6
-rw-r--r--pkgs/tools/security/rblake2sum/default.nix1
-rw-r--r--pkgs/tools/security/rblake3sum/default.nix29
-rw-r--r--pkgs/tools/security/srm/default.nix17
-rw-r--r--pkgs/tools/security/srm/fix-output-in-verbose-mode.patch57
-rw-r--r--pkgs/tools/security/sss-cli/default.nix27
-rw-r--r--pkgs/tools/security/sss-cli/fix-cargo-lock.patch21
-rw-r--r--pkgs/tools/security/step-cli/default.nix6
-rw-r--r--pkgs/tools/security/step-kms-plugin/default.nix6
-rw-r--r--pkgs/tools/security/sudo/default.nix14
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock48
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix64
-rw-r--r--pkgs/tools/system/openseachest/default.nix4
-rw-r--r--pkgs/tools/system/skeema/default.nix4
-rw-r--r--pkgs/tools/text/d2/default.nix6
-rw-r--r--pkgs/tools/text/enscript/0001-use-system-getopt.patch68
-rw-r--r--pkgs/tools/text/enscript/default.nix20
-rw-r--r--pkgs/tools/text/fastmod/default.nix6
-rw-r--r--pkgs/tools/text/kdiff3/default.nix2
-rw-r--r--pkgs/tools/text/languagetool/default.nix4
-rw-r--r--pkgs/tools/text/tuc/default.nix6
-rw-r--r--pkgs/tools/typesetting/tex/catdvi/default.nix5
-rw-r--r--pkgs/tools/typesetting/typstfmt/Cargo.lock142
-rw-r--r--pkgs/tools/typesetting/typstfmt/default.nix4
-rw-r--r--pkgs/tools/video/go2rtc/default.nix6
-rw-r--r--pkgs/tools/virtualization/distrobuilder/default.nix2
-rw-r--r--pkgs/tools/virtualization/xe-guest-utilities/default.nix7
-rw-r--r--pkgs/tools/wayland/mpvpaper/default.nix6
-rw-r--r--pkgs/tools/wayland/swaysome/default.nix6
-rw-r--r--pkgs/tools/wayland/wob/default.nix7
-rw-r--r--pkgs/top-level/aliases.nix24
-rw-r--r--pkgs/top-level/all-packages.nix320
-rw-r--r--pkgs/top-level/cuda-packages.nix192
-rw-r--r--pkgs/top-level/hare-third-party.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix23
-rw-r--r--pkgs/top-level/ocaml-packages.nix1
-rw-r--r--pkgs/top-level/php-packages.nix6
-rw-r--r--pkgs/top-level/python-aliases.nix4
-rw-r--r--pkgs/top-level/python-packages.nix158
-rw-r--r--pkgs/top-level/qt5-packages.nix8
-rw-r--r--pkgs/top-level/qt6-packages.nix2
-rw-r--r--pkgs/top-level/release-haskell.nix12
-rw-r--r--pkgs/top-level/ruby-packages.nix283
4021 files changed, 94698 insertions, 47369 deletions
diff --git a/.editorconfig b/.editorconfig
index ebb66b07945c1..c4682829e357b 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -90,6 +90,9 @@ insert_final_newline = unset
 indent_style = unset
 trim_trailing_whitespace = unset
 
+[pkgs/misc/documentation-highlighter/**]
+insert_final_newline = unset
+
 [pkgs/servers/dict/wordnet_structures.py]
 trim_trailing_whitespace = unset
 
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 78e56796425dc..5ff1371fe7e9b 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -105,6 +105,9 @@
 /nixos/lib/systemd-*.nix                    @NixOS/systemd
 /pkgs/os-specific/linux/systemd             @NixOS/systemd
 
+# Systemd-boot
+/nixos/modules/system/boot/loader/systemd-boot      @JulienMalka
+
 # Images and installer media
 /nixos/modules/installer/cd-dvd/            @samueldr
 /nixos/modules/installer/sd-card/           @samueldr
@@ -334,8 +337,8 @@ nixos/modules/tasks/filesystems/zfs.nix   @raitobezarius
 nixos/tests/zfs.nix                       @raitobezarius
 
 # Zig
-/pkgs/development/compilers/zig @AndersonTorres @figsoda
-/doc/hooks/zig.section.md @AndersonTorres @figsoda
+/pkgs/development/compilers/zig @figsoda
+/doc/hooks/zig.section.md       @figsoda
 
 # Linux Kernel
 pkgs/os-specific/linux/kernel/manual-config.nix   @amjoseph-nixpkgs
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index ab576c98b6e05..d0473b9473fb6 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -40,7 +40,7 @@ Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
 output here
 ```
 
-### Priorities
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/ISSUE_TEMPLATE/build_failure.md b/.github/ISSUE_TEMPLATE/build_failure.md
index ce56a198d452c..cd01f2b063c0c 100644
--- a/.github/ISSUE_TEMPLATE/build_failure.md
+++ b/.github/ISSUE_TEMPLATE/build_failure.md
@@ -38,7 +38,7 @@ Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
 output here
 ```
 
-### Priorities
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/ISSUE_TEMPLATE/missing_documentation.md b/.github/ISSUE_TEMPLATE/missing_documentation.md
index fea51087a2af5..6f8e583bd346e 100644
--- a/.github/ISSUE_TEMPLATE/missing_documentation.md
+++ b/.github/ISSUE_TEMPLATE/missing_documentation.md
@@ -30,7 +30,7 @@ assignees: ''
 [open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
 [open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22
 
-### Priorities
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
index 7c446a8e9b337..802f47935aeef 100644
--- a/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
+++ b/.github/ISSUE_TEMPLATE/out_of_date_package_report.md
@@ -27,7 +27,7 @@ There's a high chance that you'll have the new version right away while helping
 
 Note for maintainers: Please tag this issue in your PR.
 
-**Priorities**
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/ISSUE_TEMPLATE/packaging_request.md b/.github/ISSUE_TEMPLATE/packaging_request.md
index f85b391b9de3c..021c9060ebe53 100644
--- a/.github/ISSUE_TEMPLATE/packaging_request.md
+++ b/.github/ISSUE_TEMPLATE/packaging_request.md
@@ -18,7 +18,7 @@ assignees: ''
 * license: mit, bsd, gpl2+ , ...
 * platforms: unix, linux, darwin, ...
 
-**Priorities**
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/ISSUE_TEMPLATE/unreproducible_package.md b/.github/ISSUE_TEMPLATE/unreproducible_package.md
index 4b1c322c1153d..dd19abaf75886 100644
--- a/.github/ISSUE_TEMPLATE/unreproducible_package.md
+++ b/.github/ISSUE_TEMPLATE/unreproducible_package.md
@@ -86,7 +86,7 @@ nix log $(nix path-info --derivation nixpkgs#<package>)
 (please share the relevant fragment of the diffoscope output here, and any
 additional analysis you may have done)
 
-### Priorities
+---
 
 Add a :+1: [reaction] to [issues you find important].
 
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 37ab02aaa2334..40ea13f131e81 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -41,7 +41,7 @@ List of open PRs: https://github.com/NixOS/nixpkgs/pulls
 Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
 -->
 
-### Priorities
+---
 
 Add a :+1: [reaction] to [pull requests you find important].
 
diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml
index ecd3a601ba02f..46f87b0297c3a 100644
--- a/.github/workflows/basic-eval.yml
+++ b/.github/workflows/basic-eval.yml
@@ -19,8 +19,8 @@ jobs:
     # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
     steps:
     - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
-    - uses: cachix/install-nix-action@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
-    - uses: cachix/cachix-action@6a9a34cdd93d0ae4b4b59fd678660efb08109f2f # v13
+    - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
+    - uses: cachix/cachix-action@6a2e08b5ebf7a9f285ff57b1870a4262b06e0bee # v13
       with:
         # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
         name: nixpkgs-ci
diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml
index 8ae66e246732f..294775fa1c8e2 100644
--- a/.github/workflows/check-by-name.yml
+++ b/.github/workflows/check-by-name.yml
@@ -78,7 +78,7 @@ jobs:
           echo "baseSha=$(git rev-parse HEAD^1)" >> "$GITHUB_ENV"
 
           echo "headSha=$(git rev-parse HEAD^2)" >> "$GITHUB_ENV"
-      - uses: cachix/install-nix-action@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+      - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
       - name: Determining channel to use for dependencies
         run: |
           echo "Determining the preferred channel to use for PR base branch $GITHUB_BASE_REF"
diff --git a/.github/workflows/check-maintainers-sorted.yaml b/.github/workflows/check-maintainers-sorted.yaml
index 543edfeb9f5da..94f71ad7f8943 100644
--- a/.github/workflows/check-maintainers-sorted.yaml
+++ b/.github/workflows/check-maintainers-sorted.yaml
@@ -16,7 +16,7 @@ jobs:
         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@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+      - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml
index 36180b9aa5d6a..80067327fdb96 100644
--- a/.github/workflows/editorconfig.yml
+++ b/.github/workflows/editorconfig.yml
@@ -28,7 +28,7 @@ jobs:
       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@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+    - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
       with:
         # nixpkgs commit is pinned so that it doesn't break
         # editorconfig-checker 2.4.0
diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml
index 2b21568b556aa..2c42f83e3010b 100644
--- a/.github/workflows/manual-nixos.yml
+++ b/.github/workflows/manual-nixos.yml
@@ -18,11 +18,11 @@ jobs:
         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@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+      - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
-      - uses: cachix/cachix-action@6a9a34cdd93d0ae4b4b59fd678660efb08109f2f # v13
+      - uses: cachix/cachix-action@6a2e08b5ebf7a9f285ff57b1870a4262b06e0bee # v13
         with:
           # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
           name: nixpkgs-ci
diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml
index 23c97eafe7799..d10b5b9bb7012 100644
--- a/.github/workflows/manual-nixpkgs.yml
+++ b/.github/workflows/manual-nixpkgs.yml
@@ -19,11 +19,11 @@ jobs:
         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@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+      - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
-      - uses: cachix/cachix-action@6a9a34cdd93d0ae4b4b59fd678660efb08109f2f # v13
+      - uses: cachix/cachix-action@6a2e08b5ebf7a9f285ff57b1870a4262b06e0bee # v13
         with:
           # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
           name: nixpkgs-ci
diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml
index 308d9057859ed..9ce6a7c74cc18 100644
--- a/.github/workflows/periodic-merge-24h.yml
+++ b/.github/workflows/periodic-merge-24h.yml
@@ -13,6 +13,7 @@ on:
     # * is a special character in YAML so you have to quote this string
     # Merge every 24 hours
     - cron:  '0 0 * * *'
+  workflow_dispatch:
 
 permissions:
   contents: read
diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml
index 5d5f86db48f53..f3151ead6a0f3 100644
--- a/.github/workflows/periodic-merge-6h.yml
+++ b/.github/workflows/periodic-merge-6h.yml
@@ -13,6 +13,7 @@ on:
     # * is a special character in YAML so you have to quote this string
     # Merge every 6 hours
     - cron:  '0 */6 * * *'
+  workflow_dispatch:
 
 permissions:
   contents: read
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index c1a0e711ed078..a67070fe6abe6 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -17,7 +17,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
-      - uses: cachix/install-nix-action@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v24
+      - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24
         with:
           nix_path: nixpkgs=channel:nixpkgs-unstable
       - name: setup
@@ -60,7 +60,7 @@ jobs:
 
             Check that all providers build with:
             ```
-            @ofborg build terraform.full
+            @ofborg build opentofu.full
             ```
             If there is more than ten commits in the PR `ofborg` won't build it automatically and you will need to use the above command.
           branch: terraform-providers-update
diff --git a/.mailmap b/.mailmap
index d2bf6d0e47693..ba9bcefb55e1c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -12,3 +12,5 @@ Sandro Jäckel <sandro.jaeckel@gmail.com> <sandro.jaeckel@sap.com>
 superherointj <5861043+superherointj@users.noreply.github.com>
 Vladimír Čunát <v@cunat.cz> <vcunat@gmail.com>
 Vladimír Čunát <v@cunat.cz> <vladimir.cunat@nic.cz>
+Yifei Sun <ysun@hey.com> StepBroBD <Hi@StepBroBD.com>
+Yifei Sun <ysun@hey.com> <ysun+git@stepbrobd.com>
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ef97f0a36eba7..a6d8537729636 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,7 +26,7 @@ This file contains general contributing information, but individual parts also h
 
 This section describes in some detail how changes can be made and proposed with pull requests.
 
-> **Note**
+> [!Note]
 > Be aware that contributing implies licensing those contributions under the terms of [COPYING](./COPYING), an MIT-like license.
 
 0. Set up a local version of Nixpkgs to work with using GitHub and Git
@@ -273,7 +273,7 @@ Once a pull request has been merged into `master`, a backport pull request to th
 
 ### Automatically backporting changes
 
-> **Note**
+> [!Note]
 > You have to be a [Nixpkgs maintainer](./maintainers) to automatically create a backport pull request.
 
 Add the [`backport release-YY.MM` label](https://github.com/NixOS/nixpkgs/labels?q=backport) to the pull request on the `master` branch.
@@ -285,16 +285,17 @@ This can be done on both open or already merged pull requests.
 To manually create a backport pull request, follow [the standard pull request process][pr-create], with these notable differences:
 
 - Use `release-YY.MM` for the base branch, both for the local branch and the pull request.
-  > **Warning**
-  > Do not use the `nixos-YY.MM` branch, that is a branch pointing to the tested release channel commit
+
+> [!Warning]
+> Do not use the `nixos-YY.MM` branch, that is a branch pointing to the tested release channel commit
 
 - Instead of manually making and committing the changes, use [`git cherry-pick -x`](https://git-scm.com/docs/git-cherry-pick) for each commit from the pull request you'd like to backport.
   Either `git cherry-pick -x <commit>` when the reason for the backport is obvious (such as minor versions, fixes, etc.), otherwise use `git cherry-pick -xe <commit>` to add a reason for the backport to the commit message.
   Here is [an example](https://github.com/nixos/nixpkgs/commit/5688c39af5a6c5f3d646343443683da880eaefb8) of this.
 
-  > **Warning**
-  > Ensure the commits exists on the master branch.
-  > In the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
+> [!Warning]
+> Ensure the commits exists on the master branch.
+> In the case of squashed or rebased merges, the commit hash will change and the new commits can be found in the merge message at the bottom of the master pull request.
 
 - In the pull request description, link to the original pull request to `master`.
   The pull request title should include `[YY.MM]` matching the release you're backporting to.
@@ -305,7 +306,7 @@ To manually create a backport pull request, follow [the standard pull request pr
 ## How to review pull requests
 [pr-review]: #how-to-review-pull-requests
 
-> **Warning**
+> [!Warning]
 > The following section is a draft, and the policy for reviewing is still being discussed in issues such as [#11166](https://github.com/NixOS/nixpkgs/issues/11166) and [#20836](https://github.com/NixOS/nixpkgs/issues/20836).
 
 The Nixpkgs project receives a fairly high number of contributions via GitHub pull requests. Reviewing and approving these is an important task and a way to contribute to the project.
@@ -384,7 +385,7 @@ By keeping the `staging-next` branch separate from `staging`, this batching does
 In order for the `staging` and `staging-next` branches to be up-to-date with the latest commits on `master`, there are regular _automated_ merges from `master` into `staging-next` and `staging`.
 This is implemented using GitHub workflows [here](.github/workflows/periodic-merge-6h.yml) and [here](.github/workflows/periodic-merge-24h.yml).
 
-> **Note**
+> [!Note]
 > Changes must be sufficiently tested before being merged into any branch.
 > Hydra builds should not be used as testing platform.
 
diff --git a/doc/README.md b/doc/README.md
index 9dee2d30d7305..e9f2a53c355db 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -48,7 +48,7 @@ It uses the widely compatible [header attributes](https://github.com/jgm/commonm
 ## Syntax {#sec-contributing-markup}
 ```
 
-> **Note**
+> [!Note]
 > NixOS option documentation does not support headings in general.
 
 #### Inline Anchors
diff --git a/doc/languages-frameworks/cuda.section.md b/doc/languages-frameworks/cuda.section.md
index 01a4f20da982d..11c86e375c610 100644
--- a/doc/languages-frameworks/cuda.section.md
+++ b/doc/languages-frameworks/cuda.section.md
@@ -68,16 +68,45 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
 ### Updating CUDA redistributables {#updating-cuda-redistributables}
 
 1. Go to NVIDIA's index of CUDA redistributables: <https://developer.download.nvidia.com/compute/cuda/redist/>
-2. Copy the `redistrib_*.json` corresponding to the release to `pkgs/development/compilers/cudatoolkit/redist/manifests`.
-3. Generate the `redistrib_features_*.json` file by running:
+2. Make a note of the new version of CUDA available.
+3. Run
 
-    ```bash
-    nix run github:ConnorBaker/cuda-redist-find-features -- <path to manifest>
-    ```
+   ```bash
+   nix run github:connorbaker/cuda-redist-find-features -- \
+      download-manifests \
+      --log-level DEBUG \
+      --version <newest CUDA version> \
+      https://developer.download.nvidia.com/compute/cuda/redist \
+      ./pkgs/development/cuda-modules/cuda/manifests
+   ```
+
+   This will download a copy of the manifest for the new version of CUDA.
+4. Run
+
+   ```bash
+   nix run github:connorbaker/cuda-redist-find-features -- \
+      process-manifests \
+      --log-level DEBUG \
+      --version <newest CUDA version> \
+      https://developer.download.nvidia.com/compute/cuda/redist \
+      ./pkgs/development/cuda-modules/cuda/manifests
+   ```
+
+   This will generate a `redistrib_features_<newest CUDA version>.json` file in the same directory as the manifest.
+5. Update the `cudaVersionMap` attribute set in `pkgs/development/cuda-modules/cuda/extension.nix`.
+
+### Updating cuTensor {#updating-cutensor}
+
+1. Repeat the steps present in [Updating CUDA redistributables](#updating-cuda-redistributables) with the following changes:
+   - Use the index of cuTensor redistributables: <https://developer.download.nvidia.com/compute/cutensor/redist>
+   - Use the newest version of cuTensor available instead of the newest version of CUDA.
+   - Use `pkgs/development/cuda-modules/cutensor/manifests` instead of `pkgs/development/cuda-modules/cuda/manifests`.
+   - Skip the step of updating `cudaVersionMap` in `pkgs/development/cuda-modules/cuda/extension.nix`.
 
-    That command will generate the `redistrib_features_*.json` file in the same directory as the manifest.
+### Updating supported compilers and GPUs {#updating-supported-compilers-and-gpus}
 
-4. Include the path to the new manifest in `pkgs/development/compilers/cudatoolkit/redist/extension.nix`.
+1. Update `nvcc-compatibilities.nix` in `pkgs/development/cuda-modules/` to include the newest release of NVCC, as well as any newly supported host compilers.
+2. Update `gpus.nix` in `pkgs/development/cuda-modules/` to include any new GPUs supported by the new release of CUDA.
 
 ### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}
 
@@ -99,7 +128,7 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
    nix store prefetch-file --hash-type sha256 <link>
    ```
 
-4. Update `pkgs/development/compilers/cudatoolkit/versions.toml` to include the release.
+4. Update `pkgs/development/cuda-modules/cudatoolkit/releases.nix` to include the release.
 
 ### Updating the CUDA package set {#updating-the-cuda-package-set}
 
@@ -107,7 +136,7 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
 
    - NOTE: Changing the default CUDA package set should occur in a separate PR, allowing time for additional testing.
 
-2. Successfully build the closure of the new package set, updating `pkgs/development/compilers/cudatoolkit/redist/overrides.nix` as needed. Below are some common failures:
+2. Successfully build the closure of the new package set, updating `pkgs/development/cuda-modules/cuda/overrides.nix` as needed. Below are some common failures:
 
 | Unable to ... | During ... | Reason | Solution | Note |
 | --- | --- | --- | --- | --- |
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 5e290230ca4e3..4de6f58a6aedb 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -4,11 +4,12 @@ let
   inherit (builtins)
     intersectAttrs;
   inherit (lib)
-    functionArgs isFunction mirrorFunctionArgs isAttrs setFunctionArgs levenshteinAtMost
-    optionalAttrs attrNames levenshtein filter elemAt concatStringsSep sort take length
+    functionArgs isFunction mirrorFunctionArgs isAttrs setFunctionArgs
+    optionalAttrs attrNames filter elemAt concatStringsSep sort take length
     filterAttrs optionalString flip pathIsDirectory head pipe isDerivation listToAttrs
     mapAttrs seq flatten deepSeq warnIf isInOldestRelease extends
     ;
+  inherit (lib.strings) levenshtein levenshteinAtMost;
 
 in
 rec {
@@ -198,7 +199,7 @@ rec {
         + "${loc'}${prettySuggestions (getSuggestions arg)}";
 
       # Only show the error for the first missing argument
-      error = errorForArg missingArgs.${head (attrNames missingArgs)};
+      error = errorForArg (head (attrNames missingArgs));
 
     in if missingArgs == {}
        then makeOverridable f allArgs
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 3bce847b03c4f..baf92007123d8 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1068,6 +1068,12 @@ in mkLicense lset) ({
     url = "https://github.com/thestk/stk/blob/master/LICENSE";
   };
 
+  sudo = {
+    shortName = "sudo";
+    fullName = "Sudo License (ISC-style)";
+    url = "https://www.sudo.ws/about/license/";
+  };
+
   sustainableUse = {
     shortName = "sustainable";
     fullName = "Sustainable Use License";
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 0d21175914a3d..9eec21cbf21b9 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -324,7 +324,8 @@ rec {
               "riscv64" = "riscv64gc";
             }.${cpu.name} or cpu.name;
             vendor_ = final.rust.platform.vendor;
-          in rust.config
+          # TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL.
+          in args.rust.rustcTarget or args.rustc.config
             or "${cpu_}-${vendor_}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
 
           # The name of the rust target if it is standard, or the json file
diff --git a/maintainers/README.md b/maintainers/README.md
index 5bb9c58db024b..f121ec7564135 100644
--- a/maintainers/README.md
+++ b/maintainers/README.md
@@ -165,3 +165,10 @@ team after giving the existing members a few days to respond.
 
 *Important:* If a team says it is a closed group, do not merge additions
 to the team without an approval by at least one existing member.
+
+
+# Maintainer scripts
+
+Various utility scripts, which are mainly useful for nixpkgs maintainers,
+are available under `./scripts/`.  See its [README](./scripts/README.md)
+for further information.
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index ef2a95c6a1435..aa09b1fe5e459 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -26,8 +26,10 @@
     - `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`,
     - `keys` is a list of your PGP/GPG key fingerprints.
 
-    Specifying a GitHub account ensures that you automatically get a review request on
-    pull requests that modify a package for which you are a maintainer.
+    Specifying a GitHub account ensures that you automatically:
+    - get invited to the @NixOS/nixpkgs-maintainers team ;
+    - once you are part of the @NixOS org, OfBorg will request you review
+      pull requests that modify a package for which you are a maintainer.
 
     `handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
 
@@ -787,6 +789,12 @@
     githubId = 2335822;
     name = "Alexandre Esteves";
   };
+  alex-fu27 = {
+     email = "alex.fu27@gmail.com";
+     github = "alex-fu27";
+     githubId = 49982580;
+     name = "Alexander Fuchs";
+  };
   alexnortung = {
     name = "alexnortung";
     email = "alex_nortung@live.dk";
@@ -2260,6 +2268,15 @@
     githubId = 16821405;
     name = "Ben Kuhn";
   };
+  benlemasurier = {
+    email = "ben@crypt.ly";
+    github = "benlemasurier";
+    githubId = 47993;
+    name = "Ben LeMasurier";
+    keys = [{
+      fingerprint = "0FD4 7407 EFD4 8FD8 8BF5  87B3 248D 430A E8E7 4189";
+    }];
+  };
   benley = {
     email = "benley@gmail.com";
     github = "benley";
@@ -2463,6 +2480,12 @@
     githubId = 37907;
     name = "Julian Stecklina";
   };
+  bloveless = {
+    email = "brennon.loveless@gmail.com";
+    github = "bloveless";
+    githubId = 535135;
+    name = "Brennon Loveless";
+  };
   bluescreen303 = {
     email = "mathijs@bluescreen303.nl";
     github = "bluescreen303";
@@ -4119,7 +4142,7 @@
     email = "davidlewis@mac.com";
     github = "oceanlewis";
     githubId = 6754950;
-    name = "David Armstrong Lewis";
+    name = "Ocean Armstrong Lewis";
   };
   davidcromp = {
     email = "davidcrompton1192@gmail.com";
@@ -5151,6 +5174,12 @@
     name = "Edvin Källström";
     githubId = 84442052;
   };
+  ekimber  = {
+    email = "ekimber@protonmail.com";
+    github = "ekimber";
+    name = "Edward Kimber";
+    githubId = 99987;
+  };
   ekleog = {
     email = "leo@gaspard.io";
     matrix = "@leo:gaspard.ninja";
@@ -6555,6 +6584,12 @@
     githubId = 67984144;
     name = "Gerhard Schwanzer";
   };
+  gernotfeichter = {
+    email = "gernotfeichter@gmail.com";
+    github = "gernotfeichter";
+    githubId = 23199375;
+    name = "Gernot Feichter";
+  };
   gerschtli = {
     email = "tobias.happ@gmx.de";
     github = "Gerschtli";
@@ -6810,6 +6845,12 @@
     githubId = 6893840;
     name = "Yacine Hmito";
   };
+  gracicot = {
+    email = "gracicot42@gmail.com";
+    github = "gracicot";
+    githubId = 2906673;
+    name = "Guillaume Racicot";
+  };
   graham33 = {
     email = "graham@grahambennett.org";
     github = "graham33";
@@ -6915,6 +6956,11 @@
     githubId = 21156405;
     name = "GuangTao Zhang";
   };
+  guekka = {
+    github = "Guekka";
+    githubId = 39066502;
+    name = "Guekka";
+  };
   guibert = {
     email = "david.guibert@gmail.com";
     github = "dguibert";
@@ -10775,6 +10821,12 @@
       fingerprint = "97A0 AE5E 03F3 499B 7D7A  65C6 76A4 1432 37EF 5817";
     }];
   };
+  lukas-heiligenbrunner = {
+    email = "lukas.heiligenbrunner@gmail.com";
+    github = "lukas-heiligenbrunner";
+    githubId = 30468956;
+    name = "Lukas Heiligenbrunner";
+  };
   lukaswrz = {
     email = "lukas@wrz.one";
     github = "lukaswrz";
@@ -11956,7 +12008,7 @@
   };
   milran = {
     email = "milranmike@protonmail.com";
-    github = "milran";
+    github = "wattmto";
     githubId = 93639059;
     name = "Milran Mike";
   };
@@ -11972,6 +12024,12 @@
     githubId = 9799623;
     name = "Rick van Schijndel";
   };
+  mindstorms6 = {
+    email = "breland@bdawg.org";
+    github = "mindstorms6";
+    githubId = 92937;
+    name = "Breland Miley";
+  };
   minijackson = {
     email = "minijackson@riseup.net";
     github = "minijackson";
@@ -12235,7 +12293,7 @@
   moni = {
     email = "lythe1107@gmail.com";
     matrix = "@fortuneteller2k:matrix.org";
-    github = "moni";
+    github = "moni-dz";
     githubId = 20619776;
     name = "moni";
   };
@@ -13112,6 +13170,12 @@
       fingerprint = "9B1A 7906 5D2F 2B80 6C8A  5A1C 7D2A CDAF 4653 CF28";
     }];
   };
+  ninjafb = {
+    email = "oscar@oronberg.com";
+    github = "NinjaFB";
+    githubId = 54169044;
+    name = "NinjaFB";
+  };
   nintron = {
     email = "nintron@sent.com";
     github = "Nintron27";
@@ -13257,6 +13321,12 @@
     githubId = 3521180;
     name = "Tom Sydney Kerckhove";
   };
+  nosewings = {
+    name = "Nicholas Coltharp";
+    email = "coltharpnicholas@gmail.com";
+    github = "nosewings";
+    githubId = 24929858;
+  };
   NotAShelf = {
     name = "NotAShelf";
     email = "raf@notashelf.dev";
@@ -13925,6 +13995,18 @@
     githubId = 6931743;
     name = "pasqui23";
   };
+  passivelemon = {
+    email = "jeremyseber@gmail.com";
+    github = "PassiveLemon";
+    githubId = 72527881;
+    name = "PassiveLemon";
+  };
+  patricksjackson = {
+    email = "patrick@jackson.dev";
+    github = "patricksjackson";
+    githubId = 160646;
+    name = "Patrick Jackson";
+  };
   patryk27 = {
     email = "pwychowaniec@pm.me";
     github = "Patryk27";
@@ -15224,6 +15306,12 @@
     githubId = 816465;
     name = "Redvers Davies";
   };
+  redxtech = {
+    email = "gabe@gabedunn.dev";
+    github = "redxtech";
+    githubId = 18155001;
+    name = "Gabe Dunn";
+  };
   reedrw = {
     email = "reedrw5601@gmail.com";
     github = "reedrw";
@@ -15299,7 +15387,7 @@
   revol-xut = {
     email = "revol-xut@protonmail.com";
     name = "Tassilo Tanneberger";
-    github = "revol-xut";
+    github = "tanneberger";
     githubId = 32239737;
     keys = [{
       fingerprint = "91EB E870 1639 1323 642A  6803 B966 009D 57E6 9CC6";
@@ -15323,6 +15411,15 @@
     githubId = 44014925;
     name = "Rexx Larsson";
   };
+  RGBCube = {
+    name = "RGBCube";
+    email = "rgbsphere+nixpkgs@gmail.com";
+    github = "RGBCube";
+    githubId = 78925721;
+    keys = [{
+      fingerprint = "jPaU3Vpm/GN0tUuDg72n2+bd9dDMWe4bnKM325eP7eI";
+    }];
+  };
   rgnns = {
     email = "jglievano@gmail.com";
     github = "rgnns";
@@ -15994,8 +16091,8 @@
   };
   SamirTalwar = {
     email = "lazy.git@functional.computer";
-    github = "abstracte";
-    githubId = 47852;
+    github = "SamirTalwar";
+    githubId = 47582;
     name = "Samir Talwar";
   };
   samlich = {
@@ -17023,6 +17120,12 @@
     githubId = 9720532;
     name = "Sergei K";
   };
+  sontek = {
+    email = "sontek@gmail.com";
+    github = "sontek";
+    githubId = 151924;
+    name = "John Anderson";
+  };
   sophrosyne = {
     email = "joshuaortiz@tutanota.com";
     github = "sophrosyne97";
@@ -17227,6 +17330,12 @@
     githubId = 327943;
     name = "Scott Zhu Reeves";
   };
+  starzation = {
+    email = "nixpkgs@starzation.net";
+    github = "starzation";
+    githubId = 145975416;
+    name = "Starzation";
+  };
   stasjok = {
     name = "Stanislav Asunkin";
     email = "nixpkgs@stasjok.ru";
@@ -17274,13 +17383,12 @@
     name = "Stel Abrego";
   };
   stepbrobd = {
-    name = "StepBroBD";
-    github = "StepBroBD";
+    name = "Yifei Sun";
+    email = "ysun@hey.com";
+    github = "stepbrobd";
     githubId = 81826728;
-    email = "Hi@StepBroBD.com";
-    matrix = "@stepbrobd:matrix.org";
     keys = [{
-      fingerprint = "5D8B FA8B 286A C2EF 6EE4  8598 F742 B72C 8926 1A51";
+      fingerprint = "AC7C 52E6 BA2F E8DE 8F0F  5D78 D973 170F 9B86 DB70";
     }];
   };
   stephank = {
@@ -18745,6 +18853,11 @@
     githubId = 347983;
     name = "Udo Spallek";
   };
+  ufUNnxagpM = {
+    github = "ufUNnxagpM";
+    githubId = 12422133;
+    name = "Chromo-residuum-opec";
+  };
   ulrikstrid = {
     email = "ulrik.strid@outlook.com";
     github = "ulrikstrid";
@@ -19154,6 +19267,12 @@
     githubId = 118959;
     name = "VinyMeuh";
   };
+  viperML = {
+    email = "ayatsfer@gmail.com";
+    github = "viperML";
+    githubId = 11395853;
+    name = "Fernando Ayats";
+  };
   viraptor = {
     email = "nix@viraptor.info";
     github = "viraptor";
@@ -19732,6 +19851,12 @@
     githubId = 3992240;
     name = "Elijah Rum";
   };
+  x0ba = {
+    name = "x0ba";
+    email = "dax@omg.lol";
+    github = "x0ba";
+    githubId = 64868985;
+  };
   x3ro = {
     name = "^x3ro";
     email = "nix@x3ro.dev";
diff --git a/maintainers/scripts/README.md b/maintainers/scripts/README.md
new file mode 100644
index 0000000000000..2b99a4e751141
--- /dev/null
+++ b/maintainers/scripts/README.md
@@ -0,0 +1,58 @@
+# Maintainer scripts
+
+This folder contains various executable scripts for nixpkgs maintainers,
+and supporting data or nixlang files as needed.
+These scripts generally aren't a stable interface and may changed or be removed.
+
+What follows is a (very incomplete) overview of available scripts.
+
+
+## Metadata
+
+### `get-maintainer.sh`
+
+`get-maintainer.sh [selector] value` returns a JSON object describing
+a given nixpkgs maintainer, equivalent to `lib.maintainers.${x} // { handle = x; }`.
+
+This allows looking up a maintainer's attrset (including GitHub and Matrix
+handles, email address etc.) based on any of their handles, more correctly and
+robustly than text search through `maintainers-list.nix`.
+
+```
+❯ ./get-maintainer.sh nicoo
+{
+  "email": "nicoo@debian.org",
+  "github": "nbraud",
+  "githubId": 1155801,
+  "keys": [
+    {
+      "fingerprint": "E44E 9EA5 4B8E 256A FB73 49D3 EC9D 3708 72BC 7A8C"
+    }
+  ],
+  "name": "nicoo",
+  "handle": "nicoo"
+}
+
+❯ ./get-maintainer.sh name 'Silvan Mosberger'
+{
+  "email": "contact@infinisil.com",
+  "github": "infinisil",
+  "githubId": 20525370,
+  "keys": [
+    {
+      "fingerprint": "6C2B 55D4 4E04 8266 6B7D  DA1A 422E 9EDA E015 7170"
+    }
+  ],
+  "matrix": "@infinisil:matrix.org",
+  "name": "Silvan Mosberger",
+  "handle": "infinisil"
+}
+```
+
+The maintainer is designated by a `selector` which must be one of:
+- `handle` (default): the maintainer's attribute name in `lib.maintainers`;
+- `email`, `name`, `github`, `githubId`, `matrix`, `name`:
+  attributes of the maintainer's object, matched exactly;
+  see [`maintainer-list.nix`] for the fields' definition.
+
+[`maintainer-list.nix`]: ../maintainer-list.nix
diff --git a/maintainers/scripts/get-maintainer.sh b/maintainers/scripts/get-maintainer.sh
new file mode 100755
index 0000000000000..3061d2ccc72f9
--- /dev/null
+++ b/maintainers/scripts/get-maintainer.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p jq ncurses
+# shellcheck shell=bash
+
+# Get a nixpkgs maintainer's metadata as a JSON object
+#  see HELP_MESSAGE just below, or README.md.
+
+set -euo pipefail
+
+declare -A SELECTORS=( [handle]= [email]= [github]= [githubId]= [matrix]= [name]= )
+HELP_MESSAGE="usage: '$0' [selector] value
+examples:
+  get-maintainer.sh nicoo
+  get-maintainer.sh githubId 1155801
+
+\`selector\` defaults to 'handle', can be one of:
+  ${!SELECTORS[*]}
+"
+
+MAINTAINERS_DIR="$(dirname "$0")/.."
+
+die() {
+  tput setaf 1 # red
+  echo "'$0': $*"
+  tput setaf 0 # back to black
+  exit 1
+}
+
+listAsJSON() {
+  nix-instantiate --eval --strict --json "${MAINTAINERS_DIR}/maintainer-list.nix"
+}
+
+parseArgs() {
+  [ $# -gt 0 -a $# -lt 3 ] || {
+      echo "$HELP_MESSAGE"
+      die "invalid number of arguments (must be 1 or 2)"
+  }
+
+  if [ $# -eq 1 ]; then
+    selector=handle
+  else
+    selector="$1"
+    shift
+  fi
+  [ -z "${SELECTORS[$selector]-n}" ] || {
+    echo "Valid selectors are:" "${!SELECTORS[@]}" >&2
+    die "invalid selector '$selector'"
+  }
+
+  value="$1"
+  shift
+}
+
+query() {
+  # explode { a: A, b: B, ... } into A + {handle: a}, B + {handle: b}, ...
+  local explode="to_entries[] | .value + { \"handle\": .key }"
+
+  # select matching items from the list
+  # TODO(nicoo): Support approximate matching for `name` ?
+  local select
+  case "$selector" in
+    githubId)
+      select="select(.${selector} == $value)"
+      ;;
+    *)
+      select="select(.${selector} == \"$value\")"
+  esac
+
+  echo "$explode | $select"
+}
+
+parseArgs "$@"
+listAsJSON | jq -e "$(query)"
diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs
index 2ce3ecb2ae70a..8b4f798cc5434 100755
--- a/maintainers/scripts/haskell/hydra-report.hs
+++ b/maintainers/scripts/haskell/hydra-report.hs
@@ -382,22 +382,22 @@ data BuildState
 
 icon :: BuildState -> Text
 icon = \case
-   Failed -> ":x:"
-   DependencyFailed -> ":heavy_exclamation_mark:"
-   OutputLimitExceeded -> ":warning:"
+   Failed -> "❌"
+   DependencyFailed -> "❗"
+   OutputLimitExceeded -> "⚠️"
    Unknown x -> "unknown code " <> showT x
-   TimedOut -> ":hourglass::no_entry_sign:"
-   Canceled -> ":no_entry_sign:"
-   Unfinished -> ":hourglass_flowing_sand:"
-   HydraFailure -> ":construction:"
-   Success -> ":heavy_check_mark:"
+   TimedOut -> "⌛🚫"
+   Canceled -> "🚫"
+   Unfinished -> "⏳"
+   HydraFailure -> "🚧"
+   Success -> "✅"
 
 platformIcon :: Platform -> Text
 platformIcon (Platform x) = case x of
-   "x86_64-linux" -> ":penguin:"
-   "aarch64-linux" -> ":iphone:"
-   "x86_64-darwin" -> ":apple:"
-   "aarch64-darwin" -> ":green_apple:"
+   "x86_64-linux" -> "🐧"
+   "aarch64-linux" -> "📱"
+   "x86_64-darwin" -> "🍎"
+   "aarch64-darwin" -> "🍏"
    _ -> x
 
 platformIsOS :: OS -> Platform -> Bool
@@ -626,7 +626,7 @@ printBuildSummary eval@Eval{id} fetchTime summary topBrokenRdeps =
          <> optionalHideableList "#### Unmaintained packages with failed dependency" (unmaintainedList (failedDeps summary))
          <> optionalHideableList "#### Unmaintained packages with unknown error" (unmaintainedList (unknownErr summary))
          <> optionalHideableList "#### Top 50 broken packages, sorted by number of reverse dependencies" (brokenLine <$> topBrokenRdeps)
-         <> ["","*:arrow_heading_up:: The number of packages that depend (directly or indirectly) on this package (if any). If two numbers are shown the first (lower) number considers only packages which currently have enabled hydra jobs, i.e. are not marked broken. The second (higher) number considers all packages.*",""]
+         <> ["","*⤴️: The number of packages that depend (directly or indirectly) on this package (if any). If two numbers are shown the first (lower) number considers only packages which currently have enabled hydra jobs, i.e. are not marked broken. The second (higher) number considers all packages.*",""]
          <> footer
   where
    footer = ["*Report generated with [maintainers/scripts/haskell/hydra-report.hs](https://github.com/NixOS/nixpkgs/blob/haskell-updates/maintainers/scripts/haskell/hydra-report.hs)*"]
@@ -651,7 +651,7 @@ printBuildSummary eval@Eval{id} fetchTime summary topBrokenRdeps =
    brokenLine :: (PkgName, Int) -> Text
    brokenLine (PkgName name, rdeps) =
       "[" <> name <> "](https://packdeps.haskellers.com/reverse/" <> name <>
-      ") :arrow_heading_up: " <> Text.pack (show rdeps) <> "  "
+      ") ⤴️ " <> Text.pack (show rdeps) <> "  "
 
    numSummary = statusToNumSummary summary
 
@@ -733,7 +733,7 @@ printBuildSummary eval@Eval{id} fetchTime summary topBrokenRdeps =
          , Text.pack
             ( if summaryReverseDeps entry > 0
                then
-                  " :arrow_heading_up: " <> show (summaryUnbrokenReverseDeps entry) <>
+                  " ⤴️ " <> show (summaryUnbrokenReverseDeps entry) <>
                   " | " <> show (summaryReverseDeps entry)
                else ""
             )
@@ -750,9 +750,9 @@ printBuildSummary eval@Eval{id} fetchTime summary topBrokenRdeps =
          )
 
    tldr = case (errors, warnings) of
-            ([],[]) -> [":green_circle: **Ready to merge** (if there are no [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
-            ([],_) -> [":yellow_circle: **Potential issues** (and possibly [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
-            _ -> [":red_circle: **Branch not mergeable**"]
+            ([],[]) -> ["🟢 **Ready to merge** (if there are no [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
+            ([],_) -> ["🟡 **Potential issues** (and possibly [evaluation errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
+            _ -> ["🔴 **Branch not mergeable**"]
    warnings =
       if' (Unfinished > maybe Success worstState maintainedJob) "`maintained` jobset failed." <>
       if' (Unfinished == maybe Success worstState mergeableJob) "`mergeable` jobset is not finished." <>
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 78cfca24d96b1..1a581a450c260 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -17,6 +17,7 @@ dkjson,,,,,,
 fennel,,,,,,misterio77
 fifo,,,,,,
 fluent,,,,,,alerque
+fzy,,,,,,mrcjkb
 gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,5.1,
 haskell-tools.nvim,,,,,,
 http,,,,0.3-0,,vcunat
@@ -73,6 +74,7 @@ luaposix,,,,34.1.1-1,,vyp lblasc
 luarepl,,,,,,
 luarocks-build-rust-mlua,,,,,,mrcjkb
 luasec,,,,,,flosse
+luasnip,,,,,,
 luasocket,,,,,,
 luasql-sqlite3,,,,,,vyp
 luassert,,,,,,
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 55037d9a7204a..b872142c313c6 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -317,6 +317,7 @@ with lib.maintainers; {
       das-g
       imincik
       nh2
+      nialov
       sikmir
       willcohen
     ];
@@ -561,6 +562,18 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  lxc = {
+    members = [
+      aanderse
+      adamcstephens
+      jnsgruk
+      megheaiulian
+      mkg20001
+    ];
+    scope = "All things linuxcontainers. LXC, Incus, LXD and related packages.";
+    shortName = "lxc";
+  };
+
   lxqt = {
     members = [
       romildo
diff --git a/nixos/doc/manual/configuration/luks-file-systems.section.md b/nixos/doc/manual/configuration/luks-file-systems.section.md
index b5d0407d16595..7615b95aef422 100644
--- a/nixos/doc/manual/configuration/luks-file-systems.section.md
+++ b/nixos/doc/manual/configuration/luks-file-systems.section.md
@@ -42,8 +42,12 @@ boot.loader.grub.enableCryptodisk = true;
 
 ## FIDO2 {#sec-luks-file-systems-fido2}
 
-NixOS also supports unlocking your LUKS-Encrypted file system using a
-FIDO2 compatible token. In the following example, we will create a new
+NixOS also supports unlocking your LUKS-Encrypted file system using a FIDO2
+compatible token.
+
+### Without systemd in initrd {#sec-luks-file-systems-fido2-legacy}
+
+In the following example, we will create a new
 FIDO2 credential and add it as a new key to our existing device
 `/dev/sda2`:
 
@@ -75,3 +79,37 @@ as [Trezor](https://trezor.io/).
 ```nix
 boot.initrd.luks.devices."/dev/sda2".fido2.passwordLess = true;
 ```
+
+### systemd Stage 1 {#sec-luks-file-systems-fido2-systemd}
+
+If systemd stage 1 is enabled, it handles unlocking of LUKS-enrypted volumes
+during boot. The following example enables systemd stage1 and adds support for
+unlocking the existing LUKS2 volume `root` using any enrolled FIDO2 compatible
+tokens.
+
+```nix
+boot.initrd = {
+  luks.devices.root = {
+    crypttabExtraOpts = [ "fido2-device=auto" ];
+    device = "/dev/sda2";
+  };
+  systemd.enable = true;
+};
+```
+
+All tokens that should be used for unlocking the LUKS2-encrypted volume must
+first be enrolled using [systemd-cryptenroll](https://www.freedesktop.org/software/systemd/man/systemd-cryptenroll.html).
+In the following example, a new key slot for the first discovered token is
+added to the LUKS volume.
+
+```ShellSession
+# systemd-cryptenroll --fido2-device=auto /dev/sda2
+```
+
+Existing key slots are left intact, unless `--wipe-slot=` is specified. It is
+recommened to add a recovery key that should be stored in a secure physical
+location and can be entered wherever a password would be entered.
+
+```ShellSession
+# systemd-cryptenroll --recovery-key /dev/sda2
+```
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index 760c58d5050e3..5c6bdf97d1203 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -20,7 +20,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
   - [Breaking Changes](#sec-release-23.11-nixos-breaking-changes)
   - [New Services](#sec-release-23.11-nixos-new-services)
   - [Other Notable Changes](#sec-release-23.11-nixos-notable-changes)
-- [Nixpkgs Library Changes](#sec-release-23.11-nixpkgs-lib)
+- [Nixpkgs Library](#sec-release-23.11-nixpkgs-lib)
   - [Breaking Changes](#sec-release-23.11-lib-breaking)
   - [Additions and Improvements](#sec-release-23.11-lib-additions-improvements)
   - [Deprecations](#sec-release-23.11-lib-deprecations)
@@ -71,7 +71,9 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
 - `services.mastodon` doesn't support providing a TCP port to its `streaming`
   component anymore, as upstream implemented parallelization by running
   multiple instances instead of running multiple processes in one instance.
-  Please create a PR if you are interested in this feature.
+  Please create a PR if you are interested in this feature.\
+  Due to this, the desired number of such instances
+  {option}`services.mastodon.streamingProcesses` now needs to be declared explicitly.
 
 - The `services.hostapd` module was rewritten to support `passwordFile` like
   options, WPA3-SAE, and management of multiple interfaces. This breaks
@@ -1315,14 +1317,14 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
 
 ### Breaking Changes {#sec-release-23.11-lib-breaking}
 
-- [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl-prime)
+- [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl-prime)
   now always evaluates the initial accumulator argument first. If you depend on
   the lazier behavior, consider using
-  [`lib.lists.foldl`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl)
+  [`lib.lists.foldl`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl)
   or
   [`builtins.foldl'`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-foldl')
   instead.
-- [`lib.attrsets.foldlAttrs`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.attrsets.foldlAttrs)
+- [`lib.attrsets.foldlAttrs`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.attrsets.foldlAttrs)
   now always evaluates the initial accumulator argument first.
 - Now that the internal NixOS transition to Markdown documentation is complete,
   `lib.options.literalDocBook` has been removed after deprecation in 22.11.
@@ -1330,7 +1332,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
 
 ### Additions and Improvements {#sec-release-23.11-lib-additions-improvements}
 
-- [`lib.fileset`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-fileset):
+- [`lib.fileset`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-fileset):
   A new sub-library to select local files to use for sources, designed to be
   easy and safe to use.
 
@@ -1339,7 +1341,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
   post](https://www.tweag.io/blog/2023-11-28-file-sets/) or [the
   tutorial](https://nix.dev/tutorials/file-sets).
 
-- [`lib.gvariant`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-gvariant):
+- [`lib.gvariant`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-gvariant):
   A partial and basic implementation of GVariant formatted strings. See
   [GVariant Format
   Strings](https://docs.gtk.org/glib/gvariant-format-strings.html) for details.
@@ -1349,58 +1351,58 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
   change in backwards incompatible ways without prior notice.
   :::
 
-- [`lib.asserts`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-asserts):
+- [`lib.asserts`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-asserts):
   New function:
-  [`assertEachOneOf`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.asserts.assertEachOneOf).
-- [`lib.attrsets`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-attrsets):
+  [`assertEachOneOf`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.asserts.assertEachOneOf).
+- [`lib.attrsets`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-attrsets):
   New function:
-  [`attrsToList`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.attrsets.attrsToList).
-- [`lib.customisation`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-customisation):
+  [`attrsToList`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.attrsets.attrsToList).
+- [`lib.customisation`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-customisation):
   New function:
-  [`makeScopeWithSplicing'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.customisation.makeScopeWithSplicing-prime).
-- [`lib.fixedPoints`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-fixedPoints):
+  [`makeScopeWithSplicing'`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.customisation.makeScopeWithSplicing-prime).
+- [`lib.fixedPoints`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-fixedPoints):
   Documentation improvements for
-  [`lib.fixedPoints.fix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.fixedPoints.fix).
+  [`lib.fixedPoints.fix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.fixedPoints.fix).
 - `lib.generators`: New functions:
-  [`mkDconfKeyValue`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.generators.mkDconfKeyValue),
-  [`toDconfINI`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.generators.toDconfINI).
+  [`mkDconfKeyValue`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.generators.mkDconfKeyValue),
+  [`toDconfINI`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.generators.toDconfINI).
 
   `lib.generators.toKeyValue` now supports the `indent` attribute in its first
   argument.
-- [`lib.lists`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-lists):
+- [`lib.lists`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-lists):
   New functions:
-  [`findFirstIndex`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.findFirstIndex),
-  [`hasPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.hasPrefix),
-  [`removePrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.removePrefix),
-  [`commonPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.commonPrefix),
-  [`allUnique`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.allUnique).
+  [`findFirstIndex`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.findFirstIndex),
+  [`hasPrefix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.hasPrefix),
+  [`removePrefix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.removePrefix),
+  [`commonPrefix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.commonPrefix),
+  [`allUnique`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.allUnique).
 
   Documentation improvements for
-  [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl-prime).
-- [`lib.meta`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-meta):
+  [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl-prime).
+- [`lib.meta`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-meta):
   Documentation of functions now gets rendered
-- [`lib.path`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-path):
+- [`lib.path`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-path):
   New functions:
-  [`hasPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.hasPrefix),
-  [`removePrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.removePrefix),
-  [`splitRoot`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.splitRoot),
-  [`subpath.components`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.subpath.components).
-- [`lib.strings`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-strings):
+  [`hasPrefix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.path.hasPrefix),
+  [`removePrefix`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.path.removePrefix),
+  [`splitRoot`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.path.splitRoot),
+  [`subpath.components`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.path.subpath.components).
+- [`lib.strings`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-strings):
   New functions:
-  [`replicate`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.replicate),
-  [`cmakeOptionType`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeOptionType),
-  [`cmakeBool`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeBool),
-  [`cmakeFeature`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeFeature).
-- [`lib.trivial`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-trivial):
+  [`replicate`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.strings.replicate),
+  [`cmakeOptionType`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.strings.cmakeOptionType),
+  [`cmakeBool`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.strings.cmakeBool),
+  [`cmakeFeature`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.strings.cmakeFeature).
+- [`lib.trivial`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-trivial):
   New function:
-  [`mirrorFunctionArgs`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.trivial.mirrorFunctionArgs).
+  [`mirrorFunctionArgs`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.trivial.mirrorFunctionArgs).
 - `lib.systems`: New function:
-  [`equals`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.systems.equals).
-- [`lib.options`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-options):
+  [`equals`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.systems.equals).
+- [`lib.options`](https://nixos.org/manual/nixpkgs/stable#sec-functions-library-options):
   Improved documentation for
-  [`mkPackageOption`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.options.mkPackageOption).
+  [`mkPackageOption`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.options.mkPackageOption).
 
-  [`mkPackageOption`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.options.mkPackageOption).
+  [`mkPackageOption`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.options.mkPackageOption).
   now also supports the `pkgsText` attribute.
 
 Module system:
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index 749ebc5cb13b6..4210f5da58e11 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -8,20 +8,27 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
-- Create the first release note entry in this section!
+- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment.
 
 ## New Services {#sec-release-24.05-new-services}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
+- [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
+
 - [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable).
 
 - [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
+The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
+
+- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
 
 ## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
+- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
+
 - `mkosi` was updated to v19. Parts of the user interface have changed. Consult the
   [release notes](https://github.com/systemd/mkosi/releases/tag/v19) for a list of changes.
 
@@ -29,6 +36,10 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
+- `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration.
+
+- Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release.
+
 - Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles.
   The `nimPackages` and `nim2Packages` sets have been removed.
   See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
@@ -38,4 +49,11 @@ In addition to numerous new and upgraded packages, this release has the followin
   existing process, but will need to start that process from gdb (so it is a
   child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0.
 
+- Gitea 1.21 upgrade has several breaking changes, including:
+  - Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
+  - New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
+
 - The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
+
+- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
+  The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 0c1656efaf1ca..d182c5c2a4794 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -27,31 +27,37 @@ var ${bucket:=nixos-amis}
 var ${service_role_name:=vmimport}
 
 # Output of the command:
-# > aws ec2 describe-regions --all-regions --query "Regions[].{Name:RegionName}" --output text | sort
+# $ nix-shell -I nixpkgs=. -p awscli --run 'aws ec2 describe-regions --region us-east-1 --all-regions --query "Regions[].{Name:RegionName}" --output text | sort | sed -e s/^/\ \ /'
 var ${regions:=
-         af-south-1
-         ap-east-1
-         ap-northeast-1
-         ap-northeast-2
-         ap-northeast-3
-         ap-south-1
-         ap-southeast-1
-         ap-southeast-2
-         ap-southeast-3
-         ca-central-1
-         eu-central-1
-         eu-north-1
-         eu-south-1
-         eu-west-1
-         eu-west-2
-         eu-west-3
-         me-south-1
-         sa-east-1
-         us-east-1
-         us-east-2
-         us-west-1
-         us-west-2
-     }
+  af-south-1
+  ap-east-1
+  ap-northeast-1
+  ap-northeast-2
+  ap-northeast-3
+  ap-south-1
+  ap-south-2
+  ap-southeast-1
+  ap-southeast-2
+  ap-southeast-3
+  ap-southeast-4
+  ca-central-1
+  eu-central-1
+  eu-central-2
+  eu-north-1
+  eu-south-1
+  eu-south-2
+  eu-west-1
+  eu-west-2
+  eu-west-3
+  il-central-1
+  me-central-1
+  me-south-1
+  sa-east-1
+  us-east-1
+  us-east-2
+  us-west-1
+  us-west-2
+}
 
 regions=($regions)
 
diff --git a/nixos/modules/config/mysql.nix b/nixos/modules/config/mysql.nix
index 95c9ba76663ea..4f72d22c4f0ec 100644
--- a/nixos/modules/config/mysql.nix
+++ b/nixos/modules/config/mysql.nix
@@ -6,6 +6,8 @@ let
   cfg = config.users.mysql;
 in
 {
+  meta.maintainers = [ maintainers.netali ];
+
   options = {
     users.mysql = {
       enable = mkEnableOption (lib.mdDoc "Authentication against a MySQL/MariaDB database");
@@ -358,7 +360,7 @@ in
       user = "root";
       group = "root";
       mode = "0600";
-      # password will be added from password file in activation script
+      # password will be added from password file in systemd oneshot
       text = ''
         users.host=${cfg.host}
         users.db_user=${cfg.user}
@@ -423,34 +425,45 @@ in
       mode = "0600";
       user = config.services.nscd.user;
       group = config.services.nscd.group;
-      # password will be added from password file in activation script
+      # password will be added from password file in systemd oneshot
       text = ''
         username ${cfg.user}
       '';
     };
 
-    # preStart script to append the password from the password file
-    # to the configuration files. It also fixes the owner of the
-    # libnss-mysql-root.cfg because it is changed to root after the
-    # password is appended.
-    systemd.services.mysql.preStart = ''
-      if [[ -r ${cfg.passwordFile} ]]; then
-        org_umask=$(umask)
-        umask 0077
+    systemd.services.mysql-auth-pw-init = {
+      description = "Adds the mysql password to the mysql auth config files";
+
+      before = [ "nscd.service" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        Type = "oneshot";
+        User = "root";
+        Group = "root";
+      };
 
-        conf_nss="$(mktemp)"
-        cp /etc/libnss-mysql-root.cfg $conf_nss
-        printf 'password %s\n' "$(cat ${cfg.passwordFile})" >> $conf_nss
-        mv -fT "$conf_nss" /etc/libnss-mysql-root.cfg
-        chown ${config.services.nscd.user}:${config.services.nscd.group} /etc/libnss-mysql-root.cfg
+      restartTriggers = [
+        config.environment.etc."security/pam_mysql.conf".source
+        config.environment.etc."libnss-mysql.cfg".source
+        config.environment.etc."libnss-mysql-root.cfg".source
+      ];
 
-        conf_pam="$(mktemp)"
-        cp /etc/security/pam_mysql.conf $conf_pam
-        printf 'users.db_passwd=%s\n' "$(cat ${cfg.passwordFile})" >> $conf_pam
-        mv -fT "$conf_pam" /etc/security/pam_mysql.conf
+      script = ''
+        if [[ -r ${cfg.passwordFile} ]]; then
+          umask 0077
+          conf_nss="$(mktemp)"
+          cp /etc/libnss-mysql-root.cfg $conf_nss
+          printf 'password %s\n' "$(cat ${cfg.passwordFile})" >> $conf_nss
+          mv -fT "$conf_nss" /etc/libnss-mysql-root.cfg
+          chown ${config.services.nscd.user}:${config.services.nscd.group} /etc/libnss-mysql-root.cfg
 
-        umask $org_umask
-      fi
-    '';
+          conf_pam="$(mktemp)"
+          cp /etc/security/pam_mysql.conf $conf_pam
+          printf 'users.db_passwd=%s\n' "$(cat ${cfg.passwordFile})" >> $conf_pam
+          mv -fT "$conf_pam" /etc/security/pam_mysql.conf
+        fi
+      '';
+    };
   };
 }
diff --git a/nixos/modules/config/nix.nix b/nixos/modules/config/nix.nix
index cee4f54db0cb5..2769d8b25ef6f 100644
--- a/nixos/modules/config/nix.nix
+++ b/nixos/modules/config/nix.nix
@@ -109,13 +109,17 @@ let
         if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
           echo "Ignoring validation for cross-compilation"
         ''
-        else ''
+        else
+        let
+          showCommand = if isNixAtLeast "2.20pre" then "config show" else "show-config";
+        in
+        ''
           echo "Validating generated nix.conf"
           ln -s $out ./nix.conf
           set -e
           set +o pipefail
           NIX_CONF_DIR=$PWD \
-            ${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
+            ${cfg.package}/bin/nix ${showCommand} ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
               ${optionalString (isNixAtLeast "2.4pre") "--option experimental-features nix-command"} \
             |& sed -e 's/^warning:/error:/' \
             | (! grep '${if cfg.checkAllErrors then "^error:" else "^error: unknown setting"}')
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 18928a6bf21bb..5af7284ac71af 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -288,7 +288,7 @@ in
       telegraf = 256;
       gitlab-runner = 257;
       postgrey = 258;
-      hound = 259;
+      # hound = 259; # unused, removed 2023-11-21
       leaps = 260;
       ipfs  = 261;
       # stanchion = 262; # unused, removed 2020-10-14
@@ -599,7 +599,7 @@ in
       #telegraf = 256; # unused
       gitlab-runner = 257;
       postgrey = 258;
-      hound = 259;
+      # hound = 259; # unused, removed 2023-11-21
       leaps = 260;
       ipfs = 261;
       # stanchion = 262; # unused, removed 2020-10-14
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 7f708f6e57c70..674707ec69e74 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -442,6 +442,7 @@
   ./services/databases/surrealdb.nix
   ./services/databases/victoriametrics.nix
   ./services/desktops/accountsservice.nix
+  ./services/desktops/ayatana-indicators.nix
   ./services/desktops/bamf.nix
   ./services/desktops/blueman.nix
   ./services/desktops/cpupower-gui.nix
@@ -683,6 +684,7 @@
   ./services/misc/gollum.nix
   ./services/misc/gpsd.nix
   ./services/misc/greenclip.nix
+  ./services/misc/guix
   ./services/misc/headphones.nix
   ./services/misc/heisenbridge.nix
   ./services/misc/homepage-dashboard.nix
@@ -1332,6 +1334,7 @@
   ./services/web-apps/vikunja.nix
   ./services/web-apps/whitebophir.nix
   ./services/web-apps/wiki-js.nix
+  ./services/web-apps/windmill.nix
   ./services/web-apps/wordpress.nix
   ./services/web-apps/writefreely.nix
   ./services/web-apps/youtrack.nix
@@ -1357,6 +1360,7 @@
   ./services/web-servers/molly-brown.nix
   ./services/web-servers/nginx/default.nix
   ./services/web-servers/nginx/gitweb.nix
+  ./services/web-servers/nginx/tailscale-auth.nix
   ./services/web-servers/phpfpm/default.nix
   ./services/web-servers/pomerium.nix
   ./services/web-servers/rustus.nix
@@ -1423,6 +1427,7 @@
   ./system/activation/bootspec.nix
   ./system/activation/top-level.nix
   ./system/boot/binfmt.nix
+  ./system/boot/clevis.nix
   ./system/boot/emergency-mode.nix
   ./system/boot/grow-partition.nix
   ./system/boot/initrd-network.nix
diff --git a/nixos/modules/programs/screen.nix b/nixos/modules/programs/screen.nix
index 68de9e52d7be3..41bfb5d7809af 100644
--- a/nixos/modules/programs/screen.nix
+++ b/nixos/modules/programs/screen.nix
@@ -1,33 +1,41 @@
 { config, lib, pkgs, ... }:
 
 let
-  inherit (lib) mkOption mkIf types;
   cfg = config.programs.screen;
 in
 
 {
-  ###### interface
-
   options = {
     programs.screen = {
+      enable = lib.mkEnableOption (lib.mdDoc "screen, a basic terminal multiplexer");
+
+      package = lib.mkPackageOptionMD pkgs "screen" { };
 
-      screenrc = mkOption {
-        default = "";
-        description = lib.mdDoc ''
-          The contents of /etc/screenrc file.
+      screenrc = lib.mkOption {
+        type = with lib.types; nullOr lines;
+        example = ''
+          defscrollback 10000
+          startup_message off
         '';
-        type = types.lines;
+        description = lib.mdDoc "The contents of {file}`/etc/screenrc` file";
       };
     };
   };
 
-  ###### implementation
-
-  config = mkIf (cfg.screenrc != "") {
-    environment.etc.screenrc.text = cfg.screenrc;
-
-    environment.systemPackages = [ pkgs.screen ];
+  config = {
+    # TODO: Added in 24.05, remove before 24.11
+    assertions = [
+      {
+        assertion = cfg.screenrc != null -> cfg.enable;
+        message = "`programs.screen.screenrc` has been configured, but `programs.screen.enable` is not true";
+      }
+    ];
+  } // lib.mkIf cfg.enable {
+    environment.etc.screenrc = {
+      enable = cfg.screenrc != null;
+      text = cfg.screenrc;
+    };
+    environment.systemPackages = [ cfg.package ];
     security.pam.services.screen = {};
   };
-
 }
diff --git a/nixos/modules/programs/tsm-client.nix b/nixos/modules/programs/tsm-client.nix
index 6cb225d102de2..45d436221ee38 100644
--- a/nixos/modules/programs/tsm-client.nix
+++ b/nixos/modules/programs/tsm-client.nix
@@ -1,193 +1,144 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, options, pkgs, ... }:  # XXX migration code for freeform settings: `options` can be removed in 2025
+let optionsGlobal = options; in
 
 let
 
-  inherit (builtins) length map;
-  inherit (lib.attrsets) attrNames filterAttrs hasAttr mapAttrs mapAttrsToList optionalAttrs;
+  inherit (lib.attrsets) attrNames attrValues mapAttrsToList removeAttrs;
+  inherit (lib.lists) all allUnique concatLists elem isList map;
   inherit (lib.modules) mkDefault mkIf;
-  inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption;
-  inherit (lib.strings) concatLines optionalString toLower;
-  inherit (lib.types) addCheck attrsOf lines nonEmptyStr nullOr package path port str strMatching submodule;
+  inherit (lib.options) mkEnableOption mkOption mkPackageOption;
+  inherit (lib.strings) concatLines match optionalString toLower;
+  inherit (lib.trivial) isInt;
+  inherit (lib.types) addCheck attrsOf coercedTo either enum int lines listOf nonEmptyStr nullOr oneOf path port singleLineStr strMatching submodule;
 
-  # Checks if given list of strings contains unique
-  # elements when compared without considering case.
-  # Type: checkIUnique :: [string] -> bool
-  # Example: checkIUnique ["foo" "Foo"] => false
-  checkIUnique = lst:
-    let
-      lenUniq = l: length (lib.lists.unique l);
-    in
-      lenUniq lst == lenUniq (map toLower lst);
+  scalarType =
+    # see the option's description below for the
+    # handling/transformation of each possible type
+    oneOf [ (enum [ true null ]) int path singleLineStr ];
 
   # TSM rejects servername strings longer than 64 chars.
-  servernameType = strMatching ".{1,64}";
+  servernameType = strMatching "[^[:space:]]{1,64}";
 
   serverOptions = { name, config, ... }: {
-    options.name = mkOption {
+    freeformType = attrsOf (either scalarType (listOf scalarType));
+    # Client system-options file directives are explained here:
+    # https://www.ibm.com/docs/en/storage-protect/8.1.20?topic=commands-processing-options
+    options.servername = mkOption {
       type = servernameType;
+      default = name;
       example = "mainTsmServer";
       description = lib.mdDoc ''
         Local name of the IBM TSM server,
-        must be uncapitalized and no longer than 64 chars.
-        The value will be used for the
-        `server`
-        directive in {file}`dsm.sys`.
+        must not contain space or more than 64 chars.
       '';
     };
-    options.server = mkOption {
+    options.tcpserveraddress = mkOption {
       type = nonEmptyStr;
       example = "tsmserver.company.com";
       description = lib.mdDoc ''
         Host/domain name or IP address of the IBM TSM server.
-        The value will be used for the
-        `tcpserveraddress`
-        directive in {file}`dsm.sys`.
       '';
     };
-    options.port = mkOption {
+    options.tcpport = mkOption {
       type = addCheck port (p: p<=32767);
       default = 1500;  # official default
       description = lib.mdDoc ''
         TCP port of the IBM TSM server.
-        The value will be used for the
-        `tcpport`
-        directive in {file}`dsm.sys`.
         TSM does not support ports above 32767.
       '';
     };
-    options.node = mkOption {
+    options.nodename = mkOption {
       type = nonEmptyStr;
       example = "MY-TSM-NODE";
       description = lib.mdDoc ''
         Target node name on the IBM TSM server.
-        The value will be used for the
-        `nodename`
-        directive in {file}`dsm.sys`.
       '';
     };
     options.genPasswd = mkEnableOption (lib.mdDoc ''
       automatic client password generation.
-      This option influences the
-      `passwordaccess`
-      directive in {file}`dsm.sys`.
+      This option does *not* cause a line in
+      {file}`dsm.sys` by itself, but generates a
+      corresponding `passwordaccess` directive.
       The password will be stored in the directory
-      given by the option {option}`passwdDir`.
+      given by the option {option}`passworddir`.
       *Caution*:
       If this option is enabled and the server forces
       to renew the password (e.g. on first connection),
       a random password will be generated and stored
     '');
-    options.passwdDir = mkOption {
-      type = path;
+    options.passwordaccess = mkOption {
+      type = enum [ "generate" "prompt" ];
+      visible = false;
+    };
+    options.passworddir = mkOption {
+      type = nullOr path;
+      default = null;
       example = "/home/alice/tsm-password";
       description = lib.mdDoc ''
         Directory that holds the TSM
         node's password information.
-        The value will be used for the
-        `passworddir`
-        directive in {file}`dsm.sys`.
       '';
     };
-    options.includeExclude = mkOption {
-      type = lines;
-      default = "";
+    options.inclexcl = mkOption {
+      type = coercedTo lines
+        (pkgs.writeText "inclexcl.dsm.sys")
+        (nullOr path);
+      default = null;
       example = ''
         exclude.dir     /nix/store
         include.encrypt /home/.../*
       '';
       description = lib.mdDoc ''
-        `include.*` and
-        `exclude.*` directives to be
-        used when sending files to the IBM TSM server.
-        The lines will be written into a file that the
-        `inclexcl`
-        directive in {file}`dsm.sys` points to.
-      '';
-    };
-    options.extraConfig = mkOption {
-      # TSM option keys are case insensitive;
-      # we have to ensure there are no keys that
-      # differ only by upper and lower case.
-      type = addCheck
-        (attrsOf (nullOr str))
-        (attrs: checkIUnique (attrNames attrs));
-      default = {};
-      example.compression = "yes";
-      example.passwordaccess = null;
-      description = lib.mdDoc ''
-        Additional key-value pairs for the server stanza.
-        Values must be strings, or `null`
-        for the key not to be used in the stanza
-        (e.g. to overrule values generated by other options).
-      '';
-    };
-    options.text = mkOption {
-      type = lines;
-      example = literalExpression
-        ''lib.modules.mkAfter "compression no"'';
-      description = lib.mdDoc ''
-        Additional text lines for the server stanza.
-        This option can be used if certion configuration keys
-        must be used multiple times or ordered in a certain way
-        as the {option}`extraConfig` option can't
-        control the order of lines in the resulting stanza.
-        Note that the `server`
-        line at the beginning of the stanza is
-        not part of this option's value.
+        Text lines with `include.*` and `exclude.*` directives
+        to be used when sending files to the IBM TSM server,
+        or an absolute path pointing to a file with such lines.
       '';
     };
-    options.stanza = mkOption {
-      type = str;
-      internal = true;
-      visible = false;
-      description = lib.mdDoc "Server stanza text generated from the options.";
-    };
-    config.name = mkDefault name;
-    # Client system-options file directives are explained here:
-    # https://www.ibm.com/docs/en/spectrum-protect/8.1.13?topic=commands-processing-options
-    config.extraConfig =
-      mapAttrs (lib.trivial.const mkDefault) (
-        {
-          commmethod = "v6tcpip";  # uses v4 or v6, based on dns lookup result
-          tcpserveraddress = config.server;
-          tcpport = builtins.toString config.port;
-          nodename = config.node;
-          passwordaccess = if config.genPasswd then "generate" else "prompt";
-          passworddir = ''"${config.passwdDir}"'';
-        } // optionalAttrs (config.includeExclude!="") {
-          inclexcl = ''"${pkgs.writeText "inclexcl.dsm.sys" config.includeExclude}"'';
-        }
-      );
-    config.text =
-      let
-        attrset = filterAttrs (k: v: v!=null) config.extraConfig;
-        mkLine = k: v: k + optionalString (v!="") "  ${v}";
-        lines = mapAttrsToList mkLine attrset;
-      in
-        concatLines lines;
-    config.stanza = ''
-      server  ${config.name}
-      ${config.text}
-    '';
+    config.commmethod = mkDefault "v6tcpip";  # uses v4 or v6, based on dns lookup result
+    config.passwordaccess = if config.genPasswd then "generate" else "prompt";
+    # XXX migration code for freeform settings, these can be removed in 2025:
+    options.warnings = optionsGlobal.warnings;
+    options.assertions = optionsGlobal.assertions;
+    imports = let inherit (lib.modules) mkRemovedOptionModule mkRenamedOptionModule; in [
+      (mkRemovedOptionModule [ "extraConfig" ] "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`.")
+      (mkRemovedOptionModule [ "text" ] "Please just add options directly to the server attribute set, cf. the description of `programs.tsmClient.servers`.")
+      (mkRenamedOptionModule [ "name" ] [ "servername" ])
+      (mkRenamedOptionModule [ "server" ] [ "tcpserveraddress" ])
+      (mkRenamedOptionModule [ "port" ] [ "tcpport" ])
+      (mkRenamedOptionModule [ "node" ] [ "nodename" ])
+      (mkRenamedOptionModule [ "passwdDir" ] [ "passworddir" ])
+      (mkRenamedOptionModule [ "includeExclude" ] [ "inclexcl" ])
+    ];
   };
 
   options.programs.tsmClient = {
     enable = mkEnableOption (lib.mdDoc ''
-      IBM Spectrum Protect (Tivoli Storage Manager, TSM)
+      IBM Storage Protect (Tivoli Storage Manager, TSM)
       client command line applications with a
       client system-options file "dsm.sys"
     '');
     servers = mkOption {
-      type = attrsOf (submodule [ serverOptions ]);
+      type = attrsOf (submodule serverOptions);
       default = {};
       example.mainTsmServer = {
-        server = "tsmserver.company.com";
-        node = "MY-TSM-NODE";
-        extraConfig.compression = "yes";
+        tcpserveraddress = "tsmserver.company.com";
+        nodename = "MY-TSM-NODE";
+        compression = "yes";
       };
       description = lib.mdDoc ''
         Server definitions ("stanzas")
         for the client system-options file.
+        The name of each entry will be used for
+        the internal `servername` by default.
+        Each attribute will be transformed into a line
+        with a key-value pair within the server's stanza.
+        Integers as values will be
+        canonically turned into strings.
+        The boolean value `true` will be turned
+        into a line with just the attribute's name.
+        The value `null` will not generate a line.
+        A list as values generates an entry for
+        each value, according to the rules above.
       '';
     };
     defaultServername = mkOption {
@@ -222,45 +173,107 @@ let
         to add paths to the client system-options file.
       '';
     };
-    wrappedPackage = mkOption {
-      type = package;
-      readOnly = true;
-      description = lib.mdDoc ''
-        The TSM client derivation, wrapped with the path
-        to the client system-options file "dsm.sys".
-        This option is to provide the effective derivation
+    wrappedPackage = mkPackageOption pkgs "tsm-client" {
+      default = null;
+      extraDescription = ''
+        This option is to provide the effective derivation,
+        wrapped with the path to the
+        client system-options file "dsm.sys".
+        It should not be changed, but exists
         for other modules that want to call TSM executables.
       '';
-    };
+    } // { readOnly = true; };
   };
 
   cfg = config.programs.tsmClient;
+  servernames = map (s: s.servername) (attrValues cfg.servers);
 
-  assertions = [
-    {
-      assertion = checkIUnique (mapAttrsToList (k: v: v.name) cfg.servers);
+  assertions =
+    [
+      {
+        assertion = allUnique (map toLower servernames);
+        message = ''
+          TSM server names
+          (option `programs.tsmClient.servers`)
+          contain duplicate name
+          (note that server names are case insensitive).
+        '';
+      }
+      {
+        assertion = (cfg.defaultServername!=null)->(elem cfg.defaultServername servernames);
+        message = ''
+          TSM default server name
+          `programs.tsmClient.defaultServername="${cfg.defaultServername}"`
+          not found in server names in
+          `programs.tsmClient.servers`.
+        '';
+      }
+    ] ++ (mapAttrsToList (name: serverCfg: {
+      assertion = all (key: null != match "[^[:space:]]+" key) (attrNames serverCfg);
       message = ''
-        TSM servernames contain duplicate name
-        (note that case doesn't matter!)
+        TSM server setting names in
+        `programs.tsmClient.servers.${name}.*`
+        contain spaces, but that's not allowed.
+      '';
+    }) cfg.servers) ++ (mapAttrsToList (name: serverCfg: {
+      assertion = allUnique (map toLower (attrNames serverCfg));
+      message = ''
+        TSM server setting names in
+        `programs.tsmClient.servers.${name}.*`
+        contain duplicate names
+        (note that setting names are case insensitive).
+      '';
+    }) cfg.servers)
+    # XXX migration code for freeform settings, this can be removed in 2025:
+    ++ (enrichMigrationInfos "assertions" (addText: { assertion, message }: { inherit assertion; message = addText message; }));
+
+  makeDsmSysLines = key: value:
+    # Turn a key-value pair from the server options attrset
+    # into zero (value==null), one (scalar value) or
+    # more (value is list) configuration stanza lines.
+    if isList value then map (makeDsmSysLines key) value else  # recurse into list
+    if value == null then [ ] else  # skip `null` value
+    [ ("  ${key}${
+      if value == true then "" else  # just output key if value is `true`
+      if isInt value then "  ${builtins.toString value}" else
+      if path.check value then "  \"${value}\"" else  # enclose path in ".."
+      if singleLineStr.check value then "  ${value}" else
+      throw "assertion failed: cannot convert type"  # should never happen
+    }") ];
+
+  makeDsmSysStanza = {servername, ... }@serverCfg:
+    let
+      # drop special values that should not go into server config block
+      attrs = removeAttrs serverCfg [ "servername" "genPasswd"
+        # XXX migration code for freeform settings, these can be removed in 2025:
+        "assertions" "warnings"
+        "extraConfig" "text"
+        "name" "server" "port" "node" "passwdDir" "includeExclude"
+      ];
+    in
+      ''
+        servername  ${servername}
+        ${concatLines (concatLists (mapAttrsToList makeDsmSysLines attrs))}
       '';
-    }
-    {
-      assertion = (cfg.defaultServername!=null)->(hasAttr cfg.defaultServername cfg.servers);
-      message = "TSM defaultServername not found in list of servers";
-    }
-  ];
 
   dsmSysText = ''
-    ****  IBM Spectrum Protect (Tivoli Storage Manager)
+    ****  IBM Storage Protect (Tivoli Storage Manager)
     ****  client system-options file "dsm.sys".
     ****  Do not edit!
     ****  This file is generated by NixOS configuration.
 
     ${optionalString (cfg.defaultServername!=null) "defaultserver  ${cfg.defaultServername}"}
 
-    ${concatLines (mapAttrsToList (k: v: v.stanza) cfg.servers)}
+    ${concatLines (map makeDsmSysStanza (attrValues cfg.servers))}
   '';
 
+  # XXX migration code for freeform settings, this can be removed in 2025:
+  enrichMigrationInfos = what: how: concatLists (
+    mapAttrsToList
+    (name: serverCfg: map (how (text: "In `programs.tsmClient.servers.${name}`: ${text}")) serverCfg."${what}")
+    cfg.servers
+  );
+
 in
 
 {
@@ -275,6 +288,8 @@ in
       dsmSysApi = dsmSysCli;
     };
     environment.systemPackages = [ cfg.wrappedPackage ];
+    # XXX migration code for freeform settings, this can be removed in 2025:
+    warnings = enrichMigrationInfos "warnings" (addText: addText);
   };
 
   meta.maintainers = [ lib.maintainers.yarny ];
diff --git a/nixos/modules/services/audio/wyoming/faster-whisper.nix b/nixos/modules/services/audio/wyoming/faster-whisper.nix
index eda409f1f8004..dd7f62744cd02 100644
--- a/nixos/modules/services/audio/wyoming/faster-whisper.nix
+++ b/nixos/modules/services/audio/wyoming/faster-whisper.nix
@@ -121,6 +121,7 @@ in
   in mkIf (cfg.servers != {}) {
     systemd.services = mapAttrs' (server: options:
       nameValuePair "wyoming-faster-whisper-${server}" {
+        inherit (options) enable;
         description = "Wyoming faster-whisper server instance ${server}";
         after = [
           "network-online.target"
diff --git a/nixos/modules/services/audio/wyoming/piper.nix b/nixos/modules/services/audio/wyoming/piper.nix
index 698828aa6cbaf..2828fdf078921 100644
--- a/nixos/modules/services/audio/wyoming/piper.nix
+++ b/nixos/modules/services/audio/wyoming/piper.nix
@@ -116,6 +116,7 @@ in
   in mkIf (cfg.servers != {}) {
     systemd.services = mapAttrs' (server: options:
       nameValuePair "wyoming-piper-${server}" {
+        inherit (options) enable;
         description = "Wyoming Piper server instance ${server}";
         after = [
           "network-online.target"
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 039a5f227ac41..393fe83f493f5 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -602,53 +602,56 @@ in {
           };
 
           extraArgs = mkOption {
-            type = types.str;
+            type = with types; coercedTo (listOf str) escapeShellArgs str;
             description = lib.mdDoc ''
               Additional arguments for all {command}`borg` calls the
               service has. Handle with care.
             '';
-            default = "";
-            example = "--remote-path=/path/to/borg";
+            default = [ ];
+            example = [ "--remote-path=/path/to/borg" ];
           };
 
           extraInitArgs = mkOption {
-            type = types.str;
+            type = with types; coercedTo (listOf str) escapeShellArgs str;
             description = lib.mdDoc ''
               Additional arguments for {command}`borg init`.
               Can also be set at runtime using `$extraInitArgs`.
             '';
-            default = "";
-            example = "--append-only";
+            default = [ ];
+            example = [ "--append-only" ];
           };
 
           extraCreateArgs = mkOption {
-            type = types.str;
+            type = with types; coercedTo (listOf str) escapeShellArgs str;
             description = lib.mdDoc ''
               Additional arguments for {command}`borg create`.
               Can also be set at runtime using `$extraCreateArgs`.
             '';
-            default = "";
-            example = "--stats --checkpoint-interval 600";
+            default = [ ];
+            example = [
+              "--stats"
+              "--checkpoint-interval 600"
+            ];
           };
 
           extraPruneArgs = mkOption {
-            type = types.str;
+            type = with types; coercedTo (listOf str) escapeShellArgs str;
             description = lib.mdDoc ''
               Additional arguments for {command}`borg prune`.
               Can also be set at runtime using `$extraPruneArgs`.
             '';
-            default = "";
-            example = "--save-space";
+            default = [ ];
+            example = [ "--save-space" ];
           };
 
           extraCompactArgs = mkOption {
-            type = types.str;
+            type = with types; coercedTo (listOf str) escapeShellArgs str;
             description = lib.mdDoc ''
               Additional arguments for {command}`borg compact`.
               Can also be set at runtime using `$extraCompactArgs`.
             '';
-            default = "";
-            example = "--cleanup-commits";
+            default = [ ];
+            example = [ "--cleanup-commits" ];
           };
         };
       }
diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix
index d3c6f3104fc54..82067d8ade34d 100644
--- a/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixos/modules/services/backup/postgresql-backup.nix
@@ -17,8 +17,8 @@ let
 
       compressCmd = getAttr cfg.compression {
         "none" = "cat";
-        "gzip" = "${pkgs.gzip}/bin/gzip -c -${toString cfg.compressionLevel}";
-        "zstd" = "${pkgs.zstd}/bin/zstd -c -${toString cfg.compressionLevel}";
+        "gzip" = "${pkgs.gzip}/bin/gzip -c -${toString cfg.compressionLevel} --rsyncable";
+        "zstd" = "${pkgs.zstd}/bin/zstd -c -${toString cfg.compressionLevel} --rsyncable";
       };
 
       mkSqlPath = prefix: suffix: "${cfg.location}/${db}${prefix}.sql${suffix}";
@@ -178,4 +178,5 @@ in {
     })
   ];
 
+  meta.maintainers = with lib.maintainers; [ Scrumplex ];
 }
diff --git a/nixos/modules/services/backup/tsm.nix b/nixos/modules/services/backup/tsm.nix
index c4de0b16d47d2..6798b18b3af73 100644
--- a/nixos/modules/services/backup/tsm.nix
+++ b/nixos/modules/services/backup/tsm.nix
@@ -3,6 +3,7 @@
 let
 
   inherit (lib.attrsets) hasAttr;
+  inherit (lib.meta) getExe';
   inherit (lib.modules) mkDefault mkIf;
   inherit (lib.options) mkEnableOption mkOption;
   inherit (lib.types) nonEmptyStr nullOr;
@@ -10,7 +11,7 @@ let
   options.services.tsmBackup = {
     enable = mkEnableOption (lib.mdDoc ''
       automatic backups with the
-      IBM Spectrum Protect (Tivoli Storage Manager, TSM) client.
+      IBM Storage Protect (Tivoli Storage Manager, TSM) client.
       This also enables
       {option}`programs.tsmClient.enable`
     '');
@@ -78,10 +79,10 @@ in
   config = mkIf cfg.enable {
     inherit assertions;
     programs.tsmClient.enable = true;
-    programs.tsmClient.servers.${cfg.servername}.passwdDir =
+    programs.tsmClient.servers.${cfg.servername}.passworddir =
       mkDefault "/var/lib/tsm-backup/password";
     systemd.services.tsm-backup = {
-      description = "IBM Spectrum Protect (Tivoli Storage Manager) Backup";
+      description = "IBM Storage Protect (Tivoli Storage Manager) Backup";
       # DSM_LOG needs a trailing slash to have it treated as a directory.
       # `/var/log` would be littered with TSM log files otherwise.
       environment.DSM_LOG = "/var/log/tsm-backup/";
@@ -89,12 +90,12 @@ in
       environment.HOME = "/var/lib/tsm-backup";
       serviceConfig = {
         # for exit status description see
-        # https://www.ibm.com/docs/en/spectrum-protect/8.1.13?topic=clients-client-return-codes
+        # https://www.ibm.com/docs/en/storage-protect/8.1.20?topic=clients-client-return-codes
         SuccessExitStatus = "4 8";
         # The `-se` option must come after the command.
         # The `-optfile` option suppresses a `dsm.opt`-not-found warning.
         ExecStart =
-          "${cfgPrg.wrappedPackage}/bin/dsmc ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null";
+          "${getExe' cfgPrg.wrappedPackage "dsmc"} ${cfg.command} -se='${cfg.servername}' -optfile=/dev/null";
         LogsDirectory = "tsm-backup";
         StateDirectory = "tsm-backup";
         StateDirectoryMode = "0750";
diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix
index 11c5adc6a8859..dca8996df0831 100644
--- a/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -13,6 +13,13 @@ in
   ###### interface
   options.services.kubernetes.flannel = {
     enable = mkEnableOption (lib.mdDoc "flannel networking");
+
+    openFirewallPorts = mkOption {
+      description = lib.mdDoc ''
+        Whether to open the Flannel UDP ports in the firewall on all interfaces.'';
+      type = types.bool;
+      default = true;
+    };
   };
 
   ###### implementation
@@ -38,7 +45,7 @@ in
     };
 
     networking = {
-      firewall.allowedUDPPorts = [
+      firewall.allowedUDPPorts = mkIf cfg.openFirewallPorts [
         8285  # flannel udp
         8472  # flannel vxlan
       ];
diff --git a/nixos/modules/services/cluster/spark/default.nix b/nixos/modules/services/cluster/spark/default.nix
index 2e3914a734bea..b3e1ac399ae9f 100644
--- a/nixos/modules/services/cluster/spark/default.nix
+++ b/nixos/modules/services/cluster/spark/default.nix
@@ -69,8 +69,8 @@ with lib;
       confDir = mkOption {
         type = types.path;
         description = lib.mdDoc "Spark configuration directory. Spark will use the configuration files (spark-defaults.conf, spark-env.sh, log4j.properties, etc) from this directory.";
-        default = "${cfg.package}/lib/${cfg.package.untarDir}/conf";
-        defaultText = literalExpression ''"''${package}/lib/''${package.untarDir}/conf"'';
+        default = "${cfg.package}/conf";
+        defaultText = literalExpression ''"''${package}/conf"'';
       };
       logDir = mkOption {
         type = types.path;
@@ -111,9 +111,9 @@ with lib;
             Type = "forking";
             User = "spark";
             Group = "spark";
-            WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}";
-            ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-master.sh";
-            ExecStop  = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-master.sh";
+            WorkingDirectory = "${cfg.package}/";
+            ExecStart = "${cfg.package}/sbin/start-master.sh";
+            ExecStop  = "${cfg.package}/sbin/stop-master.sh";
             TimeoutSec = 300;
             StartLimitBurst=10;
             Restart = "always";
@@ -134,9 +134,9 @@ with lib;
           serviceConfig = {
             Type = "forking";
             User = "spark";
-            WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}";
-            ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-worker.sh spark://${cfg.worker.master}";
-            ExecStop  = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-worker.sh";
+            WorkingDirectory = "${cfg.package}/";
+            ExecStart = "${cfg.package}/sbin/start-worker.sh spark://${cfg.worker.master}";
+            ExecStop  = "${cfg.package}/sbin/stop-worker.sh";
             TimeoutSec = 300;
             StartLimitBurst=10;
             Restart = "always";
diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix
index b906788209b19..2a836c24dda36 100644
--- a/nixos/modules/services/continuous-integration/buildbot/worker.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix
@@ -128,9 +128,7 @@ in {
         '';
       };
 
-      package = mkPackageOption pkgs "python3Packages.buildbot-worker" {
-        example = "python2Packages.buildbot-worker";
-      };
+      package = mkPackageOption pkgs "buildbot-worker" { };
 
       packages = mkOption {
         default = with pkgs; [ git ];
diff --git a/nixos/modules/services/desktops/ayatana-indicators.nix b/nixos/modules/services/desktops/ayatana-indicators.nix
new file mode 100644
index 0000000000000..abc687bbd43dd
--- /dev/null
+++ b/nixos/modules/services/desktops/ayatana-indicators.nix
@@ -0,0 +1,58 @@
+{ config
+, pkgs
+, lib
+, ...
+}:
+
+let
+  cfg = config.services.ayatana-indicators;
+in
+{
+  options.services.ayatana-indicators = {
+    enable = lib.mkEnableOption (lib.mdDoc ''
+      Ayatana Indicators, a continuation of Canonical's Application Indicators
+    '');
+
+    packages = lib.mkOption {
+      type = lib.types.listOf lib.types.package;
+      default = [ ];
+      example = lib.literalExpression "with pkgs; [ ayatana-indicator-messages ]";
+      description = lib.mdDoc ''
+        List of packages containing Ayatana Indicator services
+        that should be brought up by the SystemD "ayatana-indicators" user target.
+
+        Packages specified here must have passthru.ayatana-indicators set correctly.
+
+        If, how, and where these indicators are displayed will depend on your DE.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    environment = {
+      systemPackages = cfg.packages;
+
+      pathsToLink = [
+        "/share/ayatana"
+      ];
+    };
+
+    # libayatana-common's ayatana-indicators.target with explicit Wants & Before to bring up requested indicator services
+    systemd.user.targets."ayatana-indicators" =
+      let
+        indicatorServices = lib.lists.flatten
+          (map
+            (pkg:
+              (map (ind: "${ind}.service") pkg.passthru.ayatana-indicators))
+            cfg.packages);
+      in
+      {
+        description = "Target representing the lifecycle of the Ayatana Indicators. Each indicator should be bound to it in its individual service file";
+        partOf = [ "graphical-session.target" ];
+        wants = indicatorServices;
+        before = indicatorServices;
+      };
+  };
+
+  meta.maintainers = with lib.maintainers; [ OPNA2608 ];
+}
diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix
index 87aceddd6635c..c084d6541ad38 100644
--- a/nixos/modules/services/development/zammad.nix
+++ b/nixos/modules/services/development/zammad.nix
@@ -21,6 +21,7 @@ let
     NODE_ENV = "production";
     RAILS_SERVE_STATIC_FILES = "true";
     RAILS_LOG_TO_STDOUT = "true";
+    REDIS_URL = "redis://${cfg.redis.host}:${toString cfg.redis.port}";
   };
   databaseConfig = settingsFormat.generate "database.yml" cfg.database.settings;
 in
@@ -65,6 +66,36 @@ in
         description = lib.mdDoc "Websocket service port.";
       };
 
+      redis = {
+        createLocally = mkOption {
+          type = types.bool;
+          default = true;
+          description = lib.mdDoc "Whether to create a local redis automatically.";
+        };
+
+        name = mkOption {
+          type = types.str;
+          default = "zammad";
+          description = lib.mdDoc ''
+            Name of the redis server. Only used if `createLocally` is set to true.
+          '';
+        };
+
+        host = mkOption {
+          type = types.str;
+          default = "localhost";
+          description = lib.mdDoc ''
+            Redis server address.
+          '';
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 6379;
+          description = lib.mdDoc "Port of the redis server.";
+        };
+      };
+
       database = {
         type = mkOption {
           type = types.enum [ "PostgreSQL" "MySQL" ];
@@ -206,6 +237,10 @@ in
         assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
         message = "a password cannot be specified if services.zammad.database.createLocally is set to true";
       }
+      {
+        assertion = cfg.redis.createLocally -> cfg.redis.host == "localhost";
+        message = "the redis host must be localhost if services.zammad.redis.createLocally is set to true";
+      }
     ];
 
     services.mysql = optionalAttrs (cfg.database.createLocally && cfg.database.type == "MySQL") {
@@ -231,6 +266,13 @@ in
       ];
     };
 
+    services.redis = optionalAttrs cfg.redis.createLocally {
+      servers."${cfg.redis.name}" = {
+        enable = true;
+        port = cfg.redis.port;
+      };
+    };
+
     systemd.services.zammad-web = {
       inherit environment;
       serviceConfig = serviceConfig // {
@@ -240,6 +282,8 @@ in
       after = [
         "network.target"
         "postgresql.service"
+      ] ++ optionals cfg.redis.createLocally [
+        "redis-${cfg.redis.name}.service"
       ];
       requires = [
         "postgresql.service"
@@ -303,16 +347,15 @@ in
       script = "./script/websocket-server.rb -b ${cfg.host} -p ${toString cfg.websocketPort} start";
     };
 
-    systemd.services.zammad-scheduler = {
-      inherit environment;
-      serviceConfig = serviceConfig // { Type = "forking"; };
+    systemd.services.zammad-worker = {
+      inherit serviceConfig environment;
       after = [ "zammad-web.service" ];
       requires = [ "zammad-web.service" ];
-      description = "Zammad scheduler";
+      description = "Zammad background worker";
       wantedBy = [ "multi-user.target" ];
-      script = "./script/scheduler.rb start";
+      script = "./script/background-worker.rb start";
     };
   };
 
-  meta.maintainers = with lib.maintainers; [ garbas taeer ];
+  meta.maintainers = with lib.maintainers; [ taeer netali ];
 }
diff --git a/nixos/modules/services/display-managers/greetd.nix b/nixos/modules/services/display-managers/greetd.nix
index 779e141ca24bd..2212f97a9ffe2 100644
--- a/nixos/modules/services/display-managers/greetd.nix
+++ b/nixos/modules/services/display-managers/greetd.nix
@@ -4,7 +4,7 @@ with lib;
 let
   cfg = config.services.greetd;
   tty = "tty${toString cfg.vt}";
-  settingsFormat = pkgs.formats.toml {};
+  settingsFormat = pkgs.formats.toml { };
 in
 {
   options.services.greetd = {
@@ -27,7 +27,7 @@ in
       '';
     };
 
-    vt = mkOption  {
+    vt = mkOption {
       type = types.int;
       default = 1;
       description = lib.mdDoc ''
@@ -97,12 +97,18 @@ in
 
     systemd.defaultUnit = "graphical.target";
 
+    # Create directories potentially required by supported greeters
+    # See https://github.com/NixOS/nixpkgs/issues/248323
+    systemd.tmpfiles.rules = [
+      "d '/var/cache/tuigreet' - greeter greeter - -"
+    ];
+
     users.users.greeter = {
       isSystemUser = true;
       group = "greeter";
     };
 
-    users.groups.greeter = {};
+    users.groups.greeter = { };
   };
 
   meta.maintainers = with maintainers; [ queezle ];
diff --git a/nixos/modules/services/games/teeworlds.nix b/nixos/modules/services/games/teeworlds.nix
index ffef440330c4e..bd0df1ffca578 100644
--- a/nixos/modules/services/games/teeworlds.nix
+++ b/nixos/modules/services/games/teeworlds.nix
@@ -100,7 +100,7 @@ in
 
       serviceConfig = {
         DynamicUser = true;
-        ExecStart = "${pkgs.teeworlds}/bin/teeworlds_srv -f ${teeworldsConf}";
+        ExecStart = "${pkgs.teeworlds-server}/bin/teeworlds_srv -f ${teeworldsConf}";
 
         # Hardening
         CapabilityBoundingSet = false;
diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix
index 8fa7b456f20e2..cca35f492b8e3 100644
--- a/nixos/modules/services/hardware/thinkfan.nix
+++ b/nixos/modules/services/hardware/thinkfan.nix
@@ -217,6 +217,8 @@ in {
 
     systemd.services = {
       thinkfan.environment.THINKFAN_ARGS = escapeShellArgs ([ "-c" configFile ] ++ cfg.extraArgs);
+      thinkfan.serviceConfig.Restart = "on-failure";
+      thinkfan.serviceConfig.RestartSec = "30s";
 
       # must be added manually, see issue #81138
       thinkfan.wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 54fd3e17292f6..0a399e0774d10 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -11,14 +11,12 @@ let
   # options shown in settings.
   # We post-process the result to add support for YAML functions, like secrets or includes, see e.g.
   # https://www.home-assistant.io/docs/configuration/secrets/
-  filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null ])) cfg.config or {};
+  filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null ])) (lib.recursiveUpdate customLovelaceModulesResources (cfg.config or {}));
   configFile = pkgs.runCommandLocal "configuration.yaml" { } ''
     cp ${format.generate "configuration.yaml" filteredConfig} $out
     sed -i -e "s/'\!\([a-z_]\+\) \(.*\)'/\!\1 \2/;s/^\!\!/\!/;" $out
   '';
-  lovelaceConfig = if (cfg.lovelaceConfig == null) then {}
-    else (lib.recursiveUpdate customLovelaceModulesResources cfg.lovelaceConfig);
-  lovelaceConfigFile = format.generate "ui-lovelace.yaml" lovelaceConfig;
+  lovelaceConfigFile = format.generate "ui-lovelace.yaml" cfg.lovelaceConfig;
 
   # Components advertised by the home-assistant package
   availableComponents = cfg.package.availableComponents;
@@ -77,7 +75,7 @@ let
   # Create parts of the lovelace config that reference lovelave modules as resources
   customLovelaceModulesResources = {
     lovelace.resources = map (card: {
-      url = "/local/nixos-lovelace-modules/${card.entrypoint or card.pname}.js?${card.version}";
+      url = "/local/nixos-lovelace-modules/${card.entrypoint or card.pname + ".js"}?${card.version}";
       type = "module";
     }) cfg.customLovelaceModules;
   };
@@ -455,10 +453,10 @@ in {
           ln -s /etc/home-assistant/configuration.yaml "${cfg.configDir}/configuration.yaml"
         '';
         copyLovelaceConfig = if cfg.lovelaceConfigWritable then ''
+          rm -f "${cfg.configDir}/ui-lovelace.yaml"
           cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
         '' else ''
-          rm -f "${cfg.configDir}/ui-lovelace.yaml"
-          ln -s /etc/home-assistant/ui-lovelace.yaml "${cfg.configDir}/ui-lovelace.yaml"
+          ln -fs /etc/home-assistant/ui-lovelace.yaml "${cfg.configDir}/ui-lovelace.yaml"
         '';
         copyCustomLovelaceModules = if cfg.customLovelaceModules != [] then ''
           mkdir -p "${cfg.configDir}/www"
diff --git a/nixos/modules/services/logging/vector.nix b/nixos/modules/services/logging/vector.nix
index 48f9eeb4ce8f0..9ccf8a4fa0610 100644
--- a/nixos/modules/services/logging/vector.nix
+++ b/nixos/modules/services/logging/vector.nix
@@ -51,13 +51,17 @@ in
         {
           ExecStart = "${getExe cfg.package} --config ${validateConfig conf}";
           DynamicUser = true;
-          Restart = "no";
+          Restart = "always";
           StateDirectory = "vector";
           ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
           AmbientCapabilities = "CAP_NET_BIND_SERVICE";
           # This group is required for accessing journald.
           SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal";
         };
+      unitConfig = {
+        StartLimitIntervalSec = 10;
+        StartLimitBurst = 5;
+      };
     };
   };
 }
diff --git a/nixos/modules/services/matrix/appservice-irc.nix b/nixos/modules/services/matrix/appservice-irc.nix
index d153ffc2ace87..c79cd799b4d0e 100644
--- a/nixos/modules/services/matrix/appservice-irc.nix
+++ b/nixos/modules/services/matrix/appservice-irc.nix
@@ -214,7 +214,7 @@ in {
         RestrictRealtime = true;
         PrivateMounts = true;
         SystemCallFilter = [
-          "@system-service @pkey"
+          "@system-service @pkey @chown"
           "~@privileged @resources"
         ];
         SystemCallArchitectures = "native";
diff --git a/nixos/modules/services/matrix/maubot.nix b/nixos/modules/services/matrix/maubot.nix
index 7d392c22983b4..bc96ca03b1fc7 100644
--- a/nixos/modules/services/matrix/maubot.nix
+++ b/nixos/modules/services/matrix/maubot.nix
@@ -42,7 +42,7 @@ let
       database = lib.last (lib.splitString "/" noSchema);
     };
 
-  postgresDBs = [
+  postgresDBs = builtins.filter isPostgresql [
     cfg.settings.database
     cfg.settings.crypto_database
     cfg.settings.plugin_databases.postgres
diff --git a/nixos/modules/services/misc/ankisyncd.nix b/nixos/modules/services/misc/ankisyncd.nix
index e4de46e19a8fc..f5acfbb0ee969 100644
--- a/nixos/modules/services/misc/ankisyncd.nix
+++ b/nixos/modules/services/misc/ankisyncd.nix
@@ -46,6 +46,12 @@ in
     };
 
     config = mkIf cfg.enable {
+      warnings = [
+        ''
+        `services.ankisyncd` has been replaced by `services.anki-sync-server` and will be removed after
+        24.05 because anki-sync-server(-rs and python) are not maintained.
+        ''
+      ];
       networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
 
       systemd.services.ankisyncd = {
diff --git a/nixos/modules/services/misc/guix/default.nix b/nixos/modules/services/misc/guix/default.nix
new file mode 100644
index 0000000000000..7b468e7067cc2
--- /dev/null
+++ b/nixos/modules/services/misc/guix/default.nix
@@ -0,0 +1,394 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.services.guix;
+
+  package = cfg.package.override { inherit (cfg) stateDir storeDir; };
+
+  guixBuildUser = id: {
+    name = "guixbuilder${toString id}";
+    group = cfg.group;
+    extraGroups = [ cfg.group ];
+    createHome = false;
+    description = "Guix build user ${toString id}";
+    isSystemUser = true;
+  };
+
+  guixBuildUsers = numberOfUsers:
+    builtins.listToAttrs (map
+      (user: {
+        name = user.name;
+        value = user;
+      })
+      (builtins.genList guixBuildUser numberOfUsers));
+
+  # A set of Guix user profiles to be linked at activation.
+  guixUserProfiles = {
+    # The current Guix profile that is created through `guix pull`.
+    "current-guix" = "\${XDG_CONFIG_HOME}/guix/current";
+
+    # The default Guix profile similar to $HOME/.nix-profile from Nix.
+    "guix-profile" = "$HOME/.guix-profile";
+  };
+
+  # All of the Guix profiles to be used.
+  guixProfiles = lib.attrValues guixUserProfiles;
+
+  serviceEnv = {
+    GUIX_LOCPATH = "${cfg.stateDir}/guix/profiles/per-user/root/guix-profile/lib/locale";
+    LC_ALL = "C.UTF-8";
+  };
+in
+{
+  meta.maintainers = with lib.maintainers; [ foo-dogsquared ];
+
+  options.services.guix = with lib; {
+    enable = mkEnableOption "Guix build daemon service";
+
+    group = mkOption {
+      type = types.str;
+      default = "guixbuild";
+      example = "guixbuild";
+      description = ''
+        The group of the Guix build user pool.
+      '';
+    };
+
+    nrBuildUsers = mkOption {
+      type = types.ints.unsigned;
+      description = ''
+        Number of Guix build users to be used in the build pool.
+      '';
+      default = 10;
+      example = 20;
+    };
+
+    extraArgs = mkOption {
+      type = with types; listOf str;
+      default = [ ];
+      example = [ "--max-jobs=4" "--debug" ];
+      description = ''
+        Extra flags to pass to the Guix daemon service.
+      '';
+    };
+
+    package = mkPackageOption pkgs "guix" {
+      extraDescription = ''
+        It should contain {command}`guix-daemon` and {command}`guix`
+        executable.
+      '';
+    };
+
+    storeDir = mkOption {
+      type = types.path;
+      default = "/gnu/store";
+      description = ''
+        The store directory where the Guix service will serve to/from. Take
+        note Guix cannot take advantage of substitutes if you set it something
+        other than {file}`/gnu/store` since most of the cached builds are
+        assumed to be in there.
+
+        ::: {.warning}
+        This will also recompile all packages because the normal cache no
+        longer applies.
+        :::
+      '';
+    };
+
+    stateDir = mkOption {
+      type = types.path;
+      default = "/var";
+      description = ''
+        The state directory where Guix service will store its data such as its
+        user-specific profiles, cache, and state files.
+
+        ::: {.warning}
+        Changing it to something other than the default will rebuild the
+        package.
+        :::
+      '';
+      example = "/gnu/var";
+    };
+
+    publish = {
+      enable = mkEnableOption "substitute server for your Guix store directory";
+
+      generateKeyPair = mkOption {
+        type = types.bool;
+        description = ''
+          Whether to generate signing keys in {file}`/etc/guix` which are
+          required to initialize a substitute server. Otherwise,
+          `--public-key=$FILE` and `--private-key=$FILE` can be passed in
+          {option}`services.guix.publish.extraArgs`.
+        '';
+        default = true;
+        example = false;
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 8181;
+        example = 8200;
+        description = ''
+          Port of the substitute server to listen on.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "guix-publish";
+        description = ''
+          Name of the user to change once the server is up.
+        '';
+      };
+
+      extraArgs = mkOption {
+        type = with types; listOf str;
+        description = ''
+          Extra flags to pass to the substitute server.
+        '';
+        default = [];
+        example = [
+          "--compression=zstd:6"
+          "--discover=no"
+        ];
+      };
+    };
+
+    gc = {
+      enable = mkEnableOption "automatic garbage collection service for Guix";
+
+      extraArgs = mkOption {
+        type = with types; listOf str;
+        default = [ ];
+        description = ''
+          List of arguments to be passed to {command}`guix gc`.
+
+          When given no option, it will try to collect all garbage which is
+          often inconvenient so it is recommended to set [some
+          options](https://guix.gnu.org/en/manual/en/html_node/Invoking-guix-gc.html).
+        '';
+        example = [
+          "--delete-generations=1m"
+          "--free-space=10G"
+          "--optimize"
+        ];
+      };
+
+      dates = lib.mkOption {
+        type = types.str;
+        default = "03:15";
+        example = "weekly";
+        description = ''
+          How often the garbage collection occurs. This takes the time format
+          from {manpage}`systemd.time(7)`.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable (lib.mkMerge [
+    {
+      environment.systemPackages = [ package ];
+
+      users.users = guixBuildUsers cfg.nrBuildUsers;
+      users.groups.${cfg.group} = { };
+
+      # Guix uses Avahi (through guile-avahi) both for the auto-discovering and
+      # advertising substitute servers in the local network.
+      services.avahi.enable = lib.mkDefault true;
+      services.avahi.publish.enable = lib.mkDefault true;
+      services.avahi.publish.userServices = lib.mkDefault true;
+
+      # It's similar to Nix daemon so there's no question whether or not this
+      # should be sandboxed.
+      systemd.services.guix-daemon = {
+        environment = serviceEnv;
+        script = ''
+          ${lib.getExe' package "guix-daemon"} \
+            --build-users-group=${cfg.group} \
+            ${lib.escapeShellArgs cfg.extraArgs}
+        '';
+        serviceConfig = {
+          OOMPolicy = "continue";
+          RemainAfterExit = "yes";
+          Restart = "always";
+          TasksMax = 8192;
+        };
+        unitConfig.RequiresMountsFor = [
+          cfg.storeDir
+          cfg.stateDir
+        ];
+        wantedBy = [ "multi-user.target" ];
+      };
+
+      # This is based from Nix daemon socket unit from upstream Nix package.
+      # Guix build daemon has support for systemd-style socket activation.
+      systemd.sockets.guix-daemon = {
+        description = "Guix daemon socket";
+        before = [ "multi-user.target" ];
+        listenStreams = [ "${cfg.stateDir}/guix/daemon-socket/socket" ];
+        unitConfig = {
+          RequiresMountsFor = [
+            cfg.storeDir
+            cfg.stateDir
+          ];
+          ConditionPathIsReadWrite = "${cfg.stateDir}/guix/daemon-socket";
+        };
+        wantedBy = [ "socket.target" ];
+      };
+
+      systemd.mounts = [{
+        description = "Guix read-only store directory";
+        before = [ "guix-daemon.service" ];
+        what = cfg.storeDir;
+        where = cfg.storeDir;
+        type = "none";
+        options = "bind,ro";
+
+        unitConfig.DefaultDependencies = false;
+        wantedBy = [ "guix-daemon.service" ];
+      }];
+
+      # Make transferring files from one store to another easier with the usual
+      # case being of most substitutes from the official Guix CI instance.
+      system.activationScripts.guix-authorize-keys = ''
+        for official_server_keys in ${package}/share/guix/*.pub; do
+          ${lib.getExe' package "guix"} archive --authorize < $official_server_keys
+        done
+      '';
+
+      # Link the usual Guix profiles to the home directory. This is useful in
+      # ephemeral setups where only certain part of the filesystem is
+      # persistent (e.g., "Erase my darlings"-type of setup).
+      system.userActivationScripts.guix-activate-user-profiles.text = let
+        linkProfileToPath = acc: profile: location: let
+          guixProfile = "${cfg.stateDir}/guix/profiles/per-user/\${USER}/${profile}";
+          in acc + ''
+            [ -d "${guixProfile}" ] && [ -L "${location}" ] || ln -sf "${guixProfile}" "${location}"
+          '';
+
+        activationScript = lib.foldlAttrs linkProfileToPath "" guixUserProfiles;
+      in ''
+        # Don't export this please! It is only expected to be used for this
+        # activation script and nothing else.
+        XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config}
+
+        # Linking the usual Guix profiles into the home directory.
+        ${activationScript}
+      '';
+
+      # GUIX_LOCPATH is basically LOCPATH but for Guix libc which in turn used by
+      # virtually every Guix-built packages. This is so that Guix-installed
+      # applications wouldn't use incompatible locale data and not touch its host
+      # system.
+      environment.sessionVariables.GUIX_LOCPATH = lib.makeSearchPath "lib/locale" guixProfiles;
+
+      # What Guix profiles export is very similar to Nix profiles so it is
+      # acceptable to list it here. Also, it is more likely that the user would
+      # want to use packages explicitly installed from Guix so we're putting it
+      # first.
+      environment.profiles = lib.mkBefore guixProfiles;
+    }
+
+    (lib.mkIf cfg.publish.enable {
+      systemd.services.guix-publish = {
+        description = "Guix remote store";
+        environment = serviceEnv;
+
+        # Mounts will be required by the daemon service anyways so there's no
+        # need add RequiresMountsFor= or something similar.
+        requires = [ "guix-daemon.service" ];
+        after = [ "guix-daemon.service" ];
+        partOf = [ "guix-daemon.service" ];
+
+        preStart = lib.mkIf cfg.publish.generateKeyPair ''
+          # Generate the keypair if it's missing.
+          [ -f "/etc/guix/signing-key.sec" ] && [ -f "/etc/guix/signing-key.pub" ] || \
+            ${lib.getExe' package "guix"} archive --generate-key || {
+              rm /etc/guix/signing-key.*;
+              ${lib.getExe' package "guix"} archive --generate-key;
+            }
+        '';
+        script = ''
+          ${lib.getExe' package "guix"} publish \
+            --user=${cfg.publish.user} --port=${builtins.toString cfg.publish.port} \
+            ${lib.escapeShellArgs cfg.publish.extraArgs}
+        '';
+
+        serviceConfig = {
+          Restart = "always";
+          RestartSec = 10;
+
+          ProtectClock = true;
+          ProtectHostname = true;
+          ProtectKernelTunables = true;
+          ProtectKernelModules = true;
+          ProtectControlGroups = true;
+          SystemCallFilter = [
+            "@system-service"
+            "@debug"
+            "@setuid"
+          ];
+
+          RestrictNamespaces = true;
+          RestrictAddressFamilies = [
+            "AF_UNIX"
+            "AF_INET"
+            "AF_INET6"
+          ];
+
+          # While the permissions can be set, it is assumed to be taken by Guix
+          # daemon service which it has already done the setup.
+          ConfigurationDirectory = "guix";
+
+          AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+          CapabilityBoundingSet = [
+            "CAP_NET_BIND_SERVICE"
+            "CAP_SETUID"
+            "CAP_SETGID"
+          ];
+        };
+        wantedBy = [ "multi-user.target" ];
+      };
+
+      users.users.guix-publish = lib.mkIf (cfg.publish.user == "guix-publish") {
+        description = "Guix publish user";
+        group = config.users.groups.guix-publish.name;
+        isSystemUser = true;
+      };
+      users.groups.guix-publish = {};
+    })
+
+    (lib.mkIf cfg.gc.enable {
+      # This service should be handled by root to collect all garbage by all
+      # users.
+      systemd.services.guix-gc = {
+        description = "Guix garbage collection";
+        startAt = cfg.gc.dates;
+        script = ''
+          ${lib.getExe' package "guix"} gc ${lib.escapeShellArgs cfg.gc.extraArgs}
+        '';
+
+        serviceConfig = {
+          Type = "oneshot";
+
+          MemoryDenyWriteExecute = true;
+          PrivateDevices = true;
+          PrivateNetworks = true;
+          ProtectControlGroups = true;
+          ProtectHostname = true;
+          ProtectKernelTunables = true;
+          SystemCallFilter = [
+            "@default"
+            "@file-system"
+            "@basic-io"
+            "@system-service"
+          ];
+        };
+      };
+
+      systemd.timers.guix-gc.timerConfig.Persistent = true;
+    })
+  ]);
+}
diff --git a/nixos/modules/services/misc/preload.nix b/nixos/modules/services/misc/preload.nix
index 19b2531087dd6..d26e2c3d383e8 100644
--- a/nixos/modules/services/misc/preload.nix
+++ b/nixos/modules/services/misc/preload.nix
@@ -19,7 +19,7 @@ in {
 
       serviceConfig = {
         EnvironmentFile = "${cfg.package}/etc/conf.d/preload";
-        ExecStart = "${getExe cfg.package} --foreground $PRELOAD_OPTS";
+        ExecStart = "${getExe cfg.package} -l '' --foreground $PRELOAD_OPTS";
         Type = "simple";
         # Only preload data during CPU idle time
         IOSchedulingClass = 3;
diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix
index e3941d2e29de4..b517170cda216 100644
--- a/nixos/modules/services/misc/redmine.nix
+++ b/nixos/modules/services/misc/redmine.nix
@@ -264,9 +264,12 @@ in
       { assertion = cfg.database.passwordFile != null || cfg.database.socket != null;
         message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set";
       }
-      { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user && cfg.database.user == cfg.database.name;
+      { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user;
         message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true";
       }
+      { assertion = pgsqlLocal -> cfg.database.user == cfg.database.name;
+        message = "services.redmine.database.user and services.redmine.database.name must be the same when using a local postgresql database";
+      }
       { assertion = cfg.database.createLocally -> cfg.database.socket != null;
         message = "services.redmine.database.socket must be set if services.redmine.database.createLocally is set to true";
       }
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 90ea56658b02d..e78cb4d01dc5b 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -41,12 +41,12 @@ let
   # This becomes the main config file for Prometheus
   promConfig = {
     global = filterValidPrometheus cfg.globalConfig;
-    rule_files = map (promtoolCheck "check rules" "rules") (cfg.ruleFiles ++ [
-      (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
-    ]);
     scrape_configs = filterValidPrometheus cfg.scrapeConfigs;
     remote_write = filterValidPrometheus cfg.remoteWrite;
     remote_read = filterValidPrometheus cfg.remoteRead;
+    rule_files = optionals (!(cfg.enableAgentMode)) (map (promtoolCheck "check rules" "rules") (cfg.ruleFiles ++ [
+      (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
+    ]));
     alerting = {
       inherit (cfg) alertmanagers;
     };
@@ -62,15 +62,20 @@ let
     promtoolCheck "check config ${lib.optionalString (cfg.checkConfig == "syntax-only") "--syntax-only"}" "prometheus.yml" yml;
 
   cmdlineArgs = cfg.extraFlags ++ [
-    "--storage.tsdb.path=${workingDir}/data/"
     "--config.file=${
       if cfg.enableReload
       then "/etc/prometheus/prometheus.yaml"
       else prometheusYml
     }"
     "--web.listen-address=${cfg.listenAddress}:${builtins.toString cfg.port}"
-    "--alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}"
-  ] ++ optional (cfg.webExternalUrl != null) "--web.external-url=${cfg.webExternalUrl}"
+  ] ++ (
+    if (cfg.enableAgentMode) then [
+      "--enable-feature=agent"
+    ] else [
+       "--alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity }"
+       "--storage.tsdb.path=${workingDir}/data/"
+    ])
+    ++ optional (cfg.webExternalUrl != null) "--web.external-url=${cfg.webExternalUrl}"
     ++ optional (cfg.retentionTime != null) "--storage.tsdb.retention.time=${cfg.retentionTime}"
     ++ optional (cfg.webConfigFile != null) "--web.config.file=${cfg.webConfigFile}";
 
@@ -1612,6 +1617,8 @@ in
       '';
     };
 
+    enableAgentMode = mkEnableOption (lib.mdDoc "agent mode");
+
     configText = mkOption {
       type = types.nullOr types.lines;
       default = null;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
index db5c4d15be662..b36a09c609206 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
@@ -55,12 +55,12 @@ in
       RuntimeDirectory = "prometheus-mongodb-exporter";
       ExecStart = ''
         ${getExe pkgs.prometheus-mongodb-exporter} \
-          --mongodb.uri=${cfg.uri}
+          --mongodb.uri="${cfg.uri}" \
           ${if cfg.collectAll then "--collect-all" else concatMapStringsSep " " (x: "--collect.${x}") cfg.collector} \
-          --collector.collstats=${concatStringsSep "," cfg.collStats} \
-          --collector.indexstats=${concatStringsSep "," cfg.indexStats} \
-          --web.listen-address=${cfg.listenAddress}:${toString cfg.port} \
-          --web.telemetry-path=${cfg.telemetryPath} \
+          ${optionalString (length cfg.collStats > 0) "--mongodb.collstats-colls=${concatStringsSep "," cfg.collStats}"} \
+          ${optionalString (length cfg.indexStats > 0) "--mongodb.indexstats-colls=${concatStringsSep "," cfg.indexStats}"} \
+          --web.listen-address="${cfg.listenAddress}:${toString cfg.port}" \
+          --web.telemetry-path="${cfg.telemetryPath}" \
           ${escapeShellArgs cfg.extraFlags}
       '';
     };
diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix
index efef2d777acd8..c9dda8a8c0930 100644
--- a/nixos/modules/services/monitoring/ups.nix
+++ b/nixos/modules/services/monitoring/ups.nix
@@ -6,9 +6,83 @@ with lib;
 
 let
   cfg = config.power.ups;
-in
+  defaultPort = 3493;
+
+  nutFormat = {
+
+    type = with lib.types; let
+
+      singleAtom = nullOr (oneOf [
+        bool
+        int
+        float
+        str
+      ]) // {
+        description = "atom (null, bool, int, float or string)";
+      };
+
+      in attrsOf (oneOf [
+        singleAtom
+        (listOf (nonEmptyListOf singleAtom))
+      ]);
+
+    generate = name: value:
+      let
+        normalizedValue =
+          lib.mapAttrs (key: val:
+            if lib.isList val
+            then forEach val (elem: if lib.isList elem then elem else [elem])
+            else
+              if val == null
+              then []
+              else [[val]]
+          ) value;
+
+        mkValueString = concatMapStringsSep " " (v:
+          let str = generators.mkValueStringDefault {} v;
+          in
+            # Quote the value if it has spaces and isn't already quoted.
+            if (hasInfix " " str) && !(hasPrefix "\"" str && hasSuffix "\"" str)
+            then "\"${str}\""
+            else str
+        );
+
+      in pkgs.writeText name (lib.generators.toKeyValue {
+        mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " ";
+        listsAsDuplicateKeys = true;
+      } normalizedValue);
+
+  };
+
+  installSecrets = source: target: secrets:
+    pkgs.writeShellScript "installSecrets.sh" ''
+      install -m0600 -D ${source} "${target}"
+      ${concatLines (forEach secrets (name: ''
+        ${pkgs.replace-secret}/bin/replace-secret \
+          '@${name}@' \
+          "$CREDENTIALS_DIRECTORY/${name}" \
+          "${target}"
+      ''))}
+      chmod u-w "${target}"
+    '';
+
+  upsmonConf = nutFormat.generate "upsmon.conf" cfg.upsmon.settings;
+
+  upsdUsers = pkgs.writeText "upsd.users" (let
+    # This looks like INI, but it's not quite because the
+    # 'upsmon' option lacks a '='. See: man upsd.users
+    userConfig = name: user: concatStringsSep "\n      " (concatLists [
+      [
+        "[${name}]"
+        "password = \"@upsdusers_password_${name}@\""
+      ]
+      (optional (user.upsmon != null) "upsmon ${user.upsmon}")
+      (forEach user.actions (action: "actions = ${action}"))
+      (forEach user.instcmds (instcmd: "instcmds = ${instcmd}"))
+    ]);
+  in concatStringsSep "\n\n" (mapAttrsToList userConfig cfg.users));
+
 
-let
   upsOptions = {name, config, ...}:
   {
     options = {
@@ -95,6 +169,213 @@ let
     };
   };
 
+  listenOptions = {
+    options = {
+      address = mkOption {
+        type = types.str;
+        description = lib.mdDoc ''
+          Address of the interface for `upsd` to listen on.
+          See `man upsd.conf` for details.
+        '';
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = defaultPort;
+        description = lib.mdDoc ''
+          TCP port for `upsd` to listen on.
+          See `man upsd.conf` for details.
+        '';
+      };
+    };
+  };
+
+  upsdOptions = {
+    options = {
+      enable = mkOption {
+        type = types.bool;
+        defaultText = literalMD "`true` if `mode` is one of `standalone`, `netserver`";
+        description = mdDoc "Whether to enable `upsd`.";
+      };
+
+      listen = mkOption {
+        type = with types; listOf (submodule listenOptions);
+        default = [];
+        example = [
+          {
+            address = "192.168.50.1";
+          }
+          {
+            address = "::1";
+            port = 5923;
+          }
+        ];
+        description = lib.mdDoc ''
+          Address of the interface for `upsd` to listen on.
+          See `man upsd` for details`.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = lib.mdDoc ''
+          Additional lines to add to `upsd.conf`.
+        '';
+      };
+    };
+
+    config = {
+      enable = mkDefault (elem cfg.mode [ "standalone" "netserver" ]);
+    };
+  };
+
+
+  monitorOptions = { name, config, ... }: {
+    options = {
+      system = mkOption {
+        type = types.str;
+        default = name;
+        description = lib.mdDoc ''
+          Identifier of the UPS to monitor, in this form: `<upsname>[@<hostname>[:<port>]]`
+          See `upsmon.conf` for details.
+        '';
+      };
+
+      powerValue = mkOption {
+        type = types.int;
+        default = 1;
+        description = lib.mdDoc ''
+          Number of power supplies that the UPS feeds on this system.
+          See `upsmon.conf` for details.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        description = lib.mdDoc ''
+          Username from `upsd.users` for accessing this UPS.
+          See `upsmon.conf` for details.
+        '';
+      };
+
+      passwordFile = mkOption {
+        type = types.str;
+        defaultText = literalMD "power.ups.users.\${user}.passwordFile";
+        description = lib.mdDoc ''
+          The full path to a file containing the password from
+          `upsd.users` for accessing this UPS. The password file
+          is read on service start.
+          See `upsmon.conf` for details.
+        '';
+      };
+
+      type = mkOption {
+        type = types.str;
+        default = "master";
+        description = lib.mdDoc ''
+          The relationship with `upsd`.
+          See `upsmon.conf` for details.
+        '';
+      };
+    };
+
+    config = {
+      passwordFile = mkDefault cfg.users.${config.user}.passwordFile;
+    };
+  };
+
+  upsmonOptions = {
+    options = {
+      enable = mkOption {
+        type = types.bool;
+        defaultText = literalMD "`true` if `mode` is one of `standalone`, `netserver`, `netclient`";
+        description = mdDoc "Whether to enable `upsmon`.";
+      };
+
+      monitor = mkOption {
+        type = with types; attrsOf (submodule monitorOptions);
+        default = {};
+        description = lib.mdDoc ''
+          Set of UPS to monitor. See `man upsmon.conf` for details.
+        '';
+      };
+
+      settings = mkOption {
+        type = nutFormat.type;
+        default = {};
+        defaultText = literalMD ''
+          {
+            MINSUPPLIES = 1;
+            RUN_AS_USER = "root";
+            NOTIFYCMD = "''${pkgs.nut}/bin/upssched";
+            SHUTDOWNCMD = "''${pkgs.systemd}/bin/shutdown now";
+          }
+        '';
+        description = mdDoc "Additional settings to add to `upsmon.conf`.";
+        example = literalMD ''
+          {
+            MINSUPPLIES = 2;
+            NOTIFYFLAG = [
+              [ "ONLINE" "SYSLOG+EXEC" ]
+              [ "ONBATT" "SYSLOG+EXEC" ]
+            ];
+          }
+        '';
+      };
+    };
+
+    config = {
+      enable = mkDefault (elem cfg.mode [ "standalone" "netserver" "netclient" ]);
+      settings = {
+        RUN_AS_USER = "root"; # TODO: replace 'root' by another username.
+        MINSUPPLIES = mkDefault 1;
+        NOTIFYCMD = mkDefault "${pkgs.nut}/bin/upssched";
+        SHUTDOWNCMD = mkDefault "${pkgs.systemd}/bin/shutdown now";
+        MONITOR = flip mapAttrsToList cfg.upsmon.monitor (name: monitor: with monitor; [ system powerValue user "\"@upsmon_password_${name}@\"" type ]);
+      };
+    };
+  };
+
+  userOptions = {
+    options = {
+      passwordFile = mkOption {
+        type = types.str;
+        description = lib.mdDoc ''
+          The full path to a file that contains the user's (clear text)
+          password. The password file is read on service start.
+        '';
+      };
+
+      actions = mkOption {
+        type = with types; listOf str;
+        default = [];
+        description = lib.mdDoc ''
+          Allow the user to do certain things with upsd.
+          See `man upsd.users` for details.
+        '';
+      };
+
+      instcmds = mkOption {
+        type = with types; listOf str;
+        default = [];
+        description = lib.mdDoc ''
+          Let the user initiate specific instant commands. Use "ALL" to grant all commands automatically. For the full list of what your UPS supports, use "upscmd -l".
+          See `man upsd.users` for details.
+        '';
+      };
+
+      upsmon = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = lib.mdDoc ''
+          Add the necessary actions for a upsmon process to work.
+          See `man upsd.users` for details.
+        '';
+      };
+    };
+  };
+
 in
 
 
@@ -103,19 +384,14 @@ in
     # powerManagement.powerDownCommands
 
     power.ups = {
-      enable = mkOption {
-        default = false;
-        type = with types; bool;
-        description = lib.mdDoc ''
-          Enables support for Power Devices, such as Uninterruptible Power
-          Supplies, Power Distribution Units and Solar Controllers.
-        '';
-      };
+      enable = mkEnableOption (lib.mdDoc ''
+        Enables support for Power Devices, such as Uninterruptible Power
+        Supplies, Power Distribution Units and Solar Controllers.
+      '');
 
-      # This option is not used yet.
       mode = mkOption {
         default = "standalone";
-        type = types.str;
+        type = types.enum [ "none" "standalone" "netserver" "netclient" ];
         description = lib.mdDoc ''
           The MODE determines which part of the NUT is to be started, and
           which configuration files must be modified.
@@ -148,6 +424,13 @@ in
         '';
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Open ports in the firewall for `upsd`.
+        '';
+      };
 
       maxStartDelay = mkOption {
         default = 45;
@@ -161,6 +444,22 @@ in
         '';
       };
 
+      upsmon = mkOption {
+        default = {};
+        description = lib.mdDoc ''
+          Options for the `upsmon.conf` configuration file.
+        '';
+        type = types.submodule upsmonOptions;
+      };
+
+      upsd = mkOption {
+        default = {};
+        description = lib.mdDoc ''
+          Options for the `upsd.conf` configuration file.
+        '';
+        type = types.submodule upsdOptions;
+      };
+
       ups = mkOption {
         default = {};
         # see nut/etc/ups.conf.sample
@@ -172,46 +471,95 @@ in
         type = with types; attrsOf (submodule upsOptions);
       };
 
+      users = mkOption {
+        default = {};
+        description = lib.mdDoc ''
+          Users that can access upsd. See `man upsd.users`.
+        '';
+        type = with types; attrsOf (submodule userOptions);
+      };
+
     };
   };
 
   config = mkIf cfg.enable {
 
+    assertions = [
+      (let
+        totalPowerValue = foldl' add 0 (map (monitor: monitor.powerValue) (attrValues cfg.upsmon.monitor));
+        minSupplies = cfg.upsmon.settings.MINSUPPLIES;
+      in mkIf cfg.upsmon.enable {
+        assertion = totalPowerValue >= minSupplies;
+        message = ''
+          `power.ups.upsmon`: Total configured power value (${toString totalPowerValue}) must be at least MINSUPPLIES (${toString minSupplies}).
+        '';
+      })
+    ];
+
     environment.systemPackages = [ pkgs.nut ];
 
-    systemd.services.upsmon = {
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts =
+        if cfg.upsd.listen == []
+        then [ defaultPort ]
+        else unique (forEach cfg.upsd.listen (listen: listen.port));
+    };
+
+    systemd.services.upsmon = let
+      secrets = mapAttrsToList (name: monitor: "upsmon_password_${name}") cfg.upsmon.monitor;
+      createUpsmonConf = installSecrets upsmonConf "/run/nut/upsmon.conf" secrets;
+    in {
+      enable = cfg.upsmon.enable;
       description = "Uninterruptible Power Supplies (Monitor)";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      serviceConfig.Type = "forking";
-      script = "${pkgs.nut}/sbin/upsmon";
-      environment.NUT_CONFPATH = "/etc/nut/";
-      environment.NUT_STATEPATH = "/var/lib/nut/";
+      serviceConfig = {
+        Type = "forking";
+        ExecStartPre = "${createUpsmonConf}";
+        ExecStart = "${pkgs.nut}/sbin/upsmon";
+        ExecReload = "${pkgs.nut}/sbin/upsmon -c reload";
+        LoadCredential = mapAttrsToList (name: monitor: "upsmon_password_${name}:${monitor.passwordFile}") cfg.upsmon.monitor;
+      };
+      environment.NUT_CONFPATH = "/etc/nut";
+      environment.NUT_STATEPATH = "/var/lib/nut";
     };
 
-    systemd.services.upsd = {
+    systemd.services.upsd = let
+      secrets = mapAttrsToList (name: user: "upsdusers_password_${name}") cfg.users;
+      createUpsdUsers = installSecrets upsdUsers "/run/nut/upsd.users" secrets;
+    in {
+      enable = cfg.upsd.enable;
       description = "Uninterruptible Power Supplies (Daemon)";
       after = [ "network.target" "upsmon.service" ];
       wantedBy = [ "multi-user.target" ];
-      serviceConfig.Type = "forking";
-      # TODO: replace 'root' by another username.
-      script = "${pkgs.nut}/sbin/upsd -u root";
-      environment.NUT_CONFPATH = "/etc/nut/";
-      environment.NUT_STATEPATH = "/var/lib/nut/";
+      serviceConfig = {
+        Type = "forking";
+        ExecStartPre = "${createUpsdUsers}";
+        # TODO: replace 'root' by another username.
+        ExecStart = "${pkgs.nut}/sbin/upsd -u root";
+        ExecReload = "${pkgs.nut}/sbin/upsd -c reload";
+        LoadCredential = mapAttrsToList (name: user: "upsdusers_password_${name}:${user.passwordFile}") cfg.users;
+      };
+      environment.NUT_CONFPATH = "/etc/nut";
+      environment.NUT_STATEPATH = "/var/lib/nut";
+      restartTriggers = [
+        config.environment.etc."nut/upsd.conf".source
+      ];
     };
 
     systemd.services.upsdrv = {
+      enable = cfg.upsd.enable;
       description = "Uninterruptible Power Supplies (Register all UPS)";
       after = [ "upsd.service" ];
       wantedBy = [ "multi-user.target" ];
-      # TODO: replace 'root' by another username.
-      script = "${pkgs.nut}/bin/upsdrvctl -u root start";
       serviceConfig = {
         Type = "oneshot";
         RemainAfterExit = true;
+        # TODO: replace 'root' by another username.
+        ExecStart = "${pkgs.nut}/bin/upsdrvctl -u root start";
       };
-      environment.NUT_CONFPATH = "/etc/nut/";
-      environment.NUT_STATEPATH = "/var/lib/nut/";
+      environment.NUT_CONFPATH = "/etc/nut";
+      environment.NUT_STATEPATH = "/var/lib/nut";
     };
 
     environment.etc = {
@@ -223,24 +571,23 @@ in
         ''
           maxstartdelay = ${toString cfg.maxStartDelay}
 
-          ${flip concatStringsSep (forEach (attrValues cfg.ups) (ups: ups.summary)) "
-
-          "}
+          ${concatStringsSep "\n\n" (forEach (attrValues cfg.ups) (ups: ups.summary))}
+        '';
+      "nut/upsd.conf".source = pkgs.writeText "upsd.conf"
+        ''
+          ${concatStringsSep "\n" (forEach cfg.upsd.listen (listen: "LISTEN ${listen.address} ${toString listen.port}"))}
+          ${cfg.upsd.extraConfig}
         '';
       "nut/upssched.conf".source = cfg.schedulerRules;
-      # These file are containing private information and thus should not
-      # be stored inside the Nix store.
-      /*
-      "nut/upsd.conf".source = "";
-      "nut/upsd.users".source = "";
-      "nut/upsmon.conf".source = "";
-      */
+      "nut/upsd.users".source = "/run/nut/upsd.users";
+      "nut/upsmon.conf".source = "/run/nut/upsmon.conf";
     };
 
     power.ups.schedulerRules = mkDefault "${pkgs.nut}/etc/upssched.conf.sample";
 
     systemd.tmpfiles.rules = [
       "d /var/state/ups -"
+      "d /var/lib/nut 700"
     ];
 
 
diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix
index b10a3d9f21df6..78af256f9c81b 100644
--- a/nixos/modules/services/networking/ejabberd.nix
+++ b/nixos/modules/services/networking/ejabberd.nix
@@ -120,6 +120,12 @@ in {
         if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
           touch "${cfg.spoolDir}/.firstRun"
         fi
+
+        if ! test -e ${cfg.spoolDir}/.erlang.cookie; then
+          touch ${cfg.spoolDir}/.erlang.cookie
+          chmod 600 ${cfg.spoolDir}/.erlang.cookie
+          dd if=/dev/random bs=16 count=1 | base64 > ${cfg.spoolDir}/.erlang.cookie
+        fi
       '';
 
       postStart = ''
diff --git a/nixos/modules/services/networking/harmonia.nix b/nixos/modules/services/networking/harmonia.nix
index beaa7d00b6ce8..d0f4a8a6e6333 100644
--- a/nixos/modules/services/networking/harmonia.nix
+++ b/nixos/modules/services/networking/harmonia.nix
@@ -29,6 +29,11 @@ in
 
   config = lib.mkIf cfg.enable {
     nix.settings.extra-allowed-users = [ "harmonia" ];
+    users.users.harmonia = {
+      isSystemUser = true;
+      group = "harmonia";
+    };
+    users.groups.harmonia = { };
 
     systemd.services.harmonia = {
       description = "harmonia binary cache service";
@@ -50,7 +55,6 @@ in
         ExecStart = lib.getExe cfg.package;
         User = "harmonia";
         Group = "harmonia";
-        DynamicUser = true;
         PrivateUsers = true;
         DeviceAllow = [ "" ];
         UMask = "0066";
diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix
index b74f5d0bec9b8..d46c1a69a6197 100644
--- a/nixos/modules/services/networking/iwd.nix
+++ b/nixos/modules/services/networking/iwd.nix
@@ -64,8 +64,10 @@ in
     };
 
     systemd.services.iwd = {
+      path = [ config.networking.resolvconf.package ];
       wantedBy = [ "multi-user.target" ];
       restartTriggers = [ configFile ];
+      serviceConfig.ReadWritePaths = "-/etc/resolv.conf";
     };
   };
 
diff --git a/nixos/modules/services/networking/keepalived/default.nix b/nixos/modules/services/networking/keepalived/default.nix
index 29fbea5545c36..429a47c3962c6 100644
--- a/nixos/modules/services/networking/keepalived/default.nix
+++ b/nixos/modules/services/networking/keepalived/default.nix
@@ -150,6 +150,14 @@ in
         '';
       };
 
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Whether to automatically allow VRRP and AH packets in the firewall.
+        '';
+      };
+
       enableScriptSecurity = mkOption {
         type = types.bool;
         default = false;
@@ -282,6 +290,19 @@ in
 
     assertions = flatten (map vrrpInstanceAssertions vrrpInstances);
 
+    networking.firewall = lib.mkIf cfg.openFirewall {
+      extraCommands = ''
+        # Allow VRRP and AH packets
+        ip46tables -A nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
+        ip46tables -A nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
+      '';
+
+      extraStopCommands = ''
+        ip46tables -D nixos-fw -p vrrp -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
+        ip46tables -D nixos-fw -p ah -m comment --comment "services.keepalived.openFirewall" -j ACCEPT
+      '';
+    };
+
     systemd.timers.keepalived-boot-delay = {
       description = "Keepalive Daemon delay to avoid instant transition to MASTER state";
       after = [ "network.target" "network-online.target" "syslog.target" ];
diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix
index f09ef1a959ed4..ff41539a6d9b7 100644
--- a/nixos/modules/services/networking/teamspeak3.nix
+++ b/nixos/modules/services/networking/teamspeak3.nix
@@ -50,7 +50,7 @@ in
       };
 
       defaultVoicePort = mkOption {
-        type = types.int;
+        type = types.port;
         default = 9987;
         description = lib.mdDoc ''
           Default UDP port for clients to connect to virtual servers - used for first virtual server, subsequent ones will open on incrementing port numbers by default.
@@ -67,7 +67,7 @@ in
       };
 
       fileTransferPort = mkOption {
-        type = types.int;
+        type = types.port;
         default = 30033;
         description = lib.mdDoc ''
           TCP port opened for file transfers.
@@ -84,10 +84,26 @@ in
       };
 
       queryPort = mkOption {
-        type = types.int;
+        type = types.port;
         default = 10011;
         description = lib.mdDoc ''
-          TCP port opened for ServerQuery connections.
+          TCP port opened for ServerQuery connections using the raw telnet protocol.
+        '';
+      };
+
+      querySshPort = mkOption {
+        type = types.port;
+        default = 10022;
+        description = lib.mdDoc ''
+          TCP port opened for ServerQuery connections using the SSH protocol.
+        '';
+      };
+
+      queryHttpPort = mkOption {
+        type = types.port;
+        default = 10080;
+        description = lib.mdDoc ''
+          TCP port opened for ServerQuery connections using the HTTP protocol.
         '';
       };
 
@@ -128,7 +144,9 @@ in
     ];
 
     networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPorts = [ cfg.fileTransferPort ] ++ optionals (cfg.openFirewallServerQuery) [ cfg.queryPort (cfg.queryPort + 11) ];
+      allowedTCPPorts = [ cfg.fileTransferPort ] ++ (map (port:
+        mkIf cfg.openFirewallServerQuery port
+      ) [cfg.queryPort cfg.querySshPort cfg.queryHttpPort]);
       # subsequent vServers will use the incremented voice port, let's just open the next 10
       allowedUDPPortRanges = [ { from = cfg.defaultVoicePort; to = cfg.defaultVoicePort + 10; } ];
     };
@@ -141,13 +159,19 @@ in
       serviceConfig = {
         ExecStart = ''
           ${ts3}/bin/ts3server \
-            dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \
-            ${optionalString (cfg.voiceIP != null) "voice_ip=${cfg.voiceIP}"} \
+            dbsqlpath=${ts3}/lib/teamspeak/sql/ \
+            logpath=${cfg.logPath} \
+            license_accepted=1 \
             default_voice_port=${toString cfg.defaultVoicePort} \
-            ${optionalString (cfg.fileTransferIP != null) "filetransfer_ip=${cfg.fileTransferIP}"} \
             filetransfer_port=${toString cfg.fileTransferPort} \
+            query_port=${toString cfg.queryPort} \
+            query_ssh_port=${toString cfg.querySshPort} \
+            query_http_port=${toString cfg.queryHttpPort} \
+            ${optionalString (cfg.voiceIP != null) "voice_ip=${cfg.voiceIP}"} \
+            ${optionalString (cfg.fileTransferIP != null) "filetransfer_ip=${cfg.fileTransferIP}"} \
             ${optionalString (cfg.queryIP != null) "query_ip=${cfg.queryIP}"} \
-            query_port=${toString cfg.queryPort} license_accepted=1
+            ${optionalString (cfg.queryIP != null) "query_ssh_ip=${cfg.queryIP}"} \
+            ${optionalString (cfg.queryIP != null) "query_http_ip=${cfg.queryIP}"} \
         '';
         WorkingDirectory = cfg.dataDir;
         User = user;
diff --git a/nixos/modules/services/search/hound.nix b/nixos/modules/services/search/hound.nix
index 539a322b431f6..d238b26a226b5 100644
--- a/nixos/modules/services/search/hound.nix
+++ b/nixos/modules/services/search/hound.nix
@@ -3,6 +3,12 @@ with lib;
 let
   cfg = config.services.hound;
 in {
+  imports = [
+    (lib.mkRemovedOptionModule [ "services" "hound" "extraGroups" ] "Use users.users.hound.extraGroups instead")
+  ];
+
+  meta.maintainers = with maintainers; [ SuperSandro2000 ];
+
   options = {
     services.hound = {
       enable = mkOption {
@@ -13,6 +19,8 @@ in {
         '';
       };
 
+      package = mkPackageOptionMD pkgs "hound" { };
+
       user = mkOption {
         default = "hound";
         type = types.str;
@@ -29,27 +37,15 @@ in {
         '';
       };
 
-      extraGroups = mkOption {
-        type = types.listOf types.str;
-        default = [ ];
-        example = [ "dialout" ];
-        description = lib.mdDoc ''
-          List of extra groups that the "hound" user should be a part of.
-        '';
-      };
-
       home = mkOption {
         default = "/var/lib/hound";
         type = types.path;
         description = lib.mdDoc ''
-          The path to use as hound's $HOME. If the default user
-          "hound" is configured then this is the home of the "hound"
-          user.
+          The path to use as hound's $HOME.
+          If the default user "hound" is configured then this is the home of the "hound" user.
         '';
       };
 
-      package = mkPackageOption pkgs "hound" { };
-
       config = mkOption {
         type = types.str;
         description = lib.mdDoc ''
@@ -57,63 +53,62 @@ in {
           should be an absolute path to a writable location on disk.
         '';
         example = literalExpression ''
-          '''
-            {
-              "max-concurrent-indexers" : 2,
-              "dbpath" : "''${services.hound.home}/data",
-              "repos" : {
-                  "nixpkgs": {
-                    "url" : "https://www.github.com/NixOS/nixpkgs.git"
-                  }
-              }
+          {
+            "max-concurrent-indexers" : 2,
+            "repos" : {
+                "nixpkgs": {
+                  "url" : "https://www.github.com/NixOS/nixpkgs.git"
+                }
             }
-          '''
+          }
         '';
       };
 
       listen = mkOption {
         type = types.str;
         default = "0.0.0.0:6080";
-        example = "127.0.0.1:6080 or just :6080";
+        example = ":6080";
         description = lib.mdDoc ''
-          Listen on this IP:port / :port
+          Listen on this [IP]:port
         '';
       };
     };
   };
 
   config = mkIf cfg.enable {
-    users.groups = optionalAttrs (cfg.group == "hound") {
-      hound.gid = config.ids.gids.hound;
+    users.groups = lib.mkIf (cfg.group == "hound") {
+      hound = { };
     };
 
-    users.users = optionalAttrs (cfg.user == "hound") {
+    users.users = lib.mkIf (cfg.user == "hound") {
       hound = {
-        description = "hound code search";
+        description = "Hound code search";
         createHome = true;
-        home = cfg.home;
-        group = cfg.group;
-        extraGroups = cfg.extraGroups;
-        uid = config.ids.uids.hound;
+        isSystemUser = true;
+        inherit (cfg) home group;
       };
     };
 
-    systemd.services.hound = {
+    systemd.services.hound = let
+      configFile = pkgs.writeTextFile {
+        name = "hound.json";
+        text = cfg.config;
+        checkPhase = ''
+          # check if the supplied text is valid json
+          ${lib.getExe pkgs.jq} . $target > /dev/null
+        '';
+      };
+    in {
       description = "Hound Code Search";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;
         WorkingDirectory = cfg.home;
         ExecStartPre = "${pkgs.git}/bin/git config --global --replace-all http.sslCAinfo /etc/ssl/certs/ca-certificates.crt";
-        ExecStart = "${cfg.package}/bin/houndd" +
-                    " -addr ${cfg.listen}" +
-                    " -conf ${pkgs.writeText "hound.json" cfg.config}";
-
+        ExecStart = "${cfg.package}/bin/houndd -addr ${cfg.listen} -conf ${configFile}";
       };
     };
   };
-
 }
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index 72a195d3a04ed..d3164373ec01f 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -3,7 +3,6 @@ with lib;
 let
   clamavUser = "clamav";
   stateDir = "/var/lib/clamav";
-  runDir = "/run/clamav";
   clamavGroup = clamavUser;
   cfg = config.services.clamav;
   pkg = pkgs.clamav;
@@ -99,6 +98,29 @@ in
           '';
         };
       };
+
+      scanner = {
+        enable = mkEnableOption (lib.mdDoc "ClamAV scanner");
+
+        interval = mkOption {
+          type = types.str;
+          default = "*-*-* 04:00:00";
+          description = lib.mdDoc ''
+            How often clamdscan is invoked. See systemd.time(7) for more
+            information about the format.
+            By default this runs using 10 cores at most, be sure to run it at a time of low traffic.
+          '';
+        };
+
+        scanDirectories = mkOption {
+          type = with types; listOf str;
+          default = [ "/home" "/var/lib" "/tmp" "/etc" "/var/tmp" ];
+          description = lib.mdDoc ''
+            List of directories to scan.
+            The default includes everything I could think of that is valid for nixos. Feel free to contribute a PR to add to the default if you see something missing.
+          '';
+        };
+      };
     };
   };
 
@@ -117,9 +139,8 @@ in
 
     services.clamav.daemon.settings = {
       DatabaseDirectory = stateDir;
-      LocalSocket = "${runDir}/clamd.ctl";
-      PidFile = "${runDir}/clamd.pid";
-      TemporaryDirectory = "/tmp";
+      LocalSocket = "/run/clamav/clamd.ctl";
+      PidFile = "/run/clamav/clamd.pid";
       User = "clamav";
       Foreground = true;
     };
@@ -182,7 +203,6 @@ in
         ExecStart = "${pkg}/bin/freshclam";
         SuccessExitStatus = "1"; # if databases are up to date
         StateDirectory = "clamav";
-        RuntimeDirectory = "clamav";
         User = clamavUser;
         Group = clamavGroup;
         PrivateTmp = "yes";
@@ -204,7 +224,6 @@ in
       serviceConfig = {
         Type = "oneshot";
         StateDirectory = "clamav";
-        RuntimeDirectory = "clamav";
         User = clamavUser;
         Group = clamavGroup;
         PrivateTmp = "yes";
@@ -230,12 +249,31 @@ in
         Type = "oneshot";
         ExecStart = "${pkgs.fangfrisch}/bin/fangfrisch --conf ${fangfrischConfigFile} refresh";
         StateDirectory = "clamav";
-        RuntimeDirectory = "clamav";
         User = clamavUser;
         Group = clamavGroup;
         PrivateTmp = "yes";
         PrivateDevices = "yes";
       };
     };
+
+    systemd.timers.clamdscan = mkIf cfg.scanner.enable {
+      description = "Timer for ClamAV virus scanner";
+      wantedBy = [ "timers.target" ];
+      timerConfig = {
+        OnCalendar = cfg.scanner.interval;
+        Unit = "clamdscan.service";
+      };
+    };
+
+    systemd.services.clamdscan = mkIf cfg.scanner.enable {
+      description = "ClamAV virus scanner";
+      after = optionals cfg.updater.enable [ "clamav-freshclam.service" ];
+      wants = optionals cfg.updater.enable [ "clamav-freshclam.service" ];
+
+      serviceConfig = {
+        Type = "oneshot";
+        ExecStart = "${pkg}/bin/clamdscan --multiscan --fdpass --infected --allmatch ${lib.concatStringsSep " " cfg.scanner.scanDirectories}";
+      };
+    };
   };
 }
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 0cd24fb03a7bd..88537f8c4f7b6 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -333,10 +333,10 @@ in
             cfg.settings.watch-dir;
         StateDirectory = [
           "transmission"
-          "transmission/.config/transmission-daemon"
-          "transmission/.incomplete"
-          "transmission/Downloads"
-          "transmission/watch-dir"
+          "transmission/${settingsDir}"
+          "transmission/${incompleteDir}"
+          "transmission/${downloadsDir}"
+          "transmission/${watchDir}"
         ];
         StateDirectoryMode = mkDefault 750;
         # The following options are only for optimizing:
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index 5d44bdee64a73..6d2948913b194 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -25,7 +25,6 @@ let
     maintainers
     catAttrs
     collect
-    splitString
     hasPrefix
     ;
 
@@ -329,7 +328,8 @@ in
             };
 
             hostname = mkOption {
-              type = str;
+              type = nullOr str;
+              default = null;
               example = "keycloak.example.com";
               description = lib.mdDoc ''
                 The hostname part of the public URL used as base for
@@ -451,7 +451,7 @@ in
 
       keycloakConfig = lib.generators.toKeyValue {
         mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
-          mkValueString = v: with builtins;
+          mkValueString = v:
             if isInt v then toString v
             else if isString v then v
             else if true == v then "true"
@@ -480,6 +480,14 @@ in
             assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true;
             message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
           }
+          {
+            assertion = cfg.settings.hostname != null || cfg.settings.hostname-url or null != null;
+            message = "Setting the Keycloak hostname is required, see `services.keycloak.settings.hostname`";
+          }
+          {
+            assertion = !(cfg.settings.hostname != null && cfg.settings.hostname-url or null != null);
+            message = "`services.keycloak.settings.hostname` and `services.keycloak.settings.hostname-url` are mutually exclusive";
+          }
         ];
 
         environment.systemPackages = [ keycloakBuild ];
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index 8686506b1c282..7b00ce35eb1a7 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -229,7 +229,7 @@ in {
       streamingProcesses = lib.mkOption {
         description = lib.mdDoc ''
           Number of processes used by the mastodon-streaming service.
-          Recommended is the amount of your CPU cores minus one.
+          Please define this explicitly, recommended is the amount of your CPU cores minus one.
         '';
         type = lib.types.ints.positive;
         example = 3;
diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix
index f19465eeb59a5..5035594323749 100644
--- a/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixos/modules/services/web-apps/mattermost.nix
@@ -102,7 +102,7 @@ in
     services.mattermost = {
       enable = mkEnableOption (lib.mdDoc "Mattermost chat server");
 
-      package = mkPackageOption pkgs "mattermostl" { };
+      package = mkPackageOption pkgs "mattermost" { };
 
       statePath = mkOption {
         type = types.str;
diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix
index 3b9434e3d3456..88d40b3abc529 100644
--- a/nixos/modules/services/web-apps/netbox.nix
+++ b/nixos/modules/services/web-apps/netbox.nix
@@ -317,7 +317,7 @@ in {
 
         serviceConfig = defaultServiceConfig // {
           ExecStart = ''
-            ${pkgs.python3Packages.gunicorn}/bin/gunicorn netbox.wsgi \
+            ${pkg.gunicorn}/bin/gunicorn netbox.wsgi \
               --bind ${cfg.listenAddress}:${toString cfg.port} \
               --pythonpath ${pkg}/opt/netbox/netbox
           '';
diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix
index d775042fed164..de78f05a98ca2 100644
--- a/nixos/modules/services/web-apps/node-red.nix
+++ b/nixos/modules/services/web-apps/node-red.nix
@@ -19,7 +19,7 @@ in
   options.services.node-red = {
     enable = mkEnableOption (lib.mdDoc "the Node-RED service");
 
-    package = mkPackageOption pkgs "node-red" { };
+    package = mkPackageOption pkgs "nodePackages.node-red" { };
 
     openFirewall = mkOption {
       type = types.bool;
diff --git a/nixos/modules/services/web-apps/windmill.nix b/nixos/modules/services/web-apps/windmill.nix
new file mode 100644
index 0000000000000..8e940dabdc1f8
--- /dev/null
+++ b/nixos/modules/services/web-apps/windmill.nix
@@ -0,0 +1,177 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.services.windmill;
+in
+{
+  options.services.windmill = {
+    enable = lib.mkEnableOption (lib.mdDoc "windmill service");
+
+    serverPort = lib.mkOption {
+      type = lib.types.port;
+      default = 8001;
+      description = lib.mdDoc "Port the windmill server listens on.";
+    };
+
+    lspPort = lib.mkOption {
+      type = lib.types.port;
+      default = 3001;
+      description = lib.mdDoc "Port the windmill lsp listens on.";
+    };
+
+    database = {
+      name = lib.mkOption {
+        type = lib.types.str;
+        # the simplest database setup is to have the database named like the user.
+        default = "windmill";
+        description = lib.mdDoc "Database name.";
+      };
+
+      user = lib.mkOption {
+        type = lib.types.str;
+        # the simplest database setup is to have the database user like the name.
+        default = "windmill";
+        description = lib.mdDoc "Database user.";
+      };
+
+      urlPath = lib.mkOption {
+        type = lib.types.path;
+        description = lib.mdDoc ''
+          Path to the file containing the database url windmill should connect to. This is not deducted from database user and name as it might contain a secret
+        '';
+        example = "config.age.secrets.DATABASE_URL_FILE.path";
+      };
+      createLocally = lib.mkOption {
+        type = lib.types.bool;
+        default = true;
+        description = lib.mdDoc "Whether to create a local database automatically.";
+      };
+    };
+
+    baseUrl = lib.mkOption {
+      type = lib.types.str;
+      description = lib.mdDoc ''
+        The base url that windmill will be served on.
+      '';
+      example = "https://windmill.example.com";
+    };
+
+    logLevel = lib.mkOption {
+      type = lib.types.enum [ "error" "warn" "info" "debug" "trace" ];
+      default = "info";
+      description = lib.mdDoc "Log level";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+
+    services.postgresql = lib.optionalAttrs (cfg.database.createLocally) {
+      enable = lib.mkDefault true;
+
+      ensureDatabases = [ cfg.database.name ];
+      ensureUsers = [
+        { name = cfg.database.user;
+          ensureDBOwnership = true;
+        }
+      ];
+
+   };
+
+   systemd.services =
+    let
+      serviceConfig = {
+        DynamicUser = true;
+        # using the same user to simplify db connection
+        User = cfg.database.user;
+        ExecStart = "${pkgs.windmill}/bin/windmill";
+
+        Restart = "always";
+        LoadCredential = [
+          "DATABASE_URL_FILE:${cfg.database.urlPath}"
+        ];
+      };
+    in
+    {
+
+    # coming from https://github.com/windmill-labs/windmill/blob/main/init-db-as-superuser.sql
+    # modified to not grant priviledges on all tables
+    # create role windmill_user and windmill_admin only if they don't exist
+    postgresql.postStart = lib.mkIf cfg.database.createLocally (lib.mkAfter ''
+      $PSQL -tA <<"EOF"
+DO $$
+BEGIN
+    IF NOT EXISTS (
+        SELECT FROM pg_catalog.pg_roles
+        WHERE rolname = 'windmill_user'
+    ) THEN
+        CREATE ROLE windmill_user;
+        GRANT ALL PRIVILEGES ON DATABASE ${cfg.database.name} TO windmill_user;
+    ELSE
+      RAISE NOTICE 'Role "windmill_user" already exists. Skipping.';
+    END IF;
+    IF NOT EXISTS (
+        SELECT FROM pg_catalog.pg_roles
+        WHERE rolname = 'windmill_admin'
+    ) THEN
+      CREATE ROLE windmill_admin WITH BYPASSRLS;
+      GRANT windmill_user TO windmill_admin;
+    ELSE
+      RAISE NOTICE 'Role "windmill_admin" already exists. Skipping.';
+    END IF;
+    GRANT windmill_admin TO windmill;
+END
+$$;
+EOF
+    '');
+
+     windmill-server = {
+        description = "Windmill server";
+        after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service";
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = serviceConfig // { StateDirectory = "windmill";};
+
+        environment = {
+          DATABASE_URL_FILE = "%d/DATABASE_URL_FILE";
+          PORT = builtins.toString cfg.serverPort;
+          WM_BASE_URL = cfg.baseUrl;
+          RUST_LOG = cfg.logLevel;
+          MODE = "server";
+        };
+      };
+
+     windmill-worker = {
+        description = "Windmill worker";
+        after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service";
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = serviceConfig // { StateDirectory = "windmill-worker";};
+
+        environment = {
+          DATABASE_URL_FILE = "%d/DATABASE_URL_FILE";
+          WM_BASE_URL = cfg.baseUrl;
+          RUST_LOG = cfg.logLevel;
+          MODE = "worker";
+          WORKER_GROUP = "default";
+          KEEP_JOB_DIR = "false";
+        };
+      };
+
+     windmill-worker-native = {
+        description = "Windmill worker native";
+        after = [ "network.target" ] ++ lib.optional cfg.database.createLocally "postgresql.service";
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = serviceConfig // { StateDirectory = "windmill-worker-native";};
+
+        environment = {
+          DATABASE_URL_FILE = "%d/DATABASE_URL_FILE";
+          WM_BASE_URL = cfg.baseUrl;
+          RUST_LOG = cfg.logLevel;
+          MODE = "worker";
+          WORKER_GROUP = "native";
+        };
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix
index 03d5634854a37..002d6683b2ed5 100644
--- a/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixos/modules/services/web-apps/wordpress.nix
@@ -34,7 +34,7 @@ let
       # copy additional plugin(s), theme(s) and language(s)
       ${concatStringsSep "\n" (mapAttrsToList (name: theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${name}") cfg.themes)}
       ${concatStringsSep "\n" (mapAttrsToList (name: plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${name}") cfg.plugins)}
-      ${concatMapStringsSep "\n" (language: "cp -r ${language}/* $out/share/wordpress/wp-content/languages/") cfg.languages}
+      ${concatMapStringsSep "\n" (language: "cp -r ${language} $out/share/wordpress/wp-content/languages/") cfg.languages}
     '';
   };
 
diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix
index 497aa9ba956e0..9a544e98cfc44 100644
--- a/nixos/modules/services/web-servers/caddy/default.nix
+++ b/nixos/modules/services/web-servers/caddy/default.nix
@@ -147,7 +147,7 @@ in
       default = configFile;
       defaultText = "A Caddyfile automatically generated by values from services.caddy.*";
       example = literalExpression ''
-        pkgs.writeTextDir "Caddyfile" '''
+        pkgs.writeText "Caddyfile" '''
           example.com
 
           root * /var/www/wordpress
@@ -164,9 +164,9 @@ in
     };
 
     adapter = mkOption {
-      default = if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null;
+      default = if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null;
       defaultText = literalExpression ''
-        if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null
+        if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null
       '';
       example = literalExpression "nginx";
       type = with types; nullOr str;
diff --git a/nixos/modules/services/web-servers/nginx/tailscale-auth.nix b/nixos/modules/services/web-servers/nginx/tailscale-auth.nix
new file mode 100644
index 0000000000000..a2e4d4a30be5c
--- /dev/null
+++ b/nixos/modules/services/web-servers/nginx/tailscale-auth.nix
@@ -0,0 +1,158 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.nginx.tailscaleAuth;
+in
+{
+  options.services.nginx.tailscaleAuth = {
+    enable = mkEnableOption (lib.mdDoc "Enable tailscale.nginx-auth, to authenticate nginx users via tailscale.");
+
+    package = lib.mkPackageOptionMD pkgs "tailscale-nginx-auth" {};
+
+    user = mkOption {
+      type = types.str;
+      default = "tailscale-nginx-auth";
+      description = lib.mdDoc "User which runs tailscale-nginx-auth";
+    };
+
+    group = mkOption {
+      type = types.str;
+      default = "tailscale-nginx-auth";
+      description = lib.mdDoc "Group which runs tailscale-nginx-auth";
+    };
+
+    expectedTailnet = mkOption {
+      default = "";
+      type = types.nullOr types.str;
+      example = "tailnet012345.ts.net";
+      description = lib.mdDoc ''
+        If you want to prevent node sharing from allowing users to access services
+        across tailnets, declare your expected tailnets domain here.
+      '';
+    };
+
+    socketPath = mkOption {
+      default = "/run/tailscale-nginx-auth/tailscale-nginx-auth.sock";
+      type = types.path;
+      description = lib.mdDoc ''
+        Path of the socket listening to nginx authorization requests.
+      '';
+    };
+
+    virtualHosts = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = lib.mdDoc ''
+        A list of nginx virtual hosts to put behind tailscale.nginx-auth
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.tailscale.enable = true;
+    services.nginx.enable = true;
+
+    users.users.${cfg.user} = {
+      isSystemUser = true;
+      inherit (cfg) group;
+    };
+    users.groups.${cfg.group} = { };
+    users.users.${config.services.nginx.user}.extraGroups = [ cfg.group ];
+    systemd.sockets.tailscale-nginx-auth = {
+      description = "Tailscale NGINX Authentication socket";
+      partOf = [ "tailscale-nginx-auth.service" ];
+      wantedBy = [ "sockets.target" ];
+      listenStreams = [ cfg.socketPath ];
+      socketConfig = {
+        SocketMode = "0660";
+        SocketUser = cfg.user;
+        SocketGroup = cfg.group;
+      };
+    };
+
+
+    systemd.services.tailscale-nginx-auth = {
+      description = "Tailscale NGINX Authentication service";
+      after = [ "nginx.service" ];
+      wants = [ "nginx.service" ];
+      requires = [ "tailscale-nginx-auth.socket" ];
+
+      serviceConfig = {
+        ExecStart = "${lib.getExe cfg.package}";
+        RuntimeDirectory = "tailscale-nginx-auth";
+        User = cfg.user;
+        Group = cfg.group;
+
+        BindPaths = [ "/run/tailscale/tailscaled.sock" ];
+
+        CapabilityBoundingSet = "";
+        DeviceAllow = "";
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        PrivateDevices = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        RestrictNamespaces = true;
+        RestrictAddressFamilies = [ "AF_UNIX" ];
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+
+        SystemCallArchitectures = "native";
+        SystemCallErrorNumber = "EPERM";
+        SystemCallFilter = [
+          "@system-service"
+          "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid"
+        ];
+      };
+    };
+
+    services.nginx.virtualHosts = genAttrs
+      cfg.virtualHosts
+      (vhost: {
+        locations."/auth" = {
+          extraConfig = ''
+            internal;
+
+            proxy_pass http://unix:${cfg.socketPath};
+            proxy_pass_request_body off;
+
+            # Upstream uses $http_host here, but we are using gixy to check nginx configurations
+            # gixy wants us to use $host: https://github.com/yandex/gixy/blob/master/docs/en/plugins/hostspoofing.md
+            proxy_set_header Host $host;
+            proxy_set_header Remote-Addr $remote_addr;
+            proxy_set_header Remote-Port $remote_port;
+            proxy_set_header Original-URI $request_uri;
+            proxy_set_header X-Scheme                $scheme;
+            proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri;
+          '';
+        };
+        locations."/".extraConfig = ''
+          auth_request /auth;
+          auth_request_set $auth_user $upstream_http_tailscale_user;
+          auth_request_set $auth_name $upstream_http_tailscale_name;
+          auth_request_set $auth_login $upstream_http_tailscale_login;
+          auth_request_set $auth_tailnet $upstream_http_tailscale_tailnet;
+          auth_request_set $auth_profile_picture $upstream_http_tailscale_profile_picture;
+
+          proxy_set_header X-Webauth-User "$auth_user";
+          proxy_set_header X-Webauth-Name "$auth_name";
+          proxy_set_header X-Webauth-Login "$auth_login";
+          proxy_set_header X-Webauth-Tailnet "$auth_tailnet";
+          proxy_set_header X-Webauth-Profile-Picture "$auth_profile_picture";
+
+          ${lib.optionalString (cfg.expectedTailnet != "") ''proxy_set_header Expected-Tailnet "${cfg.expectedTailnet}";''}
+        '';
+      });
+  };
+
+  meta.maintainers = with maintainers; [ phaer ];
+
+}
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index a882bb140d219..e9cadf2194682 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -200,8 +200,7 @@ in
         })
       ];
 
-      # https://salsa.debian.org/cinnamon-team/cinnamon/-/commit/f87c64f8d35ba406eb11ad442989a0716f6620cf#
-      xdg.portal.config.x-cinnamon.default = mkDefault [ "xapp" "gtk" ];
+      xdg.portal.configPackages = mkDefault [ pkgs.cinnamon.cinnamon-common ];
 
       # Override GSettings schemas
       environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 9cc7c4381620f..027479b1ce094 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -338,6 +338,7 @@ in
 
       # Enable helpful DBus services.
       services.accounts-daemon.enable = true;
+      programs.dconf.enable = true;
       # when changing an account picture the accounts-daemon reads a temporary file containing the image which systemsettings5 may place under /tmp
       systemd.services.accounts-daemon.serviceConfig.PrivateTmp = false;
       services.power-profiles-daemon.enable = mkDefault true;
diff --git a/nixos/modules/system/boot/clevis.md b/nixos/modules/system/boot/clevis.md
new file mode 100644
index 0000000000000..91eb728a919ea
--- /dev/null
+++ b/nixos/modules/system/boot/clevis.md
@@ -0,0 +1,51 @@
+# Clevis {#module-boot-clevis}
+
+[Clevis](https://github.com/latchset/clevis)
+is a framework for automated decryption of resources.
+Clevis allows for secure unattended disk decryption during boot, using decryption policies that must be satisfied for the data to decrypt.
+
+
+## Create a JWE file containing your secret {#module-boot-clevis-create-secret}
+
+The first step is to embed your secret in a [JWE](https://en.wikipedia.org/wiki/JSON_Web_Encryption) file.
+JWE files have to be created through the clevis command line. 3 types of policies are supported:
+
+1) TPM policies
+
+Secrets are pinned against the presence of a TPM2 device, for example:
+```
+echo hi | clevis encrypt tpm2 '{}' > hi.jwe
+```
+2) Tang policies
+
+Secrets are pinned against the presence of a Tang server, for example:
+```
+echo hi | clevis encrypt tang '{"url": "http://tang.local"}' > hi.jwe
+```
+
+3) Shamir Secret Sharing
+
+Using Shamir's Secret Sharing ([sss](https://en.wikipedia.org/wiki/Shamir%27s_secret_sharing)), secrets are pinned using a combination of the two preceding policies. For example:
+```
+echo hi | clevis encrypt sss \
+'{"t": 2, "pins": {"tpm2": {"pcr_ids": "0"}, "tang": {"url": "http://tang.local"}}}' \
+> hi.jwe
+```
+
+For more complete documentation on how to generate a secret with clevis, see the [clevis documentation](https://github.com/latchset/clevis).
+
+
+## Activate unattended decryption of a resource at boot {#module-boot-clevis-activate}
+
+In order to activate unattended decryption of a resource at boot, enable the `clevis` module:
+
+```
+boot.initrd.clevis.enable = true;
+```
+
+Then, specify the device you want to decrypt using a given clevis secret. Clevis will automatically try to decrypt the device at boot and will fallback to interactive unlocking if the decryption policy is not fulfilled.
+```
+boot.initrd.clevis.devices."/dev/nvme0n1p1".secretFile = ./nvme0n1p1.jwe;
+```
+
+Only `bcachefs`, `zfs` and `luks` encrypted devices are supported at this time.
diff --git a/nixos/modules/system/boot/clevis.nix b/nixos/modules/system/boot/clevis.nix
new file mode 100644
index 0000000000000..0c72590f93851
--- /dev/null
+++ b/nixos/modules/system/boot/clevis.nix
@@ -0,0 +1,107 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.boot.initrd.clevis;
+  systemd = config.boot.initrd.systemd;
+  supportedFs = [ "zfs" "bcachefs" ];
+in
+{
+  meta.maintainers = with maintainers; [ julienmalka camillemndn ];
+  meta.doc = ./clevis.md;
+
+  options = {
+    boot.initrd.clevis.enable = mkEnableOption (lib.mdDoc "Clevis in initrd");
+
+
+    boot.initrd.clevis.package = mkOption {
+      type = types.package;
+      default = pkgs.clevis;
+      defaultText = "pkgs.clevis";
+      description = lib.mdDoc "Clevis package";
+    };
+
+    boot.initrd.clevis.devices = mkOption {
+      description = "Encrypted devices that need to be unlocked at boot using Clevis";
+      default = { };
+      type = types.attrsOf (types.submodule ({
+        options.secretFile = mkOption {
+          description = lib.mdDoc "Clevis JWE file used to decrypt the device at boot, in concert with the chosen pin (one of TPM2, Tang server, or SSS).";
+          type = types.path;
+        };
+      }));
+    };
+
+    boot.initrd.clevis.useTang = mkOption {
+      description = "Whether the Clevis JWE file used to decrypt the devices uses a Tang server as a pin.";
+      default = false;
+      type = types.bool;
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    # Implementation of clevis unlocking for the supported filesystems are located directly in the respective modules.
+
+
+    assertions = (attrValues (mapAttrs
+      (device: _: {
+        assertion = (any (fs: fs.device == device && (elem fs.fsType supportedFs)) config.system.build.fileSystems) || (hasAttr device config.boot.initrd.luks.devices);
+        message = ''
+          No filesystem or LUKS device with the name ${device} is declared in your configuration.'';
+      })
+      cfg.devices));
+
+
+    warnings =
+      if cfg.useTang && !config.boot.initrd.network.enable && !config.boot.initrd.systemd.network.enable
+      then [ "In order to use a Tang pinned secret you must configure networking in initrd" ]
+      else [ ];
+
+    boot.initrd = {
+      extraUtilsCommands = mkIf (!systemd.enable) ''
+        copy_bin_and_libs ${pkgs.jose}/bin/jose
+        copy_bin_and_libs ${pkgs.curl}/bin/curl
+        copy_bin_and_libs ${pkgs.bash}/bin/bash
+
+        copy_bin_and_libs ${pkgs.tpm2-tools}/bin/.tpm2-wrapped
+        mv $out/bin/{.tpm2-wrapped,tpm2}
+        cp {${pkgs.tpm2-tss},$out}/lib/libtss2-tcti-device.so.0
+
+        copy_bin_and_libs ${cfg.package}/bin/.clevis-wrapped
+        mv $out/bin/{.clevis-wrapped,clevis}
+
+        for BIN in ${cfg.package}/bin/clevis-decrypt*; do
+          copy_bin_and_libs $BIN
+        done
+
+        for BIN in $out/bin/clevis{,-decrypt{,-null,-tang,-tpm2}}; do
+          sed -i $BIN -e 's,${pkgs.bash},,' -e 's,${pkgs.coreutils},,'
+        done
+
+        sed -i $out/bin/clevis-decrypt-tpm2 -e 's,tpm2_,tpm2 ,'
+      '';
+
+      secrets = lib.mapAttrs' (name: value: nameValuePair "/etc/clevis/${name}.jwe" value.secretFile) cfg.devices;
+
+      systemd = {
+        extraBin = mkIf systemd.enable {
+          clevis = "${cfg.package}/bin/clevis";
+          curl = "${pkgs.curl}/bin/curl";
+        };
+
+        storePaths = mkIf systemd.enable [
+          cfg.package
+          "${pkgs.jose}/bin/jose"
+          "${pkgs.curl}/bin/curl"
+          "${pkgs.tpm2-tools}/bin/tpm2_createprimary"
+          "${pkgs.tpm2-tools}/bin/tpm2_flushcontext"
+          "${pkgs.tpm2-tools}/bin/tpm2_load"
+          "${pkgs.tpm2-tools}/bin/tpm2_unseal"
+        ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index ca560d63f3bdc..8bd9e71cb3a99 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -1,9 +1,11 @@
-{ config, options, lib, pkgs, ... }:
+{ config, options, lib, utils, pkgs, ... }:
 
 with lib;
 
 let
   luks = config.boot.initrd.luks;
+  clevis = config.boot.initrd.clevis;
+  systemd = config.boot.initrd.systemd;
   kernelPackages = config.boot.kernelPackages;
   defaultPrio = (mkOptionDefault {}).priority;
 
@@ -594,7 +596,7 @@ in
       '';
 
       type = with types; attrsOf (submodule (
-        { name, ... }: { options = {
+        { config, name, ... }: { options = {
 
           name = mkOption {
             visible = false;
@@ -894,6 +896,19 @@ in
             '';
           };
         };
+
+        config = mkIf (clevis.enable && (hasAttr name clevis.devices)) {
+          preOpenCommands = mkIf (!systemd.enable) ''
+            mkdir -p /clevis-${name}
+            mount -t ramfs none /clevis-${name}
+            clevis decrypt < /etc/clevis/${name}.jwe > /clevis-${name}/decrypted
+          '';
+          keyFile = "/clevis-${name}/decrypted";
+          fallbackToPassword = !systemd.enable;
+          postOpenCommands = mkIf (!systemd.enable) ''
+            umount /clevis-${name}
+          '';
+        };
       }));
     };
 
@@ -1081,6 +1096,35 @@ in
     boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand preLVM) + postCommands);
     boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand postLVM) + postCommands);
 
+    boot.initrd.systemd.services = let devicesWithClevis = filterAttrs (device: _: (hasAttr device clevis.devices)) luks.devices; in
+      mkIf (clevis.enable && systemd.enable) (
+        (mapAttrs'
+          (name: _: nameValuePair "cryptsetup-clevis-${name}" {
+            wantedBy = [ "systemd-cryptsetup@${utils.escapeSystemdPath name}.service" ];
+            before = [
+              "systemd-cryptsetup@${utils.escapeSystemdPath name}.service"
+              "initrd-switch-root.target"
+              "shutdown.target"
+            ];
+            wants = [ "systemd-udev-settle.service" ] ++ optional clevis.useTang "network-online.target";
+            after = [ "systemd-modules-load.service" "systemd-udev-settle.service" ] ++ optional clevis.useTang "network-online.target";
+            script = ''
+              mkdir -p /clevis-${name}
+              mount -t ramfs none /clevis-${name}
+              umask 277
+              clevis decrypt < /etc/clevis/${name}.jwe > /clevis-${name}/decrypted
+            '';
+            conflicts = [ "initrd-switch-root.target" "shutdown.target" ];
+            unitConfig.DefaultDependencies = "no";
+            serviceConfig = {
+              Type = "oneshot";
+              RemainAfterExit = true;
+              ExecStop = "${config.boot.initrd.systemd.package.util-linux}/bin/umount /clevis-${name}";
+            };
+          })
+          devicesWithClevis)
+      );
+
     environment.systemPackages = [ pkgs.cryptsetup ];
   };
 }
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 33261021480f1..3e10770812db6 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -1612,7 +1612,7 @@ let
         description = lib.mdDoc ''
           Each attribute in this set specifies an option in the
           `[WireGuardPeer]` section of the unit.  See
-          {manpage}`systemd.network(5)` for details.
+          {manpage}`systemd.netdev(5)` for details.
         '';
       };
     };
diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix
index f28fd5cde9c19..639ff87841b6a 100644
--- a/nixos/modules/tasks/filesystems/bcachefs.nix
+++ b/nixos/modules/tasks/filesystems/bcachefs.nix
@@ -57,7 +57,15 @@ let
   # bcachefs does not support mounting devices with colons in the path, ergo we don't (see #49671)
   firstDevice = fs: lib.head (lib.splitString ":" fs.device);
 
-  openCommand = name: fs: ''
+  openCommand = name: fs: if config.boot.initrd.clevis.enable && (lib.hasAttr (firstDevice fs) config.boot.initrd.clevis.devices) then ''
+    if clevis decrypt < /etc/clevis/${firstDevice fs}.jwe | bcachefs unlock ${firstDevice fs}
+    then
+      printf "unlocked ${name} using clevis\n"
+    else
+      printf "falling back to interactive unlocking...\n"
+      tryUnlock ${name} ${firstDevice fs}
+    fi
+  '' else ''
     tryUnlock ${name} ${firstDevice fs}
   '';
 
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 72bc79f31b68a..784040f0ce9e3 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -17,6 +17,9 @@ let
   cfgZED = config.services.zfs.zed;
 
   selectModulePackage = package: config.boot.kernelPackages.${package.kernelModuleAttribute};
+  clevisDatasets = map (e: e.device) (filter (e: e.device != null && (hasAttr e.device config.boot.initrd.clevis.devices) && e.fsType == "zfs" && (fsNeededForBoot e)) config.system.build.fileSystems);
+
+
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
   inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems;
 
@@ -120,12 +123,12 @@ let
       # but don't *require* it, because mounts shouldn't be killed if it's stopped.
       # In the future, hopefully someone will complete this:
       # https://github.com/zfsonlinux/zfs/pull/4943
-      wants = [ "systemd-udev-settle.service" ];
+      wants = [ "systemd-udev-settle.service" ] ++ optional (config.boot.initrd.clevis.useTang) "network-online.target";
       after = [
         "systemd-udev-settle.service"
         "systemd-modules-load.service"
         "systemd-ask-password-console.service"
-      ];
+      ] ++ optional (config.boot.initrd.clevis.useTang) "network-online.target";
       requiredBy = getPoolMounts prefix pool ++ [ "zfs-import.target" ];
       before = getPoolMounts prefix pool ++ [ "zfs-import.target" ];
       unitConfig = {
@@ -154,6 +157,9 @@ let
           poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
         fi
         if poolImported "${pool}"; then
+        ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true ") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))}
+
+
           ${optionalString keyLocations.hasKeys ''
             ${keyLocations.command} | while IFS=$'\t' read ds kl ks; do
               {
@@ -623,6 +629,9 @@ in
               fi
               poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
             fi
+
+            ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem}") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))}
+
             ${if isBool cfgZfs.requestEncryptionCredentials
               then optionalString cfgZfs.requestEncryptionCredentials ''
                 zfs load-key -a
diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix
index 47a5e462262d4..3e48f8873ed4f 100644
--- a/nixos/modules/virtualisation/incus.nix
+++ b/nixos/modules/virtualisation/incus.nix
@@ -5,7 +5,9 @@ let
   preseedFormat = pkgs.formats.yaml { };
 in
 {
-  meta.maintainers = [ lib.maintainers.adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   options = {
     virtualisation.incus = {
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix
index 4db4df02fe8c9..8d3a480e6dc8c 100644
--- a/nixos/modules/virtualisation/lxc-container.nix
+++ b/nixos/modules/virtualisation/lxc-container.nix
@@ -1,7 +1,9 @@
 { lib, config, pkgs, ... }:
 
 {
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   imports = [
     ./lxc-instance-common.nix
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
index 5bd64a5f9a565..3febb4b4f2483 100644
--- a/nixos/modules/virtualisation/lxc.nix
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -2,21 +2,19 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
-
   cfg = config.virtualisation.lxc;
-
 in
 
 {
-  ###### interface
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   options.virtualisation.lxc = {
     enable =
-      mkOption {
-        type = types.bool;
+      lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description =
           lib.mdDoc ''
@@ -27,8 +25,8 @@ in
       };
 
     systemConfig =
-      mkOption {
-        type = types.lines;
+      lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description =
           lib.mdDoc ''
@@ -38,8 +36,8 @@ in
       };
 
     defaultConfig =
-      mkOption {
-        type = types.lines;
+      lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description =
           lib.mdDoc ''
@@ -49,8 +47,8 @@ in
       };
 
     usernetConfig =
-      mkOption {
-        type = types.lines;
+      lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description =
           lib.mdDoc ''
@@ -62,7 +60,7 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.lxc ];
     environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
     environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
diff --git a/nixos/modules/virtualisation/lxcfs.nix b/nixos/modules/virtualisation/lxcfs.nix
index fb0ba49f73044..b2eaec774a65c 100644
--- a/nixos/modules/virtualisation/lxcfs.nix
+++ b/nixos/modules/virtualisation/lxcfs.nix
@@ -2,18 +2,18 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.virtualisation.lxc.lxcfs;
 in {
-  meta.maintainers = [ maintainers.mic92 ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   ###### interface
   options.virtualisation.lxc.lxcfs = {
     enable =
-      mkOption {
-        type = types.bool;
+      lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = lib.mdDoc ''
           This enables LXCFS, a FUSE filesystem for LXC.
@@ -27,7 +27,7 @@ in {
   };
 
   ###### implementation
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     systemd.services.lxcfs = {
       description = "FUSE filesystem for LXC";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/virtualisation/lxd-agent.nix b/nixos/modules/virtualisation/lxd-agent.nix
index 5bcc86e3bcbe9..59dd46b74b400 100644
--- a/nixos/modules/virtualisation/lxd-agent.nix
+++ b/nixos/modules/virtualisation/lxd-agent.nix
@@ -45,7 +45,9 @@ let
     chown -R root:root "$PREFIX"
   '';
 in {
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   options = {
     virtualisation.lxd.agent.enable = lib.mkEnableOption (lib.mdDoc "Enable LXD agent");
diff --git a/nixos/modules/virtualisation/lxd-virtual-machine.nix b/nixos/modules/virtualisation/lxd-virtual-machine.nix
index ba729465ec2f8..92434cb9babf4 100644
--- a/nixos/modules/virtualisation/lxd-virtual-machine.nix
+++ b/nixos/modules/virtualisation/lxd-virtual-machine.nix
@@ -6,6 +6,10 @@ let
     then "ttyS0"
     else "ttyAMA0"; # aarch64
 in {
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
+
   imports = [
     ./lxc-instance-common.nix
 
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 6f628c4a6e328..c4c856d9be30d 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -6,12 +6,14 @@ let
   cfg = config.virtualisation.lxd;
   preseedFormat = pkgs.formats.yaml {};
 in {
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
+
   imports = [
     (lib.mkRemovedOptionModule [ "virtualisation" "lxd" "zfsPackage" ] "Override zfs in an overlay instead to override it globally")
   ];
 
-  ###### interface
-
   options = {
     virtualisation.lxd = {
       enable = lib.mkOption {
diff --git a/nixos/tests/all-terminfo.nix b/nixos/tests/all-terminfo.nix
index dd47c66ee1c1e..2f5e56f09f26b 100644
--- a/nixos/tests/all-terminfo.nix
+++ b/nixos/tests/all-terminfo.nix
@@ -10,7 +10,11 @@ import ./make-test-python.nix ({ pkgs, ... }: rec {
         let
           o = builtins.tryEval drv;
         in
-        o.success && lib.isDerivation o.value && o.value ? outputs && builtins.elem "terminfo" o.value.outputs;
+        o.success &&
+        lib.isDerivation o.value &&
+        o.value ? outputs &&
+        builtins.elem "terminfo" o.value.outputs &&
+        !o.value.meta.broken;
       terminfos = lib.filterAttrs infoFilter pkgs;
       excludedTerminfos = lib.filterAttrs (_: drv: !(builtins.elem drv.terminfo config.environment.systemPackages)) terminfos;
       includedOuts = lib.filterAttrs (_: drv: builtins.elem drv.out config.environment.systemPackages) terminfos;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 1ed0f760c9a21..0322ec9dc551a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -135,6 +135,7 @@ in {
   authelia = handleTest ./authelia.nix {};
   avahi = handleTest ./avahi.nix {};
   avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
+  ayatana-indicators = handleTest ./ayatana-indicators.nix {};
   babeld = handleTest ./babeld.nix {};
   bazarr = handleTest ./bazarr.nix {};
   bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
@@ -162,7 +163,7 @@ in {
   btrbk-no-timer = handleTest ./btrbk-no-timer.nix {};
   btrbk-section-order = handleTest ./btrbk-section-order.nix {};
   budgie = handleTest ./budgie.nix {};
-  buildbot = handleTest ./buildbot.nix {};
+  buildbot = handleTestOn [ "x86_64-linux" ] ./buildbot.nix {};
   buildkite-agents = handleTest ./buildkite-agents.nix {};
   c2fmzq = handleTest ./c2fmzq.nix {};
   caddy = handleTest ./caddy.nix {};
@@ -187,6 +188,7 @@ in {
   chrony = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony.nix {};
   chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {};
   cinnamon = handleTest ./cinnamon.nix {};
+  cinnamon-wayland = handleTest ./cinnamon-wayland.nix {};
   cjdns = handleTest ./cjdns.nix {};
   clickhouse = handleTest ./clickhouse.nix {};
   cloud-init = handleTest ./cloud-init.nix {};
@@ -357,6 +359,7 @@ in {
   grow-partition = runTest ./grow-partition.nix;
   grub = handleTest ./grub.nix {};
   guacamole-server = handleTest ./guacamole-server.nix {};
+  guix = handleTest ./guix {};
   gvisor = handleTest ./gvisor.nix {};
   hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; };
   hadoop_3_2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop_3_2; };
diff --git a/nixos/tests/auth-mysql.nix b/nixos/tests/auth-mysql.nix
index 0ed4b050a69a4..77a69eb1cd581 100644
--- a/nixos/tests/auth-mysql.nix
+++ b/nixos/tests/auth-mysql.nix
@@ -84,7 +84,7 @@ in
           getpwuid = ''
             SELECT name, 'x', uid, gid, name, CONCAT('/home/', name), "/run/current-system/sw/bin/bash" \
             FROM users \
-            WHERE id=%1$u \
+            WHERE uid=%1$u \
             LIMIT 1
           '';
           getspnam = ''
@@ -140,6 +140,7 @@ in
 
     machine.wait_for_unit("multi-user.target")
     machine.wait_for_unit("mysql.service")
+    machine.wait_until_succeeds("cat /etc/security/pam_mysql.conf | grep users.db_passwd")
     machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
 
     with subtest("Local login"):
diff --git a/nixos/tests/ayatana-indicators.nix b/nixos/tests/ayatana-indicators.nix
new file mode 100644
index 0000000000000..bc7ff75f390f7
--- /dev/null
+++ b/nixos/tests/ayatana-indicators.nix
@@ -0,0 +1,71 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: let
+  user = "alice";
+in {
+  name = "ayatana-indicators";
+
+  meta = {
+    maintainers = with lib.maintainers; [ OPNA2608 ];
+  };
+
+  nodes.machine = { config, ... }: {
+    imports = [
+      ./common/auto.nix
+      ./common/user-account.nix
+    ];
+
+    test-support.displayManager.auto = {
+      enable = true;
+      inherit user;
+    };
+
+    services.xserver = {
+      enable = true;
+      desktopManager.mate.enable = true;
+      displayManager.defaultSession = lib.mkForce "mate";
+    };
+
+    services.ayatana-indicators = {
+      enable = true;
+      packages = with pkgs; [
+        ayatana-indicator-messages
+      ];
+    };
+
+    # Services needed by some indicators
+    services.accounts-daemon.enable = true; # messages
+  };
+
+  # TODO session indicator starts up in a semi-broken state, but works fine after a restart. maybe being started before graphical session is truly up & ready?
+  testScript = { nodes, ... }: let
+    runCommandPerIndicatorService = command: lib.strings.concatMapStringsSep "\n" command nodes.machine.systemd.user.targets."ayatana-indicators".wants;
+  in ''
+    start_all()
+    machine.wait_for_x()
+
+    # Desktop environment should reach graphical-session.target
+    machine.wait_for_unit("graphical-session.target", "${user}")
+
+    # MATE relies on XDG autostart to bring up the indicators.
+    # Not sure *when* XDG autostart fires them up, and awaiting pgrep success seems to misbehave?
+    machine.sleep(10)
+
+    # Now check if all indicators were brought up successfully, and kill them for later
+  '' + (runCommandPerIndicatorService (service: let serviceExec = builtins.replaceStrings [ "." ] [ "-" ] service; in ''
+    machine.succeed("pgrep -f ${serviceExec}")
+    machine.succeed("pkill -f ${serviceExec}")
+  '')) + ''
+
+    # Ayatana target is the preferred way of starting up indicators on SystemD session, the graphical session is responsible for starting this if it supports them.
+    # Mate currently doesn't do this, so start it manually for checking (https://github.com/mate-desktop/mate-indicator-applet/issues/63)
+    machine.systemctl("start ayatana-indicators.target", "${user}")
+    machine.wait_for_unit("ayatana-indicators.target", "${user}")
+
+    # Let all indicator services do their startups, potential post-launch crash & restart cycles so we can properly check for failures
+    # Not sure if there's a better way of awaiting this without false-positive potential
+    machine.sleep(10)
+
+    # Now check if all indicator services were brought up successfully
+  '' + runCommandPerIndicatorService (service: ''
+    machine.wait_for_unit("${service}", "${user}")
+  '');
+})
diff --git a/nixos/tests/caddy.nix b/nixos/tests/caddy.nix
index 5a0d3539394b6..41d8e57de4686 100644
--- a/nixos/tests/caddy.nix
+++ b/nixos/tests/caddy.nix
@@ -48,11 +48,19 @@ import ./make-test-python.nix ({ pkgs, ... }: {
           };
         };
       };
+      specialisation.explicit-config-file.configuration = {
+        services.caddy.configFile = pkgs.writeText "Caddyfile" ''
+        localhost:80
+
+        respond "hello world"
+        '';
+      };
     };
   };
 
   testScript = { nodes, ... }:
     let
+      explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file";
       justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload";
       multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs";
       rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42";
@@ -84,5 +92,12 @@ import ./make-test-python.nix ({ pkgs, ... }: {
           )
           webserver.wait_for_open_port(80)
           webserver.succeed("curl http://localhost | grep hello")
+
+      with subtest("explicit configFile"):
+          webserver.succeed(
+              "${explicitConfigFile}/bin/switch-to-configuration test >&2"
+          )
+          webserver.wait_for_open_port(80)
+          webserver.succeed("curl http://localhost | grep hello")
     '';
 })
diff --git a/nixos/tests/cinnamon-wayland.nix b/nixos/tests/cinnamon-wayland.nix
new file mode 100644
index 0000000000000..58dddbbb0866a
--- /dev/null
+++ b/nixos/tests/cinnamon-wayland.nix
@@ -0,0 +1,71 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "cinnamon-wayland";
+
+  meta.maintainers = lib.teams.cinnamon.members;
+
+  nodes.machine = { nodes, ... }: {
+    imports = [ ./common/user-account.nix ];
+    services.xserver.enable = true;
+    services.xserver.desktopManager.cinnamon.enable = true;
+    services.xserver.displayManager = {
+      autoLogin.enable = true;
+      autoLogin.user = nodes.machine.users.users.alice.name;
+      defaultSession = "cinnamon-wayland";
+    };
+  };
+
+  enableOCR = true;
+
+  testScript = { nodes, ... }:
+    let
+      user = nodes.machine.users.users.alice;
+      env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus";
+      su = command: "su - ${user.name} -c '${env} ${command}'";
+
+      # Call javascript in cinnamon (the shell), returns a tuple (success, output),
+      # where `success` is true if the dbus call was successful and `output` is what
+      # the javascript evaluates to.
+      eval = name: su "gdbus call --session -d org.Cinnamon -o /org/Cinnamon -m org.Cinnamon.Eval ${name}";
+    in
+    ''
+      machine.wait_for_unit("display-manager.service")
+
+      with subtest("Wait for wayland server"):
+          machine.wait_for_file("/run/user/${toString user.uid}/wayland-0")
+
+      with subtest("Check that logging in has given the user ownership of devices"):
+          machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+      with subtest("Wait for the Cinnamon shell"):
+          # Correct output should be (true, '2')
+          # https://github.com/linuxmint/cinnamon/blob/5.4.0/js/ui/main.js#L183-L187
+          machine.wait_until_succeeds("${eval "Main.runState"} | grep -q 'true,..2'")
+
+      with subtest("Check if Cinnamon components actually start"):
+          for i in ["csd-media-keys", "xapp-sn-watcher", "nemo-desktop"]:
+            machine.wait_until_succeeds(f"pgrep -f {i}")
+          machine.wait_until_succeeds("journalctl -b --grep 'Loaded applet menu@cinnamon.org'")
+          machine.wait_until_succeeds("journalctl -b --grep 'calendar@cinnamon.org: Calendar events supported'")
+
+      with subtest("Open Cinnamon Settings"):
+          machine.succeed("${su "cinnamon-settings themes >&2 &"}")
+          machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'cinnamon-settings'")
+          machine.wait_for_text('(Style|Appearance|Color)')
+          machine.sleep(2)
+          machine.screenshot("cinnamon_settings")
+
+      with subtest("Check if screensaver works"):
+          # This is not supported at the moment.
+          # https://trello.com/b/HHs01Pab/cinnamon-wayland
+          machine.execute("${su "cinnamon-screensaver-command -l >&2 &"}")
+          machine.wait_until_succeeds("journalctl -b --grep 'Cinnamon Screensaver is unavailable on Wayland'")
+
+      with subtest("Open GNOME Terminal"):
+          machine.succeed("${su "dbus-launch gnome-terminal"}")
+          machine.wait_until_succeeds("${eval "global.display.focus_window.wm_class"} | grep -i 'gnome-terminal'")
+          machine.sleep(2)
+
+      with subtest("Check if Cinnamon has ever coredumped"):
+          machine.fail("coredumpctl --json=short | grep -E 'cinnamon|nemo'")
+    '';
+})
diff --git a/nixos/tests/eris-server.nix b/nixos/tests/eris-server.nix
index a50db3afebf5f..b9d2b57401e0a 100644
--- a/nixos/tests/eris-server.nix
+++ b/nixos/tests/eris-server.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
   meta.maintainers = with lib.maintainers; [ ehmry ];
 
   nodes.server = {
-    environment.systemPackages = [ pkgs.eris-go pkgs.nim.pkgs.eris ];
+    environment.systemPackages = [ pkgs.eris-go pkgs.eriscmd ];
     services.eris-server = {
       enable = true;
       decode = true;
diff --git a/nixos/tests/guix/basic.nix b/nixos/tests/guix/basic.nix
new file mode 100644
index 0000000000000..7f90bdeeb1e0f
--- /dev/null
+++ b/nixos/tests/guix/basic.nix
@@ -0,0 +1,38 @@
+# Take note the Guix store directory is empty. Also, we're trying to prevent
+# Guix from trying to downloading substitutes because of the restricted
+# access (assuming it's in a sandboxed environment).
+#
+# So this test is what it is: a basic test while trying to use Guix as much as
+# we possibly can (including the API) without triggering its download alarm.
+
+import ../make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "guix-basic";
+  meta.maintainers = with lib.maintainers; [ foo-dogsquared ];
+
+  nodes.machine = { config, ... }: {
+    environment.etc."guix/scripts".source = ./scripts;
+    services.guix.enable = true;
+  };
+
+  testScript = ''
+    import pathlib
+
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("guix-daemon.service")
+
+    # Can't do much here since the environment has restricted network access.
+    with subtest("Guix basic package management"):
+      machine.succeed("guix build --dry-run --verbosity=0 hello")
+      machine.succeed("guix show hello")
+
+    # This is to see if the Guix API is usable and mostly working.
+    with subtest("Guix API scripting"):
+      scripts_dir = pathlib.Path("/etc/guix/scripts")
+
+      text_msg = "Hello there, NixOS!"
+      text_store_file = machine.succeed(f"guix repl -- {scripts_dir}/create-file-to-store.scm '{text_msg}'")
+      assert machine.succeed(f"cat {text_store_file}") == text_msg
+
+      machine.succeed(f"guix repl -- {scripts_dir}/add-existing-files-to-store.scm {scripts_dir}")
+  '';
+})
diff --git a/nixos/tests/guix/default.nix b/nixos/tests/guix/default.nix
new file mode 100644
index 0000000000000..a017668c05a75
--- /dev/null
+++ b/nixos/tests/guix/default.nix
@@ -0,0 +1,8 @@
+{ system ? builtins.currentSystem
+, pkgs ? import ../../.. { inherit system; }
+}:
+
+{
+  basic = import ./basic.nix { inherit system pkgs; };
+  publish = import ./publish.nix { inherit system pkgs; };
+}
diff --git a/nixos/tests/guix/publish.nix b/nixos/tests/guix/publish.nix
new file mode 100644
index 0000000000000..6dbe8f99ebd68
--- /dev/null
+++ b/nixos/tests/guix/publish.nix
@@ -0,0 +1,95 @@
+# Testing out the substitute server with two machines in a local network. As a
+# bonus, we'll also test a feature of the substitute server being able to
+# advertise its service to the local network with Avahi.
+
+import ../make-test-python.nix ({ pkgs, lib, ... }: let
+  publishPort = 8181;
+  inherit (builtins) toString;
+in {
+  name = "guix-publish";
+
+  meta.maintainers = with lib.maintainers; [ foo-dogsquared ];
+
+  nodes = let
+    commonConfig = { config, ... }: {
+      # We'll be using '--advertise' flag with the
+      # substitute server which requires Avahi.
+      services.avahi = {
+        enable = true;
+        nssmdns = true;
+        publish = {
+          enable = true;
+          userServices = true;
+        };
+      };
+    };
+  in {
+    server = { config, lib, pkgs, ... }: {
+      imports = [ commonConfig ];
+
+      services.guix = {
+        enable = true;
+        publish = {
+          enable = true;
+          port = publishPort;
+
+          generateKeyPair = true;
+          extraArgs = [ "--advertise" ];
+        };
+      };
+
+      networking.firewall.allowedTCPPorts = [ publishPort ];
+    };
+
+    client = { config, lib, pkgs, ... }: {
+      imports = [ commonConfig ];
+
+      services.guix = {
+        enable = true;
+
+        extraArgs = [
+          # Force to only get all substitutes from the local server. We don't
+          # have anything in the Guix store directory and we cannot get
+          # anything from the official substitute servers anyways.
+          "--substitute-urls='http://server.local:${toString publishPort}'"
+
+          # Enable autodiscovery of the substitute servers in the local
+          # network. This machine shouldn't need to import the signing key from
+          # the substitute server since it is automatically done anyways.
+          "--discover=yes"
+        ];
+      };
+    };
+  };
+
+  testScript = ''
+    import pathlib
+
+    start_all()
+
+    scripts_dir = pathlib.Path("/etc/guix/scripts")
+
+    for machine in machines:
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("guix-daemon.service")
+      machine.wait_for_unit("avahi-daemon.service")
+
+    server.wait_for_unit("guix-publish.service")
+    server.wait_for_open_port(${toString publishPort})
+    server.succeed("curl http://localhost:${toString publishPort}/")
+
+    # Now it's the client turn to make use of it.
+    substitute_server = "http://server.local:${toString publishPort}"
+    client.wait_for_unit("network-online.target")
+    response = client.succeed(f"curl {substitute_server}")
+    assert "Guix Substitute Server" in response
+
+    # Authorizing the server to be used as a substitute server.
+    client.succeed(f"curl -O {substitute_server}/signing-key.pub")
+    client.succeed("guix archive --authorize < ./signing-key.pub")
+
+    # Since we're using the substitute server with the `--advertise` flag, we
+    # might as well check it.
+    client.succeed("avahi-browse --resolve --terminate _guix_publish._tcp | grep '_guix_publish._tcp'")
+  '';
+})
diff --git a/nixos/tests/guix/scripts/add-existing-files-to-store.scm b/nixos/tests/guix/scripts/add-existing-files-to-store.scm
new file mode 100644
index 0000000000000..fa47320b6a511
--- /dev/null
+++ b/nixos/tests/guix/scripts/add-existing-files-to-store.scm
@@ -0,0 +1,52 @@
+;; A simple script that adds each file given from the command-line into the
+;; store and checks them if it's the same.
+(use-modules (guix)
+             (srfi srfi-1)
+             (ice-9 ftw)
+             (rnrs io ports))
+
+;; This is based from tests/derivations.scm from Guix source code.
+(define* (directory-contents dir #:optional (slurp get-bytevector-all))
+         "Return an alist representing the contents of DIR"
+         (define prefix-len (string-length dir))
+         (sort (file-system-fold (const #t)
+                                 (lambda (path stat result)
+                                   (alist-cons (string-drop path prefix-len)
+                                               (call-with-input-file path slurp)
+                                               result))
+                                 (lambda (path stat result) result)
+                                 (lambda (path stat result) result)
+                                 (lambda (path stat result) result)
+                                 (lambda (path stat errno result) result)
+                                 '()
+                                 dir)
+               (lambda (e1 e2)
+                 (string<? (car e1) (car e2)))))
+
+(define* (check-if-same store drv path)
+         "Check if the given path and its store item are the same"
+         (let* ((filetype (stat:type (stat drv))))
+           (case filetype
+             ((regular)
+              (and (valid-path? store drv)
+                   (equal? (call-with-input-file path get-bytevector-all)
+                           (call-with-input-file drv get-bytevector-all))))
+             ((directory)
+              (and (valid-path? store drv)
+                   (equal? (directory-contents path)
+                           (directory-contents drv))))
+             (else #f))))
+
+(define* (add-and-check-item-to-store store path)
+         "Add PATH to STORE and check if the contents are the same"
+         (let* ((store-item (add-to-store store
+                                          (basename path)
+                                          #t "sha256" path))
+                (is-same (check-if-same store store-item path)))
+           (if (not is-same)
+             (exit 1))))
+
+(with-store store
+            (map (lambda (path)
+                   (add-and-check-item-to-store store (readlink* path)))
+                 (cdr (command-line))))
diff --git a/nixos/tests/guix/scripts/create-file-to-store.scm b/nixos/tests/guix/scripts/create-file-to-store.scm
new file mode 100644
index 0000000000000..467e4c4fd53f2
--- /dev/null
+++ b/nixos/tests/guix/scripts/create-file-to-store.scm
@@ -0,0 +1,8 @@
+;; A script that creates a store item with the given text and prints the
+;; resulting store item path.
+(use-modules (guix))
+
+(with-store store
+            (display (add-text-to-store store "guix-basic-test-text"
+                                        (string-join
+                                          (cdr (command-line))))))
diff --git a/nixos/tests/harmonia.nix b/nixos/tests/harmonia.nix
index 6cf9ad4d23358..a9beac82f8e12 100644
--- a/nixos/tests/harmonia.nix
+++ b/nixos/tests/harmonia.nix
@@ -13,6 +13,9 @@
 
       networking.firewall.allowedTCPPorts = [ 5000 ];
       system.extraDependencies = [ pkgs.emptyFile ];
+
+      # check that extra-allowed-users is effective for harmonia
+      nix.settings.allowed-users = [];
     };
 
     client01 = {
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index e1588088ba198..9200723f35e7b 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -43,7 +43,7 @@ in {
 
       # test loading custom components
       customComponents = with pkgs.home-assistant-custom-components; [
-        prometheus-sensor
+        prometheus_sensor
       ];
 
       # test loading lovelace modules
diff --git a/nixos/tests/incus/container.nix b/nixos/tests/incus/container.nix
index 49a22c08aad1c..2d3fa49e5bd18 100644
--- a/nixos/tests/incus/container.nix
+++ b/nixos/tests/incus/container.nix
@@ -14,7 +14,9 @@ in
 {
   name = "incus-container";
 
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   nodes.machine = { ... }: {
     virtualisation = {
diff --git a/nixos/tests/incus/preseed.nix b/nixos/tests/incus/preseed.nix
index 47b2d0cd62284..a488d71f3c92a 100644
--- a/nixos/tests/incus/preseed.nix
+++ b/nixos/tests/incus/preseed.nix
@@ -3,7 +3,9 @@ import ../make-test-python.nix ({ pkgs, lib, ... } :
 {
   name = "incus-preseed";
 
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   nodes.machine = { lib, ... }: {
     virtualisation = {
diff --git a/nixos/tests/incus/socket-activated.nix b/nixos/tests/incus/socket-activated.nix
index 4d25b26a15f5d..fca536b7054f0 100644
--- a/nixos/tests/incus/socket-activated.nix
+++ b/nixos/tests/incus/socket-activated.nix
@@ -3,7 +3,9 @@ import ../make-test-python.nix ({ pkgs, lib, ... } :
 {
   name = "incus-socket-activated";
 
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   nodes.machine = { lib, ... }: {
     virtualisation = {
diff --git a/nixos/tests/incus/virtual-machine.nix b/nixos/tests/incus/virtual-machine.nix
index bfa116679d43b..be5746ef63e26 100644
--- a/nixos/tests/incus/virtual-machine.nix
+++ b/nixos/tests/incus/virtual-machine.nix
@@ -19,7 +19,9 @@ in
 {
   name = "incus-virtual-machine";
 
-  meta.maintainers = with lib.maintainers; [ adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
 
   nodes.machine = {...}: {
     virtualisation = {
diff --git a/nixos/tests/input-remapper.nix b/nixos/tests/input-remapper.nix
index 1b0350063f7f2..2ef55a01b2905 100644
--- a/nixos/tests/input-remapper.nix
+++ b/nixos/tests/input-remapper.nix
@@ -46,7 +46,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
       machine.execute("su - sybil -c input-remapper-gtk >&2 &")
 
       machine.wait_for_text("Input Remapper")
-      machine.wait_for_text("Preset")
-      machine.wait_for_text("Change Key")
+      machine.wait_for_text("Device")
+      machine.wait_for_text("Presets")
+      machine.wait_for_text("Editor")
     '';
   })
diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix
index 1b4c92b584b95..d0c01a779ef18 100644
--- a/nixos/tests/installer-systemd-stage-1.nix
+++ b/nixos/tests/installer-systemd-stage-1.nix
@@ -32,6 +32,10 @@
     stratisRoot
     swraid
     zfsroot
+    clevisLuks
+    clevisLuksFallback
+    clevisZfs
+    clevisZfsFallback
     ;
 
 }
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index e9ec287498509..f7fc168eba8cf 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -12,6 +12,7 @@ let
   # The configuration to install.
   makeConfig = { bootLoader, grubDevice, grubIdentifier, grubUseEfi
                , extraConfig, forceGrubReinstallCount ? 0, flake ? false
+               , clevisTest
                }:
     pkgs.writeText "configuration.nix" ''
       { config, lib, pkgs, modulesPath, ... }:
@@ -52,6 +53,15 @@ let
 
         boot.initrd.secrets."/etc/secret" = ./secret;
 
+        ${optionalString clevisTest ''
+          boot.kernelParams = [ "console=tty0" "ip=192.168.1.1:::255.255.255.0::eth1:none" ];
+          boot.initrd = {
+            availableKernelModules = [ "tpm_tis" ];
+            clevis = { enable = true; useTang = true; };
+            network.enable = true;
+          };
+          ''}
+
         users.users.alice = {
           isNormalUser = true;
           home = "/home/alice";
@@ -71,7 +81,7 @@ let
   # partitions and filesystems.
   testScriptFun = { bootLoader, createPartitions, grubDevice, grubUseEfi, grubIdentifier
                   , postInstallCommands, preBootCommands, postBootCommands, extraConfig
-                  , testSpecialisationConfig, testFlakeSwitch
+                  , testSpecialisationConfig, testFlakeSwitch, clevisTest, clevisFallbackTest
                   }:
     let iface = "virtio";
         isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
@@ -79,12 +89,16 @@ let
     in if !isEfi && !pkgs.stdenv.hostPlatform.isx86 then ''
       machine.succeed("true")
     '' else ''
+      import subprocess
+      tpm_folder = os.environ['NIX_BUILD_TOP']
       def assemble_qemu_flags():
           flags = "-cpu max"
           ${if (system == "x86_64-linux" || system == "i686-linux")
             then ''flags += " -m 1024"''
             else ''flags += " -m 768 -enable-kvm -machine virt,gic-version=host"''
           }
+          ${optionalString clevisTest ''flags += f" -chardev socket,id=chrtpm,path={tpm_folder}/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0"''}
+          ${optionalString clevisTest ''flags += " -device virtio-net-pci,netdev=vlan1,mac=52:54:00:12:11:02 -netdev vde,id=vlan1,sock=\"$QEMU_VDE_SOCKET_1\""''}
           return flags
 
 
@@ -110,8 +124,45 @@ let
       def create_machine_named(name):
           return create_machine({**default_flags, "name": name})
 
+      class Tpm:
+            def __init__(self):
+                self.start()
+
+            def start(self):
+                self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm",
+                    "socket",
+                    "--tpmstate", f"dir={tpm_folder}/swtpm",
+                    "--ctrl", f"type=unixio,path={tpm_folder}/swtpm-sock",
+                    "--tpm2"
+                    ])
+
+                # Check whether starting swtpm failed
+                try:
+                    exit_code = self.proc.wait(timeout=0.2)
+                    if exit_code is not None and exit_code != 0:
+                        raise Exception("failed to start swtpm")
+                except subprocess.TimeoutExpired:
+                    pass
+
+            """Check whether the swtpm process exited due to an error"""
+            def check(self):
+                exit_code = self.proc.poll()
+                if exit_code is not None and exit_code != 0:
+                    raise Exception("swtpm process died")
+
+
+      os.mkdir(f"{tpm_folder}/swtpm")
+      tpm = Tpm()
+      tpm.check()
+
+      start_all()
+      ${optionalString clevisTest ''
+      tang.wait_for_unit("sockets.target")
+      tang.wait_for_unit("network-online.target")
+      machine.wait_for_unit("network-online.target")
+      ''}
+      machine.wait_for_unit("multi-user.target")
 
-      machine.start()
 
       with subtest("Assert readiness of login prompt"):
           machine.succeed("echo hello")
@@ -127,13 +178,23 @@ let
           machine.copy_from_host(
               "${ makeConfig {
                     inherit bootLoader grubDevice grubIdentifier
-                            grubUseEfi extraConfig;
+                            grubUseEfi extraConfig clevisTest;
                   }
               }",
               "/mnt/etc/nixos/configuration.nix",
           )
           machine.copy_from_host("${pkgs.writeText "secret" "secret"}", "/mnt/etc/nixos/secret")
 
+      ${optionalString clevisTest ''
+        with subtest("Create the Clevis secret with Tang"):
+             machine.wait_for_unit("network-online.target")
+             machine.succeed('echo -n password | clevis encrypt sss \'{"t": 2, "pins": {"tpm2": {}, "tang": {"url": "http://192.168.1.2"}}}\' -y > /mnt/etc/nixos/clevis-secret.jwe')''}
+
+      ${optionalString clevisFallbackTest ''
+        with subtest("Shutdown Tang to check fallback to interactive prompt"):
+            tang.shutdown()
+      ''}
+
       with subtest("Perform the installation"):
           machine.succeed("nixos-install < /dev/null >&2")
 
@@ -200,7 +261,7 @@ let
           machine.copy_from_host_via_shell(
               "${ makeConfig {
                     inherit bootLoader grubDevice grubIdentifier
-                            grubUseEfi extraConfig;
+                            grubUseEfi extraConfig clevisTest;
                     forceGrubReinstallCount = 1;
                   }
               }",
@@ -229,7 +290,7 @@ let
       machine.copy_from_host_via_shell(
           "${ makeConfig {
                 inherit bootLoader grubDevice grubIdentifier
-                grubUseEfi extraConfig;
+                grubUseEfi extraConfig clevisTest;
                 forceGrubReinstallCount = 2;
               }
           }",
@@ -303,7 +364,7 @@ let
         """)
         machine.copy_from_host_via_shell(
           "${makeConfig {
-               inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig;
+               inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
                forceGrubReinstallCount = 1;
                flake = true;
             }}",
@@ -379,6 +440,8 @@ let
     , enableOCR ? false, meta ? {}
     , testSpecialisationConfig ? false
     , testFlakeSwitch ? false
+    , clevisTest ? false
+    , clevisFallbackTest ? false
     }:
     makeTest {
       inherit enableOCR;
@@ -416,13 +479,13 @@ let
           virtualisation.rootDevice = "/dev/vdb";
           virtualisation.bootLoaderDevice = "/dev/vda";
           virtualisation.qemu.diskInterface = "virtio";
-
-          # We don't want to have any networking in the guest whatsoever.
-          # Also, if any vlans are enabled, the guest will reboot
-          # (with a different configuration for legacy reasons),
-          # and spend 5 minutes waiting for the vlan interface to show up
-          # (which will never happen).
-          virtualisation.vlans = [];
+          virtualisation.qemu.options = mkIf (clevisTest) [
+            "-chardev socket,id=chrtpm,path=$NIX_BUILD_TOP/swtpm-sock"
+            "-tpmdev emulator,id=tpm0,chardev=chrtpm"
+            "-device tpm-tis,tpmdev=tpm0"
+          ];
+          # We don't want to have any networking in the guest apart from the clevis tests.
+          virtualisation.vlans = mkIf (!clevisTest) [];
 
           boot.loader.systemd-boot.enable = mkIf (bootLoader == "systemd-boot") true;
 
@@ -471,7 +534,7 @@ let
           in [
             (pkgs.grub2.override { inherit zfsSupport; })
             (pkgs.grub2_efi.override { inherit zfsSupport; })
-          ]);
+          ]) ++ optionals clevisTest [ pkgs.klibc ];
 
           nix.settings = {
             substituters = mkForce [];
@@ -480,12 +543,21 @@ let
           };
         };
 
+      } // optionalAttrs clevisTest {
+        tang = {
+          services.tang = {
+            enable = true;
+            listenStream = [ "80" ];
+            ipAddressAllow = [ "192.168.1.0/24" ];
+          };
+          networking.firewall.allowedTCPPorts = [ 80 ];
+        };
       };
 
       testScript = testScriptFun {
         inherit bootLoader createPartitions postInstallCommands preBootCommands postBootCommands
                 grubDevice grubIdentifier grubUseEfi extraConfig
-                testSpecialisationConfig testFlakeSwitch;
+                testSpecialisationConfig testFlakeSwitch clevisTest clevisFallbackTest;
       };
     };
 
@@ -586,6 +658,145 @@ let
       zfs = super.zfs.overrideAttrs(_: {meta.platforms = [];});}
     )];
   };
+
+ mkClevisBcachefsTest = { fallback ? false }: makeInstallerTest "clevis-bcachefs${optionalString fallback "-fallback"}" {
+    clevisTest = true;
+    clevisFallbackTest = fallback;
+    enableOCR = fallback;
+    extraInstallerConfig = {
+      imports = [ no-zfs-module ];
+      boot.supportedFilesystems = [ "bcachefs" ];
+      environment.systemPackages = with pkgs; [ keyutils clevis ];
+    };
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"
+        + " mkpart primary linux-swap 100M 1024M"
+        + " mkpart primary 1024M -1s",
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "keyctl link @u @s",
+        "echo -n password | mkfs.bcachefs -L root --encrypted /dev/vda3",
+        "echo -n password | bcachefs unlock /dev/vda3",
+        "echo -n password | mount -t bcachefs /dev/vda3 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount LABEL=boot /mnt/boot",
+        "udevadm settle")
+    '';
+    extraConfig = ''
+      boot.initrd.clevis.devices."/dev/vda3".secretFile = "/etc/nixos/clevis-secret.jwe";
+
+      # We override what nixos-generate-config has generated because we do
+      # not know the UUID in advance.
+      fileSystems."/" = lib.mkForce { device = "/dev/vda3"; fsType = "bcachefs"; };
+    '';
+    preBootCommands = ''
+      tpm = Tpm()
+      tpm.check()
+    '' + optionalString fallback ''
+      machine.start()
+      machine.wait_for_text("enter passphrase for")
+      machine.send_chars("password\n")
+    '';
+  };
+
+  mkClevisLuksTest = { fallback ? false }: makeInstallerTest "clevis-luks${optionalString fallback "-fallback"}" {
+    clevisTest = true;
+    clevisFallbackTest = fallback;
+    enableOCR = fallback;
+    extraInstallerConfig = {
+      environment.systemPackages = with pkgs; [ clevis ];
+    };
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"
+        + " mkpart primary linux-swap 100M 1024M"
+        + " mkpart primary 1024M -1s",
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "modprobe dm_mod dm_crypt",
+        "echo -n password | cryptsetup luksFormat -q /dev/vda3 -",
+        "echo -n password | cryptsetup luksOpen --key-file - /dev/vda3 crypt-root",
+        "mkfs.ext3 -L nixos /dev/mapper/crypt-root",
+        "mount LABEL=nixos /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount LABEL=boot /mnt/boot",
+        "udevadm settle")
+    '';
+    extraConfig = ''
+      boot.initrd.clevis.devices."crypt-root".secretFile = "/etc/nixos/clevis-secret.jwe";
+    '';
+    preBootCommands = ''
+      tpm = Tpm()
+      tpm.check()
+    '' + optionalString fallback ''
+      machine.start()
+      ${if systemdStage1 then ''
+      machine.wait_for_text("Please enter")
+      '' else ''
+      machine.wait_for_text("Passphrase for")
+      ''}
+      machine.send_chars("password\n")
+    '';
+  };
+
+  mkClevisZfsTest = { fallback ? false }: makeInstallerTest "clevis-zfs${optionalString fallback "-fallback"}" {
+    clevisTest = true;
+    clevisFallbackTest = fallback;
+    enableOCR = fallback;
+    extraInstallerConfig = {
+      boot.supportedFilesystems = [ "zfs" ];
+      environment.systemPackages = with pkgs; [ clevis ];
+    };
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"
+        + " mkpart primary linux-swap 100M 1024M"
+        + " mkpart primary 1024M -1s",
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "zpool create -O mountpoint=legacy rpool /dev/vda3",
+        "echo -n password | zfs create"
+        + " -o encryption=aes-256-gcm -o keyformat=passphrase rpool/root",
+        "mount -t zfs rpool/root /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount LABEL=boot /mnt/boot",
+        "udevadm settle")
+    '';
+    extraConfig = ''
+      boot.initrd.clevis.devices."rpool/root".secretFile = "/etc/nixos/clevis-secret.jwe";
+      boot.zfs.requestEncryptionCredentials = true;
+
+
+      # Using by-uuid overrides the default of by-id, and is unique
+      # to the qemu disks, as they don't produce by-id paths for
+      # some reason.
+      boot.zfs.devNodes = "/dev/disk/by-uuid/";
+      networking.hostId = "00000000";
+    '';
+    preBootCommands = ''
+      tpm = Tpm()
+      tpm.check()
+    '' + optionalString fallback ''
+      machine.start()
+      ${if systemdStage1 then ''
+      machine.wait_for_text("Enter key for rpool/root")
+      '' else ''
+      machine.wait_for_text("Key load error")
+      ''}
+      machine.send_chars("password\n")
+    '';
+  };
+
 in {
 
   # !!! `parted mkpart' seems to silently create overlapping partitions.
@@ -1175,6 +1386,13 @@ in {
       )
     '';
   };
+} // {
+  clevisBcachefs = mkClevisBcachefsTest { };
+  clevisBcachefsFallback = mkClevisBcachefsTest { fallback = true; };
+  clevisLuks = mkClevisLuksTest { };
+  clevisLuksFallback = mkClevisLuksTest { fallback = true; };
+  clevisZfs = mkClevisZfsTest { };
+  clevisZfsFallback = mkClevisZfsTest { fallback = true; };
 } // optionalAttrs systemdStage1 {
   stratisRoot = makeInstallerTest "stratisRoot" {
     createPartitions = ''
diff --git a/nixos/tests/lxd/container.nix b/nixos/tests/lxd/container.nix
index 0ebe73d872f2b..ef9c3f4bbee7e 100644
--- a/nixos/tests/lxd/container.nix
+++ b/nixos/tests/lxd/container.nix
@@ -18,8 +18,8 @@ let
 in {
   name = "lxd-container";
 
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ patryk27 adamcstephens ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
   };
 
   nodes.machine = { lib, ... }: {
diff --git a/nixos/tests/lxd/nftables.nix b/nixos/tests/lxd/nftables.nix
index d98bd4952906b..e6ce4089d719d 100644
--- a/nixos/tests/lxd/nftables.nix
+++ b/nixos/tests/lxd/nftables.nix
@@ -5,11 +5,11 @@
 # iptables to nftables requires a full reboot, which is a bit hard inside NixOS
 # tests.
 
-import ../make-test-python.nix ({ pkgs, ...} : {
+import ../make-test-python.nix ({ pkgs, lib, ...} : {
   name = "lxd-nftables";
 
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ patryk27 ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
   };
 
   nodes.machine = { lib, ... }: {
diff --git a/nixos/tests/lxd/preseed.nix b/nixos/tests/lxd/preseed.nix
index 7d89b9f56daa4..fb80dcf3893e4 100644
--- a/nixos/tests/lxd/preseed.nix
+++ b/nixos/tests/lxd/preseed.nix
@@ -4,7 +4,7 @@ import ../make-test-python.nix ({ pkgs, lib, ... } :
   name = "lxd-preseed";
 
   meta = {
-    maintainers = with lib.maintainers; [ adamcstephens ];
+    maintainers = lib.teams.lxc.members;
   };
 
   nodes.machine = { lib, ... }: {
diff --git a/nixos/tests/lxd/ui.nix b/nixos/tests/lxd/ui.nix
index ff651725ba705..c442f44ab81cd 100644
--- a/nixos/tests/lxd/ui.nix
+++ b/nixos/tests/lxd/ui.nix
@@ -1,8 +1,8 @@
 import ../make-test-python.nix ({ pkgs, lib, ... }: {
   name = "lxd-ui";
 
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ jnsgruk ];
+  meta = {
+    maintainers = lib.teams.lxc.members;
   };
 
   nodes.machine = { lib, ... }: {
diff --git a/nixos/tests/lxd/virtual-machine.nix b/nixos/tests/lxd/virtual-machine.nix
index 93705e9350c5a..2a9dd8fcdbf61 100644
--- a/nixos/tests/lxd/virtual-machine.nix
+++ b/nixos/tests/lxd/virtual-machine.nix
@@ -18,8 +18,8 @@ let
 in {
   name = "lxd-virtual-machine";
 
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [adamcstephens];
+  meta = {
+    maintainers = lib.teams.lxc.members;
   };
 
   nodes.machine = {lib, ...}: {
diff --git a/nixos/tests/spark/default.nix b/nixos/tests/spark/default.nix
index 462f0d23a4032..eed7db35bf4f1 100644
--- a/nixos/tests/spark/default.nix
+++ b/nixos/tests/spark/default.nix
@@ -1,28 +1,48 @@
-import ../make-test-python.nix ({...}: {
-  name = "spark";
+{ pkgs, ... }:
 
-  nodes = {
-    worker = { nodes, pkgs, ... }: {
-      services.spark.worker = {
-        enable = true;
-        master = "master:7077";
+let
+  inherit (pkgs) lib;
+  tests = {
+    default = testsForPackage { sparkPackage = pkgs.spark; };
+  };
+
+  testsForPackage = args: lib.recurseIntoAttrs {
+    sparkCluster = testSparkCluster args;
+    passthru.override = args': testsForPackage (args // args');
+  };
+  testSparkCluster = { sparkPackage, ... }: pkgs.nixosTest ({
+    name = "spark";
+
+    nodes = {
+      worker = { nodes, pkgs, ... }: {
+        services.spark = {
+          package = sparkPackage;
+          worker = {
+            enable = true;
+            master = "master:7077";
+          };
+        };
+        virtualisation.memorySize = 2048;
       };
-      virtualisation.memorySize = 2048;
-    };
-    master = { config, pkgs, ... }: {
-      services.spark.master = {
-        enable = true;
-        bind = "0.0.0.0";
+      master = { config, pkgs, ... }: {
+        services.spark = {
+          package = sparkPackage;
+          master = {
+            enable = true;
+            bind = "0.0.0.0";
+          };
+        };
+        networking.firewall.allowedTCPPorts = [ 22 7077 8080 ];
       };
-      networking.firewall.allowedTCPPorts = [ 22 7077 8080 ];
     };
-  };
 
-  testScript = ''
-    master.wait_for_unit("spark-master.service")
-    worker.wait_for_unit("spark-worker.service")
-    worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" )
-    assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/")
-    worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py")
-  '';
-})
+    testScript = ''
+      master.wait_for_unit("spark-master.service")
+      worker.wait_for_unit("spark-worker.service")
+      worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" )
+      assert "<title>Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/")
+      worker.succeed("spark-submit --version | systemd-cat")
+      worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py")
+    '';
+  });
+in tests
diff --git a/nixos/tests/teleport.nix b/nixos/tests/teleport.nix
index cdf762b128448..d68917c6c7acb 100644
--- a/nixos/tests/teleport.nix
+++ b/nixos/tests/teleport.nix
@@ -9,7 +9,8 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
 let
   packages = with pkgs; {
     "default" = teleport;
-    "11" = teleport_11;
+    "12" = teleport_12;
+    "13" = teleport_13;
   };
 
   minimal = package: {
diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix
index 2306c03c18e76..efaac03e19837 100644
--- a/nixos/tests/terminal-emulators.nix
+++ b/nixos/tests/terminal-emulators.nix
@@ -23,9 +23,8 @@ with pkgs.lib;
 let tests = {
       alacritty.pkg = p: p.alacritty;
 
-      # times out after spending many hours
-      #contour.pkg = p: p.contour;
-      #contour.cmd = "contour $command";
+      contour.pkg = p: p.contour;
+      contour.cmd = "contour early-exit-threshold 0 execute $command";
 
       cool-retro-term.pkg = p: p.cool-retro-term;
       cool-retro-term.colourTest = false; # broken by gloss effect
diff --git a/nixos/tests/tsm-client-gui.nix b/nixos/tests/tsm-client-gui.nix
index e11501da53d0c..c9632546db6ef 100644
--- a/nixos/tests/tsm-client-gui.nix
+++ b/nixos/tests/tsm-client-gui.nix
@@ -18,9 +18,9 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
       defaultServername = "testserver";
       servers.testserver = {
         # 192.0.0.8 is a "dummy address" according to RFC 7600
-        server = "192.0.0.8";
-        node = "SOME-NODE";
-        passwdDir = "/tmp";
+        tcpserveraddress = "192.0.0.8";
+        nodename = "SOME-NODE";
+        passworddir = "/tmp";
       };
     };
   };
diff --git a/nixos/tests/zammad.nix b/nixos/tests/zammad.nix
index 7a2d40e82b3ed..1b2f245946993 100644
--- a/nixos/tests/zammad.nix
+++ b/nixos/tests/zammad.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix (
   {
     name = "zammad";
 
-    meta.maintainers = with lib.maintainers; [ garbas taeer n0emis ];
+    meta.maintainers = with lib.maintainers; [ taeer n0emis netali ];
 
     nodes.machine = { config, ... }: {
       services.zammad.enable = true;
@@ -44,9 +44,10 @@ import ./make-test-python.nix (
     testScript = ''
       start_all()
       machine.wait_for_unit("postgresql.service")
+      machine.wait_for_unit("redis-zammad.service")
       machine.wait_for_unit("zammad-web.service")
       machine.wait_for_unit("zammad-websocket.service")
-      machine.wait_for_unit("zammad-scheduler.service")
+      machine.wait_for_unit("zammad-worker.service")
       # wait for zammad to fully come up
       machine.sleep(120)
 
diff --git a/pkgs/README.md b/pkgs/README.md
index 31a590e43d8d8..0649d9415a26c 100644
--- a/pkgs/README.md
+++ b/pkgs/README.md
@@ -470,7 +470,7 @@ Preferred source hash type is sha256. There are several ways to get it.
 
    in the package expression, attempt build and extract correct hash from error messages.
 
-   > **Warning**
+   > [!Warning]
    > You must use one of these four fake hashes and not some arbitrarily-chosen hash.
    > See [here][secure-hashes]
 
diff --git a/pkgs/applications/audio/CHOWTapeModel/default.nix b/pkgs/applications/audio/CHOWTapeModel/default.nix
index c36de2cb878d4..dd7604939f0f5 100644
--- a/pkgs/applications/audio/CHOWTapeModel/default.nix
+++ b/pkgs/applications/audio/CHOWTapeModel/default.nix
@@ -1,18 +1,53 @@
-{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut
-, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext
-, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux
-, libsepol, libsysprof-capture, libthai, libxkbcommon, lv2, pcre, pkg-config
-, python3, sqlite, stdenv }:
-
+{ alsa-lib
+, at-spi2-core
+, cmake
+, curl
+, dbus
+, libepoxy
+, fetchFromGitHub
+, freeglut
+, freetype
+, gtk3
+, lib
+, libGL
+, libXcursor
+, libXdmcp
+, libXext
+, libXinerama
+, libXrandr
+, libXtst
+, libdatrie
+, libjack2
+, libpsl
+, libselinux
+, libsepol
+, libsysprof-capture
+, libthai
+, libuuid
+, libxkbcommon
+, lv2
+, pcre
+, pcre2
+, pkg-config
+, python3
+, sqlite
+, gcc11Stdenv
+, webkitgtk
+}:
+let
+  # JUCE version in submodules is incompatible with GCC12
+  # See here: https://forum.juce.com/t/build-fails-on-fedora-wrong-c-version/50902/2
+  stdenv = gcc11Stdenv;
+in
 stdenv.mkDerivation rec {
   pname = "CHOWTapeModel";
-  version = "2.10.0";
+  version = "2.11.4";
 
   src = fetchFromGitHub {
     owner = "jatinchowdhury18";
     repo = "AnalogTapeModel";
     rev = "v${version}";
-    sha256 = "sha256-iuT7OBRBtMkjcTHayCcne1mNqkcxzKnEYl62n65V7Z4=";
+    sha256 = "sha256-WriHi68Y6hAsrwE+74JtVlAKUR9lfTczj6UK9h2FOGM=";
     fetchSubmodules = true;
   };
 
@@ -41,36 +76,51 @@ stdenv.mkDerivation rec {
     libsepol
     libsysprof-capture
     libthai
+    libuuid
     libxkbcommon
     lv2
     pcre
+    pcre2
     python3
     sqlite
-    gcc-unwrapped
+    webkitgtk
   ];
 
+  # Link-time-optimization fails without these
   cmakeFlags = [
-    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
-    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
-    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+    "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${stdenv.cc.cc}/bin/gcc-nm"
   ];
 
+  cmakeBuildType = "Release";
+
   postPatch = "cd Plugin";
 
   installPhase = ''
-    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/CHOWTapeModel/
-    cd CHOWTapeModel_artefacts/Release
-    cp libCHOWTapeModel_SharedCode.a  $out/lib
+    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/lib/clap $out/bin $out/share/doc/CHOWTapeModel/
+    cd CHOWTapeModel_artefacts/${cmakeBuildType}
     cp -r LV2/CHOWTapeModel.lv2 $out/lib/lv2
     cp -r VST3/CHOWTapeModel.vst3 $out/lib/vst3
+    cp -r CLAP/CHOWTapeModel.clap $out/lib/clap
     cp Standalone/CHOWTapeModel  $out/bin
     cp ../../../../Manual/ChowTapeManual.pdf $out/share/doc/CHOWTapeModel/
   '';
 
+  # JUCE dlopens these, make sure they are in rpath
+  # Otherwise, segfault will happen
+  NIX_LDFLAGS = (toString [
+    "-lX11"
+    "-lXext"
+    "-lXcursor"
+    "-lXinerama"
+    "-lXrandr"
+  ]);
+
   meta = with lib; {
     homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel";
     description =
-      "Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone";
+      "Physical modelling signal processing for analog tape recording. LV2, VST3, CLAP, and standalone";
     license = with licenses; [ gpl3Only ];
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/airwindows-lv2/default.nix b/pkgs/applications/audio/airwindows-lv2/default.nix
index f46f3053a2846..5e87c50a3147a 100644
--- a/pkgs/applications/audio/airwindows-lv2/default.nix
+++ b/pkgs/applications/audio/airwindows-lv2/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "airwindows-lv2";
-  version = "22.0";
+  version = "26.0";
   src = fetchFromSourcehut {
     owner = "~hannes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u62wLRrJ45ap981Q8JmMnanc8AWQb1MJHK32PEr10I4=";
+    sha256 = "sha256-CmNe70ii3WfQ6GGHVqTEyQ2HVubzoeoeN3JsCZSbsPM=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/applications/audio/alsa-scarlett-gui/default.nix b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
index e74b660b1c541..de4f8b3db98a1 100644
--- a/pkgs/applications/audio/alsa-scarlett-gui/default.nix
+++ b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-scarlett-gui";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "geoffreybennett";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wzBOPTs8PTHzu5RpKwKhx552E7QnDx2Zn4OFaes8Q2I=";
+    sha256 = "sha256-lIwDNyzuvolDhTVCslCtUfbsC/TxKtxQF97h0zYxp9k=";
   };
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
diff --git a/pkgs/applications/audio/cheesecutter/default.nix b/pkgs/applications/audio/cheesecutter/default.nix
index 6c14cc67f81fa..8e2877c40c7bb 100644
--- a/pkgs/applications/audio/cheesecutter/default.nix
+++ b/pkgs/applications/audio/cheesecutter/default.nix
@@ -36,6 +36,11 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/share/cheesecutter/example_tunes
     cp -r tunes/* $out/share/cheesecutter/example_tunes
+
+    install -Dm444 arch/fd/ccutter.desktop -t $out/share/applications
+    for res in $(ls icons | sed -e 's/cc//g' -e 's/.png//g'); do
+      install -Dm444 icons/cc$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/cheesecutter.png
+    done
   '';
 
   postFixup =
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index f2627d65ff561..2c08477d07a0e 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -41,7 +41,7 @@ assert gtk2Support || gtk3Support;
 let
   inherit (lib) optionals;
 
-  version = "1.9.5";
+  version = "1.9.6";
 in clangStdenv.mkDerivation {
   pname = "deadbeef";
   inherit version;
@@ -51,7 +51,7 @@ in clangStdenv.mkDerivation {
     repo = "deadbeef";
     fetchSubmodules = true;
     rev = version;
-    hash = "sha256-dSSIaJxHYUVOmuJN2t5UZSC3ZP5732/qVXSZAuWYr0Q=";
+    hash = "sha256-Q6hL4fOFPHn26ZqvrebgTMTgQZrhbXCEhM4ZFzNeyJE=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/eartag/default.nix b/pkgs/applications/audio/eartag/default.nix
index f6ae96a5ec4a8..02c1b7e8bf221 100644
--- a/pkgs/applications/audio/eartag/default.nix
+++ b/pkgs/applications/audio/eartag/default.nix
@@ -10,6 +10,7 @@
 , glib
 , gobject-introspection
 , desktop-file-utils
+, appstream
 , appstream-glib
 , gtk4
 , librsvg
@@ -18,7 +19,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "eartag";
-  version = "0.4.3";
+  version = "0.5.1";
   format = "other";
 
   src = fetchFromGitLab {
@@ -26,7 +27,7 @@ python3Packages.buildPythonApplication rec {
     owner = "World";
     repo = pname;
     rev = version;
-    hash = "sha256-0nkaKLkUnJiNTs7/qe+c4Lkst/ItHD1RKAERCo2O2ms=";
+    hash = "sha256-tHBEz4sZsWOxDkdUd/3zMta8vOhuzv4G01dtjKBX/D0=";
   };
 
   postPatch = ''
@@ -41,6 +42,7 @@ python3Packages.buildPythonApplication rec {
     ninja
     glib
     desktop-file-utils
+    appstream
     appstream-glib
     pkg-config
     gettext
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
index 7fcfeb32fd3a2..fdcf944220488 100644
--- a/pkgs/applications/audio/fmit/default.nix
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -36,6 +36,17 @@ mkDerivation rec {
       PREFIXSHORTCUT=$out"
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/applications
+    ln -s $out/fmit.desktop $out/share/applications/fmit.desktop
+
+    mkdir -p $out/share/icons/hicolor/128x128/apps
+    ln -s $out/fmit.png $out/share/icons/hicolor/128x128/apps/fmit.png
+
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    ln -s $out/fmit.svg $out/share/icons/hicolor/scalable/apps/fmit.svg
+  '';
+
   meta = with lib; {
     description = "Free Musical Instrument Tuner";
     longDescription = ''
diff --git a/pkgs/applications/audio/gnome-podcasts/Cargo.lock b/pkgs/applications/audio/gnome-podcasts/Cargo.lock
index ee4b4ac20a830..622534ee0f83d 100644
--- a/pkgs/applications/audio/gnome-podcasts/Cargo.lock
+++ b/pkgs/applications/audio/gnome-podcasts/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
 dependencies = [
  "memchr",
 ]
@@ -32,7 +32,7 @@ version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170"
 dependencies = [
- "html5ever 0.26.0",
+ "html5ever",
  "maplit",
  "once_cell",
  "tendril",
@@ -56,15 +56,15 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "atom_syndication"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca96cb38e3d8236f1573a84bbc55e130bd1ae07df770e36d0cf221ea7a50e36c"
+checksum = "571832dcff775e26562e8e6930cd483de5587301d40d3a3b85d532b6383e15a7"
 dependencies = [
  "chrono",
  "derive_builder",
@@ -75,9 +75,9 @@ dependencies = [
 
 [[package]]
 name = "atomic_refcell"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
+checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905"
 
 [[package]]
 name = "autocfg"
@@ -87,9 +87,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
@@ -102,9 +102,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.21.2"
+version = "0.21.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53"
 
 [[package]]
 name = "bitflags"
@@ -114,9 +114,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "block"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[package]]
 name = "bumpalo"
@@ -132,13 +138,13 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "cairo-rs"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a"
+checksum = "d859b656775a6b1dd078d3e5924884e6ea88aa649a7fdde03d5b2ec56ffcc10b"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "cairo-sys-rs",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "thiserror",
@@ -146,26 +152,29 @@ dependencies = [
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1"
+checksum = "bd4d115132e01c0165e3bf5f56aedee8980b0b96ede4eb000b693c05a8adb8ff"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.3"
+version = "0.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -179,9 +188,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -189,7 +198,7 @@ dependencies = [
  "num-traits",
  "time 0.1.45",
  "wasm-bindgen",
- "winapi",
+ "windows-targets",
 ]
 
 [[package]]
@@ -209,59 +218,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-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.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
-dependencies = [
- "autocfg",
- "cfg-if",
- "crossbeam-utils",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-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 = "darling"
 version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -307,6 +263,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
 name = "derive_builder"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -339,27 +301,27 @@ dependencies = [
 
 [[package]]
 name = "diesel"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7a532c1f99a0f596f6960a60d1e119e91582b24b39e2d83a190e61262c3ef0c"
+checksum = "d98235fdc2f355d330a8244184ab6b4b33c28679c0b4158f63138e51d6cf7e88"
 dependencies = [
  "chrono",
  "diesel_derives",
  "libsqlite3-sys",
  "r2d2",
- "time 0.3.22",
+ "time 0.3.28",
 ]
 
 [[package]]
 name = "diesel_derives"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74398b79d81e52e130d991afeed9c86034bb1b7735f46d2f5bf7deb261d80303"
+checksum = "e054665eaf6d97d1e7125512bb2d35d07c73ac86cc6920174cb42d1ab697a554"
 dependencies = [
  "diesel_table_macro_syntax",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -379,7 +341,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
 dependencies = [
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -399,15 +361,15 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.32"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if",
 ]
@@ -427,15 +389,15 @@ dependencies = [
 
 [[package]]
 name = "equivalent"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 dependencies = [
  "errno-dragonfly",
  "libc",
@@ -454,12 +416,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "field-offset"
@@ -579,7 +538,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -614,58 +573,56 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717"
+checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3"
 dependencies = [
- "bitflags 1.3.2",
  "gdk-pixbuf-sys",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb"
+checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
 dependencies = [
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "gdk4"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff"
+checksum = "6982d9815ed6ac95b0467b189e81f29dea26d08a732926ec113e65744ed3f96c"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "gdk-pixbuf",
  "gdk4-sys",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "pango",
 ]
 
 [[package]]
 name = "gdk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64"
+checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "pango-sys",
  "pkg-config",
@@ -674,17 +631,6 @@ dependencies = [
 
 [[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.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
@@ -696,8 +642,9 @@ dependencies = [
 
 [[package]]
 name = "gettext-rs"
-version = "0.4.2"
-source = "git+https://github.com/danigm/gettext-rs?branch=no-gettext#61938b9f5f1d3bdc31f9839f53fabe5ccf136a78"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
 dependencies = [
  "gettext-sys",
  "locale_config",
@@ -705,31 +652,32 @@ dependencies = [
 
 [[package]]
 name = "gettext-sys"
-version = "0.19.9"
-source = "git+https://github.com/danigm/gettext-rs?branch=no-gettext#61938b9f5f1d3bdc31f9839f53fabe5ccf136a78"
+version = "0.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
 dependencies = [
  "cc",
+ "temp-dir",
 ]
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 
 [[package]]
 name = "gio"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a"
+checksum = "7884cba6b1c5db1607d970cadf44b14a43913d42bc68766eea6a5e2fe0891524"
 dependencies = [
- "bitflags 1.3.2",
  "futures-channel",
  "futures-core",
  "futures-io",
  "futures-util",
  "gio-sys",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "pin-project-lite",
@@ -739,12 +687,12 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
  "winapi",
@@ -772,20 +720,20 @@ dependencies = [
 
 [[package]]
 name = "glib"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b"
+checksum = "331156127e8166dd815cf8d2db3a5beb492610c716c03ee6db4f2d07092af0a7"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "futures-channel",
  "futures-core",
  "futures-executor",
  "futures-task",
  "futures-util",
  "gio-sys",
- "glib-macros 0.17.10",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-macros 0.18.0",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "memchr",
  "once_cell",
@@ -810,17 +758,16 @@ dependencies = [
 
 [[package]]
 name = "glib-macros"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26"
+checksum = "179643c50bf28d20d2f6eacd2531a88f2f5d9747dd0b86b8af1e8bb5dd0de3c0"
 dependencies = [
- "anyhow",
  "heck",
  "proc-macro-crate",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -835,9 +782,9 @@ dependencies = [
 
 [[package]]
 name = "glib-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
 dependencies = [
  "libc",
  "system-deps",
@@ -862,33 +809,33 @@ dependencies = [
 
 [[package]]
 name = "gobject-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "graphene-rs"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9"
+checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
 dependencies = [
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-sys",
  "libc",
 ]
 
 [[package]]
 name = "graphene-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d"
+checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "pkg-config",
  "system-deps",
@@ -896,14 +843,13 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c"
+checksum = "cc25855255120f294d874acd6eaf4fbed7ce1cdc550e2d8415ea57fafbe816d5"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "gdk4",
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-rs",
  "gsk4-sys",
  "libc",
@@ -912,14 +858,14 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0"
+checksum = "e1ecf3a63bf1223d68f80f72cc896c4d8c80482fbce1c9a12c66d3de7290ee46"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "graphene-sys",
  "libc",
  "pango-sys",
@@ -928,22 +874,21 @@ dependencies = [
 
 [[package]]
 name = "gstreamer"
-version = "0.20.6"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3113531138b4e41968e33fd003a0d1a635ef6e0cbc309dd5004123000863ac54"
+checksum = "f8cdb86791dc39a5443f7d08cf3e7ae9c88a94991aba620d177cb5804838201f"
 dependencies = [
- "bitflags 1.3.2",
  "cfg-if",
  "futures-channel",
  "futures-core",
  "futures-util",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer-sys",
+ "itertools",
  "libc",
  "muldiv",
  "num-integer",
  "num-rational",
- "once_cell",
  "option-operations",
  "paste",
  "pretty-hex",
@@ -953,14 +898,13 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-base"
-version = "0.20.5"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8ff5dfbf7bcaf1466a385b836bad0d8da25759f121458727fdda1f771c69b3"
+checksum = "0fe38a6d5c1e516ce3fd6069e972a540d315448ed69fdadad739e6c6c6eb2a01"
 dependencies = [
  "atomic_refcell",
- "bitflags 1.3.2",
  "cfg-if",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-base-sys",
  "libc",
@@ -968,12 +912,12 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-base-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26114ed96f6668380f5a1554128159e98e06c3a7a8460f216d7cd6dce28f928c"
+checksum = "88b9c029583ed61fa5258076a42df91732dc7f5582044ea7ee66a721641e6af4"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-sys",
  "libc",
  "system-deps",
@@ -981,27 +925,25 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-player"
-version = "0.20.5"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec5e04059f117b82ca64c40901610ca9ac1734383437c9fb69afba26c9ebf5a3"
+checksum = "e68dc9772932f6133a9517742918b13ab5414db1f47e19daebc3027a1c3d20d2"
 dependencies = [
- "bitflags 1.3.2",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-player-sys",
  "gstreamer-video",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gstreamer-player-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15321aaaf3bb247b4af3e09456a62dc17f030515d6328377a34081d9ed5803c0"
+checksum = "f5ef4d00b43d0aa94e9a518e6ef4a4c504b4b855304a0a5f4ed1493d5e5ca66c"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-sys",
  "gstreamer-video-sys",
  "libc",
@@ -1010,41 +952,39 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e56fe047adef7d47dbafa8bc1340fddb53c325e16574763063702fc94b5786d2"
+checksum = "a70e3a99118bcd1221f8a62d7a905bae5e5cc2cda678bb46bf3cd36e0f899d33"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "gstreamer-video"
-version = "0.20.4"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce97769effde2d779dc4f7037b37106457b74e53f2a711bddc90b30ffeb7e06"
+checksum = "0db8adfc000cd58f8ece0fe6b4beb79e19e4a6135cfb81138fdb016b603f7d60"
 dependencies = [
- "bitflags 1.3.2",
  "cfg-if",
  "futures-channel",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-base",
  "gstreamer-video-sys",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gstreamer-video-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66ddb6112d438aac0004d2db6053a572f92b1c5e0e9d6ff6c71d9245f7f73e46"
+checksum = "e0284250a09fa824b21df1a21967eef4a5d85b5e0c1e335ed2ba9b9be1424dae"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-base-sys",
  "gstreamer-sys",
  "libc",
@@ -1053,32 +993,30 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.6.6"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b"
+checksum = "a3b095b26f2a2df70be1805d3590eeb9d7a05ecb5be9649b82defc72dc56228c"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "field-offset",
  "futures-channel",
  "gdk-pixbuf",
  "gdk4",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-rs",
  "gsk4",
  "gtk4-macros",
  "gtk4-sys",
  "libc",
- "once_cell",
  "pango",
 ]
 
 [[package]]
 name = "gtk4-macros"
-version = "0.6.6"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f"
+checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
 dependencies = [
  "anyhow",
  "proc-macro-crate",
@@ -1090,16 +1028,16 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f"
+checksum = "7b0bdde87c50317b4f355bcbb4a9c2c414ece1b7c824fb4ad4ba8f3bdb2c6603"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
  "gdk4-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "graphene-sys",
  "gsk4-sys",
  "libc",
@@ -1109,9 +1047,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.20"
+version = "0.3.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
+checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
 dependencies = [
  "bytes",
  "fnv",
@@ -1146,18 +1084,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "home"
-version = "0.5.5"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-dependencies = [
- "windows-sys",
-]
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "html2text"
@@ -1165,25 +1094,11 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74cda84f06c1cc83476f79ae8e2e892b626bdadafcb227baec54c918cadc18a0"
 dependencies = [
- "html5ever 0.26.0",
- "markup5ever 0.11.0",
+ "html5ever",
+ "markup5ever",
  "tendril",
  "unicode-width",
- "xml5ever 0.17.0",
-]
-
-[[package]]
-name = "html5ever"
-version = "0.25.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
-dependencies = [
- "log",
- "mac",
- "markup5ever 0.10.1",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "xml5ever",
 ]
 
 [[package]]
@@ -1194,7 +1109,7 @@ checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
 dependencies = [
  "log",
  "mac",
- "markup5ever 0.11.0",
+ "markup5ever",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -1230,9 +1145,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humansize"
@@ -1263,7 +1178,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
  "tokio",
  "tower-service",
  "tracing",
@@ -1343,26 +1258,6 @@ dependencies = [
 ]
 
 [[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.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys",
-]
-
-[[package]]
 name = "ipnet"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1379,12 +1274,12 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.2",
+ "rustix",
  "windows-sys",
 ]
 
@@ -1399,10 +1294,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
@@ -1421,15 +1325,14 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libadwaita"
-version = "0.4.4"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf"
+checksum = "06444f4ca05a60693da6e9e2b591bd40a298e65a118a8d5e830771718b3e0253"
 dependencies = [
- "bitflags 1.3.2",
  "gdk-pixbuf",
  "gdk4",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gtk4",
  "libadwaita-sys",
  "libc",
@@ -1438,14 +1341,14 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.4.4"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404"
+checksum = "021cfe3d1fcfa82411765a791f7e9b32f35dd98ce88d2e3fa10e7320f5cc8ce7"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gtk4-sys",
  "libc",
  "pango-sys",
@@ -1478,24 +1381,29 @@ dependencies = [
 ]
 
 [[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
+name = "linkify"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "f1dfa36d52c581e9ec783a7ce2a5e0143da6237be5811a0b3153fedfdbe9f780"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
 
 [[package]]
 name = "locale_config"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
 dependencies = [
  "lazy_static",
+ "objc",
+ "objc-foundation",
  "regex",
  "winapi",
 ]
@@ -1512,9 +1420,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "mac"
@@ -1523,24 +1431,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 
 [[package]]
-name = "maplit"
-version = "1.0.2"
+name = "malloc_buf"
+version = "0.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
 
 [[package]]
-name = "markup5ever"
-version = "0.10.1"
+name = "maplit"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
-dependencies = [
- "log",
- "phf 0.8.0",
- "phf_codegen 0.8.0",
- "string_cache",
- "string_cache_codegen",
- "tendril",
-]
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 
 [[package]]
 name = "markup5ever"
@@ -1549,8 +1452,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 dependencies = [
  "log",
- "phf 0.10.1",
- "phf_codegen 0.10.0",
+ "phf",
+ "phf_codegen",
  "string_cache",
  "string_cache_codegen",
  "tendril",
@@ -1558,21 +1461,21 @@ dependencies = [
 
 [[package]]
 name = "markup5ever_rcdom"
-version = "0.1.0"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b"
+checksum = "b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2"
 dependencies = [
- "html5ever 0.25.2",
- "markup5ever 0.10.1",
+ "html5ever",
+ "markup5ever",
  "tendril",
- "xml5ever 0.16.2",
+ "xml5ever",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
@@ -1709,9 +1612,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
@@ -1727,10 +1630,39 @@ dependencies = [
 ]
 
 [[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
 name = "object"
-version = "0.31.1"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
@@ -1754,11 +1686,11 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.55"
+version = "0.10.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
+checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -1775,7 +1707,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1786,9 +1718,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.90"
+version = "0.9.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
+checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b"
 dependencies = [
  "cc",
  "libc",
@@ -1806,23 +1738,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "output_vt100"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "pango"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48"
+checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1"
 dependencies = [
- "bitflags 1.3.2",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "pango-sys",
@@ -1830,12 +1752,12 @@ dependencies = [
 
 [[package]]
 name = "pango-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195"
+checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
@@ -1865,9 +1787,9 @@ dependencies = [
 
 [[package]]
 name = "paste"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pathdiff"
@@ -1883,30 +1805,11 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "phf"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_shared 0.8.0",
-]
-
-[[package]]
-name = "phf"
 version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
+ "phf_shared",
 ]
 
 [[package]]
@@ -1915,18 +1818,8 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
+ "phf_generator",
+ "phf_shared",
 ]
 
 [[package]]
@@ -1935,21 +1828,12 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
- "phf_shared 0.10.0",
+ "phf_shared",
  "rand 0.8.5",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "phf_shared"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
@@ -1959,9 +1843,9 @@ dependencies = [
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -1982,25 +1866,20 @@ dependencies = [
  "ammonia",
  "anyhow",
  "base64",
+ "bytes",
  "chrono",
- "crossbeam-channel",
  "derive_builder",
  "diesel",
  "diesel_migrations",
  "futures",
  "glob",
  "http",
- "hyper",
- "hyper-tls",
  "log",
  "maplit",
  "mime_guess",
- "native-tls",
- "num_cpus",
  "once_cell",
  "pretty_assertions",
  "rand 0.8.5",
- "rayon",
  "reqwest",
  "rfc822_sanitizer",
  "rss",
@@ -2018,7 +1897,6 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "chrono",
- "crossbeam-channel",
  "fragile",
  "gettext-rs",
  "glob",
@@ -2026,9 +1904,10 @@ dependencies = [
  "gstreamer-player",
  "gtk4",
  "html2text",
- "html5ever 0.25.2",
+ "html5ever",
  "humansize",
  "libadwaita",
+ "linkify",
  "log",
  "markup5ever_rcdom",
  "mpris-player",
@@ -2037,7 +1916,6 @@ dependencies = [
  "podcasts-data",
  "pretty_assertions",
  "pretty_env_logger",
- "rayon",
  "regex",
  "reqwest",
  "serde_json",
@@ -2065,13 +1943,11 @@ checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
 
 [[package]]
 name = "pretty_assertions"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
 dependencies = [
- "ctor",
  "diff",
- "output_vt100",
  "yansi",
 ]
 
@@ -2121,18 +1997,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quick-xml"
-version = "0.28.2"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
 dependencies = [
  "encoding_rs",
  "memchr",
@@ -2140,9 +2016,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -2173,41 +2049,17 @@ dependencies = [
 
 [[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",
- "rand_pcg",
-]
-
-[[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_chacha",
  "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"
@@ -2233,60 +2085,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
 
 [[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.10",
-]
-
-[[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 = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[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",
+ "getrandom",
 ]
 
 [[package]]
@@ -2309,9 +2112,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2320,9 +2135,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "remove_dir_all"
@@ -2335,9 +2150,9 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.18"
+version = "0.11.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
+checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
 dependencies = [
  "base64",
  "bytes",
@@ -2362,10 +2177,12 @@ dependencies = [
  "serde_urlencoded",
  "tokio",
  "tokio-native-tls",
+ "tokio-util",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
+ "wasm-streams",
  "web-sys",
  "winreg",
 ]
@@ -2383,9 +2200,9 @@ dependencies = [
 
 [[package]]
 name = "rss"
-version = "2.0.4"
+version = "2.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9acf62e0f3f4b52f61d3a12d6279e3f0b90d4811b0ae888eabdf61a2e7c03a95"
+checksum = "7e6c0ea0e621c2a3aa34850ebd711526f0ac7385921f57d2430a47cecc7b9cbc"
 dependencies = [
  "atom_syndication",
  "derive_builder",
@@ -2410,36 +2227,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8818fa822adcc98b18fedbb3632a6a33213c070556b5aa7c4c8cc21cff565c4c"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.2"
+version = "0.38.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aabcb0461ebd01d6b79945797c27f8529082226cb630a9865a71870ff63532a4"
+checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.3",
+ "linux-raw-sys",
  "windows-sys",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "schannel"
@@ -2461,15 +2264,15 @@ dependencies = [
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -2480,9 +2283,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2490,35 +2293,35 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
 name = "serde"
-version = "1.0.166"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.166"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.99"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
 dependencies = [
  "itoa",
  "ryu",
@@ -2548,24 +2351,24 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "socket2"
@@ -2578,6 +2381,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
 name = "string_cache"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2586,7 +2399,7 @@ dependencies = [
  "new_debug_unreachable",
  "once_cell",
  "parking_lot",
- "phf_shared 0.10.0",
+ "phf_shared",
  "precomputed-hash",
  "serde",
 ]
@@ -2597,8 +2410,8 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
+ "phf_generator",
+ "phf_shared",
  "proc-macro2",
  "quote",
 ]
@@ -2622,9 +2435,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.23"
+version = "2.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2646,9 +2459,15 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.8"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "temp-dir"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac"
+checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
 
 [[package]]
 name = "tempdir"
@@ -2662,15 +2481,14 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
- "autocfg",
  "cfg-if",
  "fastrand",
  "redox_syscall",
- "rustix 0.37.22",
+ "rustix",
  "windows-sys",
 ]
 
@@ -2696,22 +2514,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -2727,10 +2545,11 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.22"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd"
+checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
 dependencies = [
+ "deranged",
  "itoa",
  "serde",
  "time-core",
@@ -2745,9 +2564,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
 
 [[package]]
 name = "time-macros"
-version = "0.2.9"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572"
 dependencies = [
  "time-core",
 ]
@@ -2769,18 +2588,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.1"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
- "autocfg",
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2",
+ "socket2 0.5.3",
  "tokio-macros",
  "windows-sys",
 ]
@@ -2793,7 +2611,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -2822,9 +2640,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.5"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -2843,9 +2661,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.11"
+version = "0.19.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
 dependencies = [
  "indexmap 2.0.0",
  "serde",
@@ -2888,9 +2706,9 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
@@ -2903,9 +2721,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization"
@@ -2924,9 +2742,9 @@ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2968,12 +2786,6 @@ dependencies = [
 
 [[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.10.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
@@ -3005,7 +2817,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
  "wasm-bindgen-shared",
 ]
 
@@ -3039,7 +2851,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -3051,6 +2863,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
+name = "wasm-streams"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+dependencies = [
+ "futures-util",
+ "js-sys",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
 name = "web-sys"
 version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3111,9 +2936,9 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -3126,90 +2951,76 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "winnow"
-version = "0.4.7"
+version = "0.5.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
+checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "winreg"
-version = "0.10.1"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
- "winapi",
+ "cfg-if",
+ "windows-sys",
 ]
 
 [[package]]
 name = "xdg"
-version = "2.5.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688597db5a750e9cad4511cb94729a078e274308099a0382b5b8203bbc767fee"
-dependencies = [
- "home",
-]
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336"
-
-[[package]]
-name = "xml5ever"
-version = "0.16.2"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865"
-dependencies = [
- "log",
- "mac",
- "markup5ever 0.10.1",
- "time 0.1.45",
-]
+checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1"
 
 [[package]]
 name = "xml5ever"
@@ -3219,7 +3030,7 @@ checksum = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650"
 dependencies = [
  "log",
  "mac",
- "markup5ever 0.11.0",
+ "markup5ever",
 ]
 
 [[package]]
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index 2cbdeaad8c7e2..1d94f2879e371 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -22,21 +22,18 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-podcasts";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "podcasts";
     rev = version;
-    hash = "sha256-jnuy2UUPklfOYObSJPSqNhqqrfUP7N80pPmnw0rlB9A=";
+    hash = "sha256-LPwCYgAFgUMFQZ0i4ldiuGYGMMWcMqYct3/o7eTIhmU=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
-    outputHashes = {
-      "gettext-rs-0.4.2" = "sha256-wyZ1bf0oFcQo8gEi2GEalRUoKMoJYHysu79qcfjd4Ng=";
-    };
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/gspeech/default.nix b/pkgs/applications/audio/gspeech/default.nix
index a48aa22809b4f..f2216ed7d2560 100644
--- a/pkgs/applications/audio/gspeech/default.nix
+++ b/pkgs/applications/audio/gspeech/default.nix
@@ -55,6 +55,11 @@ python3.pkgs.buildPythonApplication rec {
     librsvg
   ];
 
+  postInstall = ''
+    install -Dm444 gspeech.desktop -t $out/share/applications
+    install -Dm444 icons/*.svg -t $out/share/icons/hicolor/scalable/apps
+  '';
+
   postFixup = ''
     wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts sox ]}
     wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts sox ]}
diff --git a/pkgs/applications/audio/in-formant/default.nix b/pkgs/applications/audio/in-formant/default.nix
index 6801e3641852d..3df72add7f6bf 100644
--- a/pkgs/applications/audio/in-formant/default.nix
+++ b/pkgs/applications/audio/in-formant/default.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp in-formant $out/bin
+    install -Dm444 $src/dist-res/in-formant.desktop -t $out/share/applications
+    install -Dm444 $src/dist-res/in-formant.png -t $out/share/icons/hicolor/512x512/apps
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 5dacefa2955c9..060f2244f2a93 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "3.9.4";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
+    url = "mirror://kde/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
     hash = "sha256-xBCWDpYiXeChxIiMPqHG3CyiRau2kUdDJtzcPtvWpSA=";
   };
 
diff --git a/pkgs/applications/audio/ledfx/default.nix b/pkgs/applications/audio/ledfx/default.nix
index 31e7d23f75df7..9efc5270fb222 100644
--- a/pkgs/applications/audio/ledfx/default.nix
+++ b/pkgs/applications/audio/ledfx/default.nix
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
-      --replace '"sentry-sdk==1.14.0",' "sentry-sdk" \
+      --replace "sentry-sdk==1.14.0" "sentry-sdk" \
       --replace "~=" ">="
   '';
 
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 1e9e26cb18a4b..898fe17db75d3 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "praat";
-  version = "6.3.20";
+  version = "6.4";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-hVQPLRyDXrqpheAqzC/hQ/ZaFxP1c7ClAJQs3wlEcGc=";
+    hash = "sha256-S05A8e3CFzQA7NtZlt85OfkS3cF05QSMWLcuR4UMCV8=";
   };
 
   nativeBuildInputs = [
@@ -47,6 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
     runHook preInstall
 
     install -Dt $out/bin praat
+    install -Dm444 main/praat.desktop -t $out/share/applications
+    install -Dm444 main/praat-32.ico $out/share/icons/hicolor/32x32/apps/praat.ico
+    install -Dm444 main/praat-256.ico $out/share/icons/hicolor/256x256/apps/praat.ico
+    install -Dm444 main/praat-480.png $out/share/icons/hicolor/480x480/apps/praat.png
+    install -Dm444 main/praat-480.svg $out/share/icons/hicolor/scalable/apps/praat.svg
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 276fdbf32e2c4..b6fa1ce2d0d46 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -20,6 +20,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ SDL2 ] ++ lib.optional stdenv.isLinux alsa-lib;
 
+  postInstall = ''
+    install -Dm444 "$src/release/other/Freedesktop.org Resources/ProTracker 2 clone.desktop" \
+      -t $out/share/applications
+    install -Dm444 "$src/release/other/Freedesktop.org Resources/ProTracker 2 clone.png" \
+      -t $out/share/icons/hicolor/512x512/apps
+  '';
+
   passthru.tests = {
     pt2-clone-opens = nixosTests.pt2-clone;
   };
diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix
index 44a285c7b65a4..bab3d8c9b4ee5 100644
--- a/pkgs/applications/audio/qpwgraph/default.nix
+++ b/pkgs/applications/audio/qpwgraph/default.nix
@@ -13,14 +13,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qpwgraph";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "rncbc";
     repo = "qpwgraph";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-wJ+vUw16yBBFjMdJogF1nkLnAh3o2ndN9+0png8ZVJ4=";
+    sha256 = "sha256-oB8/q0igSZoaDzKzgmGAECU0qJwO67t9qWw+fB2vfxg=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 3196d492fb500..63e2bd7f2dccd 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -17,7 +17,9 @@
 , libxdg_basedir
 , wxGTK
 # GStreamer
+, glib-networking
 , gst_all_1
+, libsoup_3
 # User-agent info
 , lsb-release
 # rt2rtng
@@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
     libxdg_basedir
     lsb-release
     wxGTK
+    # for https gstreamer / libsoup
+    glib-networking
   ] ++ gstInputs
     ++ pythonInputs;
 
@@ -89,6 +93,8 @@ stdenv.mkDerivation rec {
   preFixup = ''
     gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ dbus ]})
     wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH
+    # for GStreamer
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib")
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/raysession/default.nix b/pkgs/applications/audio/raysession/default.nix
index f12fd7a15c000..4db6072a4805c 100644
--- a/pkgs/applications/audio/raysession/default.nix
+++ b/pkgs/applications/audio/raysession/default.nix
@@ -1,12 +1,12 @@
-{ lib, fetchurl, buildPythonApplication, libjack2, pydbus, pyliblo, pyqt5, which, bash, qt5 }:
+{ lib, fetchurl, buildPythonApplication, libjack2, pyliblo, pyqt5, which, bash, qt5 }:
 
 buildPythonApplication rec {
   pname = "raysession";
-  version = "0.13.1";
+  version = "0.14.2";
 
   src = fetchurl {
     url = "https://github.com/Houston4444/RaySession/releases/download/v${version}/RaySession-${version}-source.tar.gz";
-    sha256 = "sha256-iiFRtX43u9BHe7a4ojza7kav+dMW9e05dPi7Gf9d1GM=";
+    sha256 = "sha256-qEN3zBK/goRLIZaU06XXm8H5yj4Qjj/NH+bkHkjhLaw=";
   };
 
   postPatch = ''
@@ -25,7 +25,7 @@ buildPythonApplication rec {
     qt5.wrapQtAppsHook
   ];
   buildInputs = [ libjack2 bash ];
-  propagatedBuildInputs = [ pydbus pyliblo pyqt5 ];
+  propagatedBuildInputs = [ pyliblo pyqt5 ];
 
   dontWrapQtApps = true; # The program is a python script.
 
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 01ccc65d5f63f..6490a15755fac 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -28,13 +28,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "7.05";
+  version = "7.06";
 
   src = fetchurl {
     url = url_for_platform version stdenv.hostPlatform.qemuArch;
-    hash = if stdenv.isDarwin then "sha256-jaT+3cIFVfBopgeeTkpNs9rFX50unlPJogdhkI9bsWU=" else {
-      x86_64-linux = "sha256-P/PnbJPr4ErDz5ho1/dLERhqkKjdetHzKpCpfVZAYb0=";
-      aarch64-linux = "sha256-PdnBVlHwoEEv2SPq/p5oyiOlduCEqL35gAY+QIJU1Ys=";
+    hash = if stdenv.isDarwin then "sha256-4ANi5KhNbJvDCO2iPX/oayGf/ZeIMfkhp0FQRrBYowo=" else {
+      x86_64-linux = "sha256-tq0K2HSDTZg7iw6ypS5oUuQi3HIYzbl9DWo2SOKGDVY=";
+      aarch64-linux = "sha256-MGpfdSQsMykp6QNq1JqxIsFqdhNyefPnEIyC4t1S6Vs=";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/audio/rubyripper/default.nix b/pkgs/applications/audio/rubyripper/default.nix
index 0af80c991c2ea..23cc0577c688c 100644
--- a/pkgs/applications/audio/rubyripper/default.nix
+++ b/pkgs/applications/audio/rubyripper/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
     ruby
   ];
 
+  postInstall = ''
+    cp -r share $out/
+  '';
+
   postFixup = ''
     wrapProgram $out/bin/rrip_cli \
       --prefix PATH : ${lib.makeBinPath [ cddiscid cdparanoia ruby ]}
diff --git a/pkgs/applications/audio/spotify/linux.nix b/pkgs/applications/audio/spotify/linux.nix
index 16b3e7bdd5de4..5bbdde57a3240 100644
--- a/pkgs/applications/audio/spotify/linux.nix
+++ b/pkgs/applications/audio/spotify/linux.nix
@@ -14,14 +14,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.2.22.982.g794acc0a";
+  version = "1.2.25.1011.g0348b2ea";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "70";
+  rev = "73";
 
   deps = [
     alsa-lib
@@ -86,7 +86,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    hash = "sha512-oxDUZqyMLxCbUBb1A+BBznByQ1rZAJcEIkaSUQ93/k1DX3rTaBHzEXmBtJhmN6L8L3fw1pa9GvE7eDaD8+jeGg==";
+    hash = "sha512-93A+0YfP2/HnQOhSMw3UZ374bpS5ccQqb7a+e4RPSKvyT54wcI6hpmRn8CVo02oLo0yI2hho3Bu3ggsJLVgzbw==";
   };
 
   nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ];
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index da97e45b63f6b..1980fae8e194e 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -22,14 +22,14 @@
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "44.2";
+  version = "45.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "deja-dup";
     rev = version;
-    hash = "sha256-TnyH2tIvzG1B2hbDPyFyaTArfuMJaP6GKw6yahwsQ1Q=";
+    hash = "sha256-2vNAppy8fYYcxH3ci4B6bUIl2sO5NC6yA13y9iU4V/A=";
   };
 
   patches = [
diff --git a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
index 38d5f82f1c381..18d7726b3cb5c 100644
--- a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
+++ b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.19.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -18,41 +18,19 @@ 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 = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
-
-[[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",
-]
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "autocfg"
@@ -62,15 +40,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.67"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if",
  "libc",
- "miniz_oxide 0.6.2",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
@@ -83,22 +61,22 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "bindgen"
-version = "0.64.0"
+version = "0.68.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
+checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "cexpr",
  "clang-sys",
  "lazy_static",
  "lazycell",
  "peeking_take_while",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 1.0.109",
+ "syn 2.0.39",
  "which",
 ]
 
@@ -109,24 +87,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -198,9 +183,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "endian-type"
@@ -229,36 +214,31 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.9.3"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
- "atty",
  "humantime",
+ "is-terminal",
  "log",
  "regex",
  "termcolor",
 ]
 
 [[package]]
-name = "errno"
-version = "0.3.1"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -273,35 +253,35 @@ dependencies = [
 
 [[package]]
 name = "fd-lock"
-version = "3.0.12"
+version = "3.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642"
+checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5"
 dependencies = [
  "cfg-if",
  "rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "filetime"
-version = "0.2.21"
+version = "0.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
- "windows-sys",
+ "redox_syscall 0.3.5",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -327,18 +307,18 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -351,9 +331,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -361,15 +341,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -378,38 +358,38 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -425,9 +405,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -436,9 +416,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -448,9 +428,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "h2"
-version = "0.3.20"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
 dependencies = [
  "bytes",
  "fnv",
@@ -467,27 +447,15 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash",
-]
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "hex"
@@ -504,14 +472,14 @@ version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -537,9 +505,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humantime"
@@ -564,7 +532,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.10",
  "tokio",
  "tower-service",
  "tracing",
@@ -573,9 +541,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -583,45 +551,45 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
- "autocfg",
+ "equivalent",
  "hashbrown",
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
+name = "is-terminal"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys",
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -640,9 +608,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libloading"
@@ -655,6 +623,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "libudev-sys"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -666,21 +645,21 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memoffset"
@@ -708,15 +687,6 @@ 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 = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -726,13 +696,13 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
 dependencies = [
  "libc",
  "wasi",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -750,7 +720,7 @@ version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cc",
  "cfg-if",
  "libc",
@@ -759,16 +729,15 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset 0.7.1",
  "pin-utils",
- "static_assertions",
 ]
 
 [[package]]
@@ -787,15 +756,15 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
 name = "object"
-version = "0.30.4"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
@@ -808,11 +777,11 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "openssl"
-version = "0.10.55"
+version = "0.10.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -827,16 +796,16 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.90"
+version = "0.9.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
 dependencies = [
  "cc",
  "libc",
@@ -846,11 +815,9 @@ dependencies = [
 
 [[package]]
 name = "pathpatterns"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6e0644c02bcf32e41bcfd11d29d67c31480910717dc15ad59f968c736c0a99a"
+version = "0.3.0"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "libc",
 ]
 
@@ -876,14 +843,14 @@ dependencies = [
 
 [[package]]
 name = "pbs-buildcfg"
-version = "3.0.1"
+version = "3.1.2"
 
 [[package]]
 name = "pbs-client"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures",
  "h2",
@@ -893,7 +860,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -933,7 +900,7 @@ dependencies = [
  "hex",
  "lazy_static",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "once_cell",
  "openssl",
  "pbs-api-types",
@@ -962,7 +929,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -996,7 +963,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-fuse",
  "proxmox-sys",
  "proxmox-time",
@@ -1009,7 +976,7 @@ name = "pbs-key-config"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pbs-api-types",
  "pbs-tools",
@@ -1042,13 +1009,13 @@ name = "pbs-tape"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "endian_trait",
  "hex",
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "pbs-api-types",
  "pbs-config",
  "proxmox-io",
@@ -1081,7 +1048,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "nom",
  "openssl",
  "pbs-api-types",
@@ -1108,15 +1075,15 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -1141,21 +1108,21 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "proxmox-api-macro"
-version = "1.0.4"
+version = "1.0.6"
 dependencies = [
  "anyhow",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 1.0.109",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1173,7 +1140,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-auth-api"
-version = "0.3.0"
+version = "0.3.2"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -1185,14 +1152,14 @@ dependencies = [
 
 [[package]]
 name = "proxmox-backup"
-version = "3.0.1"
+version = "3.1.2"
 
 [[package]]
 name = "proxmox-backup-banner"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "nix 0.26.2",
+ "nix 0.26.4",
 ]
 
 [[package]]
@@ -1204,7 +1171,7 @@ dependencies = [
  "hyper",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -1290,10 +1257,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "proxmox-human-byte"
+name = "proxmox-http-error"
 version = "0.1.0"
 dependencies = [
  "anyhow",
+ "http",
+ "serde",
+]
+
+[[package]]
+name = "proxmox-human-byte"
+version = "0.1.2"
+dependencies = [
+ "anyhow",
  "proxmox-schema",
  "proxmox-serde",
  "serde",
@@ -1313,16 +1289,17 @@ version = "1.1.0"
 
 [[package]]
 name = "proxmox-router"
-version = "1.3.1"
+version = "2.1.1"
 dependencies = [
  "anyhow",
  "env_logger",
  "http",
  "hyper",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "percent-encoding",
  "proxmox-async",
+ "proxmox-http-error",
  "proxmox-lang",
  "proxmox-schema",
  "rustyline",
@@ -1334,7 +1311,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-schema"
-version = "1.3.7"
+version = "2.0.2"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -1347,7 +1324,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-section-config"
-version = "1.0.2"
+version = "2.0.0"
 dependencies = [
  "anyhow",
  "hex",
@@ -1374,29 +1351,29 @@ version = "0.3.0"
 dependencies = [
  "anyhow",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-sys",
 ]
 
 [[package]]
 name = "proxmox-sortable-macro"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 1.0.109",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "proxmox-sys"
-version = "0.5.0"
+version = "0.5.2"
 dependencies = [
  "anyhow",
  "base64",
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-io",
  "proxmox-lang",
  "proxmox-time",
@@ -1410,7 +1387,7 @@ name = "proxmox-time"
 version = "1.1.5"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "js-sys",
  "lazy_static",
  "libc",
@@ -1430,7 +1407,7 @@ dependencies = [
 name = "pxar"
 version = "0.10.2"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "endian_trait",
  "libc",
  "siphasher",
@@ -1444,7 +1421,7 @@ dependencies = [
  "anyhow",
  "futures",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "pathpatterns",
  "pbs-client",
  "pbs-pxar-fuse",
@@ -1469,11 +1446,11 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
- "proc-macro2 1.0.63",
+ "proc-macro2 1.0.70",
 ]
 
 [[package]]
@@ -1488,29 +1465,50 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1519,9 +1517,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc-demangle"
@@ -1537,16 +1535,15 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.20"
+version = "0.38.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1555,7 +1552,7 @@ version = "9.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "clipboard-win",
  "dirs-next",
@@ -1575,9 +1572,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "same-file"
@@ -1590,35 +1587,35 @@ dependencies = [
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.99"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1627,18 +1624,18 @@ dependencies = [
 
 [[package]]
 name = "serde_plain"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6018081315db179d0ce57b1fe4b62a12a0028c9cf9bbef868c9cf477b3c34ae"
+checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "shlex"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
 
 [[package]]
 name = "signal-hook-registry"
@@ -1651,46 +1648,50 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "smawk"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "socket2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
 
 [[package]]
 name = "str-buf"
@@ -1711,31 +1712,20 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.109"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616"
-dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
  "unicode-ident",
 ]
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -1744,9 +1734,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -1764,22 +1754,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1799,11 +1789,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374442f06ee49c3a28a8fc9f01a2596fed7559c6b99b31279c3261778e77d84f"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
 dependencies = [
- "autocfg",
  "backtrace",
  "bytes",
  "libc",
@@ -1811,20 +1800,20 @@ dependencies = [
  "num_cpus",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
  "tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1852,9 +1841,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -1872,20 +1861,19 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
@@ -1914,19 +1902,15 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-linebreak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
-dependencies = [
- "hashbrown",
- "regex",
-]
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
@@ -1945,9 +1929,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
@@ -1957,9 +1941,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -1979,16 +1963,10 @@ 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 = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2011,9 +1989,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2021,57 +1999,58 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
- "quote 1.0.29",
+ "quote 1.0.33",
  "wasm-bindgen-macro-support",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "which"
-version = "4.4.0"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
 dependencies = [
  "either",
- "libc",
+ "home",
  "once_cell",
+ "rustix",
 ]
 
 [[package]]
@@ -2092,9 +2071,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -2111,98 +2090,161 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
 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",
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "xattr"
-version = "0.2.3"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "xdg"
-version = "2.5.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688597db5a750e9cad4511cb94729a078e274308099a0382b5b8203bbc767fee"
-dependencies = [
- "home",
-]
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
 
 [[package]]
 name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "6.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
 dependencies = [
  "libc",
  "zstd-sys",
@@ -2210,24 +2252,31 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
 dependencies = [
  "bindgen",
  "cc",
- "libc",
  "pkg-config",
 ]
 
 [[patch.unused]]
+name = "proxmox-ldap"
+version = "0.2.1"
+
+[[patch.unused]]
+name = "proxmox-metrics"
+version = "0.3.0"
+
+[[patch.unused]]
 name = "proxmox-rest-server"
-version = "0.4.1"
+version = "0.5.1"
 
 [[patch.unused]]
 name = "proxmox-subscription"
-version = "0.4.0"
+version = "0.4.2"
 
 [[patch.unused]]
 name = "proxmox-tfa"
-version = "4.0.3"
+version = "4.1.0"
diff --git a/pkgs/applications/backup/proxmox-backup-client/default.nix b/pkgs/applications/backup/proxmox-backup-client/default.nix
index 8e6da71a1eadb..77b674d9a1d13 100644
--- a/pkgs/applications/backup/proxmox-backup-client/default.nix
+++ b/pkgs/applications/backup/proxmox-backup-client/default.nix
@@ -1,37 +1,39 @@
-{ lib,
-  fetchgit,
-  rustPlatform,
-  pkg-config,
-  openssl,
-  fuse3,
-  libuuid,
-  acl,
-  libxcrypt,
-  git,
-  installShellFiles,
-  sphinx,
-  stdenv,
-  fetchpatch,
-  testers,
-  proxmox-backup-client,
+{ lib
+, fetchgit
+, rustPlatform
+, pkg-config
+, openssl
+, fuse3
+, libuuid
+, acl
+, libxcrypt
+, git
+, installShellFiles
+, sphinx
+, stdenv
+, fetchpatch
+, testers
+, proxmox-backup-client
 }:
 
 let
   pname = "proxmox-backup-client";
-  version = "3.0.1";
+  version = "3.1.2";
 
   proxmox-backup_src = fetchgit {
     url = "git://git.proxmox.com/git/proxmox-backup.git";
     rev = "v${version}";
     name = "proxmox-backup";
-    hash = "sha256-a6dPBZBBh//iANXoPmOdgxYO0qNszOYI3QtrjQr4Cxc=";
+    hash = "sha256-G4wadZelQHlveVhuOpu0FjLvfegoimoxlw3Fe8DhsQA=";
   };
 
+  # Same revision as used in
+  # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=proxmox-backup-client
   proxmox_src = fetchgit {
     url = "git://git.proxmox.com/git/proxmox.git";
-    rev = "2a070da0651677411a245f1714895235b1caf584";
+    rev = "50b79198f83659e77b810fe0eedaa79b140744db";
     name = "proxmox";
-    hash = "sha256-WH6oW2MB2yN1Y2zqOuXewI9jHqev/xLcJtb7D1J4aUE=";
+    hash = "sha256-ffkOXGqe0xjvvhouzemcQ8qNdmJx70x10ny2uhYAYaI=";
   };
 
   proxmox-fuse_src = fetchgit {
@@ -43,16 +45,30 @@ let
 
   proxmox-pxar_src = fetchgit {
     url = "git://git.proxmox.com/git/pxar.git";
-    rev = "6ad046f9f92b40413f59cc5f4c23d2bafdf141f2";
+    rev = "fab647085426dc39c25c137575a3b8fc575c4b78";
     name = "pxar";
-    hash = "sha256-I9kk27oN9BDQpnLDWltjZMrh2yJitCpcD/XAhkmtJUg=";
+    hash = "sha256-tedQDQUFSGUZCChGcRRJsh7lIozfispLCLeX1OuUc4k=";
   };
+
+  proxmox-pathpatterns_src = fetchgit {
+    url = "git://git.proxmox.com/git/pathpatterns.git";
+    rev = "5f625aacbd6f81d97a1c6f5476fb38769d069f26"; # 0.3.0
+    name = "pathpatterns";
+    hash = "sha256-717XSlvQdvP0Q516fEx04rsrLCk3QI8frTD5NMmkSr4=";
+  };
+
 in
 
 rustPlatform.buildRustPackage {
   inherit pname version;
 
-  srcs = [ proxmox-backup_src proxmox_src proxmox-fuse_src proxmox-pxar_src ];
+  srcs = [
+    proxmox-backup_src
+    proxmox_src
+    proxmox-fuse_src
+    proxmox-pxar_src
+    proxmox-pathpatterns_src
+  ];
 
   sourceRoot = proxmox-backup_src.name;
 
@@ -64,15 +80,15 @@ rustPlatform.buildRustPackage {
     # works in combination with the other three repos being checked out.
     (fetchpatch {
       name = "0001-re-route-dependencies-not-available-on-crates.io-to-.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-re-route-dependencies-not-available-on-crates.io-to-.patch?h=proxmox-backup-client&id=83a1f4dfcb04bd181b11954b1d9f5ddfcb72b3d0";
-      hash = "sha256-2YZtjbpYSbRk6rmpjKJeIO+V0YN5PrKsISONXMj4RG0=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-re-route-dependencies-not-available-on-crates.io-to-.patch?h=proxmox-backup-client&id=33ef762d3b3a8a0300117efada8d957f6d0cfa07";
+      hash = "sha256-hBct1NVFum7WG0sgdE7DdvjfnC6KPlLG9r4syxgYKWA=";
     })
     # This patch prevents the generation of the man-pages for other components inside the repo,
     # which would require them too be built too. Thus avoid wasting resources and just skip them.
     (fetchpatch {
       name = "0002-docs-drop-all-but-client-man-pages.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0002-docs-drop-all-but-client-man-pages.patch?h=proxmox-backup-client&id=83a1f4dfcb04bd181b11954b1d9f5ddfcb72b3d0";
-      hash = "sha256-oJKQs4SwJvX5Zd0/l/vVr66aPO7Y4AC8byJHg9t1IhY=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0002-docs-drop-all-but-client-man-pages.patch?h=proxmox-backup-client&id=33ef762d3b3a8a0300117efada8d957f6d0cfa07";
+      hash = "sha256-DvWm18udvOpcma0V3JY06Lhn+h0BDPhNqrNOyrgpvWk=";
     })
     # `make docs` assumes that the binaries are located under `target/{debug,release}`, but due
     # to how `buildRustPackage` works, they get put under `target/$RUSTC_TARGET/{debug,release}`.
diff --git a/pkgs/applications/backup/timeshift/unwrapped.nix b/pkgs/applications/backup/timeshift/unwrapped.nix
index 878c57fa9c0d1..b41ca774cf968 100644
--- a/pkgs/applications/backup/timeshift/unwrapped.nix
+++ b/pkgs/applications/backup/timeshift/unwrapped.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "timeshift";
-  version = "23.07.1";
+  version = "23.12.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "timeshift";
     rev = version;
-    sha256 = "RnArZTzvH+mdT7zAHTRem8+Z8CFjWVvd3p/HwZC/v+U=";
+    sha256 = "uesedEXPfvI/mRs8BiNkv8B2vVxmtTSaIvlQIsajkVg=";
   };
 
   patches = [
diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix
index d1e419425570a..d8378f5e9f060 100644
--- a/pkgs/applications/blockchains/bitcoin-knots/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
-  version = "23.0.knots20220529";
+  version = "25.1.knots20231115";
 
   src = fetchurl {
-    url = "https://bitcoinknots.org/files/23.x/${version}/bitcoin-${version}.tar.gz";
-    sha256 = "0c6l4bvj4ck8gp5vm4dla3l32swsp6ijk12fyf330wgry4mhqxyi";
+    url = "https://bitcoinknots.org/files/25.x/${version}/bitcoin-${version}.tar.gz";
+    sha256 = "b6251beee95cf6701c6ebc443b47fb0e99884880f2661397f964a8828add4002";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix
index 1d0736244b68a..83c1f35c5fbdc 100644
--- a/pkgs/applications/blockchains/bitcoin/default.nix
+++ b/pkgs/applications/blockchains/bitcoin/default.nix
@@ -72,6 +72,10 @@ stdenv.mkDerivation rec {
     install -Dm644 share/pixmaps/bitcoin256.png $out/share/pixmaps/bitcoin.png
   '';
 
+  preConfigure = lib.optionalString stdenv.isDarwin ''
+    export MACOSX_DEPLOYMENT_TARGET=10.13
+  '';
+
   configureFlags = [
     "--with-boost-libdir=${boost.out}/lib"
     "--disable-bench"
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index 2abfe5f16d549..e44cefb02fd43 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "23.10.24";
+  version = "23.11.6";
 
   src = fetchurl {
     name = "exodus-linux-x64-${version}.zip";
     url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
     curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
-    sha256 = "sha256-g28jSQaqjnM34sCpyYLSipUoU3pqAcXQIyWhlrR4xz4=";
+    sha256 = "sha256-s7LPOUDDQIgASMr3EmEUgtwWHl6mdDez4H3L+Mj3LQA=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 5f96baba174bb..3c61455bb1b5d 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.71.0";
+  version = "2.71.1";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-boZ28o8bg2TXZcc1mx4ZlPIPRFK9wy4+MTbYLT5XCQU=";
+    hash = "sha256-+1i4ycURuT0xSF2yLQM5uyDFzeeGQ8H4On2Pb3oIRYc=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix
index be6b93407ab39..32b8066ff42ec 100644
--- a/pkgs/applications/blockchains/sparrow/default.nix
+++ b/pkgs/applications/blockchains/sparrow/default.nix
@@ -21,11 +21,11 @@
 
 let
   pname = "sparrow";
-  version = "1.7.9";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
-    sha256 = "0bz8mx6mszqadx7nlb4ini45r2r57grdgmrq6k9lxgrgcpd8gasy";
+    sha256 = "sha256-dpYGMclYMjxjUbIcSZ7V54I1LTVfHxAKH9+7CaprD4U=";
   };
 
   launcher = writeScript "sparrow" ''
diff --git a/pkgs/applications/blockchains/ton/default.nix b/pkgs/applications/blockchains/ton/default.nix
index 3e7fb1ae5f327..a65a1428df0e1 100644
--- a/pkgs/applications/blockchains/ton/default.nix
+++ b/pkgs/applications/blockchains/ton/default.nix
@@ -9,17 +9,18 @@
 , openssl
 , readline
 , zlib
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "ton";
-  version = "2023.06";
+  version = "2023.10";
 
   src = fetchFromGitHub {
     owner = "ton-blockchain";
     repo = "ton";
     rev = "v${version}";
-    sha256 = "sha256-mDYuOokCGS1sDP6fHDXhGboDjn4JeyA5ea4/6RRt9x4=";
+    sha256 = "sha256-K1RhhW7EvwYV7/ng3NPjSGdHEQvJZ7K97YXd7s5wghc=";
     fetchSubmodules = true;
   };
 
@@ -39,6 +40,8 @@ stdenv.mkDerivation rec {
     zlib
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "A fully decentralized layer-1 blockchain designed by Telegram";
     homepage = "https://ton.org/";
diff --git a/pkgs/applications/display-managers/greetd/gtkgreet.nix b/pkgs/applications/display-managers/greetd/gtkgreet.nix
index cc78e87584899..674257e8526e4 100644
--- a/pkgs/applications/display-managers/greetd/gtkgreet.nix
+++ b/pkgs/applications/display-managers/greetd/gtkgreet.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkgreet";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromSourcehut {
     owner = "~kennylevinsen";
     repo = pname;
     rev = version;
-    sha256 = "ms+2FdtzzNlmlzNxFhu4cpX5H+5H+9ZOtZ0p8uVA3lo=";
+    sha256 = "sha256-GKBYql0hzqB6uY87SsAqHwf3qLAr7xznMnAjRtP4HS8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
index c1007e07b79b7..eeb0fbdad1dc7 100644
--- a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lightdm-slick-greeter";
-  version = "1.8.2";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "slick-greeter";
     rev = version;
-    sha256 = "sha256-OSL4Ls3bCua5ut8zWodeIH1SfevCbsS7BgBJYdcJaVE=";
+    sha256 = "sha256-Tyyhsel4yWfp8Npn9vERtd+9jzxdvjsj91ebEnvA/D0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix
index 36415d076d9d8..784d4986b207a 100644
--- a/pkgs/applications/editors/aseprite/default.nix
+++ b/pkgs/applications/editors/aseprite/default.nix
@@ -14,14 +14,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "aseprite";
-  version = "1.2.40";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "aseprite";
     repo = "aseprite";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-KUdJA6HTAKrLT8xrwFikVDbc5RODysclcsEyQekMRZo=";
+    hash = "sha256-MSLStUmKAbGKFOQmUcRVrkjZCDglSjTmC6MGWJOCjKU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/cosmic-edit/default.nix b/pkgs/applications/editors/cosmic-edit/default.nix
deleted file mode 100644
index 2adfc012bc6cf..0000000000000
--- a/pkgs/applications/editors/cosmic-edit/default.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rust
-, rustPlatform
-, cmake
-, makeWrapper
-, cosmic-icons
-, just
-, pkg-config
-, libxkbcommon
-, glib
-, gtk3
-, libinput
-, fontconfig
-, freetype
-, wayland
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "cosmic-edit";
-  version = "unstable-2023-11-02";
-
-  src = fetchFromGitHub {
-    owner = "pop-os";
-    repo = "cosmic-edit";
-    rev = "ee2dea71e6e21967bc705046f9650407d07cdada";
-    sha256 = "sha256-27j9Imlyzwy2yjpNsWWcX0qW38ZxMDkht1Eaggr4NYY=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
-      "cosmic-config-0.1.0" = "sha256-VKvJ7cNwMLLs6ElpgP6xwsBUnD5MDApwWl7rrb/Lr/U=";
-      "cosmic-text-0.10.0" = "sha256-g9y2qZ2ivpDtZAtsXqMXgGjUFi9QZx/weMhk7hmnB3E=";
-      "sctk-adwaita-0.5.4" = "sha256-yK0F2w/0nxyKrSiHZbx7+aPNY2vlFs7s8nu/COp2KqQ=";
-      "smithay-client-toolkit-0.16.1" = "sha256-z7EZThbh7YmKzAACv181zaEZmWxTrMkFRzP0nfsHK6c=";
-      "softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
-      "taffy-0.3.11" = "sha256-0hXOEj6IjSW8e1t+rvxBFX6V9XRum3QO2Des1XlHJEw=";
-      "winit-0.28.6" = "sha256-FhW6d2XnXCGJUMoT9EMQew9/OPXiehy/JraeCiVd76M=";
-    };
-  };
-
-  postPatch = ''
-    substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
-  '';
-
-  nativeBuildInputs = [ cmake just pkg-config makeWrapper ];
-  buildInputs = [ libxkbcommon libinput fontconfig freetype wayland glib gtk3 ];
-
-  dontUseJustBuild = true;
-
-  justFlags = [
-    "--set"
-    "prefix"
-    (placeholder "out")
-    "--set"
-    "bin-src"
-    "target/${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release/cosmic-edit"
-  ];
-
- postInstall = ''
-    wrapProgram "$out/bin/${pname}" \
-      --suffix XDG_DATA_DIRS : "${cosmic-icons}/share"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/pop-os/cosmic-edit";
-    description = "Text Editor for the COSMIC Desktop Environment";
-    license = licenses.gpl3Only;
-    mainProgram = "cosmic-edit";
-    maintainers = with maintainers; [ ahoneybun ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
index 927605676cfdf..5294623584da0 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "emacspeak";
-  version = "56.0";
+  version = "58.0";
 
   src = fetchFromGitHub {
     owner = "tvraman";
     repo = pname;
     rev = version;
-    hash= "sha256-juy+nQ7DrG818/uTH6Dv/lrrzu8qzPWwi0sX7JrhHK8=";
+    hash= "sha256-5pWC17nvy3ZuG0bR//LqDVpKsH5hFSFf63Q33a1BfBk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix
index 5625dfbb3aa9f..c48550f8680a3 100644
--- a/pkgs/applications/editors/emacs/make-emacs.nix
+++ b/pkgs/applications/editors/emacs/make-emacs.nix
@@ -329,15 +329,16 @@ mkDerivation (finalAttrs: {
     "--with-xml2=yes"
   ]
   ++ (lib.optional stdenv.isDarwin (lib.withFeature withNS "ns"))
-  ++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
-  ++ lib.optional withNativeCompilation "--with-native-compilation"
-  ++ lib.optional withImageMagick "--with-imagemagick"
-  ++ lib.optional withTreeSitter "--with-tree-sitter"
-  ++ lib.optional withXinput2 "--with-xinput2"
-  ++ lib.optional withXwidgets "--with-xwidgets"
-  ++ lib.optional withSmallJaDic "--with-small-ja-dic"
-  ++ lib.optional (!withCompressInstall) "--without-compress-install"
-  ;
+  ++ [
+    (lib.withFeature withCompressInstall "compress-install")
+    (lib.withFeature withToolkitScrollBars "toolkit-scroll-bars")
+    (lib.withFeature withNativeCompilation "native-compilation")
+    (lib.withFeature withImageMagick "imagemagick")
+    (lib.withFeature withSmallJaDic "small-ja-dic")
+    (lib.withFeature withTreeSitter "tree-sitter")
+    (lib.withFeature withXinput2 "xinput2")
+    (lib.withFeature withXwidgets "xwidgets")
+  ];
 
   env = lib.optionalAttrs withNativeCompilation {
     NATIVE_FULL_AOT = "1";
diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix
index 6ca6f35246d3e..cc195fbeb1166 100644
--- a/pkgs/applications/editors/greenfoot/default.nix
+++ b/pkgs/applications/editors/greenfoot/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "greenfoot";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     # We use the deb here. First instinct might be to go for the "generic" JAR
     # download, but that is actually a graphical installer that is much harder
     # to unpack than the deb.
     url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "sha256-utGSAbP74O1t1iEoN0CwiZVc8HxdCxhozPPMwQCtkEE=";
+    hash = "sha256-wpmgWtx2jTDjt+7p6HcjU/uy1PRmnAHpJ1rOYb+hV+U=";
   };
 
   nativeBuildInputs = [ dpkg wrapGAppsHook ];
diff --git a/pkgs/applications/editors/jetbrains/darwin.nix b/pkgs/applications/editors/jetbrains/bin/darwin.nix
index 747f03f55d5e9..747f03f55d5e9 100644
--- a/pkgs/applications/editors/jetbrains/darwin.nix
+++ b/pkgs/applications/editors/jetbrains/bin/darwin.nix
diff --git a/pkgs/applications/editors/jetbrains/bin/ides.json b/pkgs/applications/editors/jetbrains/bin/ides.json
new file mode 100644
index 0000000000000..b503a7c6759c9
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/bin/ides.json
@@ -0,0 +1,172 @@
+{
+  "clion": {
+    "product": "CLion",
+    "wmClass": "jetbrains-clion",
+    "meta": {
+      "isOpenSource": false,
+      "description": "C/C++ IDE from JetBrains",
+      "maintainers": [ "edwtjo", "mic92", "tymscar" ],
+      "longDescription": "Enhancing productivity for every C and C++ developer on Linux, macOS and Windows.",
+      "homepage": "https://www.jetbrains.com/clion/"
+    }
+  },
+  "datagrip": {
+    "product": "DataGrip",
+    "wmClass": "jetbrains-datagrip",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Database IDE from JetBrains",
+      "maintainers": [ ],
+      "longDescription": "DataGrip is a new IDE from JetBrains built for database admins. It allows you to quickly migrate and refactor relational databases, construct efficient, statically checked SQL queries and much more.",
+      "homepage": "https://www.jetbrains.com/datagrip/"
+    }
+  },
+  "dataspell": {
+    "product": "DataSpell",
+    "wmClass": "jetbrains-dataspell",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Data science IDE from JetBrains",
+      "maintainers": [ "leona" ],
+      "longDescription": "DataSpell is a new IDE from JetBrains built for Data Scientists. Mainly it integrates Jupyter notebooks in the IntelliJ platform.",
+      "homepage": "https://www.jetbrains.com/dataspell/"
+    }
+  },
+  "gateway": {
+    "product": "JetBrains Gateway",
+    "productShort": "Gateway",
+    "wmClass": "jetbrains-gateway",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Remote development for JetBrains products",
+      "maintainers": [ ],
+      "longDescription": "JetBrains Gateway is a lightweight launcher that connects a remote server with your local machine, downloads necessary components on the backend, and opens your project in JetBrains Client.",
+      "homepage": "https://www.jetbrains.com/remote-development/gateway/"
+    }
+  },
+  "goland": {
+    "product": "Goland",
+    "wmClass": "jetbrains-goland",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Go IDE from JetBrains",
+      "maintainers": [ "tymscar" ],
+      "longDescription": "Goland is the codename for a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.\n          The new IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language",
+      "homepage": "https://www.jetbrains.com/go/"
+    }
+  },
+  "idea-community": {
+    "product": "IntelliJ IDEA CE",
+    "productShort": "IDEA",
+    "wmClass": "jetbrains-idea-ce",
+    "meta": {
+      "isOpenSource": true,
+      "description": "Free Java, Kotlin, Groovy and Scala IDE from jetbrains",
+      "maintainers": [ "edwtjo", "gytis-ivaskevicius", "steinybot", "AnatolyPopov", "tymscar" ],
+      "longDescription": "IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. Also known as IntelliJ.",
+      "homepage": "https://www.jetbrains.com/idea/"
+    }
+  },
+  "idea-ultimate": {
+    "product": "IntelliJ IDEA",
+    "productShort": "IDEA",
+    "wmClass": "jetbrains-idea",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Paid-for Java, Kotlin, Groovy and Scala IDE from jetbrains",
+      "maintainers": [ "edwtjo", "gytis-ivaskevicius", "steinybot", "AnatolyPopov", "tymscar" ],
+      "longDescription": "IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration with JUnit, TestNG, popular SCMs, Ant & Maven. Also known as IntelliJ.",
+      "homepage": "https://www.jetbrains.com/idea/"
+    }
+  },
+  "mps": {
+    "product": "MPS",
+    "wmClass": "jetbrains-MPS",
+    "meta": {
+      "isOpenSource": false,
+      "description": "IDE for building domain-specific languages from JetBrains",
+      "maintainers": [ "rasendubi" ],
+      "longDescription": "A metaprogramming system which uses projectional editing which allows users to overcome the limits of language parsers, and build DSL editors, such as ones with tables and diagrams.",
+      "homepage": "https://www.jetbrains.com/mps/"
+    }
+  },
+  "phpstorm": {
+    "product": "PhpStorm",
+    "wmClass": "jetbrains-phpstorm",
+    "meta": {
+      "isOpenSource": false,
+      "description": "PHP IDE from JetBrains",
+      "maintainers": [ "dritter", "tymscar" ],
+      "longDescription": "PhpStorm provides an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code. ",
+      "homepage": "https://www.jetbrains.com/phpstorm/"
+    }
+  },
+  "pycharm-community": {
+    "product": "PyCharm CE",
+    "productShort": "PyCharm",
+    "wmClass": "jetbrains-pycharm-ce",
+    "meta": {
+      "isOpenSource": true,
+      "description": "Free Python IDE from JetBrains",
+      "maintainers": [ "genericnerdyusername", "tymscar" ],
+      "longDescription": "Python IDE with complete set of tools for productive development with Python programming language. In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing, powerful all-singing all-dancing Debugger and entire customization. PyCharm is developer driven IDE. It was developed with the aim of providing you almost everything you need for your comfortable and productive development!",
+      "homepage": "https://www.jetbrains.com/pycharm/"
+    }
+  },
+  "pycharm-professional": {
+    "product": "PyCharm",
+    "productShort": "PyCharm",
+    "wmClass": "jetbrains-pycharm",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Paid-for Python IDE from JetBrains",
+      "maintainers": [ "genericnerdyusername", "tymscar" ],
+      "longDescription": "Python IDE with complete set of tools for productive development with Python programming language. In addition, the IDE provides high-class capabilities for professional Web development with Django framework and Google App Engine. It has powerful coding assistance, navigation, a lot of refactoring features, tight integration with various Version Control Systems, Unit testing, powerful all-singing all-dancing Debugger and entire customization. PyCharm is developer driven IDE. It was developed with the aim of providing you almost everything you need for your comfortable and productive development!",
+      "homepage": "https://www.jetbrains.com/pycharm/"
+    }
+  },
+  "rider": {
+    "product": "Rider",
+    "wmClass": "jetbrains-rider",
+    "meta": {
+      "isOpenSource": false,
+      "description": ".NET IDE from JetBrains",
+      "maintainers": [ "raphaelr" ],
+      "longDescription": "JetBrains Rider is a new .NET IDE based on the IntelliJ platform and ReSharper. Rider supports .NET Core, .NET Framework and Mono based projects. This lets you develop a wide array of applications including .NET desktop apps, services and libraries, Unity games, ASP.NET and ASP.NET Core web applications.",
+      "homepage": "https://www.jetbrains.com/rider/"
+    }
+  },
+  "ruby-mine": {
+    "product": "RubyMine",
+    "wmClass": "jetbrains-rubymine",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Ruby IDE from JetBrains",
+      "maintainers": [ "edwtjo", "tymscar"],
+      "longDescription": "Ruby IDE from JetBrains",
+      "homepage": "https://www.jetbrains.com/ruby/"
+    }
+  },
+  "rust-rover": {
+    "product": "RustRover",
+    "wmClass": "jetbrains-rustrover",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Rust IDE from JetBrains",
+      "maintainers": [ "genericnerdyusername"],
+      "longDescription": "Rust IDE from JetBrains",
+      "homepage": "https://www.jetbrains.com/rust/"
+    }
+  },
+  "webstorm": {
+    "product": "WebStorm",
+    "wmClass": "jetbrains-webstorm",
+    "meta": {
+      "isOpenSource": false,
+      "description": "Web IDE from JetBrains",
+      "maintainers": [ "abaldeau", "tymscar"],
+      "longDescription": "WebStorm provides an editor for HTML, JavaScript (incl. Node.js), and CSS with on-the-fly code analysis, error prevention and automated refactorings for JavaScript code.",
+      "homepage": "https://www.jetbrains.com/webstorm/"
+    }
+  }
+}
diff --git a/pkgs/applications/editors/jetbrains/linux.nix b/pkgs/applications/editors/jetbrains/bin/linux.nix
index 4a89ae2028586..d26fb9847dfcf 100644
--- a/pkgs/applications/editors/jetbrains/linux.nix
+++ b/pkgs/applications/editors/jetbrains/bin/linux.nix
@@ -14,6 +14,7 @@
 , udev
 , e2fsprogs
 , python3
+, autoPatchelfHook
 , vmopts ? null
 }:
 
@@ -26,8 +27,11 @@
 , buildNumber
 , jdk
 , meta
+, libdbm
+, fsnotifier
 , extraLdPath ? [ ]
 , extraWrapperArgs ? [ ]
+, extraBuildInputs ? [ ]
 }@args:
 
 let
@@ -56,38 +60,16 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
 
   vmoptsFile = lib.optionalString (vmopts != null) (writeText vmoptsName vmopts);
 
-  nativeBuildInputs = [ makeWrapper patchelf unzip ];
+  nativeBuildInputs = [ makeWrapper patchelf unzip autoPatchelfHook ];
+  buildInputs = extraBuildInputs;
 
   postPatch = ''
-    get_file_size() {
-      local fname="$1"
-      echo $(ls -l $fname | cut -d ' ' -f5)
-    }
-
-    munge_size_hack() {
-      local fname="$1"
-      local size="$2"
-      strip $fname
-      truncate --size=$size $fname
-    }
-
     rm -rf jbr
     # When using the IDE as a remote backend using gateway, it expects the jbr directory to contain the jdk
     ln -s ${jdk.home} jbr
 
-    interpreter=$(echo ${stdenv.cc.libc}/lib/ld-linux*.so.2)
-    if [[ "${stdenv.hostPlatform.system}" == "x86_64-linux" && -e bin/fsnotifier64 ]]; then
-      target_size=$(get_file_size bin/fsnotifier64)
-      patchelf --set-interpreter "$interpreter" bin/fsnotifier64
-      munge_size_hack bin/fsnotifier64 $target_size
-    else
-      target_size=$(get_file_size bin/fsnotifier)
-      patchelf --set-interpreter "$interpreter" bin/fsnotifier
-      munge_size_hack bin/fsnotifier $target_size
-    fi
-
     if [ -d "plugins/remote-dev-server" ]; then
-      patch -p1 < ${./JetbrainsRemoteDev.patch}
+      patch -p1 < ${../patches/jetbrains-remote-dev.patch}
     fi
 
     vmopts_file=bin/linux/${vmoptsName}
@@ -109,18 +91,20 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/{bin,$pname,share/pixmaps,libexec/${pname},share/icons/hicolor/scalable/apps}
+    mkdir -p $out/{bin,$pname,share/pixmaps,share/icons/hicolor/scalable/apps}
     cp -a . $out/$pname
     [[ -f $out/$pname/bin/${loName}.png ]] && ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png
     [[ -f $out/$pname/bin/${loName}.svg ]] && ln -s $out/$pname/bin/${loName}.svg $out/share/pixmaps/${pname}.svg \
       && ln -s $out/$pname/bin/${loName}.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg
-    mv bin/fsnotifier* $out/libexec/${pname}/.
+    cp ${libdbm}/lib/libdbm.so $out/$pname/bin/libdbm.so
+    cp ${fsnotifier}/bin/fsnotifier $out/$pname/bin/fsnotifier
 
     jdk=${jdk.home}
     item=${desktopItem}
 
     wrapProgram  "$out/$pname/bin/${loName}.sh" \
-      --prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git python3 ]}" \
+      --prefix PATH : "${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
+      --suffix PATH : "${lib.makeBinPath [ python3 ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLdPath}" \
       ${lib.concatStringsSep " " extraWrapperArgs} \
       --set-default JDK_HOME "$jdk" \
@@ -131,6 +115,7 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
       --set-default ${hiName}_VM_OPTIONS ${vmoptsFile}
 
     ln -s "$out/$pname/bin/${loName}.sh" $out/bin/$pname
+    rm -rf $out/$pname/plugins/remote-dev-server/selfcontained/
     echo -e '#!/usr/bin/env bash\n'"$out/$pname/bin/remote-dev-server.sh"' "$@"' > $out/$pname/bin/remote-dev-server-wrapped.sh
     chmod +x $out/$pname/bin/remote-dev-server-wrapped.sh
     ln -s "$out/$pname/bin/remote-dev-server-wrapped.sh" $out/bin/$pname-remote-dev-server
diff --git a/pkgs/applications/editors/jetbrains/update_ides.py b/pkgs/applications/editors/jetbrains/bin/update_bin.py
index c15f6d7f2c3f9..31271d1dffed9 100755
--- a/pkgs/applications/editors/jetbrains/update_ides.py
+++ b/pkgs/applications/editors/jetbrains/bin/update_bin.py
@@ -126,6 +126,6 @@ logging.info("#### Committing changes... ####")
 subprocess.run(['git', 'commit', f'-m{commitMessage}', '--', f'{versions_file_path}'], check=True)
 
 logging.info("#### Updating plugins ####")
-plugin_script = current_path.joinpath("plugins/update_plugins.py").resolve()
+plugin_script = current_path.joinpath("../plugins/update_plugins.py").resolve()
 subprocess.call(plugin_script)
 
diff --git a/pkgs/applications/editors/jetbrains/versions.json b/pkgs/applications/editors/jetbrains/bin/versions.json
index 5bbbd9dfc7b66..5bbbd9dfc7b66 100644
--- a/pkgs/applications/editors/jetbrains/versions.json
+++ b/pkgs/applications/editors/jetbrains/bin/versions.json
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 2034da80c658d..fc73117ec82b1 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -2,245 +2,86 @@
 , stdenv
 , callPackage
 , fetchurl
+
 , jdk
-, cmake
-, gdb
 , zlib
 , python3
 , lldb
 , dotnet-sdk_7
 , maven
-, autoPatchelfHook
-, libdbusmenu
-, patchelf
 , openssl
 , expat
+, libxcrypt
 , libxcrypt-legacy
 , fontconfig
 , libxml2
+, runCommand
+, musl
+, R
+, libgcc
+, lttng-ust_2_12
 , xz
+
 , vmopts ? null
 }:
 
 let
-  platforms = lib.platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ];
-  ideaPlatforms = [ "x86_64-darwin" "i686-darwin" "i686-linux" "x86_64-linux" "aarch64-darwin" "aarch64-linux" ];
+  platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
 
   inherit (stdenv.hostPlatform) system;
 
-  versions = builtins.fromJSON (lib.readFile (./versions.json));
+  # `ides.json` is handwritten and contains information that doesn't change across updates, like maintainers and other metadata
+  # `versions.json` contains everything generated/needed by the update script version numbers, build numbers and tarball hashes
+  ideInfo = lib.importJSON ./bin/ides.json;
+  versions = lib.importJSON ./bin/versions.json;
   products = versions.${system} or (throw "Unsupported system: ${system}");
 
-  package = if stdenv.isDarwin then ./darwin.nix else ./linux.nix;
-  mkJetBrainsProduct = callPackage package { inherit vmopts; };
-
-  # Sorted alphabetically
-
-  buildClion = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "CLion";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/clion/";
-        inherit description license platforms;
-        longDescription = ''
-          Enhancing productivity for every C and C++
-          developer on Linux, macOS and Windows.
-        '';
-        maintainers = with maintainers; [ edwtjo tymscar ];
-      };
-    }).overrideAttrs (attrs: {
-      nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        autoPatchelfHook
-      ];
-      buildInputs = (attrs.buildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        python3
-        stdenv.cc.cc
-        libdbusmenu
-        openssl.out
-        expat
-        libxcrypt-legacy
-      ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
-        libxml2
-        xz
-      ];
-      dontAutoPatchelf = true;
-      postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
-        (
-          cd $out/clion
-
-          # I think the included gdb has a couple of patches, so we patch it instead of replacing
-          ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
-          xargs patchelf \
-            --replace-needed libssl.so.10 libssl.so \
-            --replace-needed libcrypto.so.10 libcrypto.so
-
-          ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
-          xargs patchelf \
-            --replace-needed libssl.so.10 libssl.so \
-            --replace-needed libcrypto.so.10 libcrypto.so
-
-          autoPatchelf $PWD/bin
-        )
-      '';
-    });
-
-  buildDataGrip = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "DataGrip";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/datagrip/";
-        inherit description license platforms;
-        longDescription = ''
-          DataGrip is a new IDE from JetBrains built for database admins.
-          It allows you to quickly migrate and refactor relational databases,
-          construct efficient, statically checked SQL queries and much more.
-        '';
-        maintainers = with maintainers; [ ];
-      };
-    });
-
-  buildDataSpell = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "DataSpell";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/dataspell/";
-        inherit description license platforms;
-        longDescription = ''
-          DataSpell is a new IDE from JetBrains built for Data Scientists.
-          Mainly it integrates Jupyter notebooks in the IntelliJ platform.
-        '';
-        maintainers = with maintainers; [ leona ];
-      };
-    });
+  package = if stdenv.isDarwin then ./bin/darwin.nix else ./bin/linux.nix;
+  mkJetBrainsProductCore = callPackage package { inherit vmopts; };
+  mkMeta = meta: fromSource: {
+    inherit (meta) homepage longDescription;
+    description = meta.description + lib.optionalString meta.isOpenSource (if fromSource then " (built from source)" else " (patched binaries from jetbrains)");
+    maintainers = map (x: lib.maintainers."${x}") meta.maintainers;
+    license = if meta.isOpenSource then lib.licenses.asl20 else lib.licenses.unfree;
+  };
 
-  buildGateway = { pname, version, src, license, description, wmClass, buildNumber, product, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber product;
-      productShort = "Gateway";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/remote-development/gateway/";
-        inherit description license platforms;
-        longDescription = ''
-          JetBrains Gateway is a lightweight launcher that connects a remote
-          server with your local machine, downloads necessary components on the
-          backend, and opens your project in JetBrains Client.
-        '';
-        maintainers = with maintainers; [ ];
+  mkJetBrainsProduct =
+    { pname
+    , fromSource ? false
+    , extraWrapperArgs ? [ ]
+    , extraLdPath ? [ ]
+    , extraBuildInputs ? [ ]
+    }:
+    mkJetBrainsProductCore {
+      inherit pname jdk extraWrapperArgs extraLdPath extraBuildInputs;
+      src = if fromSource then communitySources."${pname}" else
+      fetchurl {
+        url = products."${pname}".url;
+        sha256 = products."${pname}".sha256;
       };
-    });
+      inherit (products."${pname}") version;
+      buildNumber = products."${pname}".build_number;
+      inherit (ideInfo."${pname}") wmClass product;
+      productShort = ideInfo."${pname}".productShort or ideInfo."${pname}".product;
+      meta = mkMeta ideInfo."${pname}".meta fromSource;
+      libdbm = if ideInfo."${pname}".meta.isOpenSource then communitySources."${pname}".libdbm else communitySources.idea-community.libdbm;
+      fsnotifier = if ideInfo."${pname}".meta.isOpenSource then communitySources."${pname}".fsnotifier else communitySources.idea-community.fsnotifier;
+    };
 
-  buildGoland = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "Goland";
-      extraWrapperArgs = [
-        # fortify source breaks build since delve compiles with -O0
-        ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"''
-      ];
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/go/";
-        inherit description license platforms;
-        longDescription = ''
-          Goland is the codename for a new commercial IDE by JetBrains
-          aimed at providing an ergonomic environment for Go development.
-          The new IDE extends the IntelliJ platform with the coding assistance
-          and tool integrations specific for the Go language
-        '';
-        maintainers = with maintainers; [ tymscar ];
-      };
-    }).overrideAttrs (attrs: {
-      postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.isLinux ''
-        interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-        patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
-        chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
-      '';
-    });
+  communitySources = callPackage ./source { };
 
-  buildIdea = { pname, version, src, license, description, wmClass, buildNumber, product, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber product;
-      productShort = "IDEA";
+  buildIdea = args:
+    mkJetBrainsProduct (args // {
       extraLdPath = [ zlib ];
       extraWrapperArgs = [
         ''--set M2_HOME "${maven}/maven"''
         ''--set M2 "${maven}/maven/bin"''
       ];
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/idea/";
-        inherit description license;
-        longDescription = ''
-          IDE for Java SE, Groovy & Scala development Powerful
-          environment for building Google Android apps Integration
-          with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
-          as IntelliJ.
-        '';
-        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot AnatolyPopov tymscar ];
-        platforms = ideaPlatforms;
-      };
-    });
-
-  buildMps = { pname, version, src, license, description, wmClass, product, buildNumber, ... }:
-    (mkJetBrainsProduct rec {
-      inherit pname version src wmClass jdk buildNumber product;
-      productShort = "MPS";
-      meta = with lib; {
-        broken = (stdenv.isLinux && stdenv.isAarch64);
-        homepage = "https://www.jetbrains.com/mps/";
-        inherit license description platforms;
-        longDescription = ''
-          A metaprogramming system which uses projectional editing
-          which allows users to overcome the limits of language
-          parsers, and build DSL editors, such as ones with tables and
-          diagrams.
-        '';
-        maintainers = with maintainers; [ rasendubi ];
-      };
-    });
-
-  buildPhpStorm = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "PhpStorm";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/phpstorm/";
-        inherit description license platforms;
-        longDescription = ''
-          PhpStorm provides an editor for PHP, HTML and JavaScript
-          with on-the-fly code analysis, error prevention and
-          automated refactorings for PHP and JavaScript code.
-        '';
-        maintainers = with maintainers; [ dritter tymscar ];
-      };
     });
 
-  buildPycharm = { pname, version, src, license, description, wmClass, buildNumber, product, cythonSpeedup ? stdenv.isLinux, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber product;
-      productShort = "PyCharm";
-      meta = with lib; {
-        broken = (stdenv.isLinux && stdenv.isAarch64);
-        homepage = "https://www.jetbrains.com/pycharm/";
-        inherit description license platforms;
-        longDescription = ''
-          Python IDE with complete set of tools for productive
-          development with Python programming language. In addition, the
-          IDE provides high-class capabilities for professional Web
-          development with Django framework and Google App Engine. It
-          has powerful coding assistance, navigation, a lot of
-          refactoring features, tight integration with various Version
-          Control Systems, Unit testing, powerful all-singing
-          all-dancing Debugger and entire customization. PyCharm is
-          developer driven IDE. It was developed with the aim of
-          providing you almost everything you need for your comfortable
-          and productive development!
-        '';
-        maintainers = with maintainers; [ genericnerdyusername tymscar ];
-      };
-    }).overrideAttrs (finalAttrs: previousAttrs: lib.optionalAttrs cythonSpeedup {
-      buildInputs = with python3.pkgs; [ python3 setuptools ];
+  buildPycharm = args:
+    (mkJetBrainsProduct args).overrideAttrs (finalAttrs: previousAttrs: lib.optionalAttrs stdenv.isLinux {
+      buildInputs = with python3.pkgs; (previousAttrs.buildInputs or []) ++ [ python3 setuptools ];
       preInstall = ''
         echo "compiling cython debug speedups"
         if [[ -d plugins/python-ce ]]; then
@@ -252,348 +93,157 @@ let
       # See https://www.jetbrains.com/help/pycharm/2022.1/cython-speedups.html
     });
 
-  buildRider = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "Rider";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/rider/";
-        inherit description license platforms;
-        longDescription = ''
-          JetBrains Rider is a new .NET IDE based on the IntelliJ
-          platform and ReSharper. Rider supports .NET Core,
-          .NET Framework and Mono based projects. This lets you
-          develop a wide array of applications including .NET desktop
-          apps, services and libraries, Unity games, ASP.NET and
-          ASP.NET Core web applications.
-        '';
-        maintainers = with maintainers; [ raphaelr ];
-      };
-    }).overrideAttrs (attrs: {
-      nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        autoPatchelfHook
-      ];
-      buildInputs = (attrs.buildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        stdenv.cc.cc
-        zlib
-        fontconfig  # plugins/dotTrace/DotFiles/linux-*/libSkiaSharp.so
-      ];
-      dontAutoPatchelf = true;
-      postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
-        (
-          cd $out/rider
-
-          # Remove dotnet copy first so it's not considered by autoPatchElf
-          rm -rf lib/ReSharperHost/linux-*/dotnet
-          autoPatchelf \
-            lib/ReSharperHost/linux-*/ \
-            plugins/dotCommon/DotFiles/linux-*/ \
-            plugins/dotTrace/DotFiles/linux-*/
-
-          for dir in lib/ReSharperHost/linux-*; do
-            ln -s ${dotnet-sdk_7} $dir/dotnet
-          done
-        )
-      '';
-    });
-
-  buildRubyMine = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "RubyMine";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/ruby/";
-        inherit description license platforms;
-        longDescription = description;
-        maintainers = with maintainers; [ edwtjo tymscar ];
-      };
-    });
-
-  buildRustRover = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "RustRover";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/rust/";
-        inherit description license platforms;
-        longDescription = description;
-      };
-    }).overrideAttrs (attrs: {
-      nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        autoPatchelfHook
-      ];
-      buildInputs = (attrs.buildInputs or [ ]) ++ lib.optionals (stdenv.isLinux) [
-        python3
-        stdenv.cc.cc
-        libdbusmenu
-        openssl.out
-        libxcrypt-legacy
-      ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
-        expat
-        libxml2
-        xz
-      ];
-      dontAutoPatchelf = true;
-      postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
-        (
-          cd $out/rust-rover
-
-          # Copied over from clion (gdb seems to have a couple of patches)
-          ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
-          xargs patchelf \
-            --replace-needed libssl.so.10 libssl.so \
-            --replace-needed libcrypto.so.10 libcrypto.so
+in
+rec {
+  # Sorted alphabetically
 
-          ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
-          xargs patchelf \
-            --replace-needed libssl.so.10 libssl.so \
-            --replace-needed libcrypto.so.10 libcrypto.so
+  clion = (mkJetBrainsProduct {
+    pname = "clion";
+    extraBuildInputs = lib.optionals (stdenv.isLinux) [
+      python3
+      stdenv.cc.cc
+      openssl
+      libxcrypt-legacy
+      musl
+    ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+      expat
+      libxml2
+      xz
+    ];
+  }).overrideAttrs (attrs: {
+    postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
+      (
+        cd $out/clion
+
+        # I think the included gdb has a couple of patches, so we patch it instead of replacing
+        ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
+        xargs patchelf \
+          --replace-needed libssl.so.10 libssl.so \
+          --replace-needed libcrypto.so.10 libcrypto.so
+
+        ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
+        xargs patchelf \
+          --replace-needed libssl.so.10 libssl.so \
+          --replace-needed libcrypto.so.10 libcrypto.so
+      )
+    '';
+  });
+
+  datagrip = mkJetBrainsProduct { pname = "datagrip"; };
+
+  dataspell = let
+    libr = runCommand "libR" {} ''
+      mkdir -p $out/lib
+      ln -s ${R}/lib/R/lib/libR.so $out/lib/libR.so
+    '';
+  in mkJetBrainsProduct {
+    pname = "dataspell";
+    extraBuildInputs = [ libgcc libr stdenv.cc.cc ];
+  };
 
-          autoPatchelf $PWD/bin
+  gateway = mkJetBrainsProduct { pname = "gateway"; };
 
-          interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
-          patchelf --set-interpreter $interp $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
-          chmod +x $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
-        )
+  goland = (mkJetBrainsProduct {
+    pname = "goland";
+    extraWrapperArgs = [
+      # fortify source breaks build since delve compiles with -O0
+      ''--prefix CGO_CPPFLAGS " " "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0"''
+    ];
+    extraBuildInputs = [ libgcc ];
+  }).overrideAttrs
+    (attrs: {
+      postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.isLinux ''
+        interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
+        patchelf --set-interpreter $interp $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
+        chmod +x $out/goland/plugins/go-plugin/lib/dlv/linux/dlv
       '';
     });
 
-  buildWebStorm = { pname, version, src, license, description, wmClass, buildNumber, ... }:
-    (mkJetBrainsProduct {
-      inherit pname version src wmClass jdk buildNumber;
-      product = "WebStorm";
-      meta = with lib; {
-        homepage = "https://www.jetbrains.com/webstorm/";
-        inherit description license platforms;
-        longDescription = ''
-          WebStorm provides an editor for HTML, JavaScript (incl. Node.js),
-          and CSS with on-the-fly code analysis, error prevention and
-          automated refactorings for JavaScript code.
-        '';
-        maintainers = with maintainers; [ abaldeau tymscar ];
-      };
-    });
+  idea-community-bin = buildIdea { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; };
 
-in
+  idea-community-src = buildIdea { pname = "idea-community"; extraBuildInputs = [ stdenv.cc.cc ]; fromSource = true; };
 
-{
-  # Sorted alphabetically
+  idea-community = if stdenv.isDarwin || stdenv.isAarch64 then idea-community-bin else idea-community-src;
 
-  clion = buildClion rec {
-    pname = "clion";
-    version = products.clion.version;
-    buildNumber = products.clion.build_number;
-    description = "C/C++ IDE. New. Intelligent. Cross-platform";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.clion.url;
-      sha256 = products.clion.sha256;
-    };
-    wmClass = "jetbrains-clion";
-    update-channel = products.clion.update-channel;
-  };
+  idea-ultimate = buildIdea { pname = "idea-ultimate"; extraBuildInputs = [ stdenv.cc.cc lldb musl ]; };
 
-  datagrip = buildDataGrip rec {
-    pname = "datagrip";
-    version = products.datagrip.version;
-    buildNumber = products.datagrip.build_number;
-    description = "Your Swiss Army Knife for Databases and SQL";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.datagrip.url;
-      sha256 = products.datagrip.sha256;
-    };
-    wmClass = "jetbrains-datagrip";
-    update-channel = products.datagrip.update-channel;
-  };
+  mps = mkJetBrainsProduct { pname = "mps"; };
 
-  dataspell = buildDataSpell rec {
-    pname = "dataspell";
-    version = products.dataspell.version;
-    buildNumber = products.dataspell.build_number;
-    description = "The IDE for Professional Data Scientists";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.dataspell.url;
-      sha256 = products.dataspell.sha256;
-    };
-    wmClass = "jetbrains-dataspell";
-    update-channel = products.dataspell.update-channel;
-  };
+  phpstorm = mkJetBrainsProduct { pname = "phpstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; };
 
-  gateway = buildGateway rec {
-    pname = "gateway";
-    product = "JetBrains Gateway";
-    version = products.gateway.version;
-    buildNumber = products.gateway.build_number;
-    description = "Your single entry point to all remote development environments";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.gateway.url;
-      sha256 = products.gateway.sha256;
-    };
-    wmClass = "jetbrains-gateway";
-    update-channel = products.gateway.update-channel;
-  };
+  pycharm-community-bin = buildPycharm { pname = "pycharm-community"; };
 
-  goland = buildGoland rec {
-    pname = "goland";
-    version = products.goland.version;
-    buildNumber = products.goland.build_number;
-    description = "Up and Coming Go IDE";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.goland.url;
-      sha256 = products.goland.sha256;
-    };
-    wmClass = "jetbrains-goland";
-    update-channel = products.goland.update-channel;
-  };
+  pycharm-community-src = buildPycharm { pname = "pycharm-community"; fromSource = true; };
 
-  idea-community = buildIdea rec {
-    pname = "idea-community";
-    product = "IntelliJ IDEA CE";
-    version = products.idea-community.version;
-    buildNumber = products.idea-community.build_number;
-    description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
-    license = lib.licenses.asl20;
-    src = fetchurl {
-      url = products.idea-community.url;
-      sha256 = products.idea-community.sha256;
-    };
-    wmClass = "jetbrains-idea-ce";
-    update-channel = products.idea-community.update-channel;
-  };
+  pycharm-community = if stdenv.isDarwin then pycharm-community-bin else pycharm-community-src;
 
-  idea-ultimate = buildIdea rec {
-    pname = "idea-ultimate";
-    product = "IntelliJ IDEA";
-    version = products.idea-ultimate.version;
-    buildNumber = products.idea-ultimate.build_number;
-    description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.idea-ultimate.url;
-      sha256 = products.idea-ultimate.sha256;
-    };
-    wmClass = "jetbrains-idea";
-    update-channel = products.idea-ultimate.update-channel;
-  };
-
-  mps = buildMps rec {
-    pname = "mps";
-    product = "MPS ${products.mps.version}";
-    version = products.mps.version;
-    buildNumber = products.mps.build_number;
-    description = "Create your own domain-specific language";
-    license = lib.licenses.asl20;
-    src = fetchurl {
-      url = products.mps.url;
-      sha256 = products.mps.sha256;
-    };
-    wmClass = "jetbrains-mps";
-    update-channel = products.mps.update-channel;
-  };
+  pycharm-professional = buildPycharm { pname = "pycharm-professional"; extraBuildInputs = [ musl ]; };
 
-  phpstorm = buildPhpStorm rec {
-    pname = "phpstorm";
-    version = products.phpstorm.version;
-    buildNumber = products.phpstorm.build_number;
-    description = "Professional IDE for Web and PHP developers";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.phpstorm.url;
-      sha256 = products.phpstorm.sha256;
-    };
-    wmClass = "jetbrains-phpstorm";
-    update-channel = products.phpstorm.update-channel;
-  };
-
-  pycharm-community = buildPycharm rec {
-    pname = "pycharm-community";
-    product = "PyCharm CE";
-    version = products.pycharm-community.version;
-    buildNumber = products.pycharm-community.build_number;
-    description = "PyCharm Community Edition";
-    license = lib.licenses.asl20;
-    src = fetchurl {
-      url = products.pycharm-community.url;
-      sha256 = products.pycharm-community.sha256;
-    };
-    wmClass = "jetbrains-pycharm-ce";
-    update-channel = products.pycharm-community.update-channel;
-  };
+  rider = (mkJetBrainsProduct {
+      pname = "rider";
+      extraBuildInputs = [
+        fontconfig
+        stdenv.cc.cc
+        openssl
+        libxcrypt
+        lttng-ust_2_12
+        musl
+      ];
+    }).overrideAttrs (attrs: {
+      postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.isLinux) ''
+        (
+          cd $out/rider
 
-  pycharm-professional = buildPycharm rec {
-    pname = "pycharm-professional";
-    product = "PyCharm";
-    version = products.pycharm-professional.version;
-    buildNumber = products.pycharm-community.build_number;
-    description = "PyCharm Professional Edition";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.pycharm-professional.url;
-      sha256 = products.pycharm-professional.sha256;
-    };
-    wmClass = "jetbrains-pycharm";
-    update-channel = products.pycharm-professional.update-channel;
-  };
+          ls -d $PWD/plugins/cidr-debugger-plugin/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
+          xargs patchelf \
+            --replace-needed libssl.so.10 libssl.so \
+            --replace-needed libcrypto.so.10 libcrypto.so \
+            --replace-needed libcrypt.so.1 libcrypt.so
 
-  rider = buildRider rec {
-    pname = "rider";
-    version = products.rider.version;
-    buildNumber = products.rider.build_number;
-    description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.rider.url;
-      sha256 = products.rider.sha256;
-    };
-    wmClass = "jetbrains-rider";
-    update-channel = products.rider.update-channel;
-  };
+          for dir in lib/ReSharperHost/linux-*; do
+            ln -s ${dotnet-sdk_7} $dir/dotnet
+          done
+        )
+      '';
+    });
 
-  ruby-mine = buildRubyMine rec {
-    pname = "ruby-mine";
-    version = products.ruby-mine.version;
-    buildNumber = products.ruby-mine.build_number;
-    description = "The Most Intelligent Ruby and Rails IDE";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.ruby-mine.url;
-      sha256 = products.ruby-mine.sha256;
-    };
-    wmClass = "jetbrains-rubymine";
-    update-channel = products.ruby-mine.update-channel;
-  };
+  ruby-mine = mkJetBrainsProduct { pname = "ruby-mine"; extraBuildInputs = [ stdenv.cc.cc musl ]; };
 
-  rust-rover = buildRustRover rec {
+  rust-rover = (mkJetBrainsProduct {
     pname = "rust-rover";
-    version = products.rust-rover.version;
-    buildNumber = products.rust-rover.build_number;
-    description = "Rust IDE";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.rust-rover.url;
-      sha256 = products.rust-rover.sha256;
-    };
-    wmClass = "jetbrains-rustrover";
-    update-channel = products.rust-rover.update-channel;
-  };
+    extraBuildInputs = lib.optionals (stdenv.isLinux) [
+      python3
+      openssl
+      libxcrypt-legacy
+    ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+      expat
+      libxml2
+      xz
+    ];
+  }).overrideAttrs (attrs: {
+    postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
+      (
+        cd $out/rust-rover
+
+        # Copied over from clion (gdb seems to have a couple of patches)
+        ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
+        xargs patchelf \
+          --replace-needed libssl.so.10 libssl.so \
+          --replace-needed libcrypto.so.10 libcrypto.so
+
+        ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
+        xargs patchelf \
+          --replace-needed libssl.so.10 libssl.so \
+          --replace-needed libcrypto.so.10 libcrypto.so
 
-  webstorm = buildWebStorm rec {
-    pname = "webstorm";
-    version = products.webstorm.version;
-    buildNumber = products.webstorm.build_number;
-    description = "Professional IDE for Web and JavaScript development";
-    license = lib.licenses.unfree;
-    src = fetchurl {
-      url = products.webstorm.url;
-      sha256 = products.webstorm.sha256;
-    };
-    wmClass = "jetbrains-webstorm";
-    update-channel = products.webstorm.update-channel;
-  };
+        interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
+        patchelf --set-interpreter $interp $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
+        chmod +x $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
+      )
+    '';
+  });
+
+  webstorm = mkJetBrainsProduct { pname = "webstorm"; extraBuildInputs = [ stdenv.cc.cc musl ]; };
 
   plugins = callPackage ./plugins { };
 
diff --git a/pkgs/applications/editors/jetbrains/JetbrainsRemoteDev.patch b/pkgs/applications/editors/jetbrains/patches/jetbrains-remote-dev.patch
index e525512fe495c..e525512fe495c 100644
--- a/pkgs/applications/editors/jetbrains/JetbrainsRemoteDev.patch
+++ b/pkgs/applications/editors/jetbrains/patches/jetbrains-remote-dev.patch
diff --git a/pkgs/applications/editors/jetbrains/patches/kotlinc-path.patch b/pkgs/applications/editors/jetbrains/patches/kotlinc-path.patch
new file mode 100644
index 0000000000000..2106611bb4121
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/patches/kotlinc-path.patch
@@ -0,0 +1,23 @@
+--- a/src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt
++++ b/src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt
+@@ -14,19 +14,7 @@
+     "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies"
+ 
+   fun downloadAndExtractKotlinCompiler(communityRoot: BuildDependenciesCommunityRoot): Path {
+-    // We already have kotlin JPS in the classpath, fetch version from it
+-    val kotlincVersion = javaClass.classLoader.getResourceAsStream("META-INF/compiler.version")
+-      .use { inputStream -> inputStream!!.readAllBytes().decodeToString() }
+-    info("Kotlin compiler version is $kotlincVersion")
+-
+-    val kotlincUrl = getUriForMavenArtifact(
+-      KOTLIN_IDE_MAVEN_REPOSITORY_URL,
+-      "org.jetbrains.kotlin",
+-      "kotlin-dist-for-ide",
+-      kotlincVersion,
+-      "jar")
+-    val kotlincDist = downloadFileToCacheLocation(communityRoot, kotlincUrl)
+-    val kotlinc = extractFileToCacheLocation(communityRoot, kotlincDist)
++    val kotlinc = Path.of("KOTLIN_PATH_HERE")
+     verbose("Kotlin compiler is at $kotlinc")
+     return kotlinc
+   }
diff --git a/pkgs/applications/editors/jetbrains/patches/libdbm-headers.patch b/pkgs/applications/editors/jetbrains/patches/libdbm-headers.patch
new file mode 100644
index 0000000000000..8c7805ff6bfd1
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/patches/libdbm-headers.patch
@@ -0,0 +1,52 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ project(dbm)
+ 
+ include(CheckCXXSourceCompiles)
+-include (CheckCXXCompilerFlag)
++include(CheckCXXCompilerFlag)
+ 
+ check_cxx_compiler_flag(-fvisibility=hidden __DBUSMENU_HAVE_GCC_VISIBILITY)
+ if (__DBUSMENU_HAVE_GCC_VISIBILITY AND NOT WIN32)
+@@ -19,27 +19,13 @@
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ endif (__DBUSMENU_HAVE_W_ALL)
+ 
+-
+-find_library(LIB_GLIB NAMES glib libglib libglib-2.0.so.0)
+-MESSAGE("LIB_GLIB: " ${LIB_GLIB})
+-
+-find_library(LIB_GIO NAMES libgio-2.0.so.0)
+-MESSAGE("LIB_GIO: " ${LIB_GIO})
+-
+-find_library(LIB_GOBJ NAMES libgobject-2.0.so.0)
+-MESSAGE("LIB_GOBJ: " ${LIB_GOBJ})
++find_package(PkgConfig REQUIRED)
++pkg_search_module(GLIB REQUIRED glib-2.0)
++pkg_search_module(LIBDBUSMENU REQUIRED dbusmenu-glib-0.4)
+ 
+ # use patched library, you may build it from https://github.com/JetBrains/libdbusmenu
+ set(LIB_DBUSMENU "${PROJECT_SOURCE_DIR}/libdbusmenu-glib.a")
+ 
+-set(GLIB_INCLUDE_DIRS /usr/include/glib-2.0 /usr/lib64/glib-2.0/include)
+-set(DBUSMENU_GLIB_INCLUDE_DIRS /usr/include/libdbusmenu-glib-0.4)
+-
+-include_directories(
+-        ${GLIB_INCLUDE_DIRS}
+-        ${DBUSMENU_GLIB_INCLUDE_DIRS}
+-)
+-
+ set(CMAKE_C_STANDARD 11)
+ set(CMAKE_C_FLAGS "-std=gnu99 ${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+@@ -47,7 +33,8 @@
+ set(SOURCE_FILES DbusMenuWrapper.c)
+ 
+ add_library(dbm SHARED ${SOURCE_FILES})
+-target_link_libraries(dbm ${LIB_GLIB} ${LIB_GIO} ${LIB_DBUSMENU} ${LIB_GOBJ})
++target_link_libraries(dbm ${LIB_DBUSMENU} ${GLIB_LDFLAGS})
++include_directories(dbm ${GLIB_INCLUDE_DIRS} ${LIBDBUSMENU_INCLUDE_DIRS})
+ 
+ if (TESTS_ENABLED)
+   find_library(LIB_GTK NAMES libgtk-3.so)
diff --git a/pkgs/applications/editors/jetbrains/patches/no-download.patch b/pkgs/applications/editors/jetbrains/patches/no-download.patch
new file mode 100644
index 0000000000000..4e3c4cd337255
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/patches/no-download.patch
@@ -0,0 +1,128 @@
+--- a/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
++++ b/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
+@@ -87,13 +87,13 @@
+           }
+           val targetFile = root.resolve("${split[1]}-${split[2]}.jar")
+           val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
+-            mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
++            mavenRepository = "MAVEN_REPO_HERE",
+             groupId = split[0],
+             artifactId = split[1],
+             version = split[2],
+             packaging = "jar"
+           )
+-          targetFile to downloadFileToCacheLocation(uri.toString(), communityRoot)
++          targetFile to Path.of(uri.toString())
+         }
+       }
+     }.asSequence().map { it.getCompleted() }.toMap()
+@@ -133,21 +133,6 @@
+   }
+ 
+   suspend fun downloadMavenDistribution(communityRoot: BuildDependenciesCommunityRoot): Path {
+-    val extractDir = communityRoot.communityRoot.resolve("plugins/maven/maven36-server-impl/lib/maven3")
+-    val properties = BuildDependenciesDownloader.getDependenciesProperties(communityRoot)
+-    val bundledMavenVersion = properties.property("bundledMavenVersion")
+-    mutex.withLock {
+-      val uri = BuildDependenciesDownloader.getUriForMavenArtifact(
+-        mavenRepository = BuildDependenciesConstants.MAVEN_CENTRAL_URL,
+-        groupId = "org.apache.maven",
+-        artifactId = "apache-maven",
+-        version = bundledMavenVersion,
+-        classifier = "bin",
+-        packaging = "zip"
+-      )
+-      val zipPath = downloadFileToCacheLocation(uri.toString(), communityRoot)
+-      BuildDependenciesDownloader.extractFile(zipPath, extractDir, communityRoot, BuildDependenciesExtractOptions.STRIP_ROOT)
+-    }
+-    return extractDir
++    return Path.of("MAVEN_PATH_HERE")
+   }
+ }
+--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
++++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
+@@ -25,11 +25,7 @@
+   }
+ 
+   fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
+-    val jdkUrl = getUrl(communityRoot, os, arch)
+-    val jdkArchive = BuildDependenciesDownloader.downloadFileToCacheLocation(communityRoot, jdkUrl)
+-    val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(
+-      communityRoot, jdkArchive, BuildDependenciesExtractOptions.STRIP_ROOT)
+-    infoLog("jps-bootstrap JDK is at $jdkExtracted")
++    val jdkExtracted = Path.of("JDK_PATH_HERE")
+ 
+     val jdkHome: Path = if (os == OS.MACOSX) {
+       jdkExtracted.resolve("Contents").resolve("Home")
+--- a/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
++++ b/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
+@@ -43,12 +43,12 @@
+   /**
+    * If `true` a separate *-no-jbr.tar.gz artifact without runtime will be produced.
+    */
+-  var buildTarGzWithoutBundledRuntime = false
++  var buildTarGzWithoutBundledRuntime = true
+ 
+   /**
+    * If `true`, the only *-no-jbr.tar.gz will be produced, no other binaries for Linux will be built.
+    */
+-  var buildOnlyBareTarGz = false
++  var buildOnlyBareTarGz = true
+ 
+   /**
+    * Set both properties if a .snap package should be produced.
+--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
++++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
+@@ -11,6 +11,7 @@
+ import java.nio.file.Files
+ import java.nio.file.Path
+ import java.util.*
++import kotlin.io.path.readText
+ 
+ private const val MARKETPLACE_BROKEN_PLUGINS_URL = "https://plugins.jetbrains.com/files/brokenPlugins.json"
+ 
+@@ -22,7 +23,7 @@
+ 
+   val allBrokenPlugins = try {
+     val jsonFormat = Json { ignoreUnknownKeys = true }
+-    val content = downloadAsText(MARKETPLACE_BROKEN_PLUGINS_URL)
++    val content = Path.of("BROKEN_PLUGINS_HERE").readText()
+     jsonFormat.decodeFromString(ListSerializer(MarketplaceBrokenPlugin.serializer()), content)
+   }
+   catch (e: Exception) {
+--- a/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
++++ b/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
+@@ -23,31 +23,11 @@
+ 
+ object KotlinCompilerDependencyDownloader {
+   fun downloadAndExtractKotlinCompiler(communityRoot: BuildDependenciesCommunityRoot): Path {
+-    val kotlinJpsPluginVersion = getKotlinJpsPluginVersion(communityRoot)
+-    val kotlinDistUrl = getUriForMavenArtifact(MAVEN_REPOSITORY_URL, ARTIFACT_GROUP_ID, "kotlin-dist-for-ide", kotlinJpsPluginVersion, "jar")
+-    val kotlinDistJar = downloadFileToCacheLocation(communityRoot, kotlinDistUrl)
+-    return extractFileToCacheLocation(communityRoot, kotlinDistJar)
++    return Path.of("KOTLIN_PATH_HERE")
+   }
+ 
+   suspend fun downloadKotlinJpsPlugin(communityRoot: BuildDependenciesCommunityRoot): Path = withContext(Dispatchers.IO) {
+-    val kotlinJpsPluginVersion = getKotlinJpsPluginVersion(communityRoot)
+-    val kotlinJpsPluginUrl = getUriForMavenArtifact(MAVEN_REPOSITORY_URL, ARTIFACT_GROUP_ID, "kotlin-jps-plugin-classpath", kotlinJpsPluginVersion, "jar")
+-
+-    val cacheLocation = getTargetFile(communityRoot, kotlinJpsPluginUrl.toString())
+-    if (cacheLocation.exists()) {
+-      return@withContext cacheLocation
+-    }
+-
+-    // Download file by hand since calling entire ktor/cio/coroutines stuff *before* loading JPS plugin into classpath
+-    // leads to funny kotlin-reflect failures later in Kotlin JPS plugin
+-    // Ideal solution would be to move compilation to other process altogether and do not modify current process classpath
+-    println(" * Downloading $kotlinJpsPluginUrl")
+-    val tmpLocation = Files.createTempFile(cacheLocation.parent, cacheLocation.name, ".tmp")
+-    suspendingRetryWithExponentialBackOff {
+-      FileUtils.copyURLToFile(kotlinJpsPluginUrl.toURL(), tmpLocation.toFile())
+-    }
+-    Files.move(tmpLocation, cacheLocation, StandardCopyOption.ATOMIC_MOVE)
+-    return@withContext cacheLocation
++    return@withContext Path.of("JPS_PLUGIN_CLASSPATH_HERE")
+   }
+ 
+   fun getKotlinJpsPluginVersion(communityRoot: BuildDependenciesCommunityRoot): String {
diff --git a/pkgs/applications/editors/jetbrains/patches/pycharm-build-fix.patch b/pkgs/applications/editors/jetbrains/patches/pycharm-build-fix.patch
new file mode 100644
index 0000000000000..f101876378221
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/patches/pycharm-build-fix.patch
@@ -0,0 +1,41 @@
+--- a/python/build/src/PyCharmCommunityInstallersBuildTarget.kt
++++ b/python/build/src/PyCharmCommunityInstallersBuildTarget.kt
+@@ -2,9 +2,11 @@
+ 
+ import kotlinx.coroutines.Dispatchers
+ import kotlinx.coroutines.runBlocking
++import org.jetbrains.intellij.build.BuildOptions
+ import org.jetbrains.intellij.build.BuildTasks
+ import org.jetbrains.intellij.build.IdeaProjectLoaderUtil
+ import org.jetbrains.intellij.build.impl.BuildContextImpl
++import org.jetbrains.intellij.build.pycharm.PyCharmBuildUtils
+ import org.jetbrains.intellij.build.pycharm.PyCharmCommunityProperties
+ 
+ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+@@ -12,13 +14,26 @@
+   @JvmStatic
+   fun main(args: Array<String>) {
+     runBlocking(Dispatchers.Default) {
++      val options = BuildOptions().apply {
++        // we cannot provide consistent build number for PyCharm Community if it's built separately so use *.SNAPSHOT number to avoid confusion
++        buildNumber = null
++
++        // do not bother external users about clean/incremental
++        // just remove out/ directory for clean build
++        incrementalCompilation = true
++        useCompiledClassesFromProjectOutput = false
++        buildStepsToSkip.addAll(listOf(
++          BuildOptions.MAC_SIGN_STEP,
++        ))
++      }
+       val communityHome = IdeaProjectLoaderUtil.guessCommunityHome(javaClass)
+       val context = BuildContextImpl.createContext(
+         communityHome = communityHome,
+         projectHome = communityHome.communityRoot,
+         productProperties = PyCharmCommunityProperties(communityHome.communityRoot),
++        options = options,
+       )
+       BuildTasks.create(context).buildDistributions()
+     }
+   }
+ }
diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix
index bf160e2aa3651..40c7fdbc18533 100644
--- a/pkgs/applications/editors/jetbrains/plugins/default.nix
+++ b/pkgs/applications/editors/jetbrains/plugins/default.nix
@@ -112,7 +112,7 @@ rec {
           sed "s|${ide.outPath}|$out|" \
             -i $(realpath $out/bin/${meta.mainProgram}) \
             -i $(realpath $out/bin/${meta.mainProgram}-remote-dev-server)
-          autoPatchelf $out/${meta.mainProgram}/bin
+          autoPatchelf $out
         '';
     };
 }
diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix
index 31c31ce3a7727..4b07cc5f8818c 100644
--- a/pkgs/applications/editors/jetbrains/plugins/tests.nix
+++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix
@@ -24,4 +24,6 @@
       paths = builtins.concatStringsSep " " ides;
     in
     writeText "jb-ides" paths;
+
+    clion-with-vim = jetbrains.plugins.addPlugins jetbrains.clion [ "ideavim" ];
 }
diff --git a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py
index dee1c9ad6b40f..4b713c7dad92d 100755
--- a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py
+++ b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py
@@ -21,7 +21,7 @@ TOKENS = {
 }
 SNAPSHOT_VALUE = 99999
 PLUGINS_FILE = Path(__file__).parent.joinpath("plugins.json").resolve()
-IDES_FILE = Path(__file__).parent.joinpath("../versions.json").resolve()
+IDES_FILE = Path(__file__).parent.joinpath("../bin/versions.json").resolve()
 # The plugin compatibility system uses a different naming scheme to the ide update system.
 # These dicts convert between them
 FRIENDLY_TO_PLUGIN = {
diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md
new file mode 100644
index 0000000000000..a8a78007ed314
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/readme.md
@@ -0,0 +1,65 @@
+This directory contains the build expressions needed to build any of the jetbrains IDEs.
+The jdk is in `pkgs/development/compilers/jetbrains-jdk`.
+To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.default`.
+
+## How to use plugins:
+ - Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add.
+ - The list of plugins can be a list of ids or names (as in `plugins/plugins.json`)
+ - Example: `jetbrains.plugins.addPlugins jetbrains.pycharm-professional [ "nixidea" ]`
+ - The list can also contain a drv giving a `.jar` or `.zip` (this is how you use a plugin not added to nixpkgs)
+
+### How to add a new plugin to nixpkgs
+ - Find the page for the plugin on https://plugins.jetbrains.com
+ - Find the id (it's the number after https://plugins.jetbrains.com/plugin/)
+ - Run `plugins/update_plugins.py` add (plugin id)
+ - If binaries need patch or some other special treatment, add an entry to `plugins/specialPlugins.nix`
+
+## How to update stuff:
+ - Run ./bin/update_bin.py
+ - This will update binary IDEs and plugins, and automatically commit them
+ - Source builds need a bit more effort, as they aren't automated at the moment:
+   - Find the build of the stable release you want to target (usually different for pycharm and idea, should have three components)
+   - I find this at https://jetbrains.com/updates/updates.xml (search for `fullNumber`)
+   - Update the `buildVer` field in source/default.nix
+   - Empty the `ideaHash`, `androidHash` and `jpsHash` (only `ideaHash` changes on a regular basis) fields and try to build to get the new hashes
+   - Run `nix build .#jetbrains.(idea/pycharm)-community-source.src`, then `./source/build_maven.py source/idea_maven_artefacts.json result/`
+   - Update `source/brokenPlugins.json` (from https://plugins.jetbrains.com/files/brokenPlugins.json)
+   - Do a test build
+   - If it succeeds, make a PR/merge
+   - If it fails, ping/message GenericNerdyUsername
+
+## How to add an IDE:
+ - Make dummy entries in `bin/versions.json` (make sure to set the version to something older than the real one)
+ - Run `bin/update_bin.py`
+ - Add an entry in `bin/ides.json`
+ - Add an entry in `default.nix`
+
+### TODO:
+ - move/copy plugin docs to nixpkgs manual
+ - replace `libxcrypt-legacy` with `libxcrypt` when supported
+ - make `jetbrains-remote-dev.patch` cleaner
+ - is extraLdPath needed for IDEA?
+ - set meta.sourceProvenance for everything
+ - from source builds:
+   - remove timestamps in output `.jar` of `jps-bootstrap`
+   - automated update scripts
+   - fetch `.jar` s from stuff built in nixpkgs when available
+     - what stuff built in nixpkgs provides `.jar`s we care about?
+       - kotlin
+   - make `configurePhase` respect `$NIX_BUILD_CORES`
+   - make the subdir of the resulting tar.gz always have a release number (2023.2.2) instead of a build number (232.9921.89)
+ - jdk:
+   - build on darwin
+   - use chromium stuff built by nixpkgs for jcef?
+   - make `buildPhase` respect `$NIX_BUILD_CORES`
+   - automated update script?
+ - on `aarch64-linux`:
+   - test plugins
+   - from source build
+   - see if build (binary or source) works without expat
+ - on `x86_64-darwin`:
+   - test plugins
+   - from source build
+ - on `aarch64-darwin`:
+   - test plugins
+   - from source build
diff --git a/pkgs/applications/editors/jetbrains/source/brokenPlugins.json b/pkgs/applications/editors/jetbrains/source/brokenPlugins.json
new file mode 100644
index 0000000000000..73f47ae24f7d0
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/source/brokenPlugins.json
@@ -0,0 +1 @@
+[{"id":"com.procyk.maciej.tcgenerator","version":"0.0.1","since":"202.*","until":"202.*","originalSince":"193.0","originalUntil":"202.*"},{"id":"com.github.xiaolyuh.mrtf-git-flow-4idea","version":"1.0.12","since":"181.0","until":"202.*","originalSince":"181.0","originalUntil":"302.*"},{"id":"Pythonid","version":"2016.1.145.86","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.phpuaca","version":"1.3.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.9","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Retrotranslator","version":"0.2.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"132.1045","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.8.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"1.4.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.intellij.clojure","version":"0.2.1.178","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"131.17","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Docker","version":"173.2605","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"131.98","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.1.9","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"PythonCore","version":"2016.3.163.125","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.intellij.appcode-ui-designer","version":"1.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.7.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.2.162.37","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Classic Icon","version":"1.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.3.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.covscript","version":"1.8.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.6.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"133.432","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"8.0.0.20180821","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.8","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"PythonCore","version":"2016.2.162.37","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.3.163.125","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"130.1494","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"131.235","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.bitbucket.connector","version":"1.1.12","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.vuejs","version":"1.1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.1.145.266","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.1.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Node.js Remote Interpreter","version":"192.6262.9","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"PythonCore","version":"2017.1.171.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.alicannklc.codeigniter.snippets","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.5.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.10","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Sencha Ext JS","version":"6.0.12.563","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"zielu.gittoolbox","version":"13.1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.6.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.15","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"143.294","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.8.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.ice1000.julia","version":"0.1.8","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.92.145","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"1.4.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"143.147","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2017.1.171.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.bitbucket.connector","version":"1.2.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.7.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Classic Icon","version":"1.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.2.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.8","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.intellij.swift","version":"144.SNAPSHOT","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Log Support","version":"1.0.11-11_and_newer","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.91.162","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"131.205","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"132.835","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.8.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.9","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.22","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.4.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"143.379.14","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.vuejs","version":"1.0.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Classic Icon","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.3.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"zielu.gittoolbox","version":"13.5.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.1.145.234","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.93.171","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"who did it","version":"2018.2_20181029","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"133.239","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.5.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"133.51","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.bitbucket.connector","version":"1.1.10","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Bazel","version":"2018.12.03.0.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AEM Support","version":"0.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.1.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.91.145","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.2.162.43","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"132.207","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.92.162","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.10.555","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"2.9.5","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.3.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"133.726","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.huawei.ide","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.91","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"133.326","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Pythonid","version":"2016.3.163.80","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0.3","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"131.332","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.7.1376","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.intellij.appcode-ui-designer","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Classic Icon","version":"1.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.3.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.8.1615","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Codota","version":"3.0.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.0.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"PythonCore","version":"2016.2.162.43","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"JRebel for IntelliJ","version":"2019.1.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"1.6","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"130.549","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.6.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Dart","version":"0.5.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0.1","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"130.1176","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.bitbucket.connector","version":"1.2","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"org.vuejs","version":"1.0.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"Bazel","version":"2018.11.12.0.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.4","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.php","version":"133.679","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"0.3.0","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"net.nicoulaj.idea.markdown","version":"0.9.7","since":"181.1991","until":"181.1991","originalSince":"171.9119","originalUntil":null},{"id":"io.snyk.snyk-intellij-plugin","version":"0.2.3.102-develop","since":"191.0","until":"202","originalSince":"191.0","originalUntil":null},{"id":"SmartJump","version":"2020.10.1","since":"193","until":"211.0","originalSince":"181.0","originalUntil":"211.0"},{"id":"com.genuitec.codetogether","version":"3.0.0-00605","since":"192.*","until":"202.*","originalSince":"191.5532.39","originalUntil":null},{"id":"com.github.wangji92.arthas.plugin","version":"2.21","since":"182","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.plugins.thrift","version":"0.9.5","since":"145.1","until":"145.*","originalSince":"145.1","originalUntil":null},{"id":"com.intellij.plugins.thrift","version":"0.9.4","since":"132.1","until":"132.*","originalSince":"132.1","originalUntil":null},{"id":"com.intellij.plugins.thrift","version":"0.9.3","since":"132.1","until":"132.*","originalSince":"132.1","originalUntil":null},{"id":"com.intellij.plugins.thrift","version":"0.9.2","since":"132.1","until":"132.*","originalSince":"132.1","originalUntil":null},{"id":"com.intellij.plugins.thrift","version":"0.9","since":"132.1","until":"132.*","originalSince":"132.1","originalUntil":null},{"id":"tech.kinori.epsilon.grammars","version":"1.0.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.liuzhihang.doc-view","version":"1.0.1","since":"201.0","until":"202.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"com.sharedaka.idea.swagger-helper","version":"0.0.4","since":"193.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"com.intellj.plugin.SpringBootBannerPlugin","version":"0.2.7","since":"202.*","until":"202.*","originalSince":"202.7319","originalUntil":"202.*"},{"id":"com.intellj.plugin.SpringBootBannerPlugin","version":"0.2.6","since":"202.*","until":"202.*","originalSince":"202.7319","originalUntil":"202.*"},{"id":"Go To Implementation Plugin","version":"1.1.2","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.common.collect.plugin.idea.box","version":"1.6.12","since":"201.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"com.cap.generator.plugin.online","version":"1.0.0","since":"183.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"cc.yyf.MarkDownNoteYYF","version":"1.0-SNAPSHOT","since":"193.7288.26","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.8-6","since":"182.0","until":"191.*","originalSince":"162.0","originalUntil":"191.*"},{"id":"vip.okfood.liam.plugin.i18n","version":"1.0.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.codeWithMe","version":"203.5981.5","since":"203.5981.5","until":"203.5981.5","originalSince":"203.5981","originalUntil":"203.5981.*"},{"id":"c0nstantx.phpstorm.silex.plugin.id","version":"1.0.1","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"c0nstantx.phpstorm.silex.plugin.id","version":"1.0.0","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"reasonml","version":"0.49","since":"143.0","until":"180.*","originalSince":"143.0","originalUntil":null},{"id":"reasonml","version":"0.48.1","since":"143.0","until":"180.*","originalSince":"143.0","originalUntil":null},{"id":"reasonml","version":"0.51","since":"143.0","until":"180.*","originalSince":"143.0","originalUntil":null},{"id":"reasonml","version":"0.55","since":"143.0","until":"180.*","originalSince":"143.0","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.2","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.3","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"MultiHighlight","version":"2.1.0","since":"202.3","until":"","originalSince":"202.2","originalUntil":null},{"id":"com.dengzii.plugin.adb","version":"2.9","since":"193.7288.26","until":"","originalSince":"183.4284.148","originalUntil":null},{"id":"com.pandocker","version":"0.7","since":"201","until":"202.*","originalSince":"173.0","originalUntil":"202.*"},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-05-30","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-06-01","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-06-08","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-06-13","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-06-14","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4.nightly-2017-06-16","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-06-20","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-06-28","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-07-14","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-07-20","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-07-21","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.5.nightly-2017-07-24","since":"163.0","until":"172.99999","originalSince":"163.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"8.1.30331","since":"90.10000","until":"117.105","originalSince":"90.10000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"9.0.32570","since":"117.105","until":"143.2200","originalSince":"117.105","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42318","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42241","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42538","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42576","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.1.46654","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2018.1.58406","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2.1.05","since":"60.6000","until":"90.10000","originalSince":"60.6000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"4.0.0.9103","since":"60.6000","until":"90.10000","originalSince":"60.6000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"4.0.0.9140","since":"60.6000","until":"90.10000","originalSince":"60.6000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"5.13550","since":"60.6000","until":"90.10000","originalSince":"60.6000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"8.1.30332","since":"88.10000","until":"117.105","originalSince":"88.10000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"9.1.37645","since":"117.105","until":"143.2200","originalSince":"117.105","originalUntil":null},{"id":"org.cacticouncil.amphibian","version":"1.0","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"com.github.odinggg.NewYapiUpload","version":"1.03","since":"183.*","until":"203.*","originalSince":"162.0","originalUntil":"203.*"},{"id":"com.isuwang.plugin","version":"2.1.6","since":"ui-193.0","until":"203.*","originalSince":"193.0","originalUntil":"203.*"},{"id":"com.github.ausmarton.cucumber-scala","version":"2019.3.1","since":"193.0","until":"203.0","originalSince":"193.0","originalUntil":""},{"id":"com.yonghui.httprunner.plugin.HttpRunnerEditor","version":"1.0.5","since":"203","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.yonghui.httprunner.plugin.HttpRunnerEditor","version":"1.0.4","since":"182","until":"","originalSince":"171.0","originalUntil":null},{"id":"dev.aid.commit-helper","version":"0.0.3","since":"145.0","until":"","originalSince":"135.0","originalUntil":null},{"id":"io.zhile.research.ide-eval-resetter","version":"2.1.10","since":"145.258","until":"145.258","originalSince":"145.258","originalUntil":null},{"id":"com.github.madwareru.intellijronremix","version":"0.1.4","since":"203.0","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"WS.CI.plugin","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"WS.CI.plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.lsl.plugin","version":"1.0.0-release","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2020.2.85882","since":"193.1","until":"193.1","originalSince":"193.7288","originalUntil":null},{"id":"io.jmix.studio","version":"0.3.NIGHTLY495-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"io.jmix.studio","version":"0.3.NIGHTLY496-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"com.garawaa.unique.plugin.id","version":"0.1","since":"143.0","until":"194.0","originalSince":"143.0","originalUntil":null},{"id":"io.jmix.studio","version":"0.3.NIGHTLY497-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"com.redhat.devtools.intellij.kubernetes","version":"0.1.0","since":"183.3975.18","until":"211","originalSince":"183.3975.18","originalUntil":null},{"id":"DeepBugsPython","version":"0.5","since":"201.0","until":"201.*","originalSince":"201.0","originalUntil":null},{"id":"DeepBugsPython","version":"0.4","since":"192.5728","until":"193.*","originalSince":"192.5728","originalUntil":"201.*"},{"id":"DeepBugsPython","version":"0.3","since":"192.5728","until":"193.*","originalSince":"192.5728","originalUntil":null},{"id":"DeepBugsPython","version":"0.2","since":"192.6603","until":"193.*","originalSince":"192.6603","originalUntil":null},{"id":"DeepBugsPython","version":"0.1","since":"181.0","until":"193.*","originalSince":"181.0","originalUntil":null},{"id":"io.jmix.studio","version":"0.3.NIGHTLY498-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"com.sensei.solutions","version":"4.23.1","since":"162.0","until":"202","originalSince":"162.0","originalUntil":null},{"id":"com.github.mustfun.plugin.mybatis","version":"1.1.11","since":"193.4213","until":"202.*","originalSince":"191.4213","originalUntil":"202.*"},{"id":"cn.nucun.CodeChat","version":"1.0.2-SNAPSHOT","since":"201.0","until":"202.8194.8","originalSince":"191.0","originalUntil":null},{"id":"com.mesmer.plugin","version":"1.0-SNAPSHOT","since":"183.0","until":"201.*","originalSince":"145.0","originalUntil":"201.*"},{"id":"info.dong4j.idea.plugin.markdown.image.kit","version":"1.0.0","since":"191.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"nl.rubensten.texifyidea","version":"0.7.4-alpha.2","since":"211.5538.10","until":"","originalSince":"203.5251.39","originalUntil":null},{"id":"CUBA","version":"15.0.NIGHTLY467-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"CUBA","version":"15.0.NIGHTLY468-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"dev.nocalhost.nocalhost-intellij-plugin","version":"0.0.5","since":"203.0","until":"211.0","originalSince":"203.0","originalUntil":null},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.7","since":"184.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"izhangzhihao.rainbow.brackets","version":"6.17","since":"202.8194.7","until":"","originalSince":"201.6668","originalUntil":null},{"id":"23.bytecode-disassembler","version":"1.0.9","since":"191.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.zoulejiu.mybatis.smart.plugin","version":"1.0.2","since":"192","until":"203.*","originalSince":"192.0","originalUntil":"203.*"},{"id":"com.delfi.xmobile","version":"1.0.0-dev","since":"193.5233.102","until":"","originalSince":"160.0","originalUntil":null},{"id":"CUBA","version":"15.0.NIGHTLY469-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"com.fundtool.plugin.id","version":"1.5","since":"191","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.outbina.pogo","version":"1.0","since":"201.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.outbina.pogo","version":"1.0.1","since":"201.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.kimen.plugin","version":"1.1.1","since":"201.*","until":"203.*","originalSince":"173.*","originalUntil":"203.*"},{"id":"com.promyze.promyze_plugin","version":"2.1.1","since":"193.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"ArthasHotSwap","version":"1.2-2020.2.3.community-RELEASE","since":"172.0","until":"202.0","originalSince":"162.0","originalUntil":null},{"id":"com.dtyunxi.plugin.idea.x-maker","version":"1.0.6","since":"192","until":"","originalSince":"181.0","originalUntil":null},{"id":"org.anilmisirlioglu.keystroke.idea-keystroke-counter","version":"1.1.0","since":"203","until":"211.*","originalSince":"193.0","originalUntil":"211.*"},{"id":"com.ytanikin.datasetnavigator","version":"0.2","since":"202.*","until":"211.*","originalSince":"183.*","originalUntil":"211.*"},{"id":"me.mbolotov.cypress.pro","version":"2.0","since":"211.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"com.starxg.browserfx","version":"1.0.4","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"com.starxg.browserfx","version":"1.1.0","since":"202.8","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.tulv.templateplugin","version":"1.0.2","since":"202.0","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"com.jetbrains.recommenders.twooh","version":"0.0.44-super-early-bird","since":"203.3.2","until":"211.*","originalSince":"203.3.2","originalUntil":"213.*"},{"id":"de.mariushoefler.flutter_enhancement_suite","version":"1.5.0","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.kevinlinxp.sublimeSnippetsSupport","version":"1.3.0","since":"193.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.codesync","version":"1.4.0","since":"201.0","until":"203.*","originalSince":"171.0","originalUntil":"203.*"},{"id":"com.jetbrains.annotations.preloader","version":"1.0.3","since":"145","until":"212.2689","originalSince":"145","originalUntil":"212.2689"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"21.3.214","since":"201.*","until":"211.*","originalSince":"173.3","originalUntil":"211.*"},{"id":"com.jetbrains.edu.kotlin","version":"3.1","since":"163.7743.44","until":"163.*","originalSince":"163.7743.44","originalUntil":"163.9999"},{"id":"com.jetbrains.edu.kotlin","version":"3.0.1","since":"162.1447","until":"162.*","originalSince":"162.1447","originalUntil":"162.9999"},{"id":"com.jetbrains.edu.kotlin","version":"3.0","since":"162.1447.26","until":"162.*","originalSince":"162.1447.26","originalUntil":"162.9999"},{"id":"com.jetbrains.edu.interactivelearning","version":"3.1","since":"163.7743.44","until":"163.*","originalSince":"163.7743.44","originalUntil":"163.9999"},{"id":"com.jetbrains.edu.interactivelearning","version":"3.0","since":"162.1447.26","until":"162.*","originalSince":"162.1447.26","originalUntil":"162.9999"},{"id":"com.intellij.scala.play2template","version":"0.42.25","since":"138.1283","until":"138.1695","originalSince":"138.1283","originalUntil":"139.0"},{"id":"com.intellij.scala.play2template","version":"0.42.23","since":"138.1283","until":"138.1695","originalSince":"138.1283","originalUntil":"139.0"},{"id":"com.intellij.scala.play2template","version":"0.40.20","since":"138.1029","until":"138.1695","originalSince":"138.1029","originalUntil":"139.0"},{"id":"com.intellij.scala.play2template","version":"0.40.18","since":"138.0","until":"138.1695","originalSince":"138.0","originalUntil":"139.0"},{"id":"XmlSearchAndReplace","version":"0.0.7","since":"111.69","until":"111.277","originalSince":"111.69","originalUntil":null},{"id":"XmlSearchAndReplace","version":"0.0.6","since":"96.1130","until":"111.0","originalSince":"96.1130","originalUntil":null},{"id":"XmlSearchAndReplace","version":"0.0.4","since":"96.1130","until":"111.0","originalSince":"96.1130","originalUntil":null},{"id":"XmlSearchAndReplace","version":"0.0.3","since":"96.1130","until":"111.0","originalSince":"96.1130","originalUntil":null},{"id":"org.example.IntelliJ Rekoder Plugin","version":"0.0.1","since":"203.0","until":"203.*","originalSince":"202.0","originalUntil":"203.*"},{"id":"com.bytedance.lynx","version":"0.0.1","since":"211.0","until":"","originalSince":"203.0","originalUntil":null},{"id":"com.github.lkqm.mongodoc-gen","version":"0.0.3","since":"201.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"idea-yapi","version":"2.1.0","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.smilingrob.gitpair","version":"1.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.smilingrob.gitpair","version":"1.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.smilingrob.gitpair","version":"1.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.zoulejiu.mybatis.smart.plugin","version":"1.1.2","since":"203.5981.155","until":"211.7442.40","originalSince":"202.1","originalUntil":"211.*"},{"id":"ConditionalOperatorConverter","version":"1.3","since":"","until":"93.1","originalSince":null,"originalUntil":"93.1"},{"id":"com.github.jisoo0817.hongbogtemplate","version":"1.0.1","since":"202.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"enseidler","version":"1.00","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.goodforgod.dummymapper","version":"1.0.4","since":"202.0","until":"211.*","originalSince":"193.0","originalUntil":"211.*"},{"id":"com.itcodebox.leewyatt.notebooks.id","version":"1.01","since":"201.8743.12","until":"203.8084.24","originalSince":"201.8743.12","originalUntil":null},{"id":"com.speacode.video","version":"1.0.2","since":"2020.1.4","until":"","originalSince":"193.5233.102","originalUntil":null},{"id":"com.checkmarx.intellij","version":"9.00.21","since":"172","until":"","originalSince":"111.69","originalUntil":null},{"id":"com.intellij.appcode.kmm","version":"212-1.4.32-release-AC4321.37","since":"212.4321.37","until":"212.4321.*","originalSince":"212.4321","originalUntil":"212.4321.*"},{"id":"org.jetbrains.plugins.ninefix","version":"1.0.0","since":"202","until":"202.*","originalSince":"193.0","originalUntil":"202.*"},{"id":"chapter_reader","version":"1.0.5","since":"143.2370.31","until":"","originalSince":"141.3058","originalUntil":null},{"id":"leetcode-editor","version":"5.3","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"leetcode-editor-pro","version":"2021.1.0","since":"202.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.codebay.intellij-plugin","version":"1.0.0","since":"192","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.kindermax.intellijlets","version":"0.0.6","since":"201","until":"211.*","originalSince":"193.0","originalUntil":"211.*"},{"id":"org.tiandongbo.duowan.LayoutInspectorPr","version":"1.1","since":"2020.2.3","until":"","originalSince":"192.121","originalUntil":null},{"id":"org.tiandongbo.duowan.LayoutInspectorPr","version":"1.2","since":"192.121","until":"203.8084.24","originalSince":"192.121","originalUntil":null},{"id":"org.tiandongbo.duowan.LayoutInspectorPr","version":"1.0","since":"2021.1.2","until":"","originalSince":"192.121","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.39","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.37","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.36-20200210.141036","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.36-20200221.204548","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.36-20200221.210808","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.38-20200226.204103","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.38-20200319.011916","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.43-20200524.042104","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.43-20200523.221911","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.40-20200523.221752","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.40-20200522.020703","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.40-20200506.125454","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.40-20200505.131815","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.40-20200427.011009","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.38-20200331.003328","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.38-20200330.134803","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.38-20200323.191752","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"com.daveme.intellij.chocolateCakePHP","version":"0.7.0","since":"202.*","until":"211.*","originalSince":"193.0","originalUntil":null},{"id":"com.hd123.jetbrains.jira.workinghours","version":"1.0.193","since":"193","until":"201.0","originalSince":"183.0","originalUntil":"201.0"},{"id":"com.fz.strings.plugin.id","version":"1.0.9","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.misset.OMT","version":"4.9","since":"211.*","until":"212.*","originalSince":"203.5981","originalUntil":"212.*"},{"id":"training","version":"0.8.67","since":"173.0","until":"183.*","originalSince":"173.0","originalUntil":null},{"id":"CleverTap.CleverTap","version":"0.3","since":"201","until":"","originalSince":"201.*","originalUntil":null},{"id":"CleverTap.CleverTap","version":"0.2","since":"201","until":"","originalSince":"201.*","originalUntil":null},{"id":"one.goranson.logboot","version":"1.2","since":"193.0","until":"300.*","originalSince":"162.0","originalUntil":"300.*"},{"id":"com.ifengxue.plugin.jpa-support","version":"2.0.8-RC1","since":"193.7288.26","until":"","originalSince":"183.3795.13","originalUntil":null},{"id":"com.github.jrd77.codecheck.id","version":"1.1","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.stepsize.tech-debt-reporter","version":"1.0.8-203+","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"io.buildman.Buildman","version":"0.7.5","since":"193","until":"","originalSince":"193.*","originalUntil":null},{"id":"AviatorScript","version":"2021.2","since":"212.*","until":"212.*","originalSince":"212.4746","originalUntil":"212.*"},{"id":"io.github.danthe1st.ij2gdocs","version":"1.1.0","since":"203.0","until":"212.*","originalSince":"202.0","originalUntil":"212.*"},{"id":"chapter_reader","version":"2.0.1","since":"143.2370.31","until":"213","originalSince":"143.2370.31","originalUntil":null},{"id":"com.gitlab.lae.intellij.actions.tree","version":"0.5.5","since":"212.5080","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.github.enokiy.go-struct-to-json-intellij-plugin","version":"1.0-SNAPSHOT","since":"203.0","until":"212.*","originalSince":"201.0","originalUntil":"212.*"},{"id":"edu.vub.ideAT","version":"2.0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"2.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"2.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"2.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"2.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.vub.ideAT","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.yusufugurozbek.testcontainers.port.updater","version":"0.0.5","since":"203.0","until":"212.*","originalSince":"202.0","originalUntil":"212.*"},{"id":"com.lx.xml2excel.conversion.action.Xml2ExcelBatchConversionTool","version":"1.0","since":"171","until":"","originalSince":"171.0","originalUntil":null},{"id":"ZsmpPlugin","version":"1.0.1","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"dal-mpe","version":"1.192.202103","since":"181.5684.4","until":"","originalSince":"173.2099.1","originalUntil":null},{"id":"dal-mpe","version":"1.204.2106","since":"181.5684.4","until":"","originalSince":"173.2099.1","originalUntil":null},{"id":"dal-mpe","version":"1.202.2105","since":"181.5684.4","until":"","originalSince":"173.2099.1","originalUntil":null},{"id":"org.amdatu.idea","version":"1.0.1","since":"181.0","until":"181.0","originalSince":"181.0","originalUntil":null},{"id":"org.amdatu.idea","version":"1.0.2","since":"181.0","until":"181.0","originalSince":"181.0","originalUntil":null},{"id":"com.github.zzzj1233.yaml.checker","version":"1.0.0-alpha","since":"201","until":"","originalSince":"181.0","originalUntil":null},{"id":"io.github.newhoo.restkit","version":"1.0.6","since":"193.0","until":"202.*","originalSince":"191.0","originalUntil":"202.*"},{"id":"com.lansoft.custom_mybatis_plugin","version":"1.0.2-SNAPSHOT","since":"202.7319.50","until":"","originalSince":"191.8026.42","originalUntil":null},{"id":"com.sourceplusplus.plugin.intellij","version":"0.2.4","since":"191.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.alexey-anufriev.scopes-manager-intellij-plugin","version":"1.6.0","since":"203.*","until":"213.*","originalSince":"201.7223","originalUntil":"213.*"},{"id":"com.github.kawamataryo.copygithublink","version":"0.2.2","since":"212.*","until":"212.*","originalSince":"211.*","originalUntil":"212.*"},{"id":"org.river.nuls.contract.tool","version":"1.1.4.6","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.yapi.generator.qiyun.YApiImporter","version":"1.0.0","since":"181.*","until":"212.*","originalSince":"1.0","originalUntil":"212.*"},{"id":"com.capital.cloud.liufuqiang","version":"1.0.5","since":"203.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.1.9","since":"212.4746","until":"213.*","originalSince":"202.3824","originalUntil":"213.*"},{"id":"com.wsy.smartndkstack","version":"1.1","since":"202","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.google.developers.certification.tensorflow","version":"0.1.14","since":"213.0","until":"213.*","originalSince":"212.0","originalUntil":"213.*"},{"id":"com.AbsolCharles.plugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.synopsys.sig.desktop.idea","version":"2021.8.1.2487504","since":"193.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.blueline.idea.plugin.packagejar","version":"1.0.1","since":"203.0","until":"211.*","originalSince":"203.0","originalUntil":"212.*"},{"id":"com.jetbrains.TabFormat","version":"0.4","since":"203.0","until":"212.*","originalSince":"173.0","originalUntil":"212.*"},{"id":"com.github.beansoftapp.visualgc.plugin","version":"2021.3.0","since":"201.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.ingTools","version":"1.0.11","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.ingTools","version":"20211125","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"yy-dev-tools","version":"2021.0.1","since":"211.0","until":"211.3.*","originalSince":"211.0","originalUntil":"213.*"},{"id":"nikolay2022.idea.plugin.drumroll","version":"1.0","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.plugins.go","version":"213.5744.223","since":"213.5744.223","until":"213.*","originalSince":"213.5744","originalUntil":"213.*"},{"id":"com.stepsize.tech-debt-reporter","version":"1.12.1-203+","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"top.walterInKitchen.gitDiffShort","version":"1.0.8","since":"193.*","until":"212.*","originalSince":"191.*","originalUntil":"212.*"},{"id":"org.tonybaloney.security.pycharm-security","version":"1.25.0","since":"213.*","until":"221.*","originalSince":"211.*","originalUntil":"221.*"},{"id":"io.github.mudongjing.InjectClass.plugin.id","version":"1.0","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"InnerBuilder","version":"1.1.5","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"InnerBuilder","version":"1.1.2","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"cn.cloud.auto.restful.tool","version":"1.4.5","since":"212","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.billy.dubbo-box","version":"1.0.3","since":"193.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"me.him188.kotlin-dynamic-delegation","version":"213-0.1.0-160.1-1","since":"201.0","until":"213.*","originalSince":"201.0","originalUntil":"225.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"6.0.0","since":"211.5581","until":"211.*","originalSince":"211.5538","originalUntil":"211.*"},{"id":"com.libra.plugin.JavaGenerate","version":"1.0.1-SNAPSHOT","since":"182.0","until":"214.0","originalSince":"181.0","originalUntil":"214.0"},{"id":"com.yanglx","version":"1.3.0","since":"183","until":"","originalSince":"171.3780.107","originalUntil":null},{"id":"coderead.IdeaPlugins.maven","version":"1.1","since":"172.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.github.cooker.cjava","version":"1.1.0","since":"202.0","until":"213","originalSince":"202.0","originalUntil":"213.*"},{"id":"com.mnw.stickyselection","version":"3.2","since":"203.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.rest","version":"2.2.5","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.rest","version":"2.2.4","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"org.jetbrains.corda","version":"0.0.4","since":"212.0","until":"214.0","originalSince":"193.0","originalUntil":"214.0"},{"id":"com.study.plugin.translate","version":"1.0","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"net.plpgsql.ideadebugger","version":"1.0.0-alpha","since":"213.0","until":"213.*","originalSince":"211.0","originalUntil":"213.*"},{"id":"github.com.cq1228.JCode5","version":"1.0-SNAPSHOT","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"github.com.cq1228.JCode5","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.roomj.simpletitles","version":"1.4","since":"193.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"com.chesterccw.excelreader","version":"2.1.1","since":"203.8084.24","until":"","originalSince":"201.6668.113","originalUntil":null},{"id":"org.reloadium","version":"0.6.0","since":"212.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"4.2.3-alpha-2022-02-01-18-46","since":"212.5080.55","until":"213.*","originalSince":"212.5080.55","originalUntil":null},{"id":"com.vk.admstorm","version":"0.0.1","since":"213","until":"213.*","originalSince":"203.0","originalUntil":null},{"id":"io.github.newhoo.restkit.ext.jax-rs","version":"1.0.0","since":"211.0","until":"211","originalSince":"211.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"2.0.0","since":"213.0","until":"","originalSince":"203.0","originalUntil":null},{"id":"org.metersphere.Metersphere","version":"1.0.5","since":"203.*","until":"213.*","originalSince":"173.*","originalUntil":"213.*"},{"id":"cn.wuzhizhan.idea.mybatis.free-idea-mybatis","version":"2022.02.28","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"KeOnesWorkbench","version":"1.3","since":"172.0","until":"213.2","originalSince":"172.0","originalUntil":null},{"id":"com.josesamuel.logviewer","version":"3.3","since":"211","until":"","originalSince":"213.0","originalUntil":null},{"id":"io.jmix.studio","version":"0.3.NIGHTLY469-202","since":"202.6250.13","until":"211","originalSince":"202.6250.13","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.5","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jin.beanStructure","version":"1.0.0","since":"211.*","until":"","originalSince":"203.0","originalUntil":null},{"id":"de.femtopedia.openocd","version":"0.1.4","since":"212.0","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"de.ax.powermode","version":"101.101","since":"211.0","until":"213.7172.25","originalSince":"211.0","originalUntil":null},{"id":"se.clau.intellij-lux","version":"1.7","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.tan.jutils.plugin.id","version":"1.0.4","since":"173.0","until":"213","originalSince":"173.0","originalUntil":null},{"id":"com.tan.jutils.plugin.id","version":"1.0.3","since":"192","until":"211","originalSince":"173.0","originalUntil":null},{"id":"software.amazon.smithy.intellij","version":"1.4.0","since":"213.0","until":"213.*","originalSince":"211.0","originalUntil":"213.*"},{"id":"org.easysoc.firrtl","version":"1.0.1","since":"193.0","until":"202.*","originalSince":"193.0","originalUntil":"203.*"},{"id":"com.haulmont.jpab","version":"0.1.SNAPSHOT2147-201","since":"201.6668.121","until":"203.*","originalSince":"201.6668.121","originalUntil":null},{"id":"com.haulmont.jpab","version":"0.1.SNAPSHOT2168-201","since":"201.6668.121","until":"203.*","originalSince":"201.6668.121","originalUntil":null},{"id":"com.haulmont.jpab","version":"0.2.SNAPSHOT2254-201","since":"201.6668.121","until":"203.*","originalSince":"201.6668.121","originalUntil":null},{"id":"com.haulmont.jpab","version":"0.2.ALPHA1-201","since":"201.6668.121","until":"203.*","originalSince":"201.6668.121","originalUntil":null},{"id":"com.haulmont.jpab","version":"3.2.1-211","since":"211.6432.0","until":"211.*","originalSince":"211.6432.0","originalUntil":null},{"id":"dev.eltonsandre.intellij.spring.assistant.plugin","version":"1.4.0","since":"211.0","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"dev.eltonsandre.intellij.spring.assistant.plugin","version":"1.4.1","since":"211.0","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"com.codeyzer","version":"1.3.3","since":"191.2147483647","until":"201.*","originalSince":"191.*","originalUntil":"201.*"},{"id":"com.codeyzer","version":"1.3.1","since":"191.2147483647","until":"201.*","originalSince":"191.*","originalUntil":"201.*"},{"id":"com.codeyzer","version":"1.3.0","since":"191.2147483647","until":"201.*","originalSince":"191.*","originalUntil":"201.*"},{"id":"com.codeyzer","version":"1.1.3","since":"191.2147483647","until":"201.*","originalSince":"191.*","originalUntil":"201.*"},{"id":"com.codeyzer","version":"1.1.1","since":"191.2147483647","until":"201.*","originalSince":"191.*","originalUntil":"201.*"},{"id":"com.github.grishberg.android.yamp","version":"29.03.22.0","since":"201.0","until":"211","originalSince":"201.0","originalUntil":null},{"id":"chapter_reader","version":"2.0.4","since":"145.*","until":"213.*","originalSince":"143.2370.31","originalUntil":"213.*"},{"id":"com.bash.cmd","version":"1.0.0","since":"193.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.danbai225.pwlchat","version":"0.1.4","since":"211.0","until":"221.*","originalSince":"203.0","originalUntil":"221.*"},{"id":"com.zhikan.agile.liga_plugin_intellij","version":"2.0.0","since":"211.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"com.sonatype.nexus-iq","version":"4.3.0-01","since":"212.0","until":"213.3","originalSince":"212.0","originalUntil":null},{"id":"me.foreverigor.streamtips","version":"1.0","since":"202.5800","until":"212.*","originalSince":"202.5800","originalUntil":null},{"id":"com.bamboo","version":"1.0.0","since":"211.0","until":"","originalSince":"213.0","originalUntil":null},{"id":"ru.mideev.mitheme","version":"1.0.0","since":"191.0","until":"221.0","originalSince":"191.0","originalUntil":null},{"id":"com.gitee.threefish.idea.plugins.rancher","version":"1.0","since":"211","until":"","originalSince":"193.5233.102","originalUntil":null},{"id":"com.hjf.redis.manager.redis-manager","version":"1.4.1","since":"193.*","until":"301.*","originalSince":"190.*","originalUntil":"301.*"},{"id":"com.bamboo","version":"1.0.1","since":"212.5","until":"","originalSince":"212.0","originalUntil":null},{"id":"com.bamboo","version":"1.0","since":"212.5","until":"","originalSince":"212.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.8","since":"133","until":"","originalSince":"103.0","originalUntil":null},{"id":"com.dlts.code.tools","version":"1.4","since":"203","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.dlts.code.tools","version":"1.3","since":"201","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.yk.company.table.md.id","version":"1.1","since":"193.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.yk.company.table.md.id","version":"1.2","since":"201.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"OpenGL-Plugin","version":"0.9.4","since":"213.*","until":"213.*","originalSince":"213.0","originalUntil":"213.*"},{"id":"com.jetbrains.recommenders.twooh","version":"0.0.54-super-early-bird","since":"211.1","until":"213.*","originalSince":"203.3.2","originalUntil":"213.*"},{"id":"com.jetbrains.typoscript","version":"0.1.1","since":"126.319","until":"131.0","originalSince":"126.319","originalUntil":null},{"id":"com.jetbrains.typoscript","version":"0.1.0","since":"107.89","until":"126.319","originalSince":"107.89","originalUntil":null},{"id":"com.alayouni.ansiHighlight","version":"1.2.4","since":"163.0","until":"221.*","originalSince":"163.0","originalUntil":null},{"id":"org.gerryhjs.favacts","version":"1.0","since":"192.3000","until":"222","originalSince":"192.3000","originalUntil":null},{"id":"edu.vanderbilt.grader.tools","version":"1.1","since":"212","until":"212.*","originalSince":"203.0","originalUntil":"221.*"},{"id":"io.senya.editor.intellij.plugin","version":"1.2.2","since":"183.3647","until":"201.*","originalSince":"183.3647","originalUntil":null},{"id":"com.nasller.CodeGlancePro","version":"1.2.8","since":"203.6682.168","until":"213.7172.25","originalSince":"203.6682.168","originalUntil":null},{"id":"org.example.tool","version":"1.0.1","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"com.qalens.corr","version":"1.1.0","since":"40.2020","until":"","originalSince":"40.2019","originalUntil":null},{"id":"com.github.mounthuaguo.monkeyking","version":"0.1.5","since":"221","until":"232.*","originalSince":"211.0","originalUntil":"232.*"},{"id":"com.byte_stefan.collect_util","version":"1.0-SNAPSHOT","since":"212.5712.43","until":"222.*","originalSince":"203.7717","originalUntil":"222.*"},{"id":"Infinitest","version":"5.3.0","since":"183","until":"","originalSince":"85.9732","originalUntil":null},{"id":"nl.rubensten.texifyidea","version":"0.7.21-alpha.2","since":"222.0","until":"","originalSince":"213.0","originalUntil":null},{"id":"com.mesour.intellij.latte","version":"1.0.0","since":"213.0","until":"222.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.toocol.plugin.anisEscapeTooltip","version":"1.0.2","since":"201.0","until":"223.*","originalSince":"162.0","originalUntil":"223.*"},{"id":"me.oddlyoko.odoo","version":"0.0.2","since":"213.0","until":"221.*","originalSince":"210.0","originalUntil":"221.*"},{"id":"AutoYApi","version":"1.0.362","since":"192.0","until":"222.*","originalSince":"191.0","originalUntil":"222.*"},{"id":"com.intellij.rider.godot","version":"2020.3.44","since":"203.4818.10","until":"","originalSince":"203.0","originalUntil":null},{"id":"miniApp","version":"1.0.0","since":"191.0","until":"194","originalSince":"191.0","originalUntil":null},{"id":"miniApp","version":"1.0.4","since":"201.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"com.github.houkunlin.database.generator","version":"2.6.1","since":"193","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.rookout.intellij-plugin","version":"1.16.0","since":"193.5233.102","until":"193.*","originalSince":"193.5233.102","originalUntil":null},{"id":"com.rookout.intellij-plugin","version":"1.15.0","since":"193.5233.102","until":"193.*","originalSince":"193.5233.102","originalUntil":null},{"id":"com.rookout.intellij-plugin","version":"1.14.0","since":"193.5233.102","until":"193.*","originalSince":"193.5233.102","originalUntil":null},{"id":"com.rookout.intellij-plugin","version":"1.13.0","since":"193.5233.102","until":"193.*","originalSince":"193.5233.102","originalUntil":null},{"id":"com.rookout.intellij-plugin","version":"0.4.0-alpha","since":"221.*","until":"","originalSince":"212.0","originalUntil":null},{"id":"com.triple.tools.plugins.dbmerger","version":"1.0","since":"173.0","until":"213.3","originalSince":"173.0","originalUntil":null},{"id":"dev.buijs.klutter.jetbrains","version":"0.2.3","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"com.jetbrains.rider.plugins.ilruntimedebugger","version":"213.2.2","since":"213.5744","until":"213.5744","originalSince":"213.5744","originalUntil":"213.*"},{"id":"com.mybatis.smart.pro.plugin","version":"2022.2.4","since":"213.7172.25","until":"221.*","originalSince":"212.4746.92","originalUntil":"221.*"},{"id":"merger4ideaPlugin","version":"2.2.4","since":"170.0.0","until":"201.4865.12","originalSince":"170.0.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.2.5","since":"170.0.0","until":"201.4865.12","originalSince":"170.0.0","originalUntil":null},{"id":"com.github.lzy.lets-hotfix-idea-plugin","version":"0.0.15","since":"181.*","until":"999.*","originalSince":"162.539.11","originalUntil":"999.*"},{"id":"com.v","version":"1.0.0","since":"201.8743","until":"201.8743","originalSince":"201.0","originalUntil":"203.*"},{"id":"com.hz.ypzj.djy.easy.fbi","version":"1.0.1","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"F9FrameWorkSupport","version":"1.4","since":"201.7846.76","until":"201.7846.76","originalSince":"173.0","originalUntil":null},{"id":"com.haulmont.rcb","version":"0.1.SNAPSHOT12-211","since":"212.5080","until":"","originalSince":"211.7628","originalUntil":null},{"id":"slinky.core.intellij","version":"0.6.8","since":"203.6682.168","until":"220.0.0","originalSince":"203.6682.168","originalUntil":"999.9999.999"},{"id":"com.hd123.jetbrains.jira.workinghours","version":"1.1","since":"193.0","until":"201.0","originalSince":"183.0","originalUntil":"201.0"},{"id":"sql-json-to-go-struct","version":"1.0.8.2","since":"184.0","until":"202.*","originalSince":"141.0","originalUntil":"202.*"},{"id":"cn.mama.pregnant","version":"1.0","since":"203","until":"211.*","originalSince":"191.0","originalUntil":"211.*"},{"id":"com.ciii.bob.plugin.android.adbwifi","version":"1.7.1","since":"203.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"sk.tuke.kpi.arena.intellij","version":"0.4.0","since":"212.5712","until":"213.*","originalSince":"203.5981","originalUntil":"213.*"},{"id":"sk.tuke.kpi.arena.intellij","version":"0.4.0-SNAPSHOT-20220118-175444","since":"212.5712","until":"213.*","originalSince":"203.5981","originalUntil":"213.*"},{"id":"com.github.vitalibo.bitbake-intellij-plugin","version":"1.1","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.tuqi.Byr","version":"1.1","since":"203.0","until":"223.*","originalSince":"202.0","originalUntil":"223.*"},{"id":"org.gerryhjs.favacts","version":"1.1","since":"201.*","until":"","originalSince":"192.3000","originalUntil":null},{"id":"com.gerry.redis.en","version":"1.0","since":"201","until":"","originalSince":"201.8743.12","originalUntil":null},{"id":"org.example.my-first-plugin","version":"1.0.3","since":"213","until":"222.*","originalSince":"213.0","originalUntil":"222.*"},{"id":"org.example.tool","version":"1.0.0","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"org.example.tool","version":"1.1.0","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"org.example.tool","version":"1.1.1","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"org.example.tool","version":"1.1.2","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"org.example.tool","version":"1.2.0","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"com.redhat.devtools.intellij.quarkus","version":"0.0.1","since":"183.0","until":"","originalSince":"173.2099.1","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.31.1","since":"202.0","until":"","originalSince":"193.5662","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.80","since":"193.5662","until":"202.0","originalSince":"193.5662","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.81","since":"193.5662","until":"202.0","originalSince":"193.5662","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.82","since":"193.5662","until":"202.0","originalSince":"193.5662","originalUntil":null},{"id":"FileAssociations","version":"1.0","since":"111","until":"223.*","originalSince":null,"originalUntil":null},{"id":"io.codelink.plugins.jetbrains","version":"1.0.1","since":"212","until":"222.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"UDCv2","version":"2.0.1","since":"193","until":"","originalSince":"191.*","originalUntil":null},{"id":"cn.neday.excavator","version":"1.8","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.google.home.ide","version":"0.2.8-prod+0.5","since":"212.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"icu.weboys.SundriesPlugin","version":"1.0.1","since":"222.*","until":"222.*","originalSince":"222.3739","originalUntil":"222.*"},{"id":"chapter_reader","version":"2.1.3","since":"145.*","until":"202.*","originalSince":"145.*","originalUntil":"213.*"},{"id":"chapter_reader","version":"2.1.3-203-last","since":"203","until":"","originalSince":"203.0","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"2021.4","since":"212.4746.92","until":"","originalSince":"202.6397.94","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"2021.3","since":"202.6397.94","until":"211.7628.21","originalSince":"202.6397.94","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"2020.2","since":"202.6397.94","until":"202.8194","originalSince":"202.6397.94","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"2019.1.3","since":"191.6707.31","until":"201.8743.12","originalSince":"191.6707.31","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"2019.1.2","since":"191.6707.31","until":"201.8743.12","originalSince":"191.6707.31","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"1.0.1","since":"191.6707.31","until":"201.8743.12","originalSince":"191.6707.31","originalUntil":null},{"id":"com.zenuml.jetbrains","version":"1.0.0","since":"191.6707.31","until":"201.8743.12","originalSince":"191.6707.31","originalUntil":null},{"id":"Kunpeng Foundation","version":"2.2.5","since":"201.6668.113","until":"203.*","originalSince":"201.6668.113","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.6.2","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.6.1","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.5.0","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.4.0","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.0","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.0-RC.1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.2","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1-RC2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1-RC1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC5","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC4","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC3","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.1","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0-RC.2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0-RC.1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.nodesecurity","version":"0.2.0","since":"123.72","until":"212","originalSince":"123.72","originalUntil":null},{"id":"io.github.md2conf.idea-markdown-copy-as-plugin","version":"0.0.4","since":"213.0","until":"998.0","originalSince":"213.0","originalUntil":"999.0"},{"id":"com.xxkj.zjxDevTools","version":"1.1-SNAPSHOT","since":"212.0","until":"221.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"com.hiberbee.intellij.hiberbee-theme","version":"2022.11.19.0023","since":"191","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.foldright.auto-pipeline.auto-pipeline-idea-plugin","version":"0.1.0","since":"221.0","until":"223.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.jetbrains.gerryPurpleTheme","version":"1.8","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.gerryPurpleTheme","version":"3.5","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":"221.*"},{"id":"20485","version":"4.4.3","since":"","until":"","originalSince":null,"originalUntil":null},{"id":"com.jetbrains.gerryPurpleTheme","version":"2.3","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.gerryPurpleTheme","version":"3.16","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":"222.*"},{"id":"com.jetbrains.gerryPurpleTheme","version":"3.17","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":"311.*"},{"id":"com.jetbrains.gerryPurpleTheme","version":"3.15","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":"222.*"},{"id":"ConcurrentChecker","version":"2021.3","since":"213.0","until":"213.2","originalSince":"213.0","originalUntil":"213.7"},{"id":"com.google.gct.core","version":"0.9.2.3-beta","since":"143.1821","until":"143.*","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.7-beta","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.6-beta","since":"143.1821","until":"143.*","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.7.5-beta","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"1.0-BETA-0.2","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.2.4-beta","since":"143.1821","until":"143.*","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.3-beta","since":"143.1821","until":"143.*","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.4-beta","since":"143.1821","until":"143.*","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.core","version":"0.9.7.2-beta","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"16.10.4","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"16.10.5","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"16.11.6","since":"143.2370","until":"143.*","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.core","version":"20.5.1","since":"192.0","until":"201.*","originalSince":"192.0","originalUntil":"202.*"},{"id":"com.pqixing.modularization.idea","version":"2.2.0","since":"201","until":"","originalSince":"181.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.2.6","since":"170.0.0","until":"201.4865.12","originalSince":"170.0.0","originalUntil":null},{"id":"SidePanelSwitcher","version":"1.0.0","since":"201.*","until":"221.*","originalSince":"191.0","originalUntil":"221.*"},{"id":"vin.plugins.pom","version":"1.0.0","since":"211.0","until":"233.*","originalSince":"201.0","originalUntil":"233.*"},{"id":"com.gerry.redis","version":"2.4","since":"211","until":"311.*","originalSince":"201.8743.12","originalUntil":"311.*"},{"id":"com.gerry.redis","version":"2.1","since":"211","until":"311.*","originalSince":"201.8743.12","originalUntil":"311.*"},{"id":"com.gerry.redis","version":"2.0","since":"211","until":"222.*","originalSince":"201.8743.12","originalUntil":"311.*"},{"id":"com.gerry.redis","version":"2.5","since":"211","until":"311.*","originalSince":"201.8743.12","originalUntil":null},{"id":"com.gerry.redis","version":"2.3","since":"211","until":"311.*","originalSince":"201.8743.12","originalUntil":"311.*"},{"id":"com.gerry.redis","version":"2.2","since":"211","until":"311.*","originalSince":"201.8743.12","originalUntil":"311.*"},{"id":"com.github.camork.fix.fileExpander","version":"1.7.3","since":"192.*","until":"","originalSince":"173.0","originalUntil":null},{"id":"top.fallenangel.jimmer-generator","version":"0.2.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"top.fallenangel.jimmer-generator","version":"0.1.1","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"top.fallenangel.jimmer-generator","version":"0.1.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"top.fallenangel.jimmer-generator","version":"0.0.2","since":"213.0","until":"222.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"top.fallenangel.jimmer-generator","version":"0.0.1","since":"213.0","until":"222.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.tinyweb.dm-mdx-editor-idea-plugin","version":"1.0-SNAPSHOT","since":"213.*","until":"223.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.github.zxj5470.wxapp","version":"0.2.0","since":"183.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.huawei.ide","version":"1.2.1","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"1.2.2","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"1.2.3","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"1.2.4","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"2.0.201901","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"2.0.2019011","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"2.0.2019020","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.huawei.ide","version":"2.0.2019040","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.weex.darin","version":"1.0","since":"141.2147483647","until":"","originalSince":"141.*","originalUntil":null},{"id":"com.weex.darin","version":"1.1","since":"141.2147483647","until":"","originalSince":"141.*","originalUntil":null},{"id":"cn.kevin.mybatis.hepler","version":"1.2.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"net.kenro.ji.jin.intellij.purescript","version":"v0.65.0","since":"223.0","until":"223.*","originalSince":"221.0","originalUntil":"223.*"},{"id":"fr.devcafeine.implement_interface_dart","version":"0.1.0","since":"222.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"12589","version":"64340","since":"","until":"","originalSince":null,"originalUntil":null},{"id":"12453","version":"62874","since":"","until":"","originalSince":null,"originalUntil":null},{"id":"com.profoundinventions.houdini","version":"2022.2","since":"221.0","until":"223.*","originalSince":"221.0","originalUntil":null},{"id":"com.lowgular.intellij","version":"0.11.2-SNAPSHOT-223","since":"223.0","until":"223.*","originalSince":"212.0","originalUntil":"223.*"},{"id":"com.oyjg.tools.plugin.reviewboard","version":"3.0.8","since":"211.0","until":"211.7628","originalSince":"211.0","originalUntil":null},{"id":"com.hxw.newmapperext","version":"1.0.3","since":"201.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.tech.MapStructPlugin","version":"0.0.2","since":"221.*","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"org.rri.ideals","version":"1.0-SNAPSHOT","since":"223.0","until":"223.*","originalSince":"221.0","originalUntil":"223.*"},{"id":"ActionScript Profiler","version":"133.79","since":"133.79","until":"201","originalSince":"133.79","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.9","since":"123.1","until":"201","originalSince":"123.1","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.8","since":"122.666","until":"201","originalSince":"122.666","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.7","since":"114.243","until":"201","originalSince":"114.243","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.5","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.3","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.2","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"ActionScript Profiler","version":"0.2.1","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"ActionScript Profiler","version":"0.1.5","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"183.3795.13","since":"183.3795","until":"183.3795","originalSince":"183.3795","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"171.2687","since":"171.2687","until":"201.*","originalSince":"171.2687","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.5","since":"141.1532","until":"170.*","originalSince":"141.1532","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.4.138","since":"138.0","until":"140.*","originalSince":"138.0","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.4.135.1","since":"135.475","until":"135.*","originalSince":"135.475","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.3.135","since":"135.475","until":"135.*","originalSince":"135.475","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.3.133.1","since":"133.696","until":"133.*","originalSince":"133.696","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.3.133","since":"134.818","until":"134.*","originalSince":"134.818","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.3.132","since":"132.839","until":"132.*","originalSince":"132.839","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.3.130","since":"130.1619","until":"130.*","originalSince":"130.1619","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.2.130","since":"130.1030","until":"130.*","originalSince":"130.1030","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.1.130","since":"130.1030","until":"130.*","originalSince":"130.1030","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.9.4","since":"130.555","until":"130.*","originalSince":"130.555","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"1.0","since":"130.1030","until":"130.*","originalSince":"130.1030","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.9.3","since":"130.555","until":"130.*","originalSince":"130.555","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.9.2","since":"129.111","until":"130.*","originalSince":"129.111","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.9.1","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.9","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.8.9","since":"120.11","until":"120.*","originalSince":"120.11","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.9","since":"111.167","until":"111.*","originalSince":"111.167","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.8","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.7","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.6","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.5","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.4","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.3","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.2","since":"110.187","until":"110.*","originalSince":"110.187","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.6.1","since":"108.1452","until":"108.*","originalSince":"108.1452","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5.5","since":"107.322","until":"107.*","originalSince":"107.322","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5.4","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5.3","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5.2","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5.1","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.5","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.11","since":"106.491","until":"106.*","originalSince":"106.491","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.10","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.9","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.8","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.7","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.6","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.5","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.4","since":"106.149","until":"106.*","originalSince":"106.149","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.3","since":"104.0","until":"104.*","originalSince":"104.0","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.2","since":"103.14","until":"103.*","originalSince":"103.14","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.1.1","since":"98.294","until":"103.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4.1","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.4","since":"103.14","until":"103.*","originalSince":"103.14","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.8","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.6","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.5","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.4.2","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.4.1","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.4","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.3.1","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.3","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.2","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3.1","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.3","since":"98.294","until":"98.*","originalSince":"98.294","originalUntil":null},{"id":"com.intellij.flex.uiDesigner","version":"0.2","since":"","until":"201","originalSince":null,"originalUntil":null},{"id":"com.xxxtai.coding.SmartInputSourceIntelliJ","version":"1.0-211-newest","since":"211.0","until":"223.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"pl.semidude.tree-view-by-default","version":"1.0.2","since":"213.0","until":"213.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"pl.semidude.tree-view-by-default","version":"1.0","since":"213.0","until":"213.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.hxw.newmapperext","version":"1.0.4","since":"201","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.hxw.newmapperext","version":"1.0.7","since":"201.*","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.sourceplusplus.plugin.intellij","version":"0.7.7","since":"221.5080.210","until":"223.8617.56","originalSince":"221.5080.210","originalUntil":null},{"id":"com.sourceplusplus.plugin.intellij","version":"0.7.7.1","since":"221.5080.210","until":"223.8617.56","originalSince":"221.5080.210","originalUntil":null},{"id":"com.fuhrer.intellij.jumpy","version":"1.0","since":"222.0","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.github.nghiatm.robotframeworkplugin","version":"1.2.0","since":"202","until":"","originalSince":"202.2","originalUntil":null},{"id":"MetricsReloaded","version":"0.3.1","since":"","until":"212.*","originalSince":null,"originalUntil":null},{"id":"online.viestudio.idea-paper-kit","version":"1.0.2","since":"221.4842.29","until":"222.*","originalSince":"221.4842.29","originalUntil":"231.*"},{"id":"com.previewjs.intellij.plugin","version":"1.17.3","since":"212.0","until":"999","originalSince":"212.0","originalUntil":"999.0"},{"id":"io.github.binarybeing.hotcat.plugin","version":"1.3.4","since":"211.0","until":"212.3","originalSince":"210.0","originalUntil":"212.3"},{"id":"com.injectionforxcode.injection.plugin.id","version":"3.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.injectionforxcode.injection.plugin.id","version":"3.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.injectionforxcode.injection.plugin.id","version":"3.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.ntilde.androidinput","version":"1.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.talkingdata.my.favorite.code","version":"1.0.1","since":"173.0","until":"193.*","originalSince":"173.0","originalUntil":null},{"id":"com.tang","version":"1.3.9-IDEA231","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"com.gerry.redis","version":"3.0","since":"211","until":"223.*","originalSince":"201.8743.12","originalUntil":null},{"id":"com.github.daputzy.intellij-sops-plugin","version":"1.0.0","since":"221.*","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.find.reference.FindReference","version":"1.0","since":"211.0","until":"221","originalSince":"212.0","originalUntil":null},{"id":"com.xiaolan.happyCode","version":"1.2-SNAPSHOT","since":"202.0","until":"231.*","originalSince":"173.0","originalUntil":null},{"id":"EditorGroups","version":"0.19","since":"181.4892","until":"203","originalSince":"181.4892","originalUntil":null},{"id":"EditorGroups","version":"0.26","since":"192.5728.12","until":"203","originalSince":"192.5728.12","originalUntil":null},{"id":"EditorGroups","version":"0.28","since":"192.5728.12","until":"202","originalSince":"192.5728.12","originalUntil":null},{"id":"EditorGroups","version":"0.32","since":"193.6911.18","until":"202.0","originalSince":"193.6911.18","originalUntil":null},{"id":"EditorGroups","version":"0.34","since":"202.0","until":"211","originalSince":"202.0","originalUntil":null},{"id":"org.jspresso.plugin.tmar","version":"2.12.3","since":"192.0","until":"211.*","originalSince":"192.0","originalUntil":null},{"id":"com.github.nthykier.debpkg","version":"0.0.19","since":"212.0","until":"222.*","originalSince":"211.0","originalUntil":"222.*"},{"id":"com.yonyou.yy-tool","version":"1.0-SNAPSHOT","since":"210.0","until":"231.*","originalSince":"182.0","originalUntil":"231.*"},{"id":"com.intellij.idea.plugin.sap.commerce","version":"1908.2","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"com.intellij.idea.plugin.sap.commerce","version":"1908.3","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"pers.wjx.plugin.yourProgressBar","version":"1.0","since":"211.*","until":"","originalSince":"192.0","originalUntil":null},{"id":"IntelliStripes","version":"0.7.5.584","since":"72.7361","until":"75.0","originalSince":"72.7361","originalUntil":null},{"id":"IntelliStripes","version":"0.7.1.576","since":"72.7361","until":"75.0","originalSince":"72.7361","originalUntil":null},{"id":"IntelliStripes","version":"0.6.2.364","since":"72.7361","until":"75.0","originalSince":"72.7361","originalUntil":null},{"id":"IntelliStripes","version":"0.4.4.364","since":"72.7361","until":"75.0","originalSince":"72.7361","originalUntil":null},{"id":"IntelliStripes","version":"0.4.3.364","since":"72.7361","until":"75.0","originalSince":"72.7361","originalUntil":null},{"id":"IntelliStripes","version":"0.4.1.294","since":"69.7123","until":"75.0","originalSince":"69.7123","originalUntil":null},{"id":"IntelliStripes","version":"0.3.1.294","since":"69.7123","until":"75.0","originalSince":"69.7123","originalUntil":null},{"id":"IntelliStripes","version":"0.1.3.241","since":"69.7123","until":"75.0","originalSince":"69.7123","originalUntil":null},{"id":"IntelliStripes","version":"0.1.1.111","since":"69.7096","until":"75.0","originalSince":"69.7096","originalUntil":null},{"id":"IntelliStripes","version":"0.1.0.097","since":"69.7096","until":"75.0","originalSince":"69.7096","originalUntil":null},{"id":"com.phpuaca","version":"1.2.1","since":"133.0","until":"181.0","originalSince":"133.0","originalUntil":null},{"id":"com.linkkou.plugin.intellij.assistant","version":"3.0.3","since":"222.0","until":"","originalSince":"212.0","originalUntil":null},{"id":"com.hellogroup.plugin.lua","version":"1.0.15-Stable","since":"213.0","until":"213.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"io.github.prgrmz07.QuickRequest","version":"2022.06.01","since":"212.*","until":"212.*","originalSince":"212.5284","originalUntil":"212.*"},{"id":"com.github.warfaj.paxintellijplugin","version":"0.0.4","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"251.*"},{"id":"com.kalessil.phpStorm.phpInspectionsEA","version":"4.0.6.5","since":"162.1889","until":"213.*","originalSince":"162.1889","originalUntil":null},{"id":"com.github.bofa1ex.wizardgpt","version":"0.0.1","since":"223.0","until":"231.*","originalSince":"213.0","originalUntil":"231.*"},{"id":"com.google.home.ide","version":"0.2.8-prod+0.8","since":"212.0","until":"213.*","originalSince":"212.0","originalUntil":null},{"id":"ai.bloop.extension.webstormplugin","version":"0.0.1","since":"211","until":"221.*","originalSince":"211.0","originalUntil":"999.0"},{"id":"com.eitanliu.dart.mappable","version":"1.0.3","since":"203.0","until":"231","originalSince":"203.0","originalUntil":null},{"id":"com.eitanliu.dart.mappable","version":"1.1.1","since":"221.0","until":"231","originalSince":"221.0","originalUntil":null},{"id":"com.eitanliu.dart.mappable","version":"1.0.0","since":"221.4","until":"","originalSince":"213.0","originalUntil":null},{"id":"color.scheme.Ddark","version":"0.3","since":"191.0","until":"","originalSince":"142.0","originalUntil":null},{"id":"com.jereksel.jailbreakk","version":"0.0.2","since":"193.0","until":"203.*","originalSince":"193.0","originalUntil":null},{"id":"com.jereksel.jailbreakk","version":"0.0.1","since":"193.0","until":"193.*","originalSince":"193.0","originalUntil":null},{"id":"pt.ist.fenixframework.plugin","version":"1.0.1","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"255.*"},{"id":"com.github.bridgecrewio.prismacloud","version":"1.0.3","since":"203","until":"","originalSince":"201.0","originalUntil":null},{"id":"dal-mpe","version":"1.199.202105","since":"181.5684.4","until":"","originalSince":"173.2099.1","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.8.2","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.9.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.7.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.8.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.6.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.4.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.3.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2020.5.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.11.2","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.12.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.10.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.11.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.9.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.7.2","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.7.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.6.2","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.5.1","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.6.1","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.4.1","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.3.1","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.3.2","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.3.3","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.2.1","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.3.0","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.1.1","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2019.2.0","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"2018.12.0","since":"181.0","until":"211.*","originalSince":"181.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"1.1.0","since":"181.0","until":"211.*","originalSince":"173.0","originalUntil":null},{"id":"com.alibabacloud.intellij.toolkit-intellij","version":"1.1.1","since":"181.0","until":"211.*","originalSince":"173.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.6","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.5","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.4","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.3","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.2","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.1","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.potterhsu.jsonviewer","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5.4","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"me.fingerart.idea.apidebugger","version":"1.0.0","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.6","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.eclipse.xtend.idea","version":"2.9.0","since":"131.0","until":"163.1","originalSince":"131.0","originalUntil":null},{"id":"kodebeagleidea","version":"0.1.4","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"kodebeagleidea","version":"0.1.3","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.0","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"kodebeagleidea","version":"0.1.1","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.checkmarx.intellij","version":"7.1.3.7","since":"111.69","until":"200.0","originalSince":"111.69","originalUntil":null},{"id":"gw.vark","version":"0.5","since":"117.418","until":"201.0","originalSince":"117.418","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.1","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"gw.vark","version":"0.5-alpha08","since":"117.418","until":"201.0","originalSince":"117.418","originalUntil":null},{"id":"wide-task-browser","version":"0.1.1","since":"80.8000","until":"231.*","originalSince":"80.8000","originalUntil":null},{"id":"JMeter plugin","version":"1.0","since":"111.277","until":"203","originalSince":"111.277","originalUntil":null},{"id":"coffeescript-idea","version":"0.1-1-gae5a","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":null},{"id":"com.apibility.voicerecognition","version":"0.2Beta","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"GrepCode.com Code Search","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.4.1","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.6","since":"123.72","until":"200.0","originalSince":"123.72","originalUntil":null},{"id":"com.bulenkov.idea.Idea11IconPack","version":"1.1","since":"122.519","until":"162.1000","originalSince":"122.519","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.2.3","since":"191.0","until":"","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.2","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.1","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.6","since":"191.0","until":"","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.5","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.4","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.3","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.2","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"JFormDesigner-Marketplace-Edition","version":"7.0.0.1","since":"191.0","until":"201.0","originalSince":"IU-191.0","originalUntil":null},{"id":"PerforceIC","version":"0.9.4","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"PerforceIC","version":"0.9.3","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"PerforceIC","version":"0.9.2","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"PerforceIC","version":"0.9.1","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"PerforceIC","version":"0.9.0","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"PerforceIC","version":"0.8.7","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"SpellChecker-Dict-Spanish","version":"1.0","since":"72.7269","until":"201.0","originalSince":"72.7269","originalUntil":null},{"id":"com.davidgjm.idea.plugins","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.6","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"JRebelPlugin","version":"6.4.5","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.hal.phpmetrics.id","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CodeLock 1.2","version":"1.2","since":"123.94","until":"201","originalSince":"123.94","originalUntil":null},{"id":"info.bem.bemmet","version":"0.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.petitviolet.idea.scala.minimal-cake-pattern-generator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"SyncEdit 2","version":"2.0","since":"123.94","until":"201","originalSince":"123.94","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.8.12","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.4.2","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.4.1","since":"143.0","until":"231.*","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.4.0","since":"143.0","until":"231.*","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.3.0","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.2.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.2.0.1","since":"139.0","until":"231.*","originalSince":"139.0","originalUntil":null},{"id":"KiwiScrap","version":"1.3","since":"40.1100","until":"191.0","originalSince":"40.1100","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.109","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.110","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.121","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.120","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"0.9.202","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.106","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"com.pawsql.IndexAdvisor","version":"1.0.130","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"TrackLink","version":"0.1","since":"40.3405","until":"201.0","originalSince":"40.3405","originalUntil":null},{"id":"Raven","version":"1.0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Raven","version":"1.0.2","since":"40.2200","until":"201.0","originalSince":"40.2200","originalUntil":null},{"id":"Raven","version":"1.0.3","since":"40.2200","until":"201.0","originalSince":"40.2200","originalUntil":null},{"id":"Raven","version":"1.0.4","since":"40.2200","until":"201.0","originalSince":"40.2200","originalUntil":null},{"id":"Raven","version":"1.1.0","since":"40.3400","until":"201.0","originalSince":"40.3400","originalUntil":null},{"id":"Raven","version":"1.2","since":"40.3400","until":"201.0","originalSince":"40.3400","originalUntil":null},{"id":"Raven","version":"1.2.1","since":"40.3400","until":"201.0","originalSince":"40.3400","originalUntil":null},{"id":"Inca X","version":"3.9.3","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Inca X","version":"4.2.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"GenerateSerialVersionUID","version":"1.1-b83","since":"","until":"","originalSince":null,"originalUntil":null},{"id":"OpenExplorer","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"OpenExplorer","version":"1.0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"OpenExplorer","version":"1.0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"IDETalk","version":"0.1.2","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"SimpleIntentions","version":"1.4.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"GWT Studio","version":"0.1.2","since":"55.5300","until":"201.0","originalSince":"55.5300","originalUntil":null},{"id":"QuickBuild Monitor","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"WicketForge","version":"0.1.2","since":"40.3000","until":"42","originalSince":"40.3000","originalUntil":null},{"id":"WicketForge","version":"0.4.0","since":"69.7124","until":"70","originalSince":"69.7124","originalUntil":null},{"id":"IvyDependencyImportor","version":"2.2final","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"Poison Inspection","version":"0.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"JavaDoc Sync Plugin 8","version":"2.0.1","since":"80.8823","until":"222.*","originalSince":"80.8823","originalUntil":null},{"id":"ReferenceScanner Plugin","version":"5.2","since":"60.6100","until":"201.0","originalSince":"60.6100","originalUntil":null},{"id":"WicketForge","version":"0.6.0","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"WicketForge","version":"0.6.1","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"OCamlSupport","version":"0.9","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"OCamlSupport","version":"0.9.5","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"OCamlSupport","version":"0.9.6","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"OCamlSupport","version":"0.9.7","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"OCamlSupport","version":"0.9.8","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"QuickZip","version":"0.1.0","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"SVN Revision Graph","version":"1.1","since":"99.18","until":"181.0","originalSince":"99.18","originalUntil":null},{"id":"SVN Revision Graph","version":"1.2","since":"99.18","until":"181.0","originalSince":"99.18","originalUntil":null},{"id":"SVN Revision Graph","version":"1.3","since":"99.18","until":"181.0","originalSince":"99.18","originalUntil":null},{"id":"SVN Revision Graph","version":"1.4","since":"111.41","until":"181.0","originalSince":"111.41","originalUntil":null},{"id":"SVN Revision Graph","version":"1.5","since":"111.41","until":"181.0","originalSince":"111.41","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6","since":"111.41","until":"181.0","originalSince":"111.41","originalUntil":null},{"id":"Finder Restarter","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6.1","since":"111.41","until":"181.0","originalSince":"111.41","originalUntil":null},{"id":"JCompilo Java Compiler","version":"91","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"JCompilo Java Compiler","version":"93","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6.2","since":"123.23","until":"181.0","originalSince":"123.23","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6.3","since":"123.23","until":"181.0","originalSince":"123.23","originalUntil":null},{"id":"JCompilo Java Compiler","version":"121","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"JCompilo Java Compiler","version":"126","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.2","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.3","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.4","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.1a","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.2.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.2.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.3.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.3.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.3.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.1.8","since":"123.94","until":"123.*","originalSince":"123.94","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.3","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JCompilo Java Compiler","version":"dev.build","since":"133.696","until":"211","originalSince":"133.696","originalUntil":null},{"id":"JCompilo Java Compiler","version":"173","since":"133.696","until":"211","originalSince":"133.696","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.8.1","since":"132.400","until":"211","originalSince":"132.400","originalUntil":null},{"id":"CodeOutline2","version":"0.5.2","since":"123.72","until":"201","originalSince":"123.72","originalUntil":null},{"id":"Twelf Plugin","version":"1.1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"org.elixir_lang","version":"0.2.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"IdeaVIM","version":"0.38","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.0.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.7.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.2.0.3","since":"140.2285","until":"231.*","originalSince":"140.2285","originalUntil":null},{"id":"JRebelPlugin","version":"6.1.1-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.contentful.ideagenerator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.2","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.0.390","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"CUBA","version":"2.8.0.14","since":"139.224","until":"211","originalSince":"139.224","originalUntil":null},{"id":"com.github.shiraji.createintentinspection","version":"0.0.1","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.github.shiraji.newinstanceinspection","version":"0.0.1","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"ua.pp.madcap.codingame.plugin","version":"0.1","since":"140.0","until":"201.0","originalSince":"140.0","originalUntil":null},{"id":"ru.oldtown.idea.workflowplugin","version":"1.0","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"ua.pp.madcap.codingame.plugin","version":"0.2","since":"140.0","until":"201.0","originalSince":"140.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.maddouri.intellij.OnlineSearch","version":"1.1.0","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.9.2016","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.idea.plugin.sap.commerce","version":"1908.4","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.1.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.6.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.6.1","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.5.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.2.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"com.compileToClass.xq","version":"1.0","since":"173.0","until":"192","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.14.1-1588332201.045","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.19.0-1588710262.946","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.19.0-1588714356.596","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.mybatisflex.bigtian","version":"1.3-RELEASE","since":"222.*","until":"232.*","originalSince":"193.*","originalUntil":"232.*"},{"id":"com.pawsql.IndexAdvisor","version":"1.0.141","since":"201.0","until":"232","originalSince":"201.0","originalUntil":null},{"id":"de.hypoport.plugins.DozerPlugin","version":"2.0.1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"de.hypoport.plugins.DozerPlugin","version":"2.0","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.amandaprocoder.GoogleSearch","version":"1.3-SNAPSHOT","since":"221","until":"221","originalSince":"221","originalUntil":"231.*"},{"id":"com.kotcrab.quicklaunch","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.copysourcegraphlink","version":"0.1.0","since":"173.0","until":"212","originalSince":"173.0","originalUntil":null},{"id":"com.copysourcegraphlink","version":"0.1.1","since":"173.0","until":"212","originalSince":"173.0","originalUntil":null},{"id":"com.simple.plugin","version":"1.0.0","since":"193.5662","until":"231.9225","originalSince":"193.5662","originalUntil":null},{"id":"com.github.linrenen.uniappsupport","version":"1.1.16-232.8","since":"232.1","until":"232.1","originalSince":"232.1","originalUntil":"999.0"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.6","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":null},{"id":"im.simo.rubymine.sorbet-lsp","version":"1.0","since":"232.0","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.zelaux.arcplugin","version":"0.31","since":"222.*","until":"223.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"pkunk.hoi4","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.fig.jetbrains","version":"2.0.0","since":"203","until":"203","originalSince":"203","originalUntil":"999"},{"id":"com.zelaux.arcplugin","version":"0.7.7","since":"222.3345.118","until":"232.9392.1","originalSince":"222.3345.118","originalUntil":"232.*"},{"id":"com.zhutmost.svlsp","version":"0.0.1","since":"232.0","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"me.jaffe2718.devkit","version":"1.0.0","since":"232.9559.34","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.github.seayon.jsonrpchelper","version":"0.1.6","since":"213","until":"232.*","originalSince":"211.*","originalUntil":"232.*"},{"id":"fr.imacaron.keylogger","version":"1.0","since":"231.*","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.softwareco.intellij.plugin","version":"2.4.6","since":"172","until":"","originalSince":"164.0","originalUntil":null},{"id":"fr.imacaron.keylogger","version":"1.1","since":"231.*","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.hth.pojo2sql","version":"20230906-bate-1.0.0","since":"221.0","until":"232.*","originalSince":"201.0","originalUntil":"232.*"},{"id":"com.gitlab.plugin","version":"0.3.0","since":"232.7754.73","until":"232.9559.62","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"io.mend.advisecode","version":"1.0.0","since":"222.*","until":"232.*","originalSince":"221.0","originalUntil":"232.*"},{"id":"com.ipaylinks.code-master","version":"2.4.8-SNAPSHOT","since":"222.2","until":"232.*","originalSince":"201.0","originalUntil":"232.*"},{"id":"CodeQualityAnalysisPlugin","version":"1.0.1","since":"203.0","until":"232.*","originalSince":"203.0","originalUntil":"240.0"},{"id":"com.cherryleafroad.rust.playground","version":"1.0.2","since":"211.6693","until":"211.7142.45","originalSince":"211.6693","originalUntil":"211.*"},{"id":"com.cherryleafroad.rust.playground","version":"1.0.1","since":"211.6693","until":"211.7142.45","originalSince":"211.6693","originalUntil":"211.*"},{"id":"Valkyrie","version":"0.0.5","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"240.*"},{"id":"com.luomacode.ChatMoss","version":"1.0.9","since":"203.0","until":"232.*","originalSince":"203.0","originalUntil":"999.*"},{"id":"com.intechcore.scell.ideaplugin","version":"1.3.2-java11-DEMO-0.0.3-beta","since":"231.*","until":"231.*","originalSince":"231.9011","originalUntil":"231.*"},{"id":"ColourChooser","version":"0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"ColourChooser","version":"0.3","since":"40.3200","until":"201.0","originalSince":"40.3200","originalUntil":null},{"id":"ColourChooser","version":"0.4","since":"40.2235","until":"201.0","originalSince":"40.2235","originalUntil":null},{"id":"ColourChooser","version":"0.4b","since":"40.3370","until":"201.0","originalSince":"40.3370","originalUntil":null},{"id":"ColourChooser","version":"0.4d","since":"40.3370","until":"201.0","originalSince":"40.3370","originalUntil":null},{"id":"ColourChooser","version":"0.4e","since":"40.2250","until":"40.2998","originalSince":"40.2250","originalUntil":"40.2999"},{"id":"SvgViewer","version":"2.2.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"SvgViewer","version":"2.2.3","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"SvgViewer","version":"2.2.4","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"SvgViewer","version":"2.2.7","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"SvgViewer","version":"2.2.8","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"ImageView","version":"0.1","since":"40.2200","until":"201.0","originalSince":"40.2200","originalUntil":null},{"id":"ChatPlugin","version":"1.6","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"ChatPlugin","version":"1.6.1","since":"40.642","until":"201.0","originalSince":"40.642","originalUntil":null},{"id":"ChatPlugin","version":"1.6.2","since":"40.642","until":"201.0","originalSince":"40.642","originalUntil":null},{"id":"ChatPlugin","version":"1.6.3","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"ChatPlugin","version":"2.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"ChatPlugin","version":"1.6.4","since":"40.2169","until":"201.0","originalSince":"40.2169","originalUntil":null},{"id":"ChatPlugin","version":"2.0.1","since":"40.2169","until":"201.0","originalSince":"40.2169","originalUntil":null},{"id":"HexView","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"HexView","version":"1.1","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JarSpyPlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Log4JPlugin","version":"0.9.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Log4JPlugin","version":"0.9.4","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"Macros Manager","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"PooCookie","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"PreconditionPlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"RegexPlugin","version":"0.5.7","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"RegexPlugin","version":"0.5.8","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"RegexPlugin","version":"0.5.9","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"RegexPlugin","version":"0.5.10","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"RegexPlugin","version":"0.5.11","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"SamePlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"SequencePlugin","version":"0.5.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"IdeProcessPriority","version":"1.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"IdeProcessPriority","version":"1.3","since":"40.2244","until":"201.0","originalSince":"40.2244","originalUntil":null},{"id":"IdeProcessPriority","version":"1.3.1","since":"40.3432","until":"201.0","originalSince":"40.3432","originalUntil":null},{"id":"ShowEncodingPlugin","version":"1.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"SwitchFile","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"com.nicity.plugins.idea.TimePlugin","version":"0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Time Convertor Plugin","version":"1.0.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Time Convertor Plugin","version":"1.0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Time Convertor Plugin","version":"1.0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"RSSPlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"RSSPlugin","version":"1.0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"RSSPlugin","version":"1.1","since":"40.2169","until":"201.0","originalSince":"40.2169","originalUntil":null},{"id":"RSSPlugin","version":"1.1.1","since":"40.2169","until":"201.0","originalSince":"40.2169","originalUntil":null},{"id":"CompileWithoutDependencies","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Module Dependency Graph","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Module Dependency Graph","version":"0.1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Module Dependency Graph","version":"0.1.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Hagrid","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Hagrid","version":"0.2","since":"40.2000","until":"201","originalSince":"40.2000","originalUntil":null},{"id":"SimplePowerPack","version":"0.0.1","since":"40.3273","until":"201.0","originalSince":"40.3273","originalUntil":null},{"id":"SimplePowerPack","version":"0.0.2","since":"40.3273","until":"201.0","originalSince":"40.3273","originalUntil":null},{"id":"SimplePowerPack","version":"0.0.3","since":"40.3273","until":"201.0","originalSince":"40.3273","originalUntil":null},{"id":"SimplePowerPack","version":"0.0.4","since":"40.3273","until":"201.0","originalSince":"40.3273","originalUntil":null},{"id":"Open containing folder in a File Explorer","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Open containing folder in a File Explorer","version":"1.0.1","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Open containing folder in a File Explorer","version":"1.0.2","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Open containing folder in a File Explorer","version":"1.0.3","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Native2Ascii","version":"1.0","since":"40.3378","until":"181","originalSince":"40.3378","originalUntil":null},{"id":"Native2Ascii","version":"1.0.1","since":"40.3378","until":"181","originalSince":"40.3378","originalUntil":null},{"id":"Native2Ascii","version":"1.0.2","since":"40.3378","until":"181","originalSince":"40.3378","originalUntil":null},{"id":"Native2Ascii","version":"1.0.4","since":"40.3378","until":"181","originalSince":"40.3378","originalUntil":null},{"id":"Native2Ascii","version":"1.0.5","since":"50.4049","until":"181","originalSince":"50.4049","originalUntil":null},{"id":"Native2Ascii","version":"1.0.6","since":"50.4055","until":"181","originalSince":"50.4055","originalUntil":null},{"id":"Native2Ascii","version":"1.0.7","since":"50.4089","until":"181","originalSince":"50.4089","originalUntil":null},{"id":"Native2Ascii","version":"1.0.8","since":"55.5131","until":"181","originalSince":"55.5131","originalUntil":null},{"id":"XFiles","version":"0.1","since":"40.3461","until":"201.0","originalSince":"40.3461","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.15","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.16","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.17","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"RSS/Atom feed reader","version":"0.21","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"ProjectTitlePlugin","version":"1.0","since":"40.3269","until":"201.0","originalSince":"40.3269","originalUntil":null},{"id":"DocTree","version":"0.1","since":"55.5231","until":"201.0","originalSince":"55.5231","originalUntil":null},{"id":"DocTree","version":"0.11","since":"55.5231","until":"201.0","originalSince":"55.5231","originalUntil":null},{"id":"DocTree","version":"0.2","since":"55.5231","until":"201.0","originalSince":"55.5231","originalUntil":null},{"id":"Time Tracker Plugin","version":"0.1","since":"55.5181","until":"201.0","originalSince":"55.5181","originalUntil":null},{"id":"Time Tracker Plugin","version":"0.2","since":"55.5181","until":"201.0","originalSince":"55.5181","originalUntil":null},{"id":"Time Tracker Plugin","version":"0.3","since":"55.5181","until":"201.0","originalSince":"55.5181","originalUntil":null},{"id":"Time Tracker Plugin","version":"0.5","since":"55.5181","until":"201.0","originalSince":"55.5181","originalUntil":null},{"id":"VMOptions","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"VMOptions","version":"1.0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"OpenWith","version":"1.0","since":"55.5231","until":"201","originalSince":"55.5231","originalUntil":null},{"id":"PrivateWriteInspection","version":"0.1","since":"40.3341","until":"201.0","originalSince":"40.3341","originalUntil":null},{"id":"Inspection-JS for Demetra","version":"1.0.0","since":"40.3400","until":"183.0","originalSince":"40.3400","originalUntil":null},{"id":"Inspection-JS for Demetra","version":"1.0.1","since":"55.5000","until":"183.0","originalSince":"55.5000","originalUntil":null},{"id":"AutoBoxing","version":"0.8.6","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"CamouflagePlugin","version":"0.10b","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"SimpleIntentions","version":"1.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.0.1","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.0.2","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.0.3","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.1.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.1.1","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.1.2","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.1","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.2","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.3","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.4","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.5","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.6","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.7","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.8","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.2.9","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.3.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.3.1","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.3.2","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.3.3","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.3.4","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"SVN Report for IntelliJ IDEA","version":"1.0.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"SVN Report for IntelliJ IDEA","version":"1.0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"SVN Report for IntelliJ IDEA","version":"1.0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.0.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.1.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.1.3","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CM Synergy Integration","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"MKS","version":"0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"MKS","version":"0.2.1","since":"40.1178","until":"201.0","originalSince":"40.1178","originalUntil":null},{"id":"MKS","version":"0.3","since":"40.3075","until":"201.0","originalSince":"40.3075","originalUntil":null},{"id":"MKS","version":"0.3.1","since":"40.3117","until":"201.0","originalSince":"40.3117","originalUntil":null},{"id":"MKS","version":"0.3.2","since":"40.3214","until":"201.0","originalSince":"40.3214","originalUntil":null},{"id":"MKS","version":"0.3.4","since":"40.3326","until":"201.0","originalSince":"40.3326","originalUntil":null},{"id":"BackgroundImage","version":"0.3","since":"","until":"231","originalSince":null,"originalUntil":null},{"id":"BackgroundImage","version":"0.4","since":"","until":"231","originalSince":null,"originalUntil":null},{"id":"BackgroundImage","version":"0.5","since":"","until":"231","originalSince":null,"originalUntil":null},{"id":"BackgroundImage","version":"0.6","since":"","until":"231","originalSince":null,"originalUntil":null},{"id":"BackgroundImage","version":"0.7","since":"40.1162","until":"231","originalSince":"40.1162","originalUntil":null},{"id":"BackgroundImage","version":"0.8","since":"40.1162","until":"231","originalSince":"40.1162","originalUntil":null},{"id":"BackgroundImage","version":"0.9","since":"40.1162","until":"231","originalSince":"40.1162","originalUntil":null},{"id":"BackgroundImage","version":"0.9.1","since":"40.3326","until":"231","originalSince":"40.3326","originalUntil":null},{"id":"SkinLFPlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"ToolbarManager","version":"1.1.3","since":"","until":"201","originalSince":null,"originalUntil":null},{"id":"IdeaMouseGestures","version":"1.5","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"IdeaMouseGestures","version":"1.6","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"API Comparator","version":"0.2.1.2","since":"50.4000","until":"183.0","originalSince":"50.4000","originalUntil":null},{"id":"API Comparator","version":"0.2.1.3","since":"40.3000","until":"183.0","originalSince":"40.3000","originalUntil":null},{"id":"ContextViewer","version":"0.7.4","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"CopyFQNPlugin","version":"1.0.5","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"CopyFQNPlugin","version":"1.0.6","since":"40.2200","until":"201.0","originalSince":"40.2200","originalUntil":null},{"id":"Ideascript","version":"0.5.6","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Ideascript","version":"2.0.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Ideascript","version":"2.0.1","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.2","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.3","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.4","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.5","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.6","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"Ideascript","version":"2.0.7","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"scrappy","version":"1.0.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"scrappy","version":"1.0.4","since":"40.2239","until":"201.0","originalSince":"40.2239","originalUntil":null},{"id":"scrappy","version":"1.0.5","since":"40.2239","until":"201.0","originalSince":"40.2239","originalUntil":null},{"id":"MetricsReloaded","version":"0.4","since":"40.2210","until":"212.*","originalSince":"40.2210","originalUntil":null},{"id":"MetricsReloaded","version":"0.5","since":"40.3000","until":"212.*","originalSince":"40.3000","originalUntil":null},{"id":"MetricsReloaded","version":"0.5.1","since":"40.3000","until":"212.*","originalSince":"40.3000","originalUntil":null},{"id":"MetricsReloaded","version":"0.6","since":"40.3400","until":"212.*","originalSince":"40.3400","originalUntil":null},{"id":"MetricsReloaded","version":"0.6.0.1","since":"40.3400","until":"212.*","originalSince":"40.3400","originalUntil":null},{"id":"MetricsReloaded","version":"0.7","since":"55.5000","until":"212.*","originalSince":"55.5000","originalUntil":null},{"id":"MetricsReloaded","version":"0.8","since":"55.5000","until":"212.*","originalSince":"55.5000","originalUntil":null},{"id":"ToggleKeyword","version":"1.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"KiwiScrap","version":"1.0","since":"40.1100","until":"191.0","originalSince":"40.1100","originalUntil":null},{"id":"KiwiScrap","version":"1.1","since":"40.1100","until":"191.0","originalSince":"40.1100","originalUntil":null},{"id":"KiwiScrap","version":"1.2","since":"40.1100","until":"191.0","originalSince":"40.1100","originalUntil":null},{"id":"ProGuard Unscramble Plugin","version":"1.0","since":"40.3089","until":"201.0","originalSince":"40.3089","originalUntil":null},{"id":"Emma Code Coverage","version":"2.0.4217/1","since":"40.2244","until":"201.0","originalSince":"40.2244","originalUntil":null},{"id":"Emma Code Coverage","version":"plugin 0.1 / emma 2.0.4217","since":"40.2244","until":"201.0","originalSince":"40.2244","originalUntil":null},{"id":"IdeaSpring","version":"1.0-beta1","since":"40.1200","until":"51.0","originalSince":"40.1200","originalUntil":null},{"id":"IdeaSpring","version":"1.0-beta2","since":"40.1200","until":"51.0","originalSince":"40.1200","originalUntil":null},{"id":"IdeaSpring","version":"1.0-beta3","since":"40.1200","until":"51.0","originalSince":"40.1200","originalUntil":null},{"id":"IdeaSpring","version":"1.0","since":"40.1200","until":"51.0","originalSince":"40.1200","originalUntil":null},{"id":"IdeaSpring","version":"1.2.1","since":"40.3542","until":"51.0","originalSince":"40.3542","originalUntil":null},{"id":"IdeaSpring","version":"1.2.3","since":"40.3542","until":"51.0","originalSince":"40.3542","originalUntil":null},{"id":"IdeaSpring","version":"1.2.4","since":"40.3542","until":"51.0","originalSince":"40.3542","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.0","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.0.1","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.1","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.1.1","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.2","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.2.1","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.2.2","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.2.3","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.3","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.3.1","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.3.2","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.3.3","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"Struts Navigator Plugin","version":"1.3.4","since":"40.3448","until":"201.0","originalSince":"40.3448","originalUntil":null},{"id":"DeclarationsTools","version":"0.5","since":"40.3436","until":"201.0","originalSince":"40.3436","originalUntil":null},{"id":"Connect4","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Tetris","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"DERViewer","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"dashboard","version":"1.0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"DevPartner","version":"3.0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"IdeaJad","version":"2111","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"IdeaJad","version":"2169.1","since":"40.2169","until":"201.0","originalSince":"40.2169","originalUntil":null},{"id":"MavenPlugin","version":"0.1.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"MavenPlugin","version":"0.1.4","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.8","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5","since":"40.3084","until":"201.0","originalSince":"40.3084","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.1","since":"40.3084","until":"201.0","originalSince":"40.3084","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.2","since":"40.3084","until":"201.0","originalSince":"40.3084","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.3","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.4","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.5","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.6","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.7","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.9","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.10","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.11","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.12","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.13","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.14","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"MavenPlugin","version":"0.1.5.15","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"OptimizeIt 5 Plugin","version":"0.1.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Xp4IdeaProjectPlugin","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"XPlanner plugin","version":"0.5","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"XPlanner plugin","version":"0.6.3","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.4","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.4a","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.4b","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.6","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.5","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.6.5a","since":"40.2013","until":"201.0","originalSince":"40.2013","originalUntil":null},{"id":"XPlanner plugin","version":"0.7","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"XPlanner plugin","version":"0.7b4","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"XPlanner plugin","version":"0.7b5","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"IvyDependencyImportor","version":"1.0","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"IvyDependencyImportor","version":"2.0","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"TrackLink","version":"0.2","since":"40.2250","until":"201.0","originalSince":"40.2250","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.1.1","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.1.2","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.0","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.1","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.2","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.3","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.4","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"Retrotranslator Integration","version":"0.2.5","since":"50.4155","until":"50.4999","originalSince":"50.4155","originalUntil":null},{"id":"unitTest","version":"0.25","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"unitTest","version":"0.27","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"unitTest","version":"0.27.1","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"unitTest","version":"0.27.1a","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"unitTest","version":"0.27.1b","since":"40.3245","until":"201.0","originalSince":"40.3245","originalUntil":null},{"id":"unitTest","version":"0.27.1c","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"unitTest","version":"0.27.1d","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"unitTest","version":"0.27e","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.27.1f","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"unitTest","version":"0.29 build 10","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.29a","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.29b","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.29c","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.301","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.302","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"unitTest","version":"0.303","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.4","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.2","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.3","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.5","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.6","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"JUnitGenerator","version":"1.1.7","since":"40.2233","until":"201.0","originalSince":"40.2233","originalUntil":null},{"id":"FaTPlug","version":"0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.8","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.4","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.5","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.6","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Axis TCP Monitor Plugin","version":"1.0.7","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Auto-Format Text","version":"1.4.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Auto-Format Text","version":"1.4.5","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Code Outline","version":"0.0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Code Outline","version":"0.0.2","since":"40.2178","until":"201.0","originalSince":"40.2178","originalUntil":null},{"id":"Code Outline","version":"0.0.3","since":"40.2178","until":"201.0","originalSince":"40.2178","originalUntil":null},{"id":"Code Outline","version":"0.0.4","since":"40.2178","until":"201.0","originalSince":"40.2178","originalUntil":null},{"id":"Code Outline","version":"0.0.5","since":"40.3396","until":"201.0","originalSince":"40.3396","originalUntil":null},{"id":"LineMover","version":"0.4b","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"LineMover","version":"0.4b Pallada","since":"40.1000","until":"201.0","originalSince":"40.1000","originalUntil":null},{"id":"LineMover","version":"1.0","since":"40.3177","until":"201.0","originalSince":"40.3177","originalUntil":null},{"id":"LineMover","version":"0.4f","since":"40.3177","until":"201.0","originalSince":"40.3177","originalUntil":null},{"id":"LineMover","version":"0.4g","since":"40.3177","until":"201.0","originalSince":"40.3177","originalUntil":null},{"id":"LineMover","version":"1.1","since":"40.3177","until":"201.0","originalSince":"40.3177","originalUntil":null},{"id":"LineMover","version":"1.1b","since":"40.3177","until":"201.0","originalSince":"40.3177","originalUntil":null},{"id":"Modifier Modifier Plugin","version":"0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Modifier Modifier Plugin","version":"0.1.1","since":"40.2178","until":"201.0","originalSince":"40.2178","originalUntil":null},{"id":"Modifier Modifier Plugin","version":"0.1.2","since":"40.2178","until":"201.0","originalSince":"40.2178","originalUntil":null},{"id":"Modifier Modifier Plugin","version":"0.9","since":"40.3100","until":"201.0","originalSince":"40.3100","originalUntil":null},{"id":"MoveElement","version":"0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Reformat","version":"0.7.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"SelectWord","version":"0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Stringify","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Tagify","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"GenerateToString","version":"2.20","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"File status bar","version":"0.1","since":"40.2210","until":"201.0","originalSince":"40.2210","originalUntil":null},{"id":"TabReorder","version":"1.1","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"TabReorder","version":"1.2","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"TabReorder","version":"1.2.1","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"TabReorder","version":"1.2.2","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"TabReorder","version":"1.2.3","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"UndoCloseFile","version":"1.0","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"UndoCloseFile","version":"1.0.1","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"MiniWiki","version":"0.1","since":"40.3117","until":"201.0","originalSince":"40.3117","originalUntil":null},{"id":"MiniWiki","version":"0.2","since":"40.3117","until":"201.0","originalSince":"40.3117","originalUntil":null},{"id":"MiniWiki","version":"0.3","since":"40.3117","until":"201.0","originalSince":"40.3117","originalUntil":null},{"id":"MiniWiki","version":"0.4","since":"40.3117","until":"201.0","originalSince":"40.3117","originalUntil":null},{"id":"Lysosome","version":"1.0","since":"40.2235","until":"201","originalSince":"40.2235","originalUntil":null},{"id":"Lysosome","version":"1.0.1","since":"40.2235","until":"201","originalSince":"40.2235","originalUntil":null},{"id":"Lysosome","version":"1.1","since":"40.2235","until":"201","originalSince":"40.2235","originalUntil":null},{"id":"Lysosome","version":"1.1.1","since":"40.2235","until":"201","originalSince":"40.2235","originalUntil":null},{"id":"StringEditor","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"StringEditor","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"File Info","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"File Info","version":"0.99","since":"40.2246","until":"201.0","originalSince":"40.2246","originalUntil":null},{"id":"File Info","version":"1.0.1","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"File Info","version":"1.0.2","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"File Info","version":"1.1","since":"55.5131","until":"201.0","originalSince":"55.5131","originalUntil":null},{"id":"File Info","version":"1.1.1","since":"55.5131","until":"201.0","originalSince":"55.5131","originalUntil":null},{"id":"Toggle Camel-humps","version":"1.0","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"MyCamelHumps","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"MyCamelHumps","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"MyCamelHumps","version":"1.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"MyCamelHumps","version":"1.3","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"MyCamelHumps","version":"1.4","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Less Hungry Backspace","version":"0.1","since":"40.3386","until":"201.0","originalSince":"40.3386","originalUntil":null},{"id":"Less Hungry Backspace","version":"0.2","since":"40.3386","until":"201.0","originalSince":"40.3386","originalUntil":null},{"id":"Locale Utility","version":"1.0.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Character Browser","version":"0.1.0-5.x","since":"40.3461","until":"145.*","originalSince":"40.3461","originalUntil":null},{"id":"Character Browser","version":"0.2.0-5.x","since":"40.3461","until":"145.*","originalSince":"40.3461","originalUntil":null},{"id":"Character Browser","version":"0.3.0-5.x","since":"40.3461","until":"145.*","originalSince":"40.3461","originalUntil":null},{"id":"Character Browser","version":"0.3.0-Demetra","since":"55.5131","until":"145.*","originalSince":"55.5131","originalUntil":null},{"id":"TabStack","version":"1.0","since":"50.4109","until":"201","originalSince":"50.4109","originalUntil":null},{"id":"Permute Plugin","version":"0.8.0","since":"50.4000","until":"201","originalSince":"50.4000","originalUntil":null},{"id":"OrdbogenSearch","version":"1.0","since":"50.4155","until":"183.0","originalSince":"50.4155","originalUntil":null},{"id":"FunkySearch","version":"2.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"FunkySearch","version":"2.4","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"FunkySearch","version":"2.5","since":"40.3185","until":"201.0","originalSince":"40.3185","originalUntil":null},{"id":"IgnoreFilesFolders","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Resin","version":"1.0.1","since":"","until":"202","originalSince":null,"originalUntil":null},{"id":"Resin","version":"2.9.2","since":"40.3311","until":"202","originalSince":"40.3311","originalUntil":null},{"id":"Resin","version":"1.9.1","since":"","until":"202","originalSince":null,"originalUntil":null},{"id":"Resin","version":"1.9.2","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"1.9.3","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"1.9.5","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"1.9.4","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"1.9.6","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"1.9.7","since":"40.2159","until":"202","originalSince":"40.2159","originalUntil":null},{"id":"Resin","version":"2.9.1","since":"40.3214","until":"202","originalSince":"40.3214","originalUntil":null},{"id":"Resin","version":"2.9.3","since":"40.3431","until":"202","originalSince":"40.3431","originalUntil":null},{"id":"Resin","version":"2.9.4","since":"40.3431","until":"202","originalSince":"40.3431","originalUntil":null},{"id":"Resin","version":"2.9.5","since":"40.3431","until":"202","originalSince":"40.3431","originalUntil":null},{"id":"Resin","version":"3.9.0","since":"55.5231","until":"202","originalSince":"55.5231","originalUntil":null},{"id":"AndyTesters","version":"1.0","since":"","until":"222","originalSince":null,"originalUntil":null},{"id":"Code queries","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"PsiViewer","version":"2.20 build 4 20031021","since":"","until":"110.*","originalSince":null,"originalUntil":null},{"id":"PsiViewer","version":"2.21.1","since":"40.2000","until":"110.*","originalSince":"40.2000","originalUntil":null},{"id":"PsiViewer","version":"2.22.1","since":"40.2000","until":"110.*","originalSince":"40.2000","originalUntil":null},{"id":"PsiViewer","version":"2.23.16","since":"40.3144","until":"110.*","originalSince":"40.3144","originalUntil":null},{"id":"PsiViewer","version":"2.25.4","since":"40.3185","until":"110.*","originalSince":"40.3185","originalUntil":null},{"id":"PsiViewer","version":"2.24.1","since":"40.3144","until":"110.*","originalSince":"40.3144","originalUntil":null},{"id":"PsiViewer","version":"2.25.1","since":"40.3185","until":"110.*","originalSince":"40.3185","originalUntil":null},{"id":"PsiViewer","version":"2.25.2","since":"40.3185","until":"110.*","originalSince":"40.3185","originalUntil":null},{"id":"PsiViewer","version":"2.25.3","since":"40.3185","until":"110.*","originalSince":"40.3185","originalUntil":null},{"id":"MailPlugin","version":"0.0.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Net client","version":"1.1101","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"IDETalk","version":"0.1.1","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.4","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.1","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.2","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.3","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.5","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.6","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.6.1","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"IDETalk","version":"0.5.6.2","since":"40.2230","until":"181.0","originalSince":"40.2230","originalUntil":null},{"id":"TMatePlugin","version":"1.5.2","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.1","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.3","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.4","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.5","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.6","since":"40.2239","until":"113.29","originalSince":"40.2239","originalUntil":null},{"id":"TMatePlugin","version":"1.5.7","since":"40.3436","until":"113.29","originalSince":"40.3436","originalUntil":null},{"id":"TMatePlugin","version":"1.5.8","since":"40.3436","until":"113.29","originalSince":"40.3436","originalUntil":null},{"id":"TMatePlugin","version":"1.6.0","since":"40.3436","until":"113.29","originalSince":"40.3436","originalUntil":null},{"id":"TMatePlugin","version":"2.0.0","since":"40.3436","until":"113.29","originalSince":"40.3436","originalUntil":null},{"id":"Rob Keyboard","version":"-0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Rob Keyboard","version":"-0.1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"XMLBean Generator","version":"0.0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"XMLBean Generator","version":"0.0.2","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"XMLBean Generator","version":"0.0.3","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"XMLBean Generator","version":"0.0.4","since":"40.2253","until":"201.0","originalSince":"40.2253","originalUntil":null},{"id":"simpleUML","version":"0.28a","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"simpleUML","version":"0.29b","since":"40.2132","until":"201.0","originalSince":"40.2132","originalUntil":null},{"id":"simpleUML","version":"0.29c","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"simpleUML","version":"0.29d","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"simpleUML","version":"0.29e","since":"40.3354","until":"201.0","originalSince":"40.3354","originalUntil":null},{"id":"DiamondSpin","version":"1.6","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"ReferenceScanner Plugin","version":"1.0.2","since":"40.1100","until":"201.0","originalSince":"40.1100","originalUntil":null},{"id":"ZipTo(G)mail Backup","version":"0.1","since":"40.3394","until":"201.0","originalSince":"40.3394","originalUntil":null},{"id":"ZipTo(G)mail Backup","version":"0.1a","since":"40.3394","until":"201.0","originalSince":"40.3394","originalUntil":null},{"id":"yGuard Unscramble plugin","version":"0.1","since":"40.3235","until":"201.0","originalSince":"40.3235","originalUntil":null},{"id":"Jar Manifest","version":"0.1","since":"40.3235","until":"201.0","originalSince":"40.3235","originalUntil":null},{"id":"Jar Manifest","version":"0.1.1","since":"40.3245","until":"201.0","originalSince":"40.3245","originalUntil":null},{"id":"Jar Manifest","version":"0.1.2","since":"40.3273","until":"201.0","originalSince":"40.3273","originalUntil":null},{"id":"Jar Manifest","version":"0.2","since":"40.3281","until":"201.0","originalSince":"40.3281","originalUntil":null},{"id":"Jar Manifest","version":"0.3","since":"40.3370","until":"201.0","originalSince":"40.3370","originalUntil":null},{"id":"Jar Manifest","version":"0.4","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"SQL script editor","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Batch Scripts Support","version":"1.0","since":"55.5231","until":"182.*","originalSince":"55.5231","originalUntil":null},{"id":"Javascript Compressor","version":"0.9","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"Javascript Compressor","version":"0.9.1","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"Javascript Compressor","version":"0.9.2","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"Javascript Compressor","version":"1.0","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"Javascript Compressor","version":"1.0.1","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"Javascript Compressor","version":"1.1.0","since":"40.3542","until":"201.0","originalSince":"40.3542","originalUntil":null},{"id":"LYCAY","version":"0.5","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"LYCAY","version":"0.51","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"LYCAY","version":"0.512","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"DocTree","version":"0.22","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.2","since":"55.5289","until":"181","originalSince":"55.5289","originalUntil":null},{"id":"ReferenceScanner Plugin","version":"2.7","since":"40.3100","until":"201.0","originalSince":"40.3100","originalUntil":null},{"id":"Research","version":"0.1","since":"55.5321","until":"201","originalSince":"55.5321","originalUntil":null},{"id":"DragNDrop","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"SeleniumRC Server","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Yahoo Search","version":"1.0","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"yWorks Ant Explorer","version":"1.0.2","since":"40.3400","until":"201.0","originalSince":"40.3400","originalUntil":null},{"id":"Jsp Internationalizer","version":"1.3","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"JAXB 2.0 XJC generator","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"reportmill","version":"9.0.5","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"Maven Dependency Manager","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"DragNDrop","version":"1.1","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"TrackLink","version":"1.1.85","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"DocTree","version":"0.23","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"File Info","version":"1.1.2","since":"55.5131","until":"201.0","originalSince":"55.5131","originalUntil":null},{"id":"Native2Ascii","version":"1.0.9","since":"55.5557","until":"222.*","originalSince":"55.5557","originalUntil":null},{"id":"Problems View","version":"1.0","since":"55.5557","until":"181","originalSince":"55.5557","originalUntil":null},{"id":"TrackLink","version":"1.1.91","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"Maven Dependency Manager","version":"1.01","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"JavaDoc Browser","version":"0.2.2","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"Eclipse Dependency Sync","version":"0.9","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Color Browser","version":"0.1.0-5.x","since":"40.3461","until":"181","originalSince":"40.3461","originalUntil":null},{"id":"Eclipse Dependency Sync","version":"0.9.1","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Color Browser","version":"0.1.0-6.x","since":"55.5000","until":"181","originalSince":"55.5000","originalUntil":null},{"id":"Color Browser","version":"0.2.0-5.x","since":"40.3461","until":"181","originalSince":"40.3461","originalUntil":null},{"id":"Color Browser","version":"0.2.0-6.x","since":"55.5000","until":"181","originalSince":"55.5000","originalUntil":null},{"id":"IDEA Doc","version":"1.0RC1","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Color Browser","version":"0.2.1-5.x","since":"40.3461","until":"181","originalSince":"40.3461","originalUntil":null},{"id":"Color Browser","version":"0.2.1-6.x","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"DocTree","version":"0.24","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"ScratchPad","version":"0.11","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"ScratchPad","version":"0.12","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"ScratchPad","version":"0.13","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"Key promoter_obsolete","version":"0.5","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"0.6","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"0.7","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"SVN Report for IntelliJ IDEA","version":"1.0.3","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Report for IntelliJ IDEA","version":"1.1.4","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"HexView","version":"1.2","since":"40.2233","until":"201","originalSince":"40.2233","originalUntil":null},{"id":"HotPlugin","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"0.8","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"BeanShell Box","version":"0.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"0.9","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"BeanShell Box","version":"0.2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Batch Generator","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"MantisConnect for Idea","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"MantisConnect for Idea","version":"1.0a","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"MantisConnect for Idea","version":"1.0b","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"MantisConnect for Idea","version":"1.0RC1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"IDEAStickyPaper","version":"1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"MantisConnect for Idea","version":"1.0RC2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"Batch Generator","version":"1.1 RC1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Batch Generator","version":"1.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"IDEAStickyPaper","version":"1.0-1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"CCMonitor","version":"0.8","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"IDEAStickyPaper","version":"1.0-2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"IntelliLang","version":"0.8","since":"55.5706","until":"60.*","originalSince":"55.5706","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.1","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"CodeDependency","version":"1.1","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"simpleUML","version":"0.31","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"Resin","version":"3.9.2","since":"55.5231","until":"202","originalSince":"55.5231","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.2","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"FaTPlug","version":"0.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Batch Generator","version":"1.1.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Resin","version":"3.9.3","since":"55.5231","until":"202","originalSince":"55.5231","originalUntil":null},{"id":"IntelliLang","version":"0.9","since":"55.5755","until":"60.*","originalSince":"55.5755","originalUntil":null},{"id":"CodeDependency","version":"1.2","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"MiscCommand","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.0","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.01","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.02","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Refactor-X for IDEA 6.0","version":"2.01","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"EasyPluginInstaller","version":"0.5","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.03","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Harvest Integration","version":"1.0","since":"40.3000","until":"183.0","originalSince":"40.3000","originalUntil":null},{"id":"IntelliLang","version":"1.0","since":"55.5784","until":"60.*","originalSince":"55.5784","originalUntil":null},{"id":"SVN Report for IntelliJ IDEA","version":"1.0.4","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"EasyPluginInstaller","version":"0.6","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"KonaWorks PowerPack","version":"1.0","since":"55.5131","until":"211","originalSince":"55.5131","originalUntil":null},{"id":"RegexPlugin","version":"0.6.0","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"NaviActionPad","version":"0.3","since":"55.5766","until":"193.0","originalSince":"55.5766","originalUntil":null},{"id":"Image Design Editor","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"KonaWorks PowerPack","version":"1.1","since":"55.5131","until":"211","originalSince":"55.5131","originalUntil":null},{"id":"Harvest Integration","version":"1.0","since":"40.3000","until":"183.0","originalSince":"40.3000","originalUntil":null},{"id":"KonaWorks PowerPack","version":"1.2","since":"55.5131","until":"211","originalSince":"55.5131","originalUntil":null},{"id":"Problems View","version":"1.0.1","since":"55.5557","until":"181","originalSince":"55.5557","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.03","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.04","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"CodeDependency","version":"1.3","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"FQN Improved","version":"1.0","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"CodeDependency","version":"1.3.1","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"Class Hunter","version":"0.1","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"IntelliLang","version":"1.1","since":"55.5784","until":"60.*","originalSince":"55.5784","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.5","since":"55.5000","until":"181","originalSince":"55.5000","originalUntil":null},{"id":"AutoConstructor","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"AutoConstructor","version":"0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Batch Generator","version":"1.1.2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"iSnippet","version":"1.0","since":"55.5661","until":"201.0","originalSince":"55.5661","originalUntil":null},{"id":"Kiwi Generator","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"KonaWorks PowerPack","version":"1.3","since":"55.5131","until":"211","originalSince":"55.5131","originalUntil":null},{"id":"Maven1.x Repository Updater","version":"1.1","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"Maven1.x Repository Updater","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"Puzzle","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.3","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"Kiwi Generator","version":"1.0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Kiwi Generator","version":"1.0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"NaviActionPad","version":"0.4","since":"55.5766","until":"193.0","originalSince":"55.5766","originalUntil":null},{"id":"EasyPluginInstaller","version":"1.0","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"ThreadMon Plugin","version":"1.0","since":"55.5766","until":"222.*","originalSince":"55.5766","originalUntil":null},{"id":"IntelliLang","version":"1.2","since":"55.5784","until":"60.*","originalSince":"55.5784","originalUntil":null},{"id":"MidStream","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Ant Tracer Plugin","version":"1.0","since":"55.5766","until":"222.*","originalSince":"55.5766","originalUntil":null},{"id":"Jar Juggler","version":"0.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.3","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.3","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.5","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Class Hunter","version":"0.1.1","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"Code Review","version":"1.0","since":"60.6068","until":"222.*","originalSince":"60.6068","originalUntil":null},{"id":"Jar Juggler","version":"0.6","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.7","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"NaviActionPad","version":"0.5","since":"55.5766","until":"193.0","originalSince":"55.5766","originalUntil":null},{"id":"ssh","version":"1.0","since":"55.5784","until":"133.0","originalSince":"55.5784","originalUntil":null},{"id":"GenerateToString","version":"3.27","since":"50.4200","until":"201.0","originalSince":"50.4200","originalUntil":null},{"id":"Switch Structure","version":"1.0","since":"55.5600","until":"183.0","originalSince":"55.5600","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.05","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.1","since":"40.3000","until":"201","originalSince":"40.3000","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.6","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.3","since":"55.5000","until":"201","originalSince":"55.5000","originalUntil":null},{"id":"ssh","version":"1.0.1","since":"55.5784","until":"133.0","originalSince":"55.5784","originalUntil":null},{"id":"Changes Bar","version":"1.1","since":"55.5766","until":"85.*","originalSince":"55.5766","originalUntil":null},{"id":"WDK View","version":"1.0","since":"40.3000","until":"201","originalSince":"40.3000","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.4","since":"55.5000","until":"201","originalSince":"55.5000","originalUntil":null},{"id":"Maven Dependency Manager","version":"1.02","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"IntelliLang","version":"1.2.1","since":"55.5784","until":"60.*","originalSince":"55.5784","originalUntil":null},{"id":"Jar Juggler","version":"0.7","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.8","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.9","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Jar Juggler","version":"0.9b","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"CodeDependency","version":"1.4","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"Refactor-J for IDEA 6.0","version":"2.06","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Code Review","version":"1.1.0","since":"60.6068","until":"222.*","originalSince":"60.6068","originalUntil":null},{"id":"Kiwi Generator","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"SVNbar","version":"1.0","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"FileAttribChanger","version":"0.9","since":"50.4035","until":"201.0","originalSince":"50.4035","originalUntil":null},{"id":"IvyDependencyImportor","version":"2.1","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"Class Hunter","version":"0.1.2","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"Class Hunter","version":"0.1.3","since":"55.5766","until":"201.0","originalSince":"55.5766","originalUntil":null},{"id":"IdeaMouseGestures","version":"1.7","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.4","since":"40.3000","until":"92.0","originalSince":"40.3000","originalUntil":null},{"id":"SQL script editor","version":"1.01","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SQL script editor","version":"1.02","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"NaviActionPad","version":"0.6","since":"55.5766","until":"193.0","originalSince":"55.5766","originalUntil":null},{"id":"Event Sounds","version":"1.00","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.5","since":"55.5000","until":"201","originalSince":"55.5000","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.7","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"Voorkantifyer","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"PluginUpdateNotifier","version":"1.0.0","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"IntelliLang","version":"1.2.2","since":"60.6107","until":"60.*","originalSince":"60.6107","originalUntil":null},{"id":"PluginUpdateNotifier","version":"1.0.1","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.8","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginUpdateNotifier","version":"1.0.2","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.6","since":"55.5000","until":"201","originalSince":"55.5000","originalUntil":null},{"id":"JUnit 4 Synchronizer","version":"0.1","since":"60.6107","until":"222.*","originalSince":"60.6107","originalUntil":null},{"id":"JUnit 4 Synchronizer","version":"0.1.1","since":"60.6107","until":"222.*","originalSince":"60.6107","originalUntil":null},{"id":"JUnit 4 Synchronizer","version":"0.1.1","since":"60.6107","until":"222.*","originalSince":"60.6107","originalUntil":null},{"id":"PluginUpdateNotifier","version":"1.0.3","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"File Info","version":"1.2","since":"60.6667","until":"201.0","originalSince":"60.6667","originalUntil":null},{"id":"Accessors Plugin","version":"0.9.1","since":"50.4000","until":"201.0","originalSince":"50.4000","originalUntil":null},{"id":"org.intellij.jibx","version":"1.1.3","since":"60.6667","until":"201.0","originalSince":"60.6667","originalUntil":null},{"id":"ToggleTest","version":"0.81","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CruiseWatcher","version":"0.6","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"SimpleIntentions","version":"1.5.9","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginUpdateNotifier","version":"1.0.4","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginErrorReportSubmitter","version":"1.0.7","since":"55.5000","until":"201","originalSince":"55.5000","originalUntil":null},{"id":"File Info","version":"1.3","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"CodeCompletionLive","version":"0.1","since":"50.4267","until":"222.*","originalSince":"50.4267","originalUntil":null},{"id":"CodeCompletionLive","version":"0.2","since":"50.4267","until":"222.*","originalSince":"50.4267","originalUntil":null},{"id":"LockSmith","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"NaviActionPad","version":"0.7","since":"55.5766","until":"193.0","originalSince":"55.5766","originalUntil":null},{"id":"ThreadMon Plugin","version":"1.0","since":"55.5766","until":"222.*","originalSince":"55.5766","originalUntil":null},{"id":"LJFriendListReader","version":"1.2.5","since":"40.3500","until":"201.0","originalSince":"40.3500","originalUntil":null},{"id":"GuiceyIDEA","version":"1.0","since":"55.5600","until":"99.0","originalSince":"55.5600","originalUntil":"1.0"},{"id":"Refactor-J for IDEA 6.0","version":"2.07","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"AlphaTab","version":"1.0","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"DeleteMultiLines","version":"1.0","since":"40.3000","until":"201","originalSince":"40.3000","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.5","since":"60.6767","until":"92.0","originalSince":"60.6767","originalUntil":null},{"id":"Key promoter_obsolete","version":"1.0.6","since":"60.6767","until":"92.0","originalSince":"60.6767","originalUntil":null},{"id":"LJFriendListReader","version":"1.2.6","since":"40.3500","until":"201.0","originalSince":"40.3500","originalUntil":null},{"id":"Changes Bar","version":"1.2.2","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"Changes Bar","version":"1.2.3","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"LibraryManager","version":"0.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"Changes Bar","version":"1.3","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"Changes Bar","version":"1.3.1","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"Firefox Search","version":"0.4","since":"60.6180","until":"222.*","originalSince":"60.6180","originalUntil":null},{"id":"Firefox Search","version":"0.5","since":"60.6180","until":"222.*","originalSince":"60.6180","originalUntil":null},{"id":"org.intellij.jibx","version":"1.1.4","since":"60.6667","until":"201.0","originalSince":"60.6667","originalUntil":null},{"id":"Firefox Search","version":"0.6","since":"60.6180","until":"222.*","originalSince":"60.6180","originalUntil":null},{"id":"MKS","version":"0.5","since":"60.6667","until":"201.0","originalSince":"60.6667","originalUntil":null},{"id":"CodeDependency","version":"1.4.1","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"SmartCopy","version":"1.0","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"FileBrowser","version":"1.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"FileBrowser","version":"1.0.1","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"FileBrowser","version":"1.0.2","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"SmartCopy","version":"0.9","since":"50.4069","until":"201.0","originalSince":"50.4069","originalUntil":null},{"id":"CCMonitor","version":"0.9","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"CCMonitor","version":"0.91","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"CCMonitor","version":"1.0","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"GenerateToString","version":"4.0.2","since":"60.6827","until":"201.0","originalSince":"60.6827","originalUntil":null},{"id":"JSUnitTest plugin","version":"1.0","since":"40.3000","until":"202","originalSince":"40.3000","originalUntil":null},{"id":"API Comparator","version":"0.3","since":"","until":"183.0","originalSince":null,"originalUntil":null},{"id":"CVS - Multi-Project updater","version":"1.0.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"FileBrowser","version":"1.1.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"CVS - Multi-Project updater","version":"1.0.1","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"CVS - Multi-Project updater","version":"1.0.2","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"FileBrowser","version":"1.2.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"TrackLink","version":"1.1.121","since":"60.6500","until":"201.0","originalSince":"60.6500","originalUntil":null},{"id":"FileBrowser","version":"1.2.1","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"CVS - Multi-Project updater","version":"1.0.3","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"Firefox Search","version":"0.7","since":"60.6180","until":"222.*","originalSince":"60.6180","originalUntil":null},{"id":"InspectorGeneral","version":"1.0","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.1","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.2","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.1","since":"69.6950","until":"120","originalSince":"69.6950","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.3","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b2","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"SQL script editor","version":"1.03","since":"69.6913","until":"201.0","originalSince":"69.6913","originalUntil":null},{"id":"SerializeMe","version":"0.1","since":"60.6827","until":"201.0","originalSince":"60.6827","originalUntil":null},{"id":"Changes Bar","version":"1.4","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"FileBrowser","version":"1.3.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"SerializeMe","version":"0.2","since":"60.6827","until":"201.0","originalSince":"60.6827","originalUntil":null},{"id":"SerializeMe","version":"0.3","since":"60.6827","until":"201.0","originalSince":"60.6827","originalUntil":null},{"id":"CodeDependency","version":"1.4.2","since":"55.5600","until":"201.0","originalSince":"55.5600","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.4","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.5","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"LockSmith","version":"1.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Instant Calculator","version":"1.0","since":"60.6148","until":"201.0","originalSince":"60.6148","originalUntil":null},{"id":"Telelogic Synergy","version":"0.9.2","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"iBATIS Plugin","version":"0.2","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.6","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"Firefox Search","version":"0.8","since":"60.6180","until":"222.*","originalSince":"60.6180","originalUntil":null},{"id":"FileBrowser","version":"1.4.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"Final modifier","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"XMLNavigate","version":"1.0.6","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SVNbar","version":"1.1","since":"60.6819","until":"201.0","originalSince":"60.6819","originalUntil":null},{"id":"Research","version":"0.2","since":"69.7041","until":"201","originalSince":"69.7041","originalUntil":null},{"id":"TabStack","version":"1.1","since":"69.7041","until":"201","originalSince":"69.7041","originalUntil":null},{"id":"EncodingPlugin","version":"1.0","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"org.intellij.jibx","version":"1.1.5","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"unitTest","version":"1.0283","since":"60.6833","until":"201.0","originalSince":"60.6833","originalUntil":null},{"id":"File Info","version":"1.4","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"org.intellij.jibx","version":"1.1.6","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b3rev1","since":"69.7087","until":"201.0","originalSince":"69.7087","originalUntil":null},{"id":"org.intellij.jibx","version":"2.0.1","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"IdeaMouseGestures","version":"1.9","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"FileBrowser","version":"1.5.0","since":"60.6827","until":"193.0","originalSince":"60.6827","originalUntil":null},{"id":"Changes Bar","version":"1.5","since":"60.6808","until":"85.*","originalSince":"60.6808","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b4","since":"69.7087","until":"201.0","originalSince":"69.7087","originalUntil":null},{"id":"org.intellij.jibx","version":"2.0.2","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"AlphaTab","version":"1.1","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"InspectorGeneral","version":"1.0.7","since":"55.5000","until":"201.0","originalSince":"55.5000","originalUntil":null},{"id":"MKS","version":"0.6","since":"69.7002","until":"201.0","originalSince":"69.7002","originalUntil":null},{"id":"Log4j Plugin","version":"1.0","since":"69.7000","until":"181.0","originalSince":"69.7000","originalUntil":null},{"id":"Log4j Plugin","version":"1.0.1","since":"69.7000","until":"181.0","originalSince":"69.7000","originalUntil":null},{"id":"Log4j Plugin","version":"1.1.0","since":"69.7000","until":"181.0","originalSince":"69.7000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.3","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Log4j Plugin","version":"1.1.1","since":"69.7000","until":"181.0","originalSince":"69.7000","originalUntil":null},{"id":"Berkeley DB Java Edition","version":"1.0","since":"69.7118","until":"201.0","originalSince":"69.7118","originalUntil":null},{"id":"TrackLink","version":"2.0.211","since":"69.6900","until":"201.0","originalSince":"69.6900","originalUntil":null},{"id":"Berkeley DB Java Edition","version":"1.1","since":"69.7118","until":"201.0","originalSince":"69.7118","originalUntil":null},{"id":"JDocs","version":"0.4","since":"60.6189","until":"201.0","originalSince":"60.6189","originalUntil":null},{"id":"XPlanner plugin","version":"0.8","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"JDocs","version":"0.4.1","since":"60.6189","until":"201.0","originalSince":"60.6189","originalUntil":null},{"id":"XMLNavigate","version":"1.0.7","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"XPlanner plugin","version":"0.8.1","since":"40.3311","until":"201.0","originalSince":"40.3311","originalUntil":null},{"id":"Batch Scripts Support","version":"1.0.1","since":"55.5231","until":"182.*","originalSince":"55.5231","originalUntil":null},{"id":"OpenWith","version":"1.0.1","since":"55.5231","until":"201","originalSince":"55.5231","originalUntil":null},{"id":"iBATIS Plugin","version":"0.4","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"IdeaAmp","version":"1.3.2","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"Log4j Plugin","version":"1.1.2","since":"69.7000","until":"181.0","originalSince":"69.7000","originalUntil":null},{"id":"IdeaMouseGestures","version":"1.10","since":"40.1162","until":"201.0","originalSince":"40.1162","originalUntil":null},{"id":"GenerateToString","version":"4.0.4","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"simpleUML","version":"0.32","since":"72.7274","until":"201.0","originalSince":"72.7274","originalUntil":null},{"id":"Changes Bar","version":"1.6","since":"69.7126","until":"85.*","originalSince":"69.7126","originalUntil":null},{"id":"Changes Bar","version":"1.6.1","since":"69.7126","until":"85.*","originalSince":"69.7126","originalUntil":null},{"id":"Winstone Integration Plugin","version":"1.0","since":"69.7126","until":"181.1","originalSince":"69.7126","originalUntil":null},{"id":"SerializeMe","version":"0.4","since":"60.6833","until":"201.0","originalSince":"60.6833","originalUntil":null},{"id":"XMLNavigate","version":"1.0.8","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SpellChecker","version":"0.1","since":"72.7269","until":"181","originalSince":"72.7269","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b5","since":"69.7087","until":"201.0","originalSince":"69.7087","originalUntil":null},{"id":"PluginUpdateNotifier","version":"2.0.0","since":"55.5000","until":"222.*","originalSince":"55.5000","originalUntil":null},{"id":"PluginUpdateNotifier","version":"2.0.1","since":"69.7126","until":"222.*","originalSince":"69.7126","originalUntil":null},{"id":"File Info","version":"1.4.1","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"File Info","version":"1.4.2","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"iBATIS Plugin","version":"0.4.2","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"simpleUML","version":"0.33","since":"72.7274","until":"201.0","originalSince":"72.7274","originalUntil":null},{"id":"File Info","version":"1.4.3","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"SpellChecker","version":"0.2","since":"72.7269","until":"181","originalSince":"72.7269","originalUntil":null},{"id":"JS Debugger","version":"1.0","since":"40.3000","until":"170.0","originalSince":"40.3000","originalUntil":null},{"id":"Winstone Integration Plugin","version":"1.01","since":"69.7126","until":"181.1","originalSince":"69.7126","originalUntil":null},{"id":"iBATIS Plugin","version":"0.5.0","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b5rev1","since":"69.7087","until":"201.0","originalSince":"69.7087","originalUntil":null},{"id":"Build Feedback Plugin","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"BuildFeedback.FreeTTS","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"BuildFeedback.JavaxSound","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"SVNbar","version":"1.2","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"MavenProjectHelper","version":"0.1","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"MavenProjectHelper","version":"0.2","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"MavenProjectHelper","version":"0.3","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"iBATIS Plugin","version":"0.5.1","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Refactor-J for IDEA 7.0","version":"2.08","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"MavenProjectHelper","version":"0.4","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"iBATIS Plugin","version":"0.5.2","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"MavenProjectHelper","version":"0.5","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"PluginUpdateNotifier","version":"2.0.2","since":"69.7126","until":"222.*","originalSince":"69.7126","originalUntil":null},{"id":"Maven Repo Search","version":"1.0","since":"69.7000","until":"180.0","originalSince":"69.7000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.6.0","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Maven Repo Search","version":"1.01","since":"69.7000","until":"180.0","originalSince":"69.7000","originalUntil":null},{"id":"Winstone Integration Plugin","version":"1.02","since":"69.7126","until":"181.1","originalSince":"69.7126","originalUntil":null},{"id":"OpenInIDEA","version":"0.5.1","since":"69.7000","until":"201","originalSince":"69.7000","originalUntil":null},{"id":"Bindows Plugin","version":"1.0b6","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"MavenProjectHelper","version":"0.6","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"OpenInIDEA","version":"0.5.2","since":"69.7000","until":"201","originalSince":"69.7000","originalUntil":null},{"id":"Maven Repo Search","version":"1.02","since":"69.7000","until":"180.0","originalSince":"69.7000","originalUntil":null},{"id":"AAHack","version":"0.1","since":"40.3000","until":"181.0","originalSince":"40.3000","originalUntil":null},{"id":"MavenProjectHelper","version":"0.7","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"Apache Tiles 2.0 plugin","version":"0.1","since":"69.7000","until":"181","originalSince":"69.7000","originalUntil":null},{"id":"PluginUpdateNotifier","version":"2.0.3","since":"69.7126","until":"222.*","originalSince":"69.7126","originalUntil":null},{"id":"CVS Revision Graph","version":"1.0","since":"72.7364","until":"201.0","originalSince":"72.7364","originalUntil":null},{"id":"iBATIS Plugin","version":"0.6.1","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"CVS Revision Graph","version":"1.1","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"CVS Revision Graph","version":"1.3","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"CVS Revision Graph","version":"1.4","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"CVS Revision Graph","version":"1.41","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"DefinitionEqualizer","version":"1.0","since":"60.6180","until":"201.0","originalSince":"60.6180","originalUntil":null},{"id":"CVS Revision Graph","version":"1.50","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SpellChecker","version":"0.3","since":"72.7269","until":"181","originalSince":"72.7269","originalUntil":null},{"id":"IvyDependencyImportor","version":"2.2final","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"CVS Revision Graph","version":"1.60","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"MavenProjectHelper","version":"0.8","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"CVS Revision Graph","version":"1.70","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SpellChecker","version":"0.3.1","since":"72.7269","until":"181","originalSince":"72.7269","originalUntil":null},{"id":"MavenProjectHelper","version":"0.9","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"File Info","version":"1.4.4","since":"60.6708","until":"201.0","originalSince":"60.6708","originalUntil":null},{"id":"CVS Revision Graph","version":"1.80","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Apache Tiles 2.0 plugin","version":"0.2","since":"69.7000","until":"181","originalSince":"69.7000","originalUntil":null},{"id":"Changes Bar","version":"1.6.2","since":"69.7126","until":"85.*","originalSince":"69.7126","originalUntil":null},{"id":"CVS Revision Graph","version":"2.00","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"InspectorGroovy","version":"0.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"CVS Revision Graph","version":"2.10","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Excelsior JET","version":"1.0.1","since":"55.5784","until":"111.167","originalSince":"55.5784","originalUntil":null},{"id":"CVS Revision Graph","version":"2.11","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"org.kohsuke.idea.mbt","version":"1.0","since":"60.6800","until":"222.*","originalSince":"60.6800","originalUntil":null},{"id":"org.kohsuke.idea.mbt","version":"1.0","since":"60.6800","until":"222.*","originalSince":"60.6800","originalUntil":null},{"id":"Carret Inspector","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CVS Revision Graph","version":"2.20","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"ANTLRWorks","version":"1.1.5","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"IntelliHeap","version":"1.0","since":"40.3000","until":"183","originalSince":"40.3000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.6.2","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"MavenProjectHelper","version":"1.0","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"Vcs Revision Graph","version":"1.00","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Vcs Revision Graph","version":"1.01","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SVNbar","version":"1.0.1","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SVNbar","version":"1.2.1","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"SpellChecker","version":"0.3.2","since":"75.7531","until":"181","originalSince":"75.7531","originalUntil":null},{"id":"SpellChecker-Dict-Russian","version":"1.0","since":"72.7269","until":"221.*","originalSince":"72.7269","originalUntil":null},{"id":"SpellChecker","version":"1.0","since":"75.7531","until":"181.0","originalSince":"75.7531","originalUntil":null},{"id":"IntelliPort","version":"1.0","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"CodeLock","version":"1.0","since":"72.7364","until":"200","originalSince":"72.7364","originalUntil":null},{"id":"IntelliBrowser","version":"1.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Grok","version":"1.0","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Grok","version":"1.0.1","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Grok","version":"1.0.2","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Seam Maven 2 Studio for IDEA","version":"1.0","since":"40.2000","until":"201.0","originalSince":"40.2000","originalUntil":null},{"id":"CVS Revision Graph","version":"2.30","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"InspectorGroovy","version":"1.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Grok","version":"1.0.3","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Grok","version":"1.0.4","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Seam Maven 2 Studio for IDEA","version":"1.0.1 Alpha","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Seam Maven 2 Studio for IDEA","version":"1.0.1 Beta","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Rio","version":"0.5","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Seam Maven 2 Studio for IDEA","version":"1.0.1 Beta 0.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"TrackLink","version":"2.1.221","since":"69.6900","until":"181.0","originalSince":"69.6900","originalUntil":null},{"id":"Vcs Revision Graph","version":"1.10","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"iBATIS Plugin","version":"0.6.3","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Prefontaine","version":"0.5","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"IntelliPROF","version":"1.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.8","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"GenerateToString","version":"4.0.5","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Best Web Search","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Resin","version":"3.9.4","since":"55.5231","until":"202","originalSince":"55.5231","originalUntil":null},{"id":"Resin","version":"4.2.1","since":"72.7361","until":"202","originalSince":"72.7361","originalUntil":null},{"id":"Resin","version":"4.3","since":"72.7361","until":"202","originalSince":"72.7361","originalUntil":null},{"id":"GWT ImageBundle","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"JumpToCode","version":"0.1","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"ANTLRWorks","version":"1.1.6","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"QuickPathManager","version":"1.0.0.2","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"QuickPathManager","version":"1.0.0.4","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Base64","version":"1.0","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Code Search","version":"0.99","since":"55.5784","until":"181.0","originalSince":"55.5784","originalUntil":null},{"id":"ANTLRWorks","version":"1.1.7","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"Buildr","version":"0.1","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Buildr","version":"0.1.5","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Rio","version":"0.6","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"CodeLock","version":"1.1","since":"72.7364","until":"200","originalSince":"72.7364","originalUntil":null},{"id":"Buildr","version":"0.1.6","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Buildr","version":"0.2","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Changes Bar","version":"1.6.3","since":"69.7126","until":"85.*","originalSince":"69.7126","originalUntil":null},{"id":"Accessors Plugin","version":"0.9.2","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"SVNbar","version":"1.2.1","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"iBATIS Plugin","version":"0.8.1","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"AlphaTab","version":"1.2","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"SVNbar","version":"1.2.2","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"AlphaTab","version":"1.2.1","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Snipplr API","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Search YouTube Plugin","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"JumpToCode","version":"0.2","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Rio","version":"0.7","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"iBATIS Plugin","version":"0.8.2","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"JumpToCode","version":"0.3","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Arc","version":"0.1","since":"75.7718","until":"201.0","originalSince":"75.7718","originalUntil":null},{"id":"JumpToCode","version":"0.4","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"IdeaAmp","version":"2.0","since":"40.3000","until":"181","originalSince":"40.3000","originalUntil":null},{"id":"org.kohsuke.idea.mbt","version":"1.1","since":"75.7757","until":"222.*","originalSince":"75.7757","originalUntil":null},{"id":"Base64","version":"1.1","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"OpenDSPInclude","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"OpenDSPInclude","version":"1.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.3.17","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Translator","version":"0.1","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"plugin proxy","version":"1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"org.kohsuke.idea.mbt","version":"1.2","since":"75.7757","until":"222.*","originalSince":"75.7757","originalUntil":null},{"id":"Translator","version":"0.9","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Translator","version":"1.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Translator","version":"1.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Arc","version":"0.3","since":"75.7718","until":"201.0","originalSince":"75.7718","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.3.18","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"plugin proxy","version":"1.0.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"OpenDSPInclude","version":"1.2","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.3.19","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"iBATIS Plugin","version":"0.8.3","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.8.4","since":"69.7000","until":"120","originalSince":"69.7000","originalUntil":null},{"id":"Lilith","version":"0.0.1","since":"75.7757","until":"201.0","originalSince":"75.7757","originalUntil":null},{"id":"Lilith","version":"0.0.2","since":"75.7757","until":"201.0","originalSince":"75.7757","originalUntil":null},{"id":"Rio","version":"0.8","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"IdeaAmp","version":"2.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"SVNbar","version":"1.2.3","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"REST Client plugin","version":"0.1","since":"80.8000","until":"222.*","originalSince":"80.8000","originalUntil":null},{"id":"JumpToCode","version":"0.5","since":"72.7364","until":"201.0","originalSince":"72.7364","originalUntil":null},{"id":"MKS","version":"0.7","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"MKS","version":"0.7_Diana","since":"80.8280","until":"201.0","originalSince":"80.8280","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.3.21","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Code Review","version":"1.2.0","since":"69.7000","until":"222.*","originalSince":"69.7000","originalUntil":null},{"id":"Ivy Plugin","version":"2.5.1","since":"50.4000","until":"135","originalSince":"50.4000","originalUntil":null},{"id":"Amazon EC2","version":"0.6","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Amazon EC2","version":"0.7","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Amazon EC2","version":"0.8","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Amazon EC2","version":"1.0","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Amazon EC2","version":"1.0.1","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Shortcut Keys List","version":"1.001","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"unitTest","version":"1.0294","since":"75.7757","until":"201.0","originalSince":"75.7757","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.3.22","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Amazon EC2","version":"1.0.2","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"ATG Inspections","version":"1.0","since":"75.7757","until":"222.*","originalSince":"75.7757","originalUntil":null},{"id":"ATG Inspections","version":"1.2","since":"69.7000","until":"222.*","originalSince":"69.7000","originalUntil":null},{"id":"ATG Inspections","version":"1.2.1","since":"69.7000","until":"222.*","originalSince":"69.7000","originalUntil":null},{"id":"ToggleTest","version":"0.9","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"CruiseWatcher","version":"0.10","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Code Review","version":"1.2.1","since":"69.7000","until":"222.*","originalSince":"69.7000","originalUntil":null},{"id":"JarDoc","version":"1.0","since":"75.7757","until":"201.0","originalSince":"75.7757","originalUntil":null},{"id":"ResourcePlugin","version":"1.0","since":"60.6148","until":"201.0","originalSince":"60.6148","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9","since":"80.8418","until":"120","originalSince":"80.8418","originalUntil":null},{"id":"GenerateToString","version":"4.0.6","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"GenerateToString","version":"4.0.7","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.4.3","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.6","since":"40.2233","until":"212.*","originalSince":"40.2233","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.7","since":"40.2233","until":"212.*","originalSince":"40.2233","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9.1","since":"80.8600","until":"120","originalSince":"80.8600","originalUntil":null},{"id":"Javadoc Helper","version":"1.0","since":"72.7361","until":"222.*","originalSince":"72.7361","originalUntil":null},{"id":"plugin proxy","version":"1.1.0","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"plugin proxy","version":"1.1.1","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"Translator","version":"1.4.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"EasyPatch","version":"2.2.2","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"EasyPatch","version":"2.2.3","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"MavenProjectHelper","version":"1.0","since":"60.6800","until":"201.0","originalSince":"60.6800","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9.4","since":"80.8730","until":"120","originalSince":"80.8730","originalUntil":null},{"id":"API Comparator","version":"0.4","since":"69.7065","until":"183.0","originalSince":"69.7065","originalUntil":null},{"id":"GWT ImageBundle","version":"0.2","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"GWT ImageBundle","version":"0.3","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"OpenDSPInclude","version":"1.3","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"OpenDSPInclude","version":"1.3","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"ANTLRWorks","version":"1.2","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"CheckThread","version":"1.0.7 (Beta), Requires Intellij 7","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9.6","since":"80.8768","until":"120","originalSince":"80.8768","originalUntil":null},{"id":"CheckThread","version":"1.0.7.1 (Beta), Requires Intellij 7","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.4.5","since":"55.5581","until":"201.0","originalSince":"55.5581","originalUntil":null},{"id":"Paste Multiple","version":"1.0","since":"72.7361","until":"201","originalSince":"72.7361","originalUntil":null},{"id":"Code Consultant","version":"1.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Code Consultant","version":"1.2","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"SVNbar","version":"2.0","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Resin","version":"5.0","since":"72.7361","until":"202","originalSince":"72.7361","originalUntil":null},{"id":"Surround each line","version":"1.0","since":"72.7361","until":"201","originalSince":"72.7361","originalUntil":null},{"id":"RevealInFinder","version":"1.0","since":"72.7200","until":"201.0","originalSince":"72.7200","originalUntil":null},{"id":"Javadoc Helper","version":"1.1","since":"72.7361","until":"222.*","originalSince":"72.7361","originalUntil":null},{"id":"JavaDoc Sync Plugin 8","version":"2.0","since":"80.8823","until":"222.*","originalSince":"80.8823","originalUntil":null},{"id":"Equals/hashCode field inspection","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Equals/hashCode field inspection","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Resin","version":"5.1","since":"72.7361","until":"202","originalSince":"72.7361","originalUntil":null},{"id":"Resin","version":"5.1","since":"72.7361","until":"202","originalSince":"72.7361","originalUntil":null},{"id":"SVNbar","version":"2.0","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"Message key usage plugin","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Message key usage plugin","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.0","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.91","since":"40.3000","until":"203","originalSince":"40.3000","originalUntil":null},{"id":"CheckThread","version":"1.0.8 (Beta), Requires Intellij 7","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.0.1","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.92","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"salve-idea","version":"0.10.0","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"salve-idea","version":"0.10.1","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.93","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"salve-idea","version":"0.10.2","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"salve-idea","version":"0.10.3","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"Check My Vars","version":"1.0","since":"72.7361","until":"222.*","originalSince":"72.7361","originalUntil":null},{"id":"Check My Vars","version":"1.0.1","since":"72.7361","until":"222.*","originalSince":"72.7361","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.94","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.1","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"Idea file rename","version":"1.0","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"salve-idea","version":"0.10.4","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.95","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"Equals/hashCode field inspection","version":"1.01","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Idea file rename","version":"1.1","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"ANTLRWorks","version":"1.2.2","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"Lilith","version":"0.0.4","since":"75.7757","until":"201.0","originalSince":"75.7757","originalUntil":null},{"id":"HotOrNot Plugin","version":"1.0","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.96","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"HotOrNot Plugin","version":"1.1","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"Buildr","version":"8.11.22","since":"80.9013","until":"201.0","originalSince":"80.9013","originalUntil":null},{"id":"HotOrNot Plugin","version":"1.2","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.97","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.98","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.99","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"Winstone Integration Plugin","version":"1.10","since":"80.8000","until":"181.1","originalSince":"80.8000","originalUntil":null},{"id":"Code-Amnesia","version":"0.25","since":"40.3000","until":"222.*","originalSince":"40.3000","originalUntil":null},{"id":"SendTo","version":"1.2","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"CheckThread","version":"1.0.8 (Beta), Requires Intellij 7","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"HotOrNot Plugin","version":"1.3","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.5.1","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Unvoid Methods 7","version":"1.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Unvoid Methods 8","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"HotOrNot Plugin","version":"1.4","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"Apache Tiles 2.0 plugin","version":"0.3","since":"80.8000","until":"181","originalSince":"80.8000","originalUntil":null},{"id":"Unvoid Methods 8","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Reformat++","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Gismeteo Plugin","version":"1.0","since":"72.7361","until":"201.0","originalSince":"72.7361","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.1-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.2-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.1.1","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.21-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.1.2","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"MKS","version":"0.7.4-Diana","since":"80.8890","until":"201.0","originalSince":"80.8890","originalUntil":null},{"id":"JarDoc","version":"1.0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"IntelliJ IDEA Mark Plugin","version":"0.1-alpha","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"IntelliJ IDEA Mark Plugin","version":"0.2-alpha","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.30-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"org.kohsuke.idea.mbt","version":"1.3","since":"80.9000","until":"222.*","originalSince":"80.9000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"0.100","since":"75.7941","until":"203","originalSince":"75.7941","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.31-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9.7","since":"85.9677","until":"120","originalSince":"85.9677","originalUntil":null},{"id":"TabReorder","version":"1.3","since":"81.9164","until":"201.0","originalSince":"81.9164","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.2","since":"85.9677","until":"211","originalSince":"85.9677","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.5.3","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"OpenDSPInclude","version":"2.0","since":"81.9164","until":"222.*","originalSince":"81.9164","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.5.4","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"Ivy Plugin","version":"2.5.2","since":"81.9164","until":"135","originalSince":"81.9164","originalUntil":null},{"id":"TabReorder","version":"1.4","since":"81.9164","until":"201.0","originalSince":"81.9164","originalUntil":null},{"id":"Class Names in Comments","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"FIT-ifier","version":"0.2","since":"50.4000","until":"201.0","originalSince":"50.4000","originalUntil":null},{"id":"iBATIS Plugin","version":"0.9.8","since":"85.9677","until":"120","originalSince":"85.9677","originalUntil":null},{"id":"Code Consultant","version":"1.3","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"ProGuard Unscramble Plugin","version":"1.2","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"ANTLRWorks","version":"1.2.3","since":"75.7941","until":"201.0","originalSince":"75.7941","originalUntil":null},{"id":"Code snippets","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.81-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"Code snippets","version":"1.0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"ThisInserter","version":"1.0","since":"80.9013","until":"201","originalSince":"80.9013","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.82-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.83-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"1.0","since":"85.9732","until":"203","originalSince":"85.9732","originalUntil":null},{"id":"Unitils plugin","version":"0.1","since":"80.8000","until":"222.*","originalSince":"80.8000","originalUntil":null},{"id":"Fantom Support","version":"0.0.2","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.jalapeno.idea","version":"8.5.3.beta","since":"85.9732","until":"201.0","originalSince":"85.9732","originalUntil":null},{"id":"SourceViewerService Plugin","version":"1.0","since":"81.9164","until":"201.0","originalSince":"81.9164","originalUntil":null},{"id":"CheckThread","version":"1.0.9, Requires Intellij 7 with JRE 1.6 or greater","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Xcordion","version":"0.9","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"Xcordion","version":"0.9","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"Fantom Support","version":"0.0.3","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"CheckThread","version":"1.0.9.1, Tested on Intellij 7,8 running with JRE 1.6 or greater","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"1.01","since":"85.9732","until":"203","originalSince":"85.9732","originalUntil":null},{"id":"fireworks","version":"1.40","since":"85.9732","until":"181.*","originalSince":"85.9732","originalUntil":null},{"id":"Intellij BashOrg","version":"0.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Intellij BashOrg","version":"0.2","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"salve-idea","version":"1.0","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"Intellij BashOrg","version":"0.2.1","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"salve-idea","version":"1.0.1","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"salve-idea","version":"1.0.2","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"salve-idea","version":"1.0.3","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"JumpToCode","version":"0.7","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"ThisInserter","version":"1.1","since":"80.9013","until":"201","originalSince":"80.9013","originalUntil":null},{"id":"eSnippet Pro plugin","version":"1.3","since":"92.9677","until":"211","originalSince":"92.9677","originalUntil":null},{"id":"Buffer It","version":"1.0","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Buffer It","version":"1.1","since":"50.4267","until":"201.0","originalSince":"50.4267","originalUntil":null},{"id":"Bulk Load Modules","version":"1.00","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"QuickPathManager","version":"1.0.1.0","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"Intellij BashOrg","version":"0.3.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"Arc","version":"0.4","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"Run Emulator plugin","version":"1.0","since":"50.4155","until":"201.0","originalSince":"50.4155","originalUntil":null},{"id":"Apache Tiles 2.0 plugin","version":"0.3.1","since":"85.9880","until":"181","originalSince":"85.9880","originalUntil":null},{"id":"Xcordion","version":"0.9","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.84-dev","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":"85.*"},{"id":"bzr4idea","version":"2.0-M3-SNAPSHOT","since":"85.9732","until":"90","originalSince":"85.9732","originalUntil":null},{"id":"ArgoUML.Integration","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Code Review","version":"1.3.0","since":"69.7000","until":"222.*","originalSince":"69.7000","originalUntil":null},{"id":"salve2-idea","version":"2.0.0","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"salve2-idea","version":"2.0.1","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"Ebean weaver","version":"1.0","since":"85.9886","until":"200","originalSince":"85.9886","originalUntil":null},{"id":"Fantom Support","version":"0.0.4","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"Identifier Highlighter","version":"3.61","since":"90.10666","until":"201.0","originalSince":"90.10666","originalUntil":null},{"id":"Key promoter","version":"1.0.8","since":"92.8000","until":"171","originalSince":"92.8000","originalUntil":null},{"id":"unitTest","version":"1.03","since":"85.9886","until":"201.0","originalSince":"85.9886","originalUntil":null},{"id":"salve2-idea","version":"2.0.2","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"Fantom Support","version":"0.0.5","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.9","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.3.1","since":"85.9677","until":"211","originalSince":"85.9677","originalUntil":null},{"id":"eSnippet Pro plugin","version":"1.3.1","since":"92.9677","until":"211","originalSince":"92.9677","originalUntil":null},{"id":"Dto-Wrapper-Builder Generator","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"ANTLRWorks","version":"1.3","since":"75.7941","until":"201.0","originalSince":"75.7941","originalUntil":null},{"id":"Dto-Wrapper-Builder Generator","version":"0.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.91","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"salve2-idea","version":"2.0.3","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"salve2-idea","version":"2.0.4","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"salve2-idea","version":"2.0.5","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"Dto-Wrapper-Builder Generator","version":"0.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.4.0","since":"90.10000","until":"211","originalSince":"90.10000","originalUntil":null},{"id":"eSnippet Pro plugin","version":"1.4.0","since":"92.9677","until":"211","originalSince":"92.9677","originalUntil":null},{"id":"salve-idea","version":"1.0.4","since":"80.8940","until":"201.0","originalSince":"80.8940","originalUntil":null},{"id":"salve2-idea","version":"2.0.7","since":"90.10372","until":"201.0","originalSince":"90.10372","originalUntil":null},{"id":"Snipplr API","version":"1.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Snipplr API","version":"2.0","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"Bindows Tools","version":"1.0b","since":"80.9013","until":"201.0","originalSince":"80.9013","originalUntil":null},{"id":"Osmorc","version":"1.0.0","since":"","until":"201","originalSince":null,"originalUntil":null},{"id":"Simple Helpers","version":"1.0","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Simple Helpers","version":"1.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Osmorc","version":"1.1.0","since":"","until":"201","originalSince":null,"originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.92","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"Identifier Highlighter","version":"3.62","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"Code Review","version":"1.3.2","since":"","until":"222.*","originalSince":null,"originalUntil":null},{"id":"Code Review","version":"1.3.3","since":"","until":"222.*","originalSince":null,"originalUntil":null},{"id":"ANTLRWorks","version":"1.3.1","since":"","until":"201.0","originalSince":null,"originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-2.6.3-v20091123140000","since":"","until":"183.0","originalSince":null,"originalUntil":null},{"id":"com.intellij.dmserver","version":"0.1.1","since":"","until":"201","originalSince":null,"originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0","since":"92.81","until":"181.0","originalSince":"92.81","originalUntil":null},{"id":"Ebean weaver","version":"1.2","since":"90.10000","until":"200","originalSince":"90.10000","originalUntil":null},{"id":"Winstone Integration Plugin(CE)","version":"1.11","since":"93.13","until":"180.0","originalSince":"93.13","originalUntil":null},{"id":"Fantom Support","version":"0.0.6","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.93","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.2.0","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.94","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"bzr4intellij","version":"2.1.0","since":"91.13","until":"181.0","originalSince":"91.13","originalUntil":null},{"id":"Reformat++","version":"1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"bzr4intellij","version":"2.1.1","since":"91.13","until":"181.0","originalSince":"91.13","originalUntil":null},{"id":"Bulk Load Modules","version":"1.01","since":"90.0","until":"201.0","originalSince":"90.0","originalUntil":null},{"id":"Buildr","version":"9.0.0","since":"93.1","until":"201.0","originalSince":"93.1","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.3.0","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"iTest","version":"1.0.0","since":"81.9313","until":"201.0","originalSince":"81.9313","originalUntil":null},{"id":"MKS","version":"0.8","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"ArgoUML.Integration","version":"0.1.1","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":null},{"id":"RegexPlugin","version":"0.6.1","since":"91.13","until":"201.0","originalSince":"91.13","originalUntil":null},{"id":"iBATIS Plugin","version":"1.0.0","since":"91.13","until":"120","originalSince":"91.13","originalUntil":null},{"id":"org.intellij.jibx","version":"3.1","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.jalapeno.idea","version":"8.5.3.beta","since":"85.9732","until":"201.0","originalSince":"85.9732","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-2.6.3.2-v20100205120000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"ArgoUML.Integration","version":"0.1.2","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"JBoss jBPM","version":"1.0.0","since":"80.8000","until":"124.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.4.0","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.4.2","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.95","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"Ebean weaver","version":"1.3","since":"90.10000","until":"200","originalSince":"90.10000","originalUntil":null},{"id":"bzr4intellij","version":"2.3.0","since":"91.13","until":"181.0","originalSince":"91.13","originalUntil":null},{"id":"bzr4intellij","version":"2.3.1","since":"91.13","until":"181.0","originalSince":"91.13","originalUntil":null},{"id":"unitTest","version":"1.04","since":"93.94","until":"201.0","originalSince":"93.94","originalUntil":null},{"id":"IntelliJ Open Files Copier","version":"1.0","since":"60.6197","until":"201.0","originalSince":"60.6197","originalUntil":null},{"id":"com.jalapeno.idea","version":"1.5.9","since":"75.7590","until":"201.0","originalSince":"75.7590","originalUntil":null},{"id":"com.jalapeno.idea","version":"8.5.4.beta","since":"85.9732","until":"201.0","originalSince":"85.9732","originalUntil":null},{"id":"RegexPlugin","version":"0.6.2","since":"91.13","until":"201.0","originalSince":"91.13","originalUntil":null},{"id":"Osmorc","version":"1.1.1","since":"90.10","until":"201","originalSince":"90.10","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.5.0","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"iTest","version":"1.0.1","since":"81.9313","until":"201.0","originalSince":"81.9313","originalUntil":null},{"id":"MKS","version":"0.8.1","since":"94.426","until":"201.0","originalSince":"94.426","originalUntil":null},{"id":"RelaxNG-Support","version":"1.5.4","since":"95.4","until":"96.0","originalSince":"95.4","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.5.0","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.6.5","since":"90.10000","until":"201","originalSince":"90.10000","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.3","since":"80.8000","until":"141.3058","originalSince":"80.8000","originalUntil":null},{"id":"simpleUMLCE","version":"0.01","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"iBATIS Plugin","version":"1.0.1","since":"91.13","until":"120","originalSince":"91.13","originalUntil":null},{"id":"bzr4intellij","version":"2.4.0","since":"95.66","until":"181.0","originalSince":"95.66","originalUntil":null},{"id":"LogSupport","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"LogSupport","version":"1.0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"LogSupport","version":"1.0.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.6.7","since":"90.10000","until":"95.0","originalSince":"90.10000","originalUntil":null},{"id":"XPlanner plugin","version":"0.9.1","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"Buildr","version":"9.0.0-2010.05.07","since":"93.1","until":"201.0","originalSince":"93.1","originalUntil":null},{"id":"XSLT-Debugger","version":"1.2.3","since":"95.4","until":"201","originalSince":"95.4","originalUntil":null},{"id":"TJSCompressor","version":"1.0","since":"69.7000","until":"201.0","originalSince":"69.7000","originalUntil":null},{"id":"WaspTool","version":"3.0","since":"90.0","until":"181","originalSince":"90.0","originalUntil":null},{"id":"bzr4intellij","version":"2.4.1","since":"95.66","until":"181.0","originalSince":"95.66","originalUntil":null},{"id":"PList File Support","version":"1.0","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":null},{"id":"SBT","version":"1.0.0","since":"95.66","until":"143.0","originalSince":"95.66","originalUntil":null},{"id":"PList File Support","version":"1.1","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":null},{"id":"RelaxNG-Support","version":"1.5.5","since":"95.4","until":"96.0","originalSince":"95.4","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.8.0","since":"90.10000","until":"95.0","originalSince":"90.10000","originalUntil":null},{"id":"com.jalapeno.idea","version":"9.0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.jalapeno.idea.javaee","version":"1.0","since":"95.66","until":"201.0","originalSince":"95.66","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.8.1","since":"90.10000","until":"96.0","originalSince":"90.10000","originalUntil":null},{"id":"bzr4intellij","version":"2.4.2","since":"95.66","until":"181.0","originalSince":"95.66","originalUntil":null},{"id":"Osmorc","version":"1.2.1","since":"90.10","until":"201","originalSince":"90.10","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.1 (alpha)","since":"95.66","until":"191.6708","originalSince":"95.66","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.1.1 (alpha)","since":"95.66","until":"191.6708","originalSince":"95.66","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.0","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.8.2","since":"94.495","until":"97.0","originalSince":"94.495","originalUntil":null},{"id":"UDDI Tools","version":"1.0","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.1","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.2 (alpha)","since":"95.66","until":"191.6708","originalSince":"95.66","originalUntil":null},{"id":"Winstone Integration Plugin(CE)","version":"1.2","since":"93.13","until":"180.0","originalSince":"93.13","originalUntil":null},{"id":"UDDI Tools","version":"1.0.1","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.3 (alpha)","since":"95.66","until":"191.6708","originalSince":"95.66","originalUntil":null},{"id":"JBoss jBPM","version":"1.0.10","since":"96.516","until":"124.0","originalSince":"96.516","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.9.0","since":"96.1121","until":"99.0","originalSince":"96.1121","originalUntil":null},{"id":"XSLT-Debugger","version":"1.2.4","since":"95.311","until":"201","originalSince":"95.311","originalUntil":null},{"id":"JBoss jBPM","version":"1.0.10","since":"96.516","until":"124.0","originalSince":"96.516","originalUntil":null},{"id":"IntelliHeap","version":"1.0.1","since":"40.3000","until":"183","originalSince":"40.3000","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.0","since":"95.429","until":"201","originalSince":"95.429","originalUntil":null},{"id":"bzr4intellij","version":"2.4.3","since":"95.66","until":"181.0","originalSince":"95.66","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"PList File Support","version":"1.2","since":"80.8000","until":"181.0","originalSince":"80.8000","originalUntil":null},{"id":"ThisInserter","version":"1.2","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"Copy Src","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.9.1","since":"96.1121","until":"99.0","originalSince":"96.1121","originalUntil":null},{"id":"Ivy Plugin","version":"3.0","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.9.2","since":"96.1121","until":"99.0","originalSince":"96.1121","originalUntil":null},{"id":"File Listener Server","version":"1.0","since":"80.8000","until":"183.0","originalSince":"80.8000","originalUntil":null},{"id":"Google Closure Soy Templates","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.96","since":"80.9013","until":"181.*","originalSince":"80.9013","originalUntil":null},{"id":"com.jalapeno.idea","version":"9.0.4","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WicketForge","version":"0.7.2","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"Buildr","version":"9.0.4-2010.11.16","since":"93.1","until":"201.0","originalSince":"93.1","originalUntil":null},{"id":"com.intellij.dmserver","version":"0.9.3","since":"98.311","until":"103.39","originalSince":"98.311","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"5.13602","since":"60.6000","until":"90.10000","originalSince":"60.6000","originalUntil":null},{"id":"XSLT-Debugger","version":"1.2.5","since":"95.311","until":"201","originalSince":"95.311","originalUntil":null},{"id":"Google Closure Soy Templates","version":"0.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"DocTree","version":"0.25","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.4","since":"80.8000","until":"141.3058","originalSince":"80.8000","originalUntil":null},{"id":"My Runner","version":"0.9","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"6.15772","since":"69.7000","until":"90.10000","originalSince":"69.7000","originalUntil":null},{"id":"SBT","version":"1.1.0","since":"95.66","until":"143.0","originalSince":"95.66","originalUntil":null},{"id":"JBehaveBddPlugin","version":"0.2.1","since":"93.94","until":"201.0","originalSince":"93.94","originalUntil":null},{"id":"Ivy Plugin","version":"3.1","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.0.2-v20101207100000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"ScratchPad","version":"0.14","since":"50.4192","until":"201.0","originalSince":"50.4192","originalUntil":null},{"id":"Ivy Plugin","version":"3.2","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"Osmorc","version":"1.3.2","since":"98.0","until":"201","originalSince":"98.0","originalUntil":null},{"id":"Buildr","version":"10.0.0-2010.12.10","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"com.intellij.aspectj","version":"0.7","since":"95.521","until":"181.0","originalSince":"95.521","originalUntil":"96.0"},{"id":"Libretto","version":"0.1-5734","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"WicketForge","version":"0.8.2","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"Ivy Plugin","version":"3.3","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"Ivy Plugin","version":"3.4","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.2","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"Ivy Plugin","version":"3.5","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"MetricsReloaded","version":"0.9.1","since":"80.8500","until":"212.*","originalSince":"80.8500","originalUntil":null},{"id":"XSLT-Debugger","version":"1.2.7","since":"95.311","until":"201","originalSince":"95.311","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"1.02","since":"99.32","until":"203","originalSince":"99.32","originalUntil":null},{"id":"com.kalistick.client.idea","version":"1.0","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"Ivy Plugin","version":"3.6","since":"95.429","until":"135","originalSince":"95.429","originalUntil":null},{"id":"com.jalapeno.idea","version":"10.0.0","since":"99.0","until":"201.0","originalSince":"99.0","originalUntil":null},{"id":"com.kalistick.client.idea","version":"1.0.1","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0.2","since":"104.177","until":"181.0","originalSince":"104.177","originalUntil":null},{"id":"RESTClient","version":"1.0","since":"80.8000","until":"143.*","originalSince":"80.8000","originalUntil":null},{"id":"bzr4intellij","version":"2.6.0","since":"103.72","until":"181.0","originalSince":"103.72","originalUntil":null},{"id":"bzr4intellij","version":"2.6.1","since":"103.72","until":"181.0","originalSince":"103.72","originalUntil":null},{"id":"MetricsReloaded","version":"0.9.2","since":"80.8500","until":"212.*","originalSince":"80.8500","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.1","since":"99.0","until":"201","originalSince":"99.0","originalUntil":null},{"id":"TestDox","version":"1.1.14 (IDEA X)","since":"90.116","until":"181","originalSince":"90.116","originalUntil":null},{"id":"schemely","version":"0.0.1","since":"103.72","until":"145.0","originalSince":"103.72","originalUntil":null},{"id":"com.kalistick.client.idea","version":"2.0-RC1","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"AribaWeb Plugin","version":"5.0GA","since":"40.3000","until":"201.0","originalSince":"40.3000","originalUntil":null},{"id":"XMLNavigate","version":"1.0.10","since":"85.9932","until":"201.0","originalSince":"85.9932","originalUntil":null},{"id":"com.kalistick.client.idea","version":"2.0.2","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.3","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"tea","version":"0.5","since":"103.72","until":"191.1","originalSince":"103.72","originalUntil":null},{"id":"schemely","version":"0.0.2","since":"103.72","until":"145.0","originalSince":"103.72","originalUntil":null},{"id":"TabFolder","version":"1.0","since":"50.4155","until":"181.0","originalSince":"50.4155","originalUntil":null},{"id":"tea","version":"0.6","since":"103.72","until":"191.1","originalSince":"103.72","originalUntil":null},{"id":"schemely","version":"0.0.3","since":"103.72","until":"145.0","originalSince":"103.72","originalUntil":null},{"id":"Jalopy Plugin for Idea 10","version":"1.0","since":"90.10000","until":"201.0","originalSince":"90.10000","originalUntil":null},{"id":"Log4JPlugin","version":"1.0","since":"85.9852","until":"201.0","originalSince":"85.9852","originalUntil":null},{"id":"Log4JPlugin","version":"1.01","since":"85.9852","until":"201.0","originalSince":"85.9852","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.0.5-SNAPSHOT","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"Remote call","version":"1.0","since":"80.8000","until":"223.*","originalSince":"80.8000","originalUntil":null},{"id":"Install Plugin Locally","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WicketForge","version":"0.9.2","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"Log4JPlugin","version":"1.02","since":"85.9852","until":"201.0","originalSince":"85.9852","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.4","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.4.1","since":"90.10000","until":"141.3058","originalSince":"90.10000","originalUntil":null},{"id":"SBT","version":"1.2.0","since":"103.255","until":"143.0","originalSince":"103.255","originalUntil":null},{"id":"ThisInserter","version":"1.3","since":"99.18","until":"201","originalSince":"99.18","originalUntil":null},{"id":"schemely","version":"0.1.0","since":"103.72","until":"145.0","originalSince":"103.72","originalUntil":null},{"id":"PsiViewer","version":"2.27.0","since":"40.3461","until":"110.*","originalSince":"40.3461","originalUntil":null},{"id":"IdeaVIM","version":"0.15.59","since":"106.500","until":"181.0","originalSince":"106.500","originalUntil":null},{"id":"XMLNavigate","version":"1.0.11","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Javascript Uploader","version":"2.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"XMLNavigate","version":"1.0.12","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Runtime java completion","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"BuildWatcher","version":"1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Runtime java completion","version":"0.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.5","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"IdeaVIM","version":"0.16.60","since":"107.100","until":"181.0","originalSince":"107.100","originalUntil":null},{"id":"LogSupport","version":"1.0.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.4.1","since":"103.72","until":"211","originalSince":"103.72","originalUntil":null},{"id":"RegexPlugin","version":"0.6.3","since":"100.0","until":"201.0","originalSince":"100.0","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.4.2","since":"103.72","until":"211","originalSince":"103.72","originalUntil":null},{"id":"LogSupport","version":"1.0.5","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"LogSupport","version":"1.0.6","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.0","since":"107.105","until":"202","originalSince":"107.105","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.0.5","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"Remote call","version":"1.1","since":"80.8000","until":"223.*","originalSince":"80.8000","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.0","since":"107.105","until":"202","originalSince":"107.105","originalUntil":null},{"id":"Javadoc Utility","version":"1.2","since":"80.8000","until":"211","originalSince":"80.8000","originalUntil":null},{"id":"LogSupport","version":"1.0.7","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Remote call","version":"1.2","since":"80.8000","until":"223.*","originalSince":"80.8000","originalUntil":null},{"id":"LogSupport","version":"1.0.8","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"BackgroundImage","version":"0.10.1","since":"99.18","until":"231","originalSince":"99.18","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.0.v20110531000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"Libretto","version":"0.1-6000","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"WicketForge","version":"1.0.0","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"CSS-X-Fire","version":"1.19","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"TabFolder","version":"1.0.1","since":"50.4155","until":"181.0","originalSince":"50.4155","originalUntil":null},{"id":"PsiViewer","version":"2.27.25","since":"40.3461","until":"110.*","originalSince":"40.3461","originalUntil":null},{"id":"SBT","version":"1.3.0","since":"103.255","until":"143.0","originalSince":"103.255","originalUntil":null},{"id":"SVN Revision Graph","version":"1.0","since":"99.18","until":"181.0","originalSince":"99.18","originalUntil":null},{"id":"WicketForge","version":"1.0.1","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"6.17795","since":"90.10000","until":"133.1800","originalSince":"90.10000","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.0","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"CSS-X-Fire","version":"1.20","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.0","since":"95.267","until":"202","originalSince":"95.267","originalUntil":null},{"id":"PsiViewer","version":"2.27.34","since":"40.3461","until":"110.*","originalSince":"40.3461","originalUntil":null},{"id":"LogSupport","version":"1.0.9","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"GeneratePropertyNameConstants","version":"0.03","since":"102.0","until":"231.*","originalSince":"102.0","originalUntil":null},{"id":"LogSupport","version":"1.0.10","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"CodeOutline2","version":"0.5","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0.3","since":"104.177","until":"181.0","originalSince":"104.177","originalUntil":null},{"id":"CVS Revision Graph Plus","version":"2.31","since":"99.5","until":"201","originalSince":"99.5","originalUntil":null},{"id":"SBT","version":"1.3.1","since":"103.255","until":"143.0","originalSince":"103.255","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.1","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"CSS-X-Fire","version":"1.21","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.1.1","since":"108.0","until":"201","originalSince":"108.0","originalUntil":null},{"id":"CodeOutline2","version":"0.5.1","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"ideah","version":"0.1","since":"99.18","until":"107.*","originalSince":"99.18","originalUntil":null},{"id":"QuickJump","version":"4.2.1","since":"108.1333","until":"213.*","originalSince":"108.1333","originalUntil":null},{"id":"BEM Support","version":"1.0.8","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"BEM Support","version":"1.0.9","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"BEM Support","version":"1.0.10","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"BEM Support","version":"1.0.11","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.3.1","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"pl.project13.intellij.kanbanery","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"BEM Support","version":"1.0.12","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"Google Closure Soy Templates","version":"0.2.1","since":"107.587","until":"201.0","originalSince":"107.587","originalUntil":null},{"id":"Key promoter","version":"1.0.9","since":"107.587","until":"171","originalSince":"107.587","originalUntil":null},{"id":"CVS Revision Graph Plus","version":"2.40","since":"99.5","until":"201","originalSince":"99.5","originalUntil":null},{"id":"Key promoter","version":"1.0.10","since":"107.587","until":"171","originalSince":"107.587","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.4","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"PsiViewer","version":"3.27.52","since":"110.129","until":"110.*","originalSince":"110.129","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.1.v20111104130900","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"CSS-X-Fire","version":"1.23","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"com.jalapeno.idea","version":"10.5.0","since":"99.0","until":"201.0","originalSince":"99.0","originalUntil":null},{"id":"QuickJump","version":"4.3","since":"110.365","until":"213.*","originalSince":"110.365","originalUntil":null},{"id":"PsiViewer","version":"3.27.55","since":"110.129","until":"110.*","originalSince":"110.129","originalUntil":null},{"id":"PsiViewer","version":"3.27.56","since":"110.129","until":"110.*","originalSince":"110.129","originalUntil":null},{"id":"BEM Support","version":"1.0.13","since":"99.18","until":"201.0","originalSince":"99.18","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.2.v20111107000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.2","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"Buildr","version":"10.5.4-2011.12.05","since":"107.777","until":"201.0","originalSince":"107.777","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0","since":"111.14","until":"231.*","originalSince":"111.14","originalUntil":null},{"id":"IdeaVIM","version":"0.20.75","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.3","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"CSS-X-Fire","version":"1.24","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"IntelliJBehave","version":"0.9.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.1","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.2","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.3","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.3.1 (alpha)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"IdeaVIM","version":"0.20.80","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"LogSupport","version":"1.0.11-11_and_newer","since":"111.69","until":"201.0","originalSince":"111.69","originalUntil":null},{"id":"IntelliJBehave","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.4","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.1.2","since":"110.0","until":"201","originalSince":"110.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.1","since":"111.14","until":"231.*","originalSince":"111.14","originalUntil":null},{"id":"RESTClient","version":"1.1","since":"80.8000","until":"143.*","originalSince":"80.8000","originalUntil":null},{"id":"IntelliJBehave","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Buildr","version":"11.0-2011.12.20","since":"107.777","until":"201.0","originalSince":"107.777","originalUntil":null},{"id":"OpenJpaIntegration","version":"1.0.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.6","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Heroku Integration","version":"0.1","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.2","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.1","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.2","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.3","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Identifier_Highlighter","version":"4.20","since":"64.0","until":"201.0","originalSince":"64.0","originalUntil":null},{"id":"Heroku Integration","version":"0.3.3","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.4","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Vaadin Support","version":"1.0.0","since":"111.69","until":"114.0","originalSince":"111.69","originalUntil":null},{"id":"Heroku Integration","version":"0.3.5","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.7","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Heroku Integration","version":"0.3.8","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"Assets Compressor","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Vaadin Support","version":"1.0.1","since":"111.69","until":"114.0","originalSince":"111.69","originalUntil":null},{"id":"Compare Tab With Editor","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Vaadin Support","version":"1.0.1.1","since":"111.69","until":"114.0","originalSince":"111.69","originalUntil":null},{"id":"Javadoc Utility","version":"1.3","since":"90.10000","until":"211","originalSince":"90.10000","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.8","since":"80.8000","until":"212.*","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.5","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"GrepCode.com Code Search","version":"2.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Google Closure Soy Templates","version":"0.2.2","since":"107.587","until":"201.0","originalSince":"107.587","originalUntil":null},{"id":"Vaadin Support","version":"1.2.0","since":"111.69","until":"114.0","originalSince":"111.69","originalUntil":null},{"id":"IntelliJBehave","version":"1.2","since":"80.8000","until":"181.*","originalSince":"80.8000","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.3.v20120117000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"IdeaVIM","version":"0.21.86","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"Vaadin Support","version":"1.2.1","since":"111.69","until":"114.0","originalSince":"111.69","originalUntil":"1.0"},{"id":"wide-task-browser","version":"0.1","since":"80.8000","until":"231.*","originalSince":"80.8000","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.2","since":"111.222","until":"231.*","originalSince":"111.222","originalUntil":null},{"id":"ideah","version":"0.2.11","since":"111.69","until":"135.479","originalSince":"111.69","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.5.0","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"XMLNavigate","version":"1.0.13","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.3.2 (alpha)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"XMLNavigate","version":"1.0.13","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"XMLNavigate","version":"1.0.14","since":"60.6107","until":"201.0","originalSince":"60.6107","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.4","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.3","since":"111.222","until":"231.*","originalSince":"111.222","originalUntil":null},{"id":"CSS-X-Fire","version":"1.25","since":"93.13","until":"201","originalSince":"93.13","originalUntil":null},{"id":"Remote call","version":"1.3","since":"80.8000","until":"223.*","originalSince":"80.8000","originalUntil":null},{"id":"Wicket Source","version":"1.0","since":"80.8000","until":"202","originalSince":"80.8000","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.5","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"FestSupport","version":"1.1","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"R4Intellij","version":"0.6","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"FestSupport","version":"1.3","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"FestSupport","version":"1.3.1","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"R4Intellij","version":"0.6.1","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"Wicket Source","version":"1.1","since":"80.8000","until":"202","originalSince":"80.8000","originalUntil":null},{"id":"IdeaVIM","version":"0.22.90","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"Wicket Source","version":"1.2","since":"80.8000","until":"202","originalSince":"80.8000","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.4.0 (beta)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.4.1 (beta)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"114.158","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"114.158","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"CSS-X-Fire","version":"1.26","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.4.v20120227000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"EDTOnlyInspection","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.1.3","since":"110.0","until":"201","originalSince":"110.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"114.282","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"114.282","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"114.282","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"7.21241","since":"90.10000","until":"133.1800","originalSince":"90.10000","originalUntil":null},{"id":"Finder Restarter","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.5","since":"95.429","until":"231.*","originalSince":"95.429","originalUntil":null},{"id":"FestSupport","version":"1.3.2","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"FestSupport","version":"1.3.3","since":"55.5784","until":"201.0","originalSince":"55.5784","originalUntil":null},{"id":"Remote call","version":"1.4","since":"80.8000","until":"223.*","originalSince":"80.8000","originalUntil":null},{"id":"Pomodoro-tm-cd","version":"2.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.2","since":"111.277","until":"201.0","originalSince":"111.277","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.2a","since":"111.277","until":"201.0","originalSince":"111.277","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.4","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"IdeaVIM","version":"0.23.93","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.4.2 (beta)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"WicketForge","version":"1.1.0","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"Assets Compressor","version":"1.2","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"CVS Revision Graph Plus","version":"2.41","since":"114.0","until":"201","originalSince":"114.0","originalUntil":null},{"id":"com.jalapeno.idea","version":"11.0.0","since":"111.0","until":"201.0","originalSince":"111.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.132","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.132","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"117.132","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.5.0 (beta)","since":"111.1","until":"191.6708","originalSince":"111.1","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.5.1","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"WicketForge","version":"1.1.1","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"SonOfExternalCodeFormatter","version":"1.6.6","since":"80.9000","until":"200","originalSince":"80.9000","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.222","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.222","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"117.222","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"CSS-X-Fire","version":"1.27","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"Heroku Integration","version":"0.3.9","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"org.jetbrains.idea.grammar","version":"1.0.5","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.1","since":"90.10000","until":"141.3058","originalSince":"90.10000","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.1","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.257","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.257","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"117.257","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.2","since":"112.0","until":"115.0","originalSince":"112.0","originalUntil":null},{"id":"AngularJS","version":"0.1.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.3","since":"112.0","until":"115.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.4","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.5","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.6","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"BuildWatcher","version":"1.2.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"BuildWatcher","version":"1.2.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.5.v20120425000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"com.esn.idea.liquibaseejb","version":"1.03","since":"117.117","until":"203","originalSince":"117.117","originalUntil":null},{"id":"BuildWatcher","version":"1.2.4","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"CSS-X-Fire","version":"1.28","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"AngularJS","version":"0.1.3","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.7","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.8","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.8.1","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"WicketForge","version":"1.0.2","since":"90.10000","until":"91","originalSince":"90.10000","originalUntil":null},{"id":"WicketForge","version":"1.1.2","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"JMeter plugin","version":"1.1.1","since":"111.277","until":"203","originalSince":"111.277","originalUntil":null},{"id":"Key promoter","version":"1.0.11","since":"107.587","until":"171","originalSince":"107.587","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.9","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.9","since":"80.8000","until":"212.*","originalSince":"80.8000","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.501","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.501","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"117.501","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"SortSelection","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DERViewer","version":"1.1","since":"111.24","until":"201.0","originalSince":"111.24","originalUntil":null},{"id":"ColorTree","version":"1.0","since":"111.69","until":"171.*","originalSince":"111.69","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"0.9.1","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"JMeter plugin","version":"1.2","since":"111.69","until":"203","originalSince":"111.69","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"LESS CSS Compiler","version":"1.8.2","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"SBBrowser","version":"1.05","since":"69.7000","until":"222.0","originalSince":"69.7000","originalUntil":null},{"id":"LESS CSS Compiler","version":"1.8.3","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"1.8.4","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"1.9.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.1","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.6.v20120619000000","since":"72.7200","until":"183.0","originalSince":"72.7200","originalUntil":null},{"id":"Keymap exporter","version":"1.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"Keymap exporter","version":"1.0","since":"117.418","until":"201","originalSince":"117.418","originalUntil":null},{"id":"Keymap exporter","version":"1.0","since":"111.69","until":"201","originalSince":"111.69","originalUntil":null},{"id":"Keymap exporter","version":"1.0","since":"111.69","until":"201","originalSince":"111.69","originalUntil":null},{"id":"Keymap exporter","version":"1.0","since":"111.69","until":"201","originalSince":"111.69","originalUntil":null},{"id":"Keymap exporter","version":"1.1","since":"111.69","until":"201","originalSince":"111.69","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.2","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"gen-javadoc","version":"1.0","since":"117.418","until":"201.0","originalSince":"117.418","originalUntil":null},{"id":"Springirun","version":"0.1","since":"107.105","until":"231.*","originalSince":"107.105","originalUntil":null},{"id":"JMeter plugin","version":"1.3","since":"111.69","until":"203","originalSince":"111.69","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.3","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"Assets Compressor","version":"1.2.1","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.6","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.694","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.694","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"117.694","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"Winstone Integration Plugin(CE)","version":"1.3","since":"110.3","until":"180.0","originalSince":"110.3","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.4","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0.4","since":"119.11","until":"181.0","originalSince":"119.11","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.5","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"117.746","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"117.746","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"PatchIde","version":"1.0","since":"107.105","until":"123.0","originalSince":"107.105","originalUntil":null},{"id":"PatchIde","version":"1.1","since":"107.105","until":"123.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.2.23","since":"120.11","until":"124.0","originalSince":"120.11","originalUntil":null},{"id":"PatchIde","version":"1.2","since":"107.105","until":"123.0","originalSince":"107.105","originalUntil":null},{"id":"PatchIde","version":"1.3","since":"107.105","until":"123.0","originalSince":"107.105","originalUntil":null},{"id":"PatchIde","version":"1.3.1","since":"111.69","until":"123.0","originalSince":"111.69","originalUntil":null},{"id":"CSS-X-Fire","version":"1.29","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.1","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"ro.redeul.google.go","version":"0.9.2","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"com.intellij.plugins.html.instantEditing","version":"0.2.24","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.7","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.2.25","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"MKS","version":"0.9.1-X","since":"107.777","until":"201.0","originalSince":"107.777","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.3","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"ro.redeul.google.go","version":"0.9.4","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"com.intellij.plugins.html.instantEditing","version":"0.2.27","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.5","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"ro.redeul.google.go","version":"0.9.6","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"QuickJump","version":"4.3","since":"120.0","until":"213.*","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"121.12","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"com.jetbrains.php","version":"121.12","since":"118.430","until":"121.*","originalSince":"118.430","originalUntil":null},{"id":"com.intellij.phing","version":"121.12","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"121.12","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"1.0.6","since":"121.0","until":"181.0","originalSince":"121.0","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.1","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"CSS-X-Fire","version":"1.30","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.2","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.3","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"121.62","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.phing","version":"121.62","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"121.62","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.6","since":"111.69","until":"231.*","originalSince":"111.69","originalUntil":null},{"id":"com.jetbrains.php","version":"121.62","since":"118.430","until":"121.*","originalSince":"118.430","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.5","since":"120.152","until":"124.0","originalSince":"120.152","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.6.1","since":"122.0","until":"231.*","originalSince":"122.0","originalUntil":null},{"id":"Magicento","version":"0.5","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.9","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"Magicento","version":"0.55","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"Magicento","version":"0.56","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.7.v20120831000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.6","since":"122.222","until":"124.0","originalSince":"122.222","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.10","since":"111.0","until":"181.0","originalSince":"111.0","originalUntil":"111.*"},{"id":"Magicento","version":"0.6","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"121.185","since":"121.0","until":"181.0","originalSince":"121.0","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.1.4","since":"110.0","until":"201","originalSince":"110.0","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.7","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"TFS","version":"121.185","since":"121.185","until":"181.0","originalSince":"121.185","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.7","since":"122.327","until":"124.0","originalSince":"122.327","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.7","since":"122.327","until":"124.0","originalSince":"122.327","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"121.215","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.phing","version":"121.215","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"121.215","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.8","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"com.jetbrains.php","version":"121.215","since":"118.430","until":"121.*","originalSince":"118.430","originalUntil":null},{"id":"Plugin name here","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CSS-X-Fire","version":"1.31","since":"121.1","until":"201","originalSince":"121.1","originalUntil":null},{"id":"PsiViewer","version":"3.27.57","since":"110.129","until":"110.*","originalSince":"110.129","originalUntil":null},{"id":"RTC4Idea","version":"2.0.0_09","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Magicento","version":"0.8","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"SBT","version":"1.4.0","since":"103.255","until":"143.0","originalSince":"103.255","originalUntil":null},{"id":"SBT","version":"1.5.0","since":"122.327","until":"143.0","originalSince":"122.327","originalUntil":null},{"id":"JMeter plugin","version":"1.4","since":"111.69","until":"203","originalSince":"111.69","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.6.1","since":"120.59","until":"231.*","originalSince":"120.59","originalUntil":null},{"id":"Magicento","version":"0.8.2","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"MoreUnit","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MoreUnit","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.0.8","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.0.9","since":"116.108","until":"231.*","originalSince":"116.108","originalUntil":null},{"id":"ThisInserter","version":"1.4","since":"111.69","until":"201","originalSince":"111.69","originalUntil":null},{"id":"Magicento","version":"0.9","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"DataNucleusIntegration","version":"1.1.0-beta1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.8","since":"122.519","until":"124.0","originalSince":"122.519","originalUntil":null},{"id":"AngularJS","version":"0.1.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"AngularJS","version":"0.1.5","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"JaggeryEditorSupport","version":"1.0","since":"107.105","until":"193.0","originalSince":"107.105","originalUntil":null},{"id":"Create Jira Ticket","version":"1.1.1","since":"99.18","until":"183","originalSince":"99.18","originalUntil":null},{"id":"Create Jira Ticket","version":"1.2.1","since":"99.18","until":"183","originalSince":"99.18","originalUntil":null},{"id":"OpenJpaIntegration","version":"1.1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.9","since":"122.592","until":"124.0","originalSince":"122.592","originalUntil":null},{"id":"Aquarium","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.3.10","since":"122.639","until":"124.0","originalSince":"122.639","originalUntil":null},{"id":"Magicento","version":"0.9.7","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"Magicento","version":"0.9.8","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"LESS CSS Compiler","version":"1.9.5","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.0.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.1.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.1.1","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"122.668","since":"122.639","until":"181.0","originalSince":"122.639","originalUntil":null},{"id":"JaggeryEditorSupport","version":"1.0","since":"107.105","until":"193.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.1.2","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.2.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.3.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.3.1","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"121.390","since":"121.0","until":"181.0","originalSince":"121.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"121.390","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"com.intellij.phing","version":"121.390","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"121.390","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.jetbrains.php","version":"121.390","since":"118.430","until":"121.*","originalSince":"118.430","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.3.2","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.3.3","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"JaggeryEditorSupport","version":"1.0","since":"107.105","until":"193.0","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"0.1.3","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"0.1.5","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"net.org.selector.idea.plugins.LTFunctions","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.0.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"IdeaVIM","version":"0.23.111","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.4.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.4.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.4.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.4.1","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"Magicento","version":"1.0","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"Magicento","version":"1.0.1","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.8.v20121113000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.5.1","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.5.4","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.5.5","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"IdeaVIM","version":"0.23.115","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"DeltaTabs","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.0","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"0.1.7","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"DeltaTabs","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.1","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaTabs","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaTabs","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaTabs","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaTabs","version":"1.3.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"0.1.9","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.php","version":"122.875","since":"122.850","until":"122.*","originalSince":"122.850","originalUntil":null},{"id":"DeltaUtils","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.2.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"R4Intellij","version":"0.8","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"MyTranslator","version":"1.0","since":"95.627","until":"201.0","originalSince":"95.627","originalUntil":null},{"id":"MySearch","version":"1.0","since":"95.627","until":"201.0","originalSince":"95.627","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"0.4","since":"123.45","until":"124.0","originalSince":"123.45","originalUntil":null},{"id":"MySearch","version":"1.50","since":"95.627","until":"201.0","originalSince":"95.627","originalUntil":null},{"id":"DeltaUtils","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Heroku Integration","version":"0.4.0","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"com.intellij.plugins.html.instantEditing","version":"0.4.1","since":"123.45","until":"124.0","originalSince":"123.45","originalUntil":null},{"id":"im.jeanfrancois.ideaplugins.ideafullscreen","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"IdeaVIM","version":"0.24-148","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"MyTranslator","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MySearch","version":"1.50","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.php","version":"123.66","since":"122.850","until":"123.*","originalSince":"122.850","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.0","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"Mongo Plugin","version":"0.1.0","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"Mongo Plugin","version":"0.1.1","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.11","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":"123.*"},{"id":"ro.redeul.google.go","version":"0.9.12","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":"123.*"},{"id":"TFS","version":"124.218","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.1.2","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"com.squareup.ideaplugin","version":"1.0","since":"117.105","until":"201.0","originalSince":"117.105","originalUntil":null},{"id":"SBBrowser","version":"1.06","since":"69.7000","until":"222.0","originalSince":"69.7000","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.13","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":"123.*"},{"id":"JaggeryEditorSupport","version":"2.0","since":"123.72","until":"193.0","originalSince":"123.72","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.2","since":"90.10000","until":"141.3058","originalSince":"90.10000","originalUntil":null},{"id":"Magicento","version":"1.2.0","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"TFS","version":"124.297","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"TFS","version":"121.390","since":"121.0","until":"181.0","originalSince":"121.0","originalUntil":null},{"id":"IdeaVIM","version":"0.25","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"Compare Directories","version":"1.0.5","since":"120.0","until":"183.0","originalSince":"120.0","originalUntil":null},{"id":"Java2SQL","version":"0.3.1","since":"111.167","until":"201.0","originalSince":"111.167","originalUntil":null},{"id":"ru.crazycoder.plugins.tabdir","version":"1.6.6","since":"123.72","until":"231.*","originalSince":"123.72","originalUntil":null},{"id":"TFS","version":"124.344","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"com.intellij.phing","version":"124.347","since":"123.93","until":"181.0","originalSince":"123.93","originalUntil":null},{"id":"IdeaVIM","version":"0.26","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"TabSwitcherExtreme","version":"1.0.1","since":"99.18","until":"181","originalSince":"99.18","originalUntil":null},{"id":"TabSwitcherExtreme","version":"1.0.2","since":"99.18","until":"181","originalSince":"99.18","originalUntil":null},{"id":"Java2SQL","version":"0.4","since":"111.167","until":"201.0","originalSince":"111.167","originalUntil":null},{"id":"com.alexeyhanin.intellij.jalopyplugin","version":"1.0.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Magicento","version":"1.3.0","since":"111.296","until":"181","originalSince":"111.296","originalUntil":null},{"id":"TabSwitcherExtreme","version":"1.0.3","since":"99.18","until":"181","originalSince":"99.18","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.1","since":"107.105","until":"193.0","originalSince":"107.105","originalUntil":null},{"id":"AspectJ weaver","version":"3.0.0","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.2.0","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.97","since":"90.10781","until":"181.*","originalSince":"90.10781","originalUntil":null},{"id":"com.atlassian.clover","version":"idea7-3.1.10.v20130108000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"SyncEdit 2","version":"2.0.1","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"123.66","since":"123.26","until":"181.0","originalSince":"123.26","originalUntil":null},{"id":"com.squareup.ideaplugin","version":"1.0.1","since":"117.105","until":"201.0","originalSince":"117.105","originalUntil":null},{"id":"Mongo Plugin","version":"0.2.1","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"CSS-X-Fire","version":"1.32","since":"124.373","until":"201","originalSince":"124.373","originalUntil":null},{"id":"TFS","version":"124.533","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.3","since":"111.69","until":"141.3058","originalSince":"111.69","originalUntil":null},{"id":"be.mavicon.intellij.ppimport","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"UsefulActions","version":"0.9","since":"122.639","until":"232","originalSince":"122.639","originalUntil":null},{"id":"SvgViewer 2","version":"2.0","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.3","since":"111.69","until":"141.3058","originalSince":"111.69","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.4","since":"111.69","until":"141.3058","originalSince":"111.69","originalUntil":null},{"id":"com.taobao.wuzheng","version":"1.0","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"WicketForge","version":"1.1.3","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"Code Review","version":"1.3.4","since":"123.123","until":"222.*","originalSince":"123.123","originalUntil":null},{"id":"Code Review","version":"1.3.5","since":"123.123","until":"222.*","originalSince":"123.123","originalUntil":null},{"id":"com.webfont.ideaplugin","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.webfont.ideaplugin","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.webfont.ideaplugin","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"SvgViewer 2","version":"2.0.1","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"CSS-X-Fire","version":"1.33","since":"126.92","until":"201","originalSince":"126.92","originalUntil":null},{"id":"com.alexeyhanin.intellij.jalopyplugin","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"WFA console","version":"1.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"np.intellij.epochconverter","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.2","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"Mongo Plugin","version":"0.3.0","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"com.alexeyhanin.intellij.jalopyplugin","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CSS-X-Fire","version":"1.34","since":"125.57","until":"201","originalSince":"125.57","originalUntil":null},{"id":"SvgViewer 2","version":"2.0.2","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0.7","since":"126.100","until":"181.0","originalSince":"126.100","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.0","since":"123.45","until":"231.*","originalSince":"123.45","originalUntil":null},{"id":"com.jetbrains.php.framework.structure","version":"123.66","since":"123.0","until":"140.0","originalSince":"123.0","originalUntil":null},{"id":"com.jetbrains.php.framework.structure","version":"124.295","since":"124.295","until":"140.0","originalSince":"124.295","originalUntil":null},{"id":"BuildrPlugin","version":"12.0-2013.02.14","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"BuildrPlugin","version":"12.0-2013.02.14","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"BuildrPlugin","version":"12.0-2013.02.14","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"BuildrPlugin","version":"12.0-2013.02.14","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"BuildrPlugin","version":"12.0.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"TFS","version":"126.254","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"UsefulActions","version":"1.0","since":"125.0","until":"232","originalSince":"125.0","originalUntil":null},{"id":"WFA console","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.jetbrains.php","version":"126.334","since":"126.330","until":"126.*","originalSince":"126.330","originalUntil":null},{"id":"LazySpring","version":"1.1.0","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"LazySpring","version":"1.1.0","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"LazySpring","version":"1.1.0","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"TFS","version":"126.309","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"LazySpring","version":"1.1.1","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"LazySpring","version":"1.1.1","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"TFS","version":"127.14","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.2","since":"126.232","until":"193.0","originalSince":"126.232","originalUntil":null},{"id":"WicketForge","version":"2.0.0","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"com.alexeyhanin.intellij.jalopyplugin","version":"1.0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"SyncEdit 2","version":"2.0.2","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.10","since":"80.8000","until":"212.*","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.phing","version":"127.67","since":"123.93","until":"181.0","originalSince":"123.93","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"127.67","since":"126.103","until":"181.0","originalSince":"126.103","originalUntil":null},{"id":"com.jetbrains.php","version":"127.67","since":"126.330","until":"127.*","originalSince":"126.330","originalUntil":null},{"id":"WFA console","version":"1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Heroku Integration","version":"0.4.1","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"org.jetbrains.idea.grammar","version":"1.1.1","since":"129.0","until":"231.*","originalSince":"129.0","originalUntil":null},{"id":"com.jetbrains.php","version":"127.100","since":"126.330","until":"127.*","originalSince":"126.330","originalUntil":null},{"id":"TabSwitcherExtreme","version":"1.0.4","since":"99.18","until":"181","originalSince":"99.18","originalUntil":null},{"id":"WFA console","version":"1.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WicketForge","version":"2.1.0","since":"111.69","until":"112","originalSince":"111.69","originalUntil":null},{"id":"WFA console","version":"1.4","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.5","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.6","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.php","version":"129.91","since":"129.1","until":"129.*","originalSince":"129.1","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-3.1.11.v20130325000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"Randori Compiler","version":"0.2.0","since":"123.169","until":"181.0","originalSince":"123.169","originalUntil":null},{"id":"TFS","version":"129.105","since":"124.0","until":"181.0","originalSince":"124.0","originalUntil":null},{"id":"Randori Compiler","version":"0.2.1","since":"123.169","until":"181.0","originalSince":"123.169","originalUntil":null},{"id":"copy.on.steroids","version":"3.1","since":"123.69","until":"181.0","originalSince":"123.69","originalUntil":"137.*"},{"id":"WicketForge","version":"2.2.0","since":"111.69","until":"129.161","originalSince":"111.69","originalUntil":null},{"id":"Randori Compiler","version":"0.2.3","since":"123.169","until":"181.0","originalSince":"123.169","originalUntil":null},{"id":"IdeaVIM","version":"0.27","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.6","since":"128.1","until":"211","originalSince":"128.1","originalUntil":null},{"id":"IdeaVIM","version":"0.28","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.7","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"WFA console","version":"1.7","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Magicento","version":"1.4.1","since":"117.105","until":"181","originalSince":"117.105","originalUntil":null},{"id":"JMeter plugin","version":"1.5","since":"129.161","until":"203","originalSince":"129.161","originalUntil":null},{"id":"DeltaTabs","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Magicento","version":"1.4.2","since":"117.105","until":"181","originalSince":"117.105","originalUntil":null},{"id":"DeltaUtils","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"WFA console","version":"1.8","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"DeltaUtils","version":"1.4.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"codeReview4idea","version":"0.1","since":"129.60","until":"181","originalSince":"129.60","originalUntil":null},{"id":"WFA console","version":"1.9","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Redline Smalltalk","version":"1.0","since":"129.239","until":"181.0","originalSince":"129.239","originalUntil":null},{"id":"Redline Smalltalk","version":"1.0.1","since":"129.239","until":"181.0","originalSince":"129.239","originalUntil":null},{"id":"wide-task-browser","version":"0.1.2","since":"80.8000","until":"231.*","originalSince":"80.8000","originalUntil":null},{"id":"Randori Compiler","version":"0.2.4","since":"123.169","until":"181.0","originalSince":"123.169","originalUntil":null},{"id":"Mongo Plugin","version":"0.4.0","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"com.jetbrains.php","version":"129.362","since":"129.1","until":"129.*","originalSince":"129.1","originalUntil":null},{"id":"eSnippet Pro plugin_obsolete","version":"1.4.3","since":"129.1","until":"211","originalSince":"129.1","originalUntil":null},{"id":"eSnippet Pro plugin","version":"1.4.3","since":"129.1","until":"211","originalSince":"129.1","originalUntil":null},{"id":"jenv-idea-plugin","version":"0.0.1","since":"129.1","until":"181.0","originalSince":"129.1","originalUntil":null},{"id":"Nette framework helpers","version":"0.1","since":"129.1","until":"192.0","originalSince":"129.1","originalUntil":null},{"id":"CSS-X-Fire","version":"1.35","since":"125.57","until":"201","originalSince":"125.57","originalUntil":null},{"id":"codeReview4idea","version":"0.2","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.0","since":"107.105","until":"107.*","originalSince":"107.105","originalUntil":null},{"id":"Mongo Plugin","version":"0.4.1","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"CSS-X-Fire","version":"1.36","since":"125.57","until":"201","originalSince":"125.57","originalUntil":null},{"id":"CSS-X-Fire","version":"1.37","since":"129.1","until":"201","originalSince":"129.1","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"129.487","since":"129.487","until":"181.0","originalSince":"129.487","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jacksingleton.tabtonextsplitter","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"IdeaVIM","version":"0.29","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"LazySpring","version":"1.2.1","since":"129.161","until":"211","originalSince":"129.161","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.2","since":"129.0","until":"231.*","originalSince":"129.0","originalUntil":null},{"id":"com.jacksingleton.tabtonextsplitter","version":"0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Create Jira Ticket","version":"1.2.2","since":"99.18","until":"183","originalSince":"99.18","originalUntil":null},{"id":"dcevm","version":"1.0","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.1","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"CUBA","version":"2.0","since":"123.72","until":"211","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"129.672","since":"126.103","until":"181.0","originalSince":"126.103","originalUntil":null},{"id":"com.jetbrains.php","version":"129.672","since":"129.1","until":"129.*","originalSince":"129.1","originalUntil":null},{"id":"com.intellij.phing","version":"129.672","since":"123.93","until":"181.0","originalSince":"123.93","originalUntil":null},{"id":"org.intellij.tasks.navigation","version":"0.3.1","since":"129.0","until":"212.*","originalSince":"129.0","originalUntil":null},{"id":"CUBA","version":"2.0.1","since":"123.72","until":"211","originalSince":"123.72","originalUntil":null},{"id":"WicketForge","version":"3.0.0","since":"129.161","until":"130","originalSince":"129.161","originalUntil":null},{"id":"com.jacksingleton.tabtonextsplitter","version":"0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.squareup.intellij.plugin.copy-as-github-path","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"wide-task-browser","version":"0.1.3","since":"80.8000","until":"231.*","originalSince":"80.8000","originalUntil":null},{"id":"dcevm","version":"1.1","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"dcevm","version":"1.2","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"WicketForge","version":"3.0.1","since":"129.161","until":"130","originalSince":"129.161","originalUntil":null},{"id":"net.eunjae.plugins.androidhelper","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.bitard.concordion","version":"1.0_alpha1","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.2","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.bitard.concordion","version":"1.0_alpha2","since":"107.105","until":"211","originalSince":"107.105","originalUntil":null},{"id":"ro.catalin.prata.tfuploader","version":"1.0","since":"107.105","until":"200","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.2","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.2","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.0","since":"80.8000","until":"213","originalSince":"80.8000","originalUntil":null},{"id":"dcevm","version":"1.3","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"dcevm","version":"1.3","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"Mongo Plugin","version":"0.4.2","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.1","since":"107.105","until":"107.*","originalSince":"107.105","originalUntil":null},{"id":"LazySpring","version":"1.3.0","since":"129.161","until":"211","originalSince":"129.161","originalUntil":null},{"id":"DeltaShareXP","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.3","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.2","since":"107.105","until":"107.*","originalSince":"107.105","originalUntil":null},{"id":"SvgViewer 2","version":"2.0.2","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"SvgViewer 2","version":"2.0.3","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"DeltaShareXP","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"RTC4Idea","version":"3.0.0_01","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.4","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.4","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.5.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.5","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"codeReview4idea","version":"0.2.2","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"DeltaUtils","version":"1.5.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.6","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.5.0","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"129.713"},{"id":"AWS Elastic Beanstalk","version":"0.5.0","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"129.713"},{"id":"com.atlassian.clover","version":"idea-3.1.12.v20130627000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.jetbrains.php","version":"129.814","since":"129.1","until":"129.*","originalSince":"129.1","originalUntil":null},{"id":"Mongo Plugin","version":"0.4.3","since":"117.963","until":"201","originalSince":"117.963","originalUntil":null},{"id":"AngularJS","version":"0.1.8","since":"107.105","until":"181.0","originalSince":"107.105","originalUntil":null},{"id":"Magicento","version":"2.0.0","since":"117.105","until":"181","originalSince":"117.105","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.4","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.5.1","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"129.859"},{"id":"dcevm","version":"1.4","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"codeReview4idea","version":"0.2.3","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"org.intellij.tasks.navigation","version":"0.3.2","since":"129.0","until":"212.*","originalSince":"129.0","originalUntil":null},{"id":"dcevm","version":"1.5","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"DeltaUtils","version":"1.5.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"WicketForge","version":"3.1.0","since":"129.161","until":"130","originalSince":"129.161","originalUntil":null},{"id":"inc.chaos.mps.tool.maven.run","version":"1.0","since":"117.9448","until":"201.0","originalSince":"117.9448","originalUntil":null},{"id":"LivePlugin","version":"0.3 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"LivePlugin","version":"0.3 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"LivePlugin","version":"0.3.1 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.3","since":"126.232","until":"193.0","originalSince":"126.232","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"130.1176","since":"112.0","until":"181.0","originalSince":"112.0","originalUntil":null},{"id":"Keymap exporter","version":"1.1","since":"130.1167","until":"201","originalSince":"130.1167","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.5","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.5","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.dooapp.codesearch","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.dooapp.codesearch","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.dooapp.codesearch","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.5","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.6","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"ro.catalin.prata.tfuploader","version":"1.5","since":"107.105","until":"200","originalSince":"107.105","originalUntil":null},{"id":"org.livescriptidea","version":"0.1.7","since":"80.9000","until":"201.0","originalSince":"80.9000","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.6.1","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"codeReview4idea","version":"0.2.3","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"codeReview4idea","version":"0.2.4","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.5.2","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"129.859"},{"id":"DeltaUtils","version":"1.6.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"DeltaUtils","version":"1.6.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.duncanjauncey.autosysplugin","version":"1.0","since":"117.105","until":"201.0","originalSince":"117.105","originalUntil":null},{"id":"com.dooapp.codesearch","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Randori Compiler","version":"0.3.0","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.5.3","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"130.1179"},{"id":"com.duncanjauncey.autosysplugin","version":"1.1","since":"117.105","until":"201.0","originalSince":"117.105","originalUntil":null},{"id":"Heroku Integration","version":"0.4.2","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"AWS Elastic Beanstalk","version":"0.5.4","since":"129.713","until":"181.0","originalSince":"129.713","originalUntil":"130.1179"},{"id":"dcevm","version":"1.6","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.7","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.7.1","since":"107.105","until":"222.4459.*","originalSince":"107.105","originalUntil":null},{"id":"ro.catalin.prata.tfuploader","version":"2.0","since":"107.105","until":"200","originalSince":"107.105","originalUntil":null},{"id":"codeReview4idea","version":"0.2.5","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"codeReview4idea","version":"0.3","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"0.8","since":"130.754","until":"222.4459.*","originalSince":"130.754","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CVS Revision Graph Plus","version":"2.42","since":"114.0","until":"201","originalSince":"114.0","originalUntil":null},{"id":"WFA console","version":"2.0","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"130.1481","since":"130.1365","until":"181.0","originalSince":"130.1365","originalUntil":null},{"id":"com.jetbrains.php","version":"130.1481","since":"130.1365","until":"130.*","originalSince":"130.1365","originalUntil":null},{"id":"org.editorconfig.editorconfigjetbrains","version":"0.1.3","since":"120.0","until":"135.*","originalSince":"120.0","originalUntil":null},{"id":"CUBA","version":"2.0.2","since":"123.72","until":"211","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"130.1520","since":"130.957","until":"181.0","originalSince":"130.957","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"130.1481","since":"130.1365","until":"181.0","originalSince":"130.1365","originalUntil":null},{"id":"wide-task-browser","version":"0.1.4","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.3","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"codeReview4idea","version":"0.3.1","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.3","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.3.1","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.4.1","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"LivePlugin","version":"0.3.2 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"PsiViewer","version":"3.27.63","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"com.jetbrains.php","version":"130.1639","since":"130.1365","until":"130.*","originalSince":"130.1365","originalUntil":null},{"id":"codeReview4idea","version":"0.3.2","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"pl.projectspace.idea.plugins.php.behat","version":"0.3.1","since":"129.757","until":"201.0","originalSince":"129.757","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.2.3","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.github.dgt79.plugin.eclipseactions","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.github.dgt79.plugin.eclipseactions","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Camelry","version":"0.1","since":"107.105","until":"181","originalSince":"107.105","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.98","since":"90.10781","until":"181.*","originalSince":"90.10781","originalUntil":null},{"id":"wide-task-browser","version":"0.1.4.1","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"com.jetbrains.twig","version":"130.1639","since":"130.1","until":"130.1","originalSince":"130.1","originalUntil":null},{"id":"pl.projectspace.idea.plugins.php.behat","version":"0.3.2","since":"129.757","until":"201.0","originalSince":"129.757","originalUntil":null},{"id":"Camelry","version":"0.1.1","since":"107.105","until":"181","originalSince":"107.105","originalUntil":null},{"id":"dcevm","version":"1.7","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"com.jetbrains.lang.ejs","version":"131.12","since":"131.1","until":"131.*","originalSince":"131.1","originalUntil":null},{"id":"org.intellij.tasks.navigation","version":"0.3.3","since":"129.0","until":"212.*","originalSince":"129.0","originalUntil":null},{"id":"com.jetbrains.lang.ejs","version":"131.17","since":"131.1","until":"132.*","originalSince":"131.1","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.6.8","since":"130.1485","until":"211","originalSince":"130.1485","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.6.9","since":"132.1","until":"211","originalSince":"132.1","originalUntil":null},{"id":"Heroku Integration","version":"0.4.3","since":"80.8000","until":"133.0","originalSince":"80.8000","originalUntil":"1.0"},{"id":"org.jetbrains.kannotator","version":"0.2.420","since":"123.4","until":"181.0","originalSince":"123.4","originalUntil":null},{"id":"com.squareup.intellij.plugin.copy-as-github-path","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"131.61","since":"112.0","until":"201","originalSince":"112.0","originalUntil":null},{"id":"com.svdb.idea.whitespace.plugin.id","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.svdb.idea.whitespace.plugin.id","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CUBA","version":"2.0.3","since":"123.72","until":"211","originalSince":"123.72","originalUntil":null},{"id":"MetricsReloaded","version":"1.0 alpha","since":"80.8500","until":"212.*","originalSince":"80.8500","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"131.105","since":"131.1","until":"131.*","originalSince":"131.1","originalUntil":null},{"id":"IdeaServerPlugin","version":"1.0.8","since":"132.140","until":"181.0","originalSince":"132.140","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.4","since":"130.1365","until":"231.*","originalSince":"130.1365","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.8","since":"131.48","until":"201.0","originalSince":"131.48","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"131.98","since":"130.1726","until":"181.0","originalSince":"130.1726","originalUntil":null},{"id":"fr.azelart.intellij.plugin.cnf","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ru.trylogic.idea.gitlab.integration","version":"1.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"ro.catalin.prata.tfuploader","version":"2.5","since":"107.105","until":"200","originalSince":"107.105","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"0.1","since":"129.713","until":"181.3494","originalSince":"129.713","originalUntil":null},{"id":"WicketForge","version":"3.1.1","since":"129.161","until":"130","originalSince":"129.161","originalUntil":null},{"id":"WicketForge","version":"3.1.2","since":"129.161","until":"138","originalSince":"129.161","originalUntil":null},{"id":"WicketForge","version":"4.0.0.EAP-4","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"AngularJS","version":"0.1.9","since":"107.105","until":"181.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.tasks.navigation","version":"0.3.4","since":"129.0","until":"212.*","originalSince":"129.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"0.2","since":"129.713","until":"181.3494","originalSince":"129.713","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.7","since":"132.400","until":"211","originalSince":"132.400","originalUntil":null},{"id":"ua.com.web100.tools.gxt.idea.plugin","version":"0.03","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JCompilo Java Compiler","version":"153","since":"129.1328","until":"211","originalSince":"129.1328","originalUntil":null},{"id":"JCompilo Java Compiler","version":"154","since":"129.1328","until":"211","originalSince":"129.1328","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.1","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"JCompilo Java Compiler","version":"155","since":"129.1328","until":"211","originalSince":"129.1328","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"0.3","since":"129.713","until":"181.3494","originalSince":"129.713","originalUntil":null},{"id":"JCompilo Java Compiler","version":"157","since":"129.1328","until":"211","originalSince":"129.1328","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.1.1","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"com.webschik.doT","version":"1.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.webschik.doT","version":"1.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.2","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"com.crownpartners.intellivault","version":"0.9.2","since":"107.105","until":"203","originalSince":"107.105","originalUntil":null},{"id":"com.hartmanster.compareToGenerator","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"SBT","version":"1.5.1","since":"122.327","until":"143.0","originalSince":"122.327","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.3","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-3.2.0.v20131021000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.jetbrains.php","version":"131.374","since":"132.719","until":"181.0","originalSince":"132.719","originalUntil":"1.0"},{"id":"com.jetbrains.php.framework","version":"131.374","since":"132.719","until":"181.0","originalSince":"132.719","originalUntil":null},{"id":"com.intellij.phing","version":"131.374","since":"132.719","until":"181.0","originalSince":"132.719","originalUntil":null},{"id":"MetricsReloaded","version":"1.0 alpha 2","since":"123.72","until":"212.*","originalSince":"123.72","originalUntil":null},{"id":"TFSTask integration","version":"1.0","since":"109.105","until":"201.0","originalSince":"109.105","originalUntil":null},{"id":"ru.trylogic.idea.gitlab.integration","version":"1.0.1","since":"132.719","until":"201","originalSince":"132.719","originalUntil":null},{"id":"PsiViewer","version":"3.28.65","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"DeltaTabs","version":"1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ru.trylogic.idea.gitlab.integration","version":"1.0.2","since":"132.719","until":"201","originalSince":"132.719","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.1.8","since":"123.94","until":"123.*","originalSince":"123.94","originalUntil":null},{"id":"com.crownpartners.intellivault","version":"0.9.3","since":"107.105","until":"203","originalSince":"107.105","originalUntil":null},{"id":"TFSTask integration","version":"1.0.1","since":"109.105","until":"201.0","originalSince":"109.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.2","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.6","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"WicketForge","version":"3.2.0","since":"129.161","until":"138","originalSince":"129.161","originalUntil":null},{"id":"WicketForge","version":"4.0.0.EAP-5","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.4","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.5","since":"123.72","until":"200.0","originalSince":"123.72","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.6.0 (beta)","since":"123.0","until":"191.6708","originalSince":"123.0","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.4.1","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.1.8.1","since":"123.94","until":"123.*","originalSince":"123.94","originalUntil":null},{"id":"de.sandstormmedia.flowstorm","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ScratchPad","version":"0.15","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"IdeaVIM","version":"0.30","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"IdeaVIM","version":"0.31","since":"110.0","until":"181.0","originalSince":"110.0","originalUntil":null},{"id":"org.dylanfoundry.deft","version":"0.4.2","since":"129.239","until":"201.0","originalSince":"129.239","originalUntil":null},{"id":"IdeaVIM","version":"0.32","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"134.31","since":"134.0","until":"181.0","originalSince":"134.0","originalUntil":"135.0"},{"id":"org.mayevskiy.intellij.sonar","version":"1.3.2","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"org.jetbrains.testnames","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.jetbrains.testnames","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"133.74","since":"130.957","until":"181.0","originalSince":"130.957","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.3.3","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.hoho.conkitty","version":"0.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.4.0","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"133.51","since":"133.50","until":"181.0","originalSince":"133.50","originalUntil":null},{"id":"com.intellij.phing","version":"133.51","since":"133.50","until":"181.0","originalSince":"133.50","originalUntil":null},{"id":"Error-prone plugin","version":"1.0.8","since":"129.105","until":"131.0","originalSince":"129.105","originalUntil":null},{"id":"LivePlugin","version":"0.3.3 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"com.jetbrains.twig","version":"133.51","since":"130.1","until":"130.1","originalSince":"130.1","originalUntil":null},{"id":"Error-prone plugin","version":"1.0.8b","since":"129.105","until":"133.0","originalSince":"129.105","originalUntil":null},{"id":"com.scalaImportsOrganizer","version":"0.1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"0.4","since":"130.1","until":"181.3494","originalSince":"130.1","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"133.51","since":"133.50","until":"181.0","originalSince":"133.50","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.5","since":"133.93","until":"231.*","originalSince":"133.93","originalUntil":null},{"id":"SmoothScroll","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JCompilo Java Compiler","version":"160","since":"129.1328","until":"211","originalSince":"129.1328","originalUntil":null},{"id":"org.jetbrains.plugins.localization","version":"134.SNAPSHOT","since":"130.1","until":"201","originalSince":"130.1","originalUntil":null},{"id":"org.jetbrains.plugins.rest","version":"134.SNAPSHOT","since":"130.1","until":"201","originalSince":"130.1","originalUntil":null},{"id":"JRebelPlugin","version":"5.4.2-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"Compare Directories","version":"1.0.6","since":"130.0","until":"183.0","originalSince":"130.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.5","since":"123.0","until":"141.3058","originalSince":"123.0","originalUntil":null},{"id":"CUBA","version":"2.0.4.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"com.hoho.conkitty","version":"0.0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MKS","version":"0.10","since":"129.1328","until":"201.0","originalSince":"129.1328","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"8.0.27692","since":"90.10000","until":"133.1800","originalSince":"90.10000","originalUntil":null},{"id":"pl.projectspace.idea.plugins.php.behat","version":"0.4","since":"129.757","until":"201.0","originalSince":"129.757","originalUntil":null},{"id":"com.makeapp.cocos2dx","version":"1.0-alpha1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"org.intellij.featureSuggester","version":"0.2.2","since":"133.193","until":"193.0","originalSince":"133.193","originalUntil":null},{"id":"JythonHelper","version":"1.0","since":"117.105","until":"203","originalSince":"117.105","originalUntil":null},{"id":"com.intellij.tcserver","version":"1.2","since":"133.193","until":"201","originalSince":"133.193","originalUntil":null},{"id":"com.scalaImportsOrganizer","version":"0.1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MKS","version":"0.10.1","since":"129.1328","until":"201.0","originalSince":"129.1328","originalUntil":null},{"id":"Batch Scripts Support","version":"1.0.4","since":"133.193","until":"182.*","originalSince":"133.193","originalUntil":null},{"id":"JSTestDriver Plugin","version":"134.307","since":"134.297","until":"181.0","originalSince":"134.297","originalUntil":"135.0"},{"id":"Mongo Plugin","version":"0.5.1","since":"131.130","until":"201","originalSince":"131.130","originalUntil":null},{"id":"Code Review","version":"1.3.6","since":"123.123","until":"222.*","originalSince":"123.123","originalUntil":null},{"id":"com.amigold.auto.parcel","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.3","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"org.editorconfig.editorconfigjetbrains","version":"0.2.0","since":"120.0","until":"135.*","originalSince":"120.0","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.3a","since":"129.1359","until":"201.0","originalSince":"129.1359","originalUntil":null},{"id":"fr.vdl.android.holocolors","version":"1.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.makeapp.cocos2dx","version":"1.0-alpha2","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"CUBA","version":"2.1.0.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"OracleCloud","version":"0.5","since":"133.193","until":"183.1","originalSince":"133.193","originalUntil":null},{"id":"JRebelPlugin","version":"5.5.0-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"ro.redeul.google.go","version":"0.9.15.1","since":"133.326","until":"181.0","originalSince":"133.326","originalUntil":"133.*"},{"id":"jp.funnything.offing_harbor","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ch.mjava.intellij.tapestry.4","version":"0.1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ch.mjava.intellij.tapestry.4","version":"0.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.15.2","since":"133.326","until":"181.0","originalSince":"133.326","originalUntil":"133.*"},{"id":"LESS CSS Compiler","version":"2.6.3","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.4","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.5","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.6","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.7","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.4","since":"133.0","until":"193.0","originalSince":"133.0","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.8","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"LESS CSS Compiler","version":"2.6.9","since":"107.105","until":"145.0","originalSince":"107.105","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.4.1","since":"129.0","until":"193.0","originalSince":"129.0","originalUntil":null},{"id":"io.nlopez.androidannotations.viewbyid","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.15.3","since":"133.326","until":"181.0","originalSince":"133.326","originalUntil":"133.*"},{"id":"com.codexplo.intellij.android","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-3.2.1.v20140110000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.jetbrains.php.framework.structure","version":"133.326","since":"133.0","until":"140.0","originalSince":"133.0","originalUntil":null},{"id":"com.codexplo.intellij.android","version":"1.01","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.codexplo.intellij.android","version":"1.01","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.codexplo.intellij.android","version":"1.01","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.2","since":"123.94","until":"123.*","originalSince":"123.94","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.1","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"LivePlugin","version":"0.3.4 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"LivePlugin","version":"0.3.5 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"JSTestDriver Plugin","version":"134.686","since":"134.670","until":"181.0","originalSince":"134.670","originalUntil":"135.0"},{"id":"MKS","version":"0.10.2","since":"129.1328","until":"201.0","originalSince":"129.1328","originalUntil":null},{"id":"LivePlugin","version":"0.3.6 beta","since":"122.600","until":"213.*","originalSince":"122.600","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.1","since":"133.633","until":"181.0","originalSince":"133.633","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.1","since":"133.633","until":"181.0","originalSince":"133.633","originalUntil":null},{"id":"ch.mjava.intellij.tapestry.4","version":"0.1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.makeapp.cocos2dx","version":"1.0-beta","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"1","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.4.2","since":"129.0","until":"193.0","originalSince":"129.0","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.4","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"com.hoho.conkitty","version":"0.0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.2","since":"107.105","until":"222.*","originalSince":"107.105","originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.2.1","since":"107.105","until":"222.*","originalSince":"107.105","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"2","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"com.junbo.idea.codenarc","version":"0.0.1-SNAPSHOT","since":"133.331","until":"201.0","originalSince":"133.331","originalUntil":null},{"id":"com.jetbrains.twig","version":"133.737","since":"133.620","until":"133.620","originalSince":"133.620","originalUntil":null},{"id":"com.jetbrains.lang.ejs","version":"133.745","since":"133.620","until":"162.*","originalSince":"133.620","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.3b","since":"133.330","until":"201.0","originalSince":"133.330","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.1","since":"133.696","until":"181.0","originalSince":"133.696","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.1","since":"80.8000","until":"213","originalSince":"80.8000","originalUntil":null},{"id":"LazySpring","version":"1.3.1","since":"133.696","until":"211","originalSince":"133.696","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.7","since":"133.696","until":"231.*","originalSince":"133.696","originalUntil":null},{"id":"UsefulActions","version":"1.5.1","since":"132.27","until":"232","originalSince":"132.27","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.512","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"R4Intellij","version":"0.8.1","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"com.duncanjauncey.autosysplugin","version":"1.1","since":"117.105","until":"201.0","originalSince":"117.105","originalUntil":null},{"id":"com.jasonnz.bootstrap","version":"0.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"LazySpring","version":"1.3.2","since":"133.696","until":"211","originalSince":"133.696","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.520","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"com.atlassian.clover","version":"idea-3.2.2.v20140207000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"2","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"3","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"JCR Content Editor","version":"1.1.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"jp.tomorrowkey.intellij.injectlogtag","version":"1.0.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"jp.tomorrowkey.intellij.injectlogtag","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.mextor.intellij.plugin.search","version":"1.0","since":"129.1359","until":"129.1561","originalSince":"129.1359","originalUntil":"139.*"},{"id":"JSTestDriver Plugin","version":"134.1039","since":"134.1015","until":"181.0","originalSince":"134.1015","originalUntil":"135.0"},{"id":"CUBA","version":"2.2.0.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"6.0.0.20140207","since":"134.1007","until":"181.0","originalSince":"134.1007","originalUntil":"134.*"},{"id":"Pythonid","version":"3.1","since":"134.1007","until":"181.0","originalSince":"134.1007","originalUntil":"134.*"},{"id":"cucumber-java","version":"134.1007","since":"134.1007","until":"201","originalSince":"134.1007","originalUntil":null},{"id":"cucumber-groovy","version":"134.1007","since":"134.1007","until":"201","originalSince":"134.1007","originalUntil":null},{"id":"Pythonid","version":"3.1","since":"133.818","until":"181.0","originalSince":"133.818","originalUntil":"133.*"},{"id":"com.dirzys.phpstormzf1","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AngularJS","version":"134.1094","since":"134.1","until":"181.0","originalSince":"134.1","originalUntil":null},{"id":"Magicento","version":"2.4.0","since":"117.105","until":"181","originalSince":"117.105","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.5","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.550","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"com.mextor.intellij.plugin.search","version":"1.2","since":"","until":"129.1561","originalSince":null,"originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.3","since":"107.105","until":"222.*","originalSince":"107.105","originalUntil":null},{"id":"WicketForge","version":"4.0.1","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"com.hoho.coocoo","version":"0.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.hoho.coocoo","version":"0.0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.558","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"JSTestDriver Plugin","version":"134.1163","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":"135.0"},{"id":"BuildrPlugin","version":"13.0.0","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.3c","since":"133.696","until":"201.0","originalSince":"133.696","originalUntil":null},{"id":"com.denimgroup.threadfix.plugins.intellij","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.562","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"org.root.GoogleIt","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.root.GoogleIt","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.5","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"com.jetbrains.chronon","version":"134.1221","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"de.espend.idea.android","version":"0.1","since":"131.0","until":"191.5000","originalSince":"131.0","originalUntil":null},{"id":"org.root.GoogleIt","version":"0.11","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"de.espend.idea.android","version":"0.2","since":"131.0","until":"191.5000","originalSince":"131.0","originalUntil":null},{"id":"RegexPlugin","version":"0.7.1","since":"100.0","until":"201.0","originalSince":"100.0","originalUntil":null},{"id":"RegexPlugin","version":"0.7.2","since":"100.0","until":"201.0","originalSince":"100.0","originalUntil":null},{"id":"AngularJS","version":"134.1243","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"com.jetbrains.php","version":"133.982","since":"133.620","until":"181.0","originalSince":"133.620","originalUntil":"1.0"},{"id":"JRebelPlugin","version":"5.5.1-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"Railways","version":"0.7.0","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"Railways for IDEA","version":"0.7.0","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"com.hoho.coocoo","version":"0.0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Railways","version":"0.7.0","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"Railways for IDEA","version":"0.7.0","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"org.intellij.scala","version":"0.32.593","since":"134.846","until":"181.0","originalSince":"134.846","originalUntil":"135.0"},{"id":"org.kevoree.idea.plugin","version":"4","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"AngularJS","version":"134.1341","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"com.jetbrains.chronon","version":"134.1414","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"com.jetbrains.php","version":"134.1456","since":"134.1300","until":"134.*","originalSince":"134.1300","originalUntil":null},{"id":"com.hoho.coocoo","version":"0.0.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MKS","version":"0.11","since":"129.1359","until":"201.0","originalSince":"129.1359","originalUntil":null},{"id":"org.vayafulano.relativeLineNumbers","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.6","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.chronon","version":"134.1618","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"MKS","version":"0.11.1","since":"129.1359","until":"201.0","originalSince":"129.1359","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.7","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"cucumber-javascript","version":"134.1459","since":"134.1456","until":"201","originalSince":"134.1456","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.7.1","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"JSTestDriver Plugin","version":"136.1141","since":"136.0","until":"181.0","originalSince":"136.0","originalUntil":"137.0"},{"id":"AngularJS","version":"134.1444","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.2","since":"133.0","until":"213","originalSince":"133.0","originalUntil":null},{"id":"info.darbha.plugins","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.bsb.intellij.plugins.xmlbeans","version":"2.1.1","since":"133.696","until":"181","originalSince":"133.696","originalUntil":null},{"id":"Railways","version":"0.7.1","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"Railways for IDEA","version":"0.7.1","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"Railways for IDEA","version":"0.7.1","since":"122.633","until":"181.0","originalSince":"122.633","originalUntil":null},{"id":"com.jetbrains.chronon","version":"135.476","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"CUBA","version":"2.3.0.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"JRebelPlugin","version":"5.5.2-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.ueqt.idea.plugin.GeneratePropAction","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"QAPlug","version":"1.3.7","since":"133.193","until":"211","originalSince":"133.193","originalUntil":null},{"id":"QAPlug - Hammurapi","version":"1.3.3","since":"133.193","until":"191.6184","originalSince":"133.193","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.2","since":"135.445","until":"181.0","originalSince":"135.445","originalUntil":"135.*"},{"id":"JMeter plugin","version":"1.6","since":"133.696","until":"203","originalSince":"133.696","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"de.espend.idea.android","version":"0.2.1","since":"131.0","until":"191.5000","originalSince":"131.0","originalUntil":null},{"id":"Error-prone plugin","version":"136.1285","since":"134.1425","until":"137.0","originalSince":"134.1425","originalUntil":null},{"id":"actiBPM","version":"1.E-10","since":"123.1","until":"192.0","originalSince":"123.1","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.3","since":"133.0","until":"213","originalSince":"133.0","originalUntil":null},{"id":"org.vayafulano.relativeLineNumbers","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.hoho.coocoo","version":"0.0.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"AngularJS","version":"135.565","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-3.3.0.v20140331000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.0.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.jetbrains.chronon","version":"135.666","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"io.nlopez.androidannotations.viewbyid","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JMeter plugin","version":"1.6.1","since":"133.696","until":"203","originalSince":"133.696","originalUntil":null},{"id":"com.dirzys.phpstormzf1","version":"1.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codexplo.intellij.android","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.codexplo.intellij.android","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.0.1","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"org.verily.intellij.plugin","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.1.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.0.1","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.4","since":"133.0","until":"213","originalSince":"133.0","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.3.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.8.2","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"JCR Content Editor","version":"1.1.3","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"RESTClient","version":"1.2","since":"80.8000","until":"143.*","originalSince":"80.8000","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"org.editorconfig.editorconfigjetbrains","version":"0.2.1","since":"120.0","until":"135.*","originalSince":"120.0","originalUntil":null},{"id":"fr.assoba.open.sel.plugin","version":"1.0","since":"120.0","until":"201.0","originalSince":"120.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.7.1","since":"132.400","until":"211","originalSince":"132.400","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.0.1","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.mycila.intellij.plugin.gmavenplus","version":"1.0","since":"123.169","until":"201.8538.17","originalSince":"123.169","originalUntil":null},{"id":"JythonHelper","version":"1.1","since":"117.105","until":"203","originalSince":"117.105","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.3.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.android","version":"0.3","since":"131.0","until":"191.5000","originalSince":"131.0","originalUntil":null},{"id":"edu.gmu.cs.plugin.aeon","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.3.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.3.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"Compare Directories","version":"1.0.7","since":"130.0","until":"183.0","originalSince":"130.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.3.3","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"136.1672","since":"136.0","until":"136.*","originalSince":"136.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.0","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.0","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.1","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"JRebelPlugin","version":"5.5.3-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.webschik.doT","version":"1.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.2","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"com.webschik.doT","version":"1.3","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.3","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.4.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.twig","version":"136.1770","since":"136.1","until":"136.1","originalSince":"136.1","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.4","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"com.jetbrains.php","version":"136.1768","since":"136.0","until":"136.*","originalSince":"136.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.5","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.6","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0","since":"131.0","until":"162.0","originalSince":"131.0","originalUntil":null},{"id":"com.webschik.doT","version":"1.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.webschik.doT","version":"1.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.webschik.doT","version":"1.5","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.8","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"Insert Final Modifier","version":"1.0","since":"131.0","until":"221","originalSince":"131.0","originalUntil":null},{"id":"TFS","version":"133.1378","since":"133.0","until":"181.0","originalSince":"133.0","originalUntil":null},{"id":"IdeaVIM","version":"0.33","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.5.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.7","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0.1","since":"131.0","until":"162.0","originalSince":"131.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"138.21","since":"138.0","until":"181.0","originalSince":"138.0","originalUntil":"139.0"},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.8","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"IdeaVIM","version":"0.34","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.8","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.5.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"Haskell","version":"0.1 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.8.1","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"eu.broth.intellilab","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"eu.broth.intellilab","version":"0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.9","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.1","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.10","since":"131.1","until":"201.0","originalSince":"131.1","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.2","since":"135.815","until":"181.0","originalSince":"135.815","originalUntil":"138.*"},{"id":"Haskell","version":"0.1.1 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"Ebean enhancer","version":"1.0","since":"90.10000","until":"145.0","originalSince":"90.10000","originalUntil":null},{"id":"com.webschik.doT","version":"1.5.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.webschik.doT","version":"1.5.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.hoho.conkitty","version":"0.5.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.9","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"jenv-idea-plugin","version":"0.0.2","since":"135.1","until":"181.0","originalSince":"135.1","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"136.1382","since":"136.1382","until":"181.0","originalSince":"136.1382","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"136.1382","since":"136.1382","until":"181.0","originalSince":"136.1382","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"134.1456","since":"134.1456","until":"181.0","originalSince":"134.1456","originalUntil":null},{"id":"AngularJS","version":"135.831","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.11","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.9.1","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"Haskell","version":"0.1.2 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"com.webschik.doT","version":"1.5.3","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"org.bigtesting.jbehave.buddy","version":"0.1","since":"129.0","until":"201.0","originalSince":"129.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.6.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.6.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"edu.gmu.cs.plugin.aeon","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.9.2","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"6.5.2.20140512","since":"135.863","until":"181.0","originalSince":"135.863","originalUntil":"135.*"},{"id":"com.aspose.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SBT","version":"1.6.0","since":"135.690","until":"143.0","originalSince":"135.690","originalUntil":null},{"id":"SBT","version":"1.6.1","since":"135.475","until":"143.0","originalSince":"135.475","originalUntil":null},{"id":"TestDox","version":"1.1.15","since":"117.84","until":"181.*","originalSince":"117.84","originalUntil":null},{"id":"IdeaVIM","version":"0.35","since":"120.0","until":"181.0","originalSince":"120.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.lang.puppet","version":"6.5.0.20140515","since":"135.809","until":"201","originalSince":"135.809","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.12","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"intellij.frontendalignment","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"collabs","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Remote call","version":"1.5","since":"129.1","until":"223.*","originalSince":"129.1","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.7.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"PairHero","version":"1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"CUBA","version":"2.4.0.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"collabs","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.mistraltech.smogen","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"PairHero","version":"1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"PairHero","version":"1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.13","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"Haskell","version":"0.2.0 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"138.317","since":"138.255","until":"181.0","originalSince":"138.255","originalUntil":"139.0"},{"id":"de.halirutan.mathematica","version":"0.2.4","since":"123.94","until":"123.*","originalSince":"123.94","originalUntil":null},{"id":"org.intellij.featureSuggester","version":"0.2.3","since":"135.760","until":"193.0","originalSince":"135.760","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.14","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"intellij.frontendalignment","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.8.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.8.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"Haskell","version":"0.2.1 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"fossil4idea","version":"0.1","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"1.4.1","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"JRebelPlugin","version":"5.5.4-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"AngularJS","version":"135.937","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.6","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"5","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"com.codeOrchestra.colt.js.webStormPlugin","version":"1.1.15","since":"131.1","until":"181.0","originalSince":"131.1","originalUntil":null},{"id":"fossil4idea","version":"0.1.1","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"R4Intellij","version":"0.8.3","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"fossil4idea","version":"0.1.1","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"com.github.nrudenko.plugin.ormgenerator","version":"1.3.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fossil4idea","version":"0.1.2","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"IDEA Doc","version":"1.0RC2","since":"135.690","until":"201.0","originalSince":"135.690","originalUntil":null},{"id":"com.steve.plugins.mavenversion","version":"1.1","since":"107.105","until":"231.*","originalSince":"107.105","originalUntil":null},{"id":"com.smartbear.soapui.idea.plugin","version":"5.0-beta1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.webschik.doT","version":"1.5.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.2","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"PairHero","version":"1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"Haskell","version":"0.2.2 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.0","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.8.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"0.8.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"UsefulActions","version":"1.6","since":"135.667","until":"232","originalSince":"135.667","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"6","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"CssAlphabeticalRearranger","version":"0.2","since":"130.754","until":"183.0","originalSince":"130.754","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"7","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.3","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"CssAlphabeticalRearranger","version":"0.3","since":"130.754","until":"183.0","originalSince":"130.754","originalUntil":null},{"id":"iceScrum for Intellij","version":"1.3.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"info.darbha.plugins","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.7","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.6","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"WicketForge","version":"4.0.2","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.1","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.2","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.3","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.mextor.intellij.plugin.search","version":"1.2","since":"","until":"129.1561","originalSince":null,"originalUntil":null},{"id":"uk.co.neylan.plugins.makeiteasy","version":"1.0","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.mextor.intellij.plugin.search","version":"1.2","since":"","until":"129.1561","originalSince":null,"originalUntil":null},{"id":"uk.co.neylan.plugins.makeiteasy","version":"1.0","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.6.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"8","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6.4","since":"133.982","until":"181.0","originalSince":"133.982","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.6","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"SVN Revision Graph","version":"1.6.5","since":"133.982","until":"181.0","originalSince":"133.982","originalUntil":null},{"id":"com.civ.androidStringsTools","version":"1.0","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.0-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.intellij.scala","version":"0.40.16","since":"138.0","until":"181.0","originalSince":"138.0","originalUntil":"139.0"},{"id":"PsiViewer","version":"3.28.72","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.826","since":"136.0","until":"138.*","originalSince":"136.0","originalUntil":null},{"id":"com.mextor.intellij.plugin.search","version":"1.3.4","since":"123.72","until":"129.1561","originalSince":"123.72","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.7","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"138.826","since":"138.0","until":"181.0","originalSince":"138.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.7.1360","since":"138.515","until":"181.0","originalSince":"138.515","originalUntil":"138.*"},{"id":"org.editorconfig.editorconfigjetbrains","version":"0.4.0","since":"134.543","until":"141.0","originalSince":"134.543","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"9","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.5.0","since":"129.0","until":"193.0","originalSince":"129.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"138.872","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.8","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"PsiViewer","version":"3.28.73","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"Haskell","version":"0.3.0 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"org.intellij.scala","version":"0.40.18","since":"138.777","until":"181.0","originalSince":"138.777","originalUntil":"139.0"},{"id":"jp.funnything.offing_harbor","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"AngularJS","version":"135.1063","since":"134.1172","until":"181.0","originalSince":"134.1172","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.8.7","since":"138.515","until":"181.0","originalSince":"138.515","originalUntil":"138.*"},{"id":"com.wix.eslint","version":"1.0.9","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.10","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"LivePlugin","version":"0.3.7 beta","since":"134.0","until":"213.*","originalSince":"134.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140704","since":"138.777","until":"181.0","originalSince":"138.777","originalUntil":"138.*"},{"id":"LivePlugin","version":"0.3.8 beta","since":"134.0","until":"213.*","originalSince":"134.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.10","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0.3","since":"133.0","until":"162.0","originalSince":"133.0","originalUntil":null},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0.4","since":"133.0","until":"162.0","originalSince":"133.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.6.0","since":"131.130","until":"201","originalSince":"131.130","originalUntil":null},{"id":"uk.co.neylan.plugins.makeiteasy","version":"1.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"uk.co.neylan.plugins.makeiteasy","version":"1.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.2","since":"133.0","until":"231","originalSince":"133.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140707","since":"138.1004","until":"181.0","originalSince":"138.1004","originalUntil":"138.*"},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0.5","since":"133.0","until":"162.0","originalSince":"133.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.6","since":"123.0","until":"141.3058","originalSince":"123.0","originalUntil":null},{"id":"com.alibaba.intl.urp","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.alibaba.intl.urp","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.6.1","since":"131.130","until":"201","originalSince":"131.130","originalUntil":null},{"id":"Mongo Plugin","version":"0.6.1","since":"135.0","until":"201","originalSince":"135.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.6.0","since":"131.130","until":"201","originalSince":"131.130","originalUntil":null},{"id":"Mongo Plugin","version":"0.6.1","since":"135.0","until":"201","originalSince":"135.0","originalUntil":null},{"id":"com.scalaImportsOrganizer","version":"0.1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.scalaImportsOrganizer","version":"0.1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"uk.co.drache.intellij.guavaPostfixCompletion","version":"1.0.0","since":"131.0","until":"139.1116","originalSince":"131.0","originalUntil":null},{"id":"org.weebly.generator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"0.40.20","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":"139.0"},{"id":"com.atlassian.clover","version":"idea-4.0.0.v20140711000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"Pythonid","version":"4.0.25","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":"138.*"},{"id":"com.wix.eslint","version":"1.0.11","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"YiiStorm","version":"0.9.16.1","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"org.jetbrains.code-golf","version":"0.2.2","since":"129.1","until":"182.0","originalSince":"129.1","originalUntil":null},{"id":"org.jetbrains.code-golf","version":"0.2.2","since":"129.1","until":"182.0","originalSince":"129.1","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.6","since":"133.0","until":"141.3058","originalSince":"133.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.6","since":"133.0","until":"141.3058","originalSince":"133.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.7","since":"133.0","until":"141.3058","originalSince":"133.0","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.0.1-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"R4Intellij","version":"0.8.4","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.2.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.12","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"YiiStorm","version":"0.9.16.2","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.1161","since":"136.1029","until":"138.*","originalSince":"136.1029","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"138.937","since":"138.937","until":"138.*","originalSince":"138.937","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.13","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.14","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"YiiStorm","version":"0.9.16.3","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.15","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.16","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.17","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"TFS","version":"138.1183","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.9","since":"138.1029","until":"231.*","originalSince":"138.1029","originalUntil":null},{"id":"actiBPM","version":"1.E-9","since":"123.1","until":"192.0","originalSince":"123.1","originalUntil":null},{"id":"AngularJS","version":"138.1242","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.10.1","since":"123.72","until":"123.*","originalSince":"123.72","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.1-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.intellij.scala","version":"0.42.23","since":"138.1283","until":"181.0","originalSince":"138.1283","originalUntil":"139.0"},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140724","since":"138.1283","until":"181.0","originalSince":"138.1283","originalUntil":"138.*"},{"id":"jballant.CommonJSAutoComplete","version":"0.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"138.1281","since":"138.1029","until":"163.0","originalSince":"138.1029","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"138.1281","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.8","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.81","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.82","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.83","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.84","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.85","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.87","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.88","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.0.2","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.1.10","since":"138.1029","until":"231.*","originalSince":"138.1029","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.89","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.90","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.91","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.editorconfig.editorconfigjetbrains","version":"0.4.1","since":"138.1293","until":"141.0","originalSince":"138.1293","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.0","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"assert-deluxe","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.spb.kupchinolabs.drozd.idea.plugin","version":"0.1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.92","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"assert-deluxe","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.0.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.twig","version":"138.1505","since":"138.1","until":"138.1","originalSince":"138.1","originalUntil":null},{"id":"assert-deluxe","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"138.1495","since":"138.1495","until":"201","originalSince":"138.1495","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.93","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.1505","since":"138.1404","until":"138.*","originalSince":"138.1404","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140807","since":"138.1503","until":"181.0","originalSince":"138.1503","originalUntil":"138.*"},{"id":"com.jetbrains.php.wordPress","version":"138.1505","since":"136.1382","until":"181.0","originalSince":"136.1382","originalUntil":null},{"id":"org.intellij.scala","version":"0.42.28","since":"138.1503","until":"181.0","originalSince":"138.1503","originalUntil":"139.0"},{"id":"com.robotium.recorder.intellij","version":"0.94","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.95","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.96","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.0.3","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.97","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.98","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"0.99","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"Pythonid","version":"4.0.26","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":"138.*"},{"id":"JRebelPlugin","version":"5.6.1.1-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jimulabs.mirror.plugin","version":"2.0.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.0-beta-1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.0-beta-2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.1","since":"130.1","until":"221","originalSince":"130.1","originalUntil":null},{"id":"WicketForge","version":"4.1.0","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.3.2","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"Twelf Plugin","version":"1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"Haskell","version":"0.3.1 Beta","since":"135.480","until":"181","originalSince":"135.480","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.0-beta-3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.1","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"com.robotium.recorder.intellij","version":"1.0.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"assert-deluxe","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.1","since":"131.0","until":"139","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.1","since":"131.0","until":"139","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.19","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.0.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.1","since":"131.0","until":"139","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.0.13","since":"138.1696","until":"181.0","originalSince":"138.1696","originalUntil":"139.0"},{"id":"org.intellij.scala","version":"1.0.14","since":"138.1696","until":"181.0","originalSince":"138.1696","originalUntil":"139.0"},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.3","since":"133.0","until":"231","originalSince":"133.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.arasthel.swissknife.plugin","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.scala","version":"1.0.16","since":"138.1696","until":"181.0","originalSince":"138.1696","originalUntil":"139.0"},{"id":"com.arasthel.swissknife.plugin","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.linkedin.intellij.dust","version":"0.3.8","since":"110.0","until":"201.0","originalSince":"110.0","originalUntil":null},{"id":"builder-deluxe","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.1751","since":"138.1404","until":"138.*","originalSince":"138.1404","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.4","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.1806","since":"138.1404","until":"138.*","originalSince":"138.1404","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"138.1744","since":"138.1744","until":"181.0","originalSince":"138.1744","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.1","since":"131.0","until":"139","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.5","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"WicketForge","version":"4.1.1","since":"132.325","until":"138","originalSince":"132.325","originalUntil":null},{"id":"WicketForge","version":"5.0.0.EAP-1","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.1.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.2","since":"130.1","until":"221","originalSince":"130.1","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"10","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.2-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.php.wordPress","version":"138.1901","since":"136.1382","until":"181.0","originalSince":"136.1382","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.20","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.code-golf","version":"0.2.3","since":"129.1","until":"182.0","originalSince":"129.1","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.6","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.7","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.8","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140901","since":"138.1696","until":"181.0","originalSince":"138.1696","originalUntil":"138.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.2","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.1.v20140901000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"org.intellij.scala","version":"1.0.58","since":"138.1980","until":"181.0","originalSince":"138.1980","originalUntil":"139.0"},{"id":"CodeOutline2","version":"0.5.3","since":"123.72","until":"201","originalSince":"123.72","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.2.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.3","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.2.2","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.kodokux.github","version":"1.0.1.9","since":"131.48","until":"181.*","originalSince":"131.48","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"138.1980","since":"138.1980","until":"201","originalSince":"138.1980","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.9","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"fossil4idea","version":"0.1.3","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.10","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.11","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.2.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"fossil4idea","version":"0.1.4","since":"123.0","until":"192.*","originalSince":"123.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.4","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.2.2","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"138.1981","since":"138.1980","until":"201","originalSince":"138.1980","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.12","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.13","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.21","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.21","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.3-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.wix.jscs","version":"1.0.0","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.3.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.wix.jscs","version":"1.0.1","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.0.93.4.EAP","since":"138.2206","until":"181.0","originalSince":"138.2206","originalUntil":"139.0"},{"id":"EclipseCodeFormatter","version":"14.4.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"info.darbha.plugins","version":"2.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"pl.cmil.wuff.plugin","version":"0.1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.1.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.14","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"AngularJS","version":"138.1988","since":"138.1988","until":"181.0","originalSince":"138.1988","originalUntil":null},{"id":"CUBA","version":"2.5.0.13","since":"133.79","until":"211","originalSince":"133.79","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20140915","since":"138.2210","until":"181.0","originalSince":"138.2210","originalUntil":"138.*"},{"id":"org.intellij.scala","version":"1.0.93.9.EAP","since":"138.2206","until":"181.0","originalSince":"138.2206","originalUntil":"139.0"},{"id":"com.intellij.checker-framework","version":"1.0","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.0.93.10.EAP","since":"138.2206","until":"181.0","originalSince":"138.2206","originalUntil":"139.0"},{"id":"com.magnet.r2m","version":"0.9.0","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"JRebelPlugin","version":"5.6.3a-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.magnet.r2m","version":"0.9.1","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.magnet.r2m","version":"0.9.1","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.jetbrains.php","version":"138.2000.2262","since":"138.1404","until":"138.*","originalSince":"138.1404","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.3","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.0 alpha 3","since":"123.72","until":"212.*","originalSince":"123.72","originalUntil":null},{"id":"com.magnet.r2m","version":"1.0.0","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.magnet.r2m","version":"1.0.0","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"org.elixir_lang","version":"0.1.1","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.3.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.5","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.5","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.3.2","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.2","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"com.jimulabs.mirror.plugin","version":"2.1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.4.1","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"Remote call","version":"1.6","since":"129.1","until":"223.*","originalSince":"129.1","originalUntil":null},{"id":"com.squareup.intellij.plugins.builder","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.idea.plugin.builder","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"138.2071","since":"138.2071","until":"201","originalSince":"138.2071","originalUntil":null},{"id":"com.jetbrains.chronon","version":"135.1291","since":"134.1160","until":"181.0","originalSince":"134.1160","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"11","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.1.2","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.3","since":"138.2458","until":"181.0","originalSince":"138.2458","originalUntil":"138.*"},{"id":"com.robotium.recorder.intellij","version":"1.0.15","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"138.2502","since":"138.0","until":"181.0","originalSince":"138.0","originalUntil":null},{"id":"com.jetbrains.php","version":"138.2502","since":"138.1404","until":"138.*","originalSince":"138.1404","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"138.2502","since":"138.1000","until":"181.0","originalSince":"138.1000","originalUntil":null},{"id":"Twelf Plugin","version":"1.1.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.6","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"com.arasthel.groovy.override-completion","version":"1.0.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"138.2502","since":"138.1503","until":"181.0","originalSince":"138.1503","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"138.2502","since":"138.1980","until":"163.0","originalSince":"138.1980","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"138.2502","since":"138.1980","until":"181.0","originalSince":"138.1980","originalUntil":null},{"id":"CodeOutline2","version":"0.5.4","since":"123.72","until":"201","originalSince":"123.72","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.0","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.0","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.5.1","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"actiBPM","version":"1.E-8","since":"123.1","until":"192.0","originalSince":"123.1","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.1.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.2","since":"135.909","until":"181.0","originalSince":"135.909","originalUntil":"135.*"},{"id":"de.balpha.varsity","version":"0.3.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.7","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"wide-task-browser","version":"0.1.8","since":"130.1250","until":"231.*","originalSince":"130.1250","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.3","since":"138.2332","until":"181.0","originalSince":"138.2332","originalUntil":"138.*"},{"id":"com.robotium.recorder.intellij","version":"1.0.16","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.tagmycode.intellij","version":"1.1","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.2","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.17","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"Remote call","version":"1.7","since":"129.1","until":"223.*","originalSince":"129.1","originalUntil":null},{"id":"Remote call","version":"1.7","since":"129.1","until":"223.*","originalSince":"129.1","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.18","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.19","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.20","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.3.3","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.21","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.22","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.23","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"CVSToolBox","version":"1.4.13","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.2.1","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.0","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.24","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"AngularJS","version":"139.12","since":"139.12","until":"181.0","originalSince":"139.12","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20141010","since":"139.1","until":"181.0","originalSince":"139.1","originalUntil":"139.*"},{"id":"com.intellij.plugins.webcomponents","version":"139.1","since":"139.1","until":"139.*","originalSince":"139.1","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.2.3","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.jetbrains.twig","version":"139.58","since":"139.1","until":"139.1","originalSince":"139.1","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.2.v20141013000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"IdeaVIM","version":"0.36","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.25","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.1.3","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.neon.intellij.plugins.gitlab","version":"1.0.6","since":"133.0","until":"162.0","originalSince":"133.0","originalUntil":null},{"id":"UsefulActions","version":"1.7","since":"135.667","until":"232","originalSince":"135.667","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"139.63","since":"139.63","until":"201","originalSince":"139.63","originalUntil":null},{"id":"IdeaVIM","version":"0.37","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"LazySpring","version":"1.3.2","since":"133.696","until":"211","originalSince":"133.696","originalUntil":null},{"id":"cucumber-java","version":"139.69","since":"139.69","until":"201","originalSince":"139.69","originalUntil":null},{"id":"cucumber-groovy","version":"139.69","since":"139.69","until":"201","originalSince":"139.69","originalUntil":null},{"id":"actiBPM","version":"2.E-8","since":"123.1","until":"192.0","originalSince":"123.1","originalUntil":null},{"id":"org.jetbrains.settingsRepository","version":"2.0-beta1","since":"140.143","until":"141.0","originalSince":"140.143","originalUntil":null},{"id":"org.jetbrains.settingsRepository","version":"2.0-beta2","since":"140.143","until":"141.0","originalSince":"140.143","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.3","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"139.105","since":"138.1404","until":"139.*","originalSince":"138.1404","originalUntil":null},{"id":"com.morcinek.android.codegenerator.plugin.intellij","version":"1.2","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"leviysoft.rainbowpony","version":"1.0","since":"131.0","until":"180.*","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.3","since":"139.69","until":"181.0","originalSince":"139.69","originalUntil":"139.*"},{"id":"com.jetbrains.plugins.jade","version":"140.216","since":"139.69","until":"181.0","originalSince":"139.69","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.26","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.5.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.5.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.27","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.jetbrains.settingsRepository","version":"2.0.0.140","since":"140.143","until":"141.0","originalSince":"140.143","originalUntil":null},{"id":"Log4JPlugin","version":"1.03","since":"85.9852","until":"201.0","originalSince":"85.9852","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.28","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"JCR Content Editor","version":"1.1.4","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"org.jetbrains.settingsRepository","version":"2.0.2.140","since":"140.143","until":"141.0","originalSince":"140.143","originalUntil":null},{"id":"Log4JPlugin","version":"1.04","since":"85.9852","until":"201.0","originalSince":"85.9852","originalUntil":null},{"id":"CssAlphabeticalRearranger","version":"0.4","since":"138.0","until":"183.0","originalSince":"138.0","originalUntil":null},{"id":"com.jetbrains.php","version":"139.173","since":"138.1404","until":"139.*","originalSince":"138.1404","originalUntil":null},{"id":"com.magnet.r2m","version":"1.1.0","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.29","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JCR Content Editor","version":"1.1.5","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"builder-deluxe","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Haskell","version":"0.4.0 Beta","since":"135.909","until":"181","originalSince":"135.909","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.1","since":"139.223","until":"213","originalSince":"139.223","originalUntil":null},{"id":"JRebelPlugin","version":"6.0.0-idea13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.robotium.recorder.intellij","version":"1.0.30","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.1","since":"139.223","until":"213","originalSince":"139.223","originalUntil":null},{"id":"com.arasthel.groovy.override-completion","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"pl.cmil.wuff.plugin","version":"0.2.0.alpha","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.6.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.4","since":"133.0","until":"231","originalSince":"133.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.magnet.r2m","version":"1.1.4","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.1","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"SVN Revision Graph","version":"1.7","since":"139.1","until":"181.0","originalSince":"139.1","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.4","since":"135.909","until":"181.0","originalSince":"135.909","originalUntil":"135.*"},{"id":"AWS Elastic Beanstalk","version":"0.7.5","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":"139.*"},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.2","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.9","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.morcinek.android.codegenerator.plugin.intellij","version":"1.3","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.8","since":"133.0","until":"141.3058","originalSince":"133.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.10","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.3","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"1.0.31","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.solveforall.clients.IdeaPlugin","version":"1.0","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"com.solveforall.clients.IdeaPlugin","version":"1.0","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"actiBPM","version":"3.E-8","since":"123.1","until":"192.0","originalSince":"123.1","originalUntil":null},{"id":"Haskell","version":"0.4.1 Beta","since":"135.909","until":"181","originalSince":"135.909","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.4","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"0.0.2","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"info.darbha.plugins","version":"3.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.solveforall.clients.IdeaPlugin","version":"1.0.2","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pl.cmil.wuff.plugin","version":"0.2.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"MKS","version":"0.12","since":"129.1359","until":"201.0","originalSince":"129.1359","originalUntil":null},{"id":"cucumber-java","version":"139.225","since":"139.225","until":"201","originalSince":"139.225","originalUntil":null},{"id":"cucumber-groovy","version":"139.225","since":"139.225","until":"201","originalSince":"139.225","originalUntil":null},{"id":"cucumber-javascript","version":"139.369","since":"139.369","until":"201","originalSince":"139.369","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.4","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"138.2001.2328","since":"138.2001","until":"181.0","originalSince":"138.2001","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"1.0.0","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.mistraltech.smogen","version":"0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.morcinek.android.codegenerator.plugin.intellij","version":"1.4","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.7","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"LivePlugin","version":"0.4.0 beta","since":"138.0","until":"213.*","originalSince":"138.0","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.52","since":"133.0","until":"213","originalSince":"133.0","originalUntil":null},{"id":"com.mistraltech.smogen","version":"0.3","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.5","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.3","since":"139.225","until":"181.0","originalSince":"139.225","originalUntil":"139.*"},{"id":"org.jetbrains.idea.grammar","version":"1.2.0","since":"139.0","until":"231.*","originalSince":"139.0","originalUntil":null},{"id":"Wrap in StringBuilder","version":"1.0","since":"95.67","until":"201.0","originalSince":"95.67","originalUntil":null},{"id":"com.jetbrains.php","version":"139.496","since":"138.1404","until":"139.*","originalSince":"138.1404","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.maven.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fossil4idea","version":"0.1.5","since":"137.0","until":"192.*","originalSince":"137.0","originalUntil":null},{"id":"AWSCloudFormation","version":"0.3.9","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":"139.660"},{"id":"ExploreTrace","version":"0.1","since":"139.224","until":"201.0","originalSince":"139.224","originalUntil":null},{"id":"ExploreTrace","version":"0.1","since":"139.224","until":"201.0","originalSince":"139.224","originalUntil":null},{"id":"ExploreTrace","version":"0.1.1","since":"139.224","until":"201.0","originalSince":"139.224","originalUntil":null},{"id":"fossil4idea","version":"0.1.5","since":"137.0","until":"192.*","originalSince":"137.0","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.3.0","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"com.kukido.eclipser","version":"0.6.0","since":"139.0","until":"193.0","originalSince":"139.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.11","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.0 beta","since":"134.0","until":"213.*","originalSince":"134.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"140.727","since":"140.727","until":"181.0","originalSince":"140.727","originalUntil":"141.0"},{"id":"CSS-X-Fire","version":"1.38","since":"138.1","until":"201","originalSince":"138.1","originalUntil":null},{"id":"org.jetbrains.testnames","version":"1.0.1","since":"139.463","until":"201.0","originalSince":"139.463","originalUntil":null},{"id":"CUBA","version":"2.6.0.14","since":"139.224","until":"211","originalSince":"139.224","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.1","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"AWS Elastic Beanstalk","version":"0.7.6","since":"135.909","until":"181.0","originalSince":"135.909","originalUntil":"135.*"},{"id":"AWS Elastic Beanstalk","version":"0.7.7","since":"139.463","until":"181.0","originalSince":"139.463","originalUntil":"139.*"},{"id":"JRebelPlugin","version":"6.0.1-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.aspose.maven.intellijplugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.13","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"IdeaVIM","version":"0.39","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.14","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.22","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"139.659","since":"138.1404","until":"139.*","originalSince":"138.1404","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.0.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.classes.export.plugin.id","version":"1.1","since":"131.0","until":"192","originalSince":"131.0","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.5","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"me.tatarka.androidunittest.idea","version":"1.4.0","since":"131.0","until":"142.0","originalSince":"131.0","originalUntil":"1.0"},{"id":"Magicento","version":"2.4.0","since":"117.105","until":"181","originalSince":"117.105","originalUntil":null},{"id":"Railways","version":"0.8.0","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.0","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Compare Directories","version":"1.1.0","since":"130.0","until":"183.0","originalSince":"130.0","originalUntil":null},{"id":"com.solveforall.clients.IdeaPlugin","version":"1.0.3","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.9","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.1","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.0.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.15","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.16","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.1 beta","since":"134.0","until":"213.*","originalSince":"134.0","originalUntil":null},{"id":"QAPlug","version":"1.3.8","since":"139.659","until":"211","originalSince":"139.659","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.intellij.phing","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.jetbrains.php","version":"139.732","since":"139.658","until":"181.0","originalSince":"139.658","originalUntil":"139.*"},{"id":"com.jetbrains.php.wordPress","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"139.732","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.2","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.1.0","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.0.3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.17","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.solveforall.clients.IdeaPlugin","version":"1.0.4","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.0","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"krasa.nonProjectFilesUnlocker","version":"1.0","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"krasa.nonProjectFilesUnlocker","version":"1.1","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.1","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.1.1","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"139.789","since":"139.658","until":"181.0","originalSince":"139.658","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"139.789","since":"139.658","until":"163.0","originalSince":"139.658","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"139.789","since":"139.658","until":"181.0","originalSince":"139.658","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.2","since":"131.0","until":"139","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.10.4","since":"138.977","until":"181.0","originalSince":"138.977","originalUntil":"140.*"},{"id":"com.codota.csp.intellij","version":"0.8","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"org.startica.meeniex.intellij.plugin.eclipseLikeEnterInStringLiteralHandler","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.1","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.23","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.1.133","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.1.139","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.2","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.3","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"140.1212","since":"139.659","until":"181.0","originalSince":"139.659","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.2.133","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.2.139","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"repl.simple.mathematica.id","version":"0.0.2","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.1.2","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.3.3","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"Railways","version":"0.8.1","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.1","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.4","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.jetbrains.action-tracker","version":"0.1","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.2","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.0.2-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.dubreuia","version":"0.1","since":"131.0","until":"223","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.2","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.3","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.lang.javascript.es67","version":"1.0","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"Error-prone plugin","version":"139.887","since":"139.0","until":"143.0","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.lang.javascript.es67","version":"1.0.1","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.2.0","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.maven.intellijplugin.id","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.dubreuia","version":"0.2","since":"131.0","until":"223","originalSince":"131.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.3.133","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.hashmem.idea","version":"1.3.139","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.7.1","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.7.2","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.9","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.3","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.5","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.2.1","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.6","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"JythonHelper","version":"1.2","since":"117.105","until":"203","originalSince":"117.105","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.4","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.11","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.18","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"12","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"13","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.6.1","since":"139.0","until":"193.0","originalSince":"139.0","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1.1","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.2","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.2.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"GsonFormat","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"codeReview4idea","version":"0.5","since":"130.323","until":"181","originalSince":"130.323","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"0.2.2","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.mycila.intellij.plugin.gmavenplus","version":"2.0","since":"123.169","until":"201.8538.17","originalSince":"123.169","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.5","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"JSTestDriver Plugin","version":"140.1669","since":"140.1669","until":"181.0","originalSince":"140.1669","originalUntil":"141.0"},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.1","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.1","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"ro.bogdananton.testNameGenerator","version":"1.0","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.3.4","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.jscs","version":"1.0.2","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.3","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1.1","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.6","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"org.kevoree.idea.plugin","version":"14","since":"133.0","until":"181.*","originalSince":"133.0","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.6","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.0.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.6.2","since":"139.0","until":"193.0","originalSince":"139.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"AngularJS","version":"139.1112","since":"139.1112","until":"181.0","originalSince":"139.1112","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.4","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.7","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"wide-task-browser","version":"0.1.10","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.11","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"ru.trylogic.idea.gitlab.integration","version":"1.0.4","since":"136.16","until":"201","originalSince":"136.16","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.12","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.2 beta","since":"134.0","until":"213.*","originalSince":"134.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.6","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.hyoo.jin.tree","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.6.3","since":"139.0","until":"193.0","originalSince":"139.0","originalUntil":null},{"id":"io.dwak.reactor.intellij.plugin","version":"0.2","since":"123.72","until":"193.*","originalSince":"123.72","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.0","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.davidmis.elmplugin","version":"0.1","since":"131.0","until":"141.0","originalSince":"131.0","originalUntil":null},{"id":"io.dwak.reactor.intellij.plugin","version":"0.4","since":"123.72","until":"193.*","originalSince":"123.72","originalUntil":null},{"id":"org.kitdroid.jnihelper","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.2","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.davidmis.elmplugin","version":"0.2","since":"131.0","until":"141.0","originalSince":"131.0","originalUntil":null},{"id":"AngularJS","version":"140.1968","since":"140.1968","until":"181.0","originalSince":"140.1968","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.2","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davidmis.elmplugin","version":"0.2.1","since":"131.0","until":"141.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.12","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.rwteam.gscrum","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.13","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.3.v20150129000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"EclipseCodeFormatter","version":"14.8.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.2.1","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"JRebelPlugin","version":"6.0.3-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.chronon","version":"139.1220","since":"138.2210","until":"182.3700","originalSince":"138.2210","originalUntil":null},{"id":"com.magnet.r2m","version":"1.1.7","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.13","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.monkeyscriptplugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.14","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.3","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.nmatveev.idea-plugin-protobuf","version":"0.5.9","since":"133.0","until":"141.3058","originalSince":"133.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.4","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"pl.klamborowski.plugin.jacksongenerator","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.5","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.2.67.3.EAP","since":"140.2110","until":"181.0","originalSince":"140.2110","originalUntil":"141.0"},{"id":"com.jetbrains.plugins.jade","version":"140.2144","since":"140.1","until":"181.0","originalSince":"140.1","originalUntil":null},{"id":"JSTestDriver Plugin","version":"140.2109","since":"140.2109","until":"181.0","originalSince":"140.2109","originalUntil":"141.0"},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20150204","since":"140.2110","until":"181.0","originalSince":"140.2110","originalUntil":"140.*"},{"id":"org.intellij.scala","version":"1.3.2-14.1","since":"140.2110","until":"181.0","originalSince":"140.2110","originalUntil":"141.0"},{"id":"UsefulActions","version":"1.9","since":"135.667","until":"232","originalSince":"135.667","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.15","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.8","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"org.kitdroid.jnihelper","version":"1.0.1","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.5.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.16","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.7","since":"123.72","until":"200.0","originalSince":"123.72","originalUntil":null},{"id":"com.crownpartners.intellivault","version":"0.9.4","since":"107.105","until":"203","originalSince":"107.105","originalUntil":null},{"id":"fr.javatronic.damapping.intellij.plugin.integration","version":"14-0.1.0","since":"139.1117","until":"201.0","originalSince":"139.1117","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.5","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.6.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.crownpartners.intellivault","version":"0.9.5","since":"107.105","until":"203","originalSince":"107.105","originalUntil":null},{"id":"org.jetbrains.action-tracker","version":"0.2","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.eunut.android.plugin.selectors.generate","version":"1.0.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.eunut.android.plugin.selectors.generate","version":"1.0.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.eunut.android.plugin.selectors.generate","version":"1.0.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.sherchen.idea.plugin.injectcomment","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.9","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.6","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.3.3-14.1","since":"140.2110","until":"181.0","originalSince":"140.2110","originalUntil":"141.0"},{"id":"com.transround.nativeradmin","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.3","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.github.masahirosuzuka.PhoneGapIntelliJPlugin","version":"140.2167","since":"140.2167","until":"140.*","originalSince":"140.2167","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.7","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"uk.co.drache.intellij.guavaPostfixCompletion","version":"1.1.0","since":"139.1117","until":"141.176","originalSince":"139.1117","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.8","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.1","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.7.1","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.10","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"7.0.0.20150216","since":"140.2493","until":"181.0","originalSince":"140.2493","originalUntil":"140.*"},{"id":"com.manolenso.intellij.foundation5","version":"1.8","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.davidmis.elmplugin","version":"0.2.2","since":"131.0","until":"141.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.17","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.17","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"fr.javatronic.damapping.intellij.plugin.integration","version":"14-0.1.1","since":"139.1117","until":"201.0","originalSince":"139.1117","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.11","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.magnet.r2m","version":"1.1.12","since":"94.539","until":"142.0","originalSince":"94.539","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1.2","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.testnames","version":"1.1","since":"139.463","until":"201.0","originalSince":"139.463","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.18","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.3 beta","since":"140.2493","until":"213.*","originalSince":"140.2493","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"1.9","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"MoreUnit","version":"0.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.7","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.12","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"MoreUnit","version":"0.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"net.yeahlol","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.7.0","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"0.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.jscs","version":"1.0.3","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.1.0-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.pulyaevskiy.phpstorm.phpdi","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Haskell","version":"0.5.0","since":"139.225","until":"181","originalSince":"139.225","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"140.2765","since":"140.2285","until":"140.*","originalSince":"140.2285","originalUntil":null},{"id":"com.aconex.codelitter","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aconex.codelitter","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.12","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.unvired.sdk.plugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"2.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"2.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.13","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"R4Intellij","version":"0.9","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.9.1","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.4","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"141.15","since":"141.15","until":"141.*","originalSince":"141.15","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.5","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.transround.nativeradmin","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.brainwy.pyvmmonitor","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.brainwy.pyvmmonitor","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.2","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"AngularJS","version":"141.2","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"141.2","since":"141.2","until":"141.*","originalSince":"141.2","originalUntil":null},{"id":"Pythonid","version":"4.1 141.4 EAP","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"142.0"},{"id":"org.jetbrains.action-tracker","version":"0.3","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.13","since":"141.2","until":"213","originalSince":"141.2","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.1.3","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.3.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ftinc.plugin.generator.sectionblock","version":"1.0.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"Railways","version":"0.8.2","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.2","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.8","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.8.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"eu.meshuga.pudelek","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.8","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"1.6","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"eu.meshuga.pudelek","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.6","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.7","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.19","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.bpellint.idea","version":"0.1-alpha","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.bpellint.idea","version":"0.2-alpha","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"eu.meshuga.pudelek","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.1","since":"139.1","until":"211","originalSince":"139.1","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"blue.stack.j2Smali","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.2","since":"139.1","until":"211","originalSince":"139.1","originalUntil":null},{"id":"com.apiary.abm","version":"2.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"blue.stack.SerializableParcelableGenerator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.19","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.14","since":"139.560","until":"213","originalSince":"139.560","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.5","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.2 for IDEA 14","since":"139.1","until":"211","originalSince":"139.1","originalUntil":null},{"id":"se.trifork.intellij.whitey","version":"1.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"pl.cmil.buildFinishedNotifier","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"info.darbha.plugins","version":"3.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.mistraltech.smogen","version":"0.4","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.lxl.unique.plugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.saffrontech.idea.thop","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.fuxy.android.ide.plugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"blue.stack.SerializableParcelableGenerator","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.apiary.abm","version":"2.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.lxl.unique.plugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.apiary.abm","version":"2.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.81","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.6","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.15","since":"141.176","until":"213","originalSince":"141.176","originalUntil":null},{"id":"com.fuxy.android.ide.plugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.saffrontech.idea.thop","version":"1.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.8.7","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.9","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"CUBA","version":"2.7.0.14","since":"139.224","until":"211","originalSince":"139.224","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.3","since":"140.2110","until":"181.0","originalSince":"140.2110","originalUntil":null},{"id":"org.dlangplugin","version":"0.0.8","since":"139.1","until":"201.0","originalSince":"139.1","originalUntil":null},{"id":"JRebelPlugin","version":"6.1.1-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"IDETalk","version":"141.177.4","since":"141.177","until":"181.0","originalSince":"141.177","originalUntil":"142.0"},{"id":"com.codota.csp.intellij","version":"0.8.8","since":"131.0","until":"211.0","originalSince":"131.0","originalUntil":null},{"id":"com.emblem.unique.plugin.idid234234","version":"0.1.3","since":"121.0","until":"201.0","originalSince":"121.0","originalUntil":null},{"id":"uk.co.drache.intellij.guavaPostfixCompletion","version":"1.1.1","since":"141.177","until":"141.177","originalSince":"141.177","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.220","since":"139.1111","until":"181.0","originalSince":"139.1111","originalUntil":"139.*"},{"id":"ro.redeul.google.go","version":"0.9.201","since":"139.1111","until":"181.0","originalSince":"139.1111","originalUntil":"139.*"},{"id":"ro.redeul.google.go","version":"0.9.221","since":"139.1111","until":"181.0","originalSince":"139.1111","originalUntil":"139.*"},{"id":"ro.redeul.google.go","version":"0.9.223","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"ro.redeul.google.go","version":"0.9.223","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"Compare Directories","version":"1.1.1","since":"130.0","until":"183.0","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.16","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.jetbrains.php","version":"141.332","since":"141.1","until":"141.*","originalSince":"141.1","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"141.388","since":"141.1","until":"181.0","originalSince":"141.1","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"141.388","since":"141.1","until":"173.0","originalSince":"141.1","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"141.388","since":"141.1","until":"181.0","originalSince":"141.1","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.230","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"ro.redeul.google.go","version":"0.9.231","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"com.konifar.material_icon_generator","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"2.6","since":"141.115","until":"181.3494","originalSince":"141.115","originalUntil":null},{"id":"de.espend.idea.android","version":"0.3.1","since":"131.0","until":"191.5000","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.3","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.4","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.234","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"com.haskforce","version":"0.3-beta.20","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.20","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.macchiatow.plugin.tomato","version":"1.0.3","since":"120.0","until":"201.0","originalSince":"120.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.8","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"WicketForge","version":"5.0.1","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.1.5","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.238","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"com.codota.csp.intellij","version":"0.8.9","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"2.0.0","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"142.601","since":"142.381","until":"201","originalSince":"142.381","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.241","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"CUBA","version":"2.7.1.14","since":"139.224","until":"211","originalSince":"139.224","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.7","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.242","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"ro.redeul.google.go","version":"0.9.244","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"org.weebly.generator","version":"2.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.249","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.7.4.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.boniatillo.phaserchains","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.2.1","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.apiary.abm","version":"2.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.250","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"ro.redeul.google.go","version":"0.9.250","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"com.siberika.idea.pascal","version":"0.82","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.armandakopian.lifecyclesorter","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.251","since":"141.2","until":"181.0","originalSince":"141.2","originalUntil":"141.*"},{"id":"com.wix.react-templates","version":"1.0.21","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.21","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.anathan.zf2modulecreator","version":"0.1","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.17","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"QAPlug","version":"1.3.9","since":"141.178","until":"211","originalSince":"141.178","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.18","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"JRebelPlugin","version":"6.1.2-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.sencha.idea.IdeaPlugin","version":"0.1.210 (SenchaCon 2015 EA)","since":"140.0","until":"213","originalSince":"140.0","originalUntil":null},{"id":"com.intellij.lang.javascript.es67","version":"1.1.0","since":"141.0","until":"193.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"141.506","since":"140.1","until":"181.0","originalSince":"140.1","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.4","since":"141.498","until":"181.0","originalSince":"141.498","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.8","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.9","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.1.210.1 (SenchaCon 2015 EA)","since":"140.0","until":"213","originalSince":"140.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.1.211 (SenchaCon 2015 EA)","since":"140.0","until":"213","originalSince":"140.0","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"141.582","since":"140.1295","until":"181.0","originalSince":"140.1295","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.wix.jscs","version":"1.0.4","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.dubreuia","version":"0.3","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.19","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"cn.robin.vectorIconPack","version":"1.0","since":"131.0","until":"221.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"141.660","since":"141.450","until":"181.0","originalSince":"141.450","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"141.660","since":"140.1082","until":"181.0","originalSince":"140.1082","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"141.660","since":"141.450","until":"181.0","originalSince":"141.450","originalUntil":null},{"id":"org.anathan.zf2modulecreator","version":"0.2","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"141.582","since":"140.1295","until":"181.0","originalSince":"140.1295","originalUntil":null},{"id":"com.brainwy.pyvmmonitor","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-java","version":"141.178","since":"141.178","until":"201","originalSince":"141.178","originalUntil":null},{"id":"cucumber-groovy","version":"141.178","since":"141.178","until":"201","originalSince":"141.178","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.3 for IDEA 14","since":"139.1","until":"211","originalSince":"139.1","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.2","since":"107.587","until":"202","originalSince":"107.587","originalUntil":null},{"id":"com.unvired.sdk.plugin","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aconex.codelitter","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SBT","version":"1.7.0","since":"141.177","until":"143.0","originalSince":"141.177","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.9","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.85","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.anathan.zf2modulecreator","version":"0.2.1","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.6","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"141.690","since":"141.1","until":"173.0","originalSince":"141.1","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.dubreuia","version":"0.4","since":"131.0","until":"223","originalSince":"131.0","originalUntil":null},{"id":"com.apiary.abm","version":"2.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.4.v20150416000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.22","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.roomj.simpletitles","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ldriscoll.slf4jlogformat.intention.plugin","version":"1.0","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.7","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.ldriscoll.slf4jlogformat.intention.plugin","version":"1.1","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.10","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.8","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.9","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.20","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.10","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"net.andrevus.jetbrains.tasks.targetprocess","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.junitgen","version":"2.0.11","since":"80.8000","until":"212.*","originalSince":"80.8000","originalUntil":null},{"id":"Haskell","version":"0.5.1","since":"139.1659","until":"181","originalSince":"139.1659","originalUntil":null},{"id":"com.lxl.unique.plugin.id","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.apiary.abm","version":"2.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.11","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"net.andrevus.jetbrains.tasks.targetprocess","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.4","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.9","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.1","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"org.editorconfig.editorconfigjetbrains","version":"142.1464","since":"141.1","until":"145.0","originalSince":"141.1","originalUntil":null},{"id":"Ebean enhancer","version":"1.1","since":"90.10000","until":"145.0","originalSince":"90.10000","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.2.251 (SenchaCon 2015 EA)","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.13","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.3","since":"107.587","until":"202","originalSince":"107.587","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"nl.mmeiboom.fitnesseplugin","version":"1.0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.2","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"1.9.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"dcevm","version":"1.8","since":"129.524","until":"201.0","originalSince":"129.524","originalUntil":null},{"id":"siani.dev.itrules","version":"1.1.14","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"WFA console","version":"2.2","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.5","since":"133.0","until":"231","originalSince":"133.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.91","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.2.9","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.ele.napos.miracle.plugin.executor.ExecutorGen","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.1.3-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.intellij.plugins.junitgen","version":"2.0.12","since":"80.8000","until":"212.*","originalSince":"80.8000","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.4","since":"139.1117","until":"202","originalSince":"139.1117","originalUntil":null},{"id":"AngularJS","version":"141.991","since":"141.991","until":"181.0","originalSince":"141.991","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"141.991","since":"141.991","until":"141.*","originalSince":"141.991","originalUntil":null},{"id":"jenv-idea-plugin","version":"0.0.3","since":"141.0","until":"181.0","originalSince":"141.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.3.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.8","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.bft.control.idea","version":"1.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.5","since":"141.1009","until":"181.0","originalSince":"141.1009","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.92","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.bft.control.idea","version":"1.1","since":"135.0","until":"201.*","originalSince":"135.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"Nette framework helpers","version":"0.2.0","since":"130.1","until":"192.0","originalSince":"130.1","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.1.11","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.24","since":"140.0","until":"211","originalSince":"140.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.3","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"Railways","version":"0.8.3","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.3","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.5","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.3.312 (SenchaCon 2015 EA)","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"com.wix.jscs","version":"1.0.5","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"jVb_Designer","version":"0.11","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.6","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.21","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.apiary.abm","version":"2.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.armandakopian.lifecyclesorter","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.25","since":"140.0","until":"211","originalSince":"140.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.22","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"YAML/Ansible support","version":"0.5","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.11","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.0-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"cat.kanbanapps.gradlekiller","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.12","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.6","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.ylt.appcan.plugin","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AngularJS","version":"141.1237","since":"141.1237","until":"181.0","originalSince":"141.1237","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"141.1237","since":"141.1237","until":"141.*","originalSince":"141.1237","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.8","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.3.323 (SenchaCon 2015 EA)","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.13","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.9","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.7","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"codeReview4idea","version":"0.5.1","since":"141.177","until":"203","originalSince":"141.177","originalUntil":null},{"id":"com.intellij.lang.javascript.es67","version":"1.2.0","since":"141.0","until":"193.0","originalSince":"141.0","originalUntil":null},{"id":"codeReview4idea","version":"0.5.2","since":"141.177","until":"203","originalSince":"141.177","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.0","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.pandawarrior.androidXMLConverter","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"GsonFormat","version":"1.1.0","since":"107.110","until":"201.0","originalSince":"107.110","originalUntil":null},{"id":"AngularJS","version":"142.1935","since":"142.1935","until":"181.0","originalSince":"142.1935","originalUntil":null},{"id":"org.foxsly.idea.extended.generate.actions","version":"0.2","since":"129.451","until":"201.0","originalSince":"129.451","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.26","since":"140.0","until":"211","originalSince":"140.0","originalUntil":null},{"id":"com.pandawarrior.androidXMLConverter","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"collabs","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Nette framework helpers","version":"0.2.1","since":"130.1","until":"192.0","originalSince":"130.1","originalUntil":null},{"id":"org.foxsly.idea.extended.generate.actions","version":"0.3","since":"129.451","until":"201.0","originalSince":"129.451","originalUntil":null},{"id":"UsefulActions","version":"2.0","since":"135.667","until":"232","originalSince":"135.667","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.95","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"142.2064","since":"142.2064","until":"181.0","originalSince":"142.2064","originalUntil":"143.0"},{"id":"GsonFormat","version":"1.1.1","since":"107.111","until":"201.0","originalSince":"107.111","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.4 for IDEA 14.1.3","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.0.0","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"1.8","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.1","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"GsonFormat","version":"1.1.2","since":"107.112","until":"201.0","originalSince":"107.112","originalUntil":null},{"id":"com.contentful.ideagenerator","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JsonFormat","version":"1.0.0","since":"107.112","until":"201.0","originalSince":"107.112","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.6.2","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.1.2","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.4","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.1.3","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"collabs","version":"2.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.1.4","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.7.2","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.0","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"com.kgmyshin.ideaplugin.eventbus","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.kgmyshin.ideaplugin.eventbus","version":"1.1","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.kgmyshin.ideaplugin.eventbus3","version":"1.0","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.23","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.1","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.0","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"collabs","version":"2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.appstrakt.syncTranslation","version":"1.7.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"2.2","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"IdeaVIM","version":"0.40","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"IdeaVIM","version":"0.41","since":"135.0","until":"181.0","originalSince":"135.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.2","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"pl.lksztmczk.openinterminal","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.10","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"141.1518","since":"141.1518","until":"141.*","originalSince":"141.1518","originalUntil":null},{"id":"com.pandawarrior.androidXMLConverter","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"142.2492","since":"142.2492","until":"181.0","originalSince":"142.2492","originalUntil":"143.0"},{"id":"EclipseCodeFormatter","version":"14.9.132.637","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"8.0.0.20150616","since":"142.2491","until":"181.0","originalSince":"142.2491","originalUntil":"142.*"},{"id":"org.intellij.scala","version":"1.6.0","since":"142.0","until":"181.0","originalSince":"142.0","originalUntil":"143.0"},{"id":"YAML/Ansible support","version":"0.7.3","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.kgmyshin.ideaplugin.eventbus","version":"1.2","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.96","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.saffrontech.idea.thop","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.1-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.plugins.meteor","version":"142.2481","since":"142.2481","until":"181.0","originalSince":"142.2481","originalUntil":"143.0"},{"id":"AngularJS","version":"142.2481","since":"142.2481","until":"181.0","originalSince":"142.2481","originalUntil":null},{"id":"Pythonid","version":"4.1","since":"142.2491","until":"181.0","originalSince":"142.2491","originalUntil":"143.0"},{"id":"com.jimulabs.mirror.plugin","version":"2.5.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"FrozenIdea","version":"0.0.2.5","since":"139.1","until":"193.*","originalSince":"139.1","originalUntil":null},{"id":"intellij.buck.plugin","version":"1.0","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.1","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.0.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.2","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"1.1","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"2.3","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.24","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"org.intellij.scala","version":"1.6.1","since":"142.2670","until":"181.0","originalSince":"142.2670","originalUntil":"143.0"},{"id":"org.jetbrains.plugins.ruby","version":"8.0.0.20150624","since":"142.2670","until":"181.0","originalSince":"142.2670","originalUntil":"142.*"},{"id":"com.jetbrains.php","version":"142.2716","since":"142.2600","until":"142.*","originalSince":"142.2600","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"142.2716","since":"142.2700","until":"173.0","originalSince":"142.2700","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.25","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2.0","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"org.perfcake.pc4idea","version":"4.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.1","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"pl.lksztmczk.openinterminal","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"net.nerrd.intellij.plugin.dpicalculator","version":"1.0","since":"141.201","until":"201.0","originalSince":"141.201","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.0.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"allotria/removeusage","version":"0.9","since":"129.0","until":"201.0","originalSince":"129.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.21","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"allotria/removeusage","version":"1.0","since":"129.0","until":"201.0","originalSince":"129.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.0.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.97","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"NRGvlanghelPlugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"1.2.0.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"Pythonid","version":"142.176 v4.5","since":"142.2887","until":"181.0","originalSince":"142.2887","originalUntil":"143.0"},{"id":"net.nerrd.intellij.plugin.dpicalculator","version":"1.1","since":"141.201","until":"201.0","originalSince":"141.201","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.2b-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.2b-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"net.nerrd.intellij.plugin.dpicalculator","version":"1.2","since":"141.201","until":"201.0","originalSince":"141.201","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.ylt.appcan.plugin","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.26","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"0.4.325 (SenchaCon 2015 EA)","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.4-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"net.orekyuu.bitbucketissues","version":"1.0.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"TabSwitcherExtreme","version":"1.0.5","since":"99.18","until":"181.*","originalSince":"99.18","originalUntil":null},{"id":"com.pandawarrior.androidXMLConverter","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Shuffler","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.0.5b-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.5b-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"Shuffler","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.3","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.6-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.0.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.7-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.jetbrains.plugins.ruby","version":"8.0.0.20150708","since":"142.3050","until":"181.0","originalSince":"142.3050","originalUntil":"142.*"},{"id":"com.pandawarrior.androidXMLConverter","version":"1.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"0.3.5","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"Shuffler","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"find.me.tagged","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.pulyaevskiy.phpstorm.phpdi","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.3.6","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.4","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2.2","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.mistraltech.smogen","version":"0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.11","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.hackathon2015.S","version":"1.0.1","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.5.9","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.5 for IDEA 14.1.3","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.8-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.scala","version":"1.6.2","since":"142.3050","until":"181.0","originalSince":"142.3050","originalUntil":"143.0"},{"id":"com.illuminatedcloud.intellij","version":"1.0.8b-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.8b-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.0.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.0.9-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"SequencePluginReload","version":"1.0.6","since":"139.1117","until":"202","originalSince":"139.1117","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.3","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.1.396","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"ThinkStorm","version":"0.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.kgmyshin.ideaplugin.eventbus","version":"1.3","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.7","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"GsonFormat","version":"1.1.3","since":"107.113","until":"201.0","originalSince":"107.113","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.5.v20150720000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.3","since":"141.0","until":"192.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.1.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.oneskyapp.intellij","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.1.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"marcglasberg.HibernateInspectionsPlugin","version":"1.0","since":"139.0","until":"181.*","originalSince":"139.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.5.10","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.1.0b-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.1.0b-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.0-beta","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"0.3.7","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.5","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.7.2","since":"142.3050","until":"181.0","originalSince":"142.3050","originalUntil":"143.0"},{"id":"com.jetbrains.intellij.api.watcher","version":"1.1","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.dmytrodanylyk.fold","version":"1.0","since":"131.0","until":"200","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.1-beta","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.5","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"net.orekyuu.bitbucketissues","version":"1.0.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"ThinkStorm","version":"0.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.2","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.2-beta","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"1.0.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.4 beta","since":"140.2493","until":"213.*","originalSince":"140.2493","originalUntil":null},{"id":"com.onkiup.minedroid","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.2.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"jballant.CommonJSAutoComplete","version":"0.2.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"ThinkStorm","version":"0.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.2","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.3","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.27","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.3","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.1","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.2","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.7.4","since":"142.3553","until":"181.0","originalSince":"142.3553","originalUntil":"143.0"},{"id":"org.zkoss.zkidea","version":"0.1.4","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.3","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.4","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.2-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.5","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"1.4.6","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.0","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.5","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"1.1.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.1","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.jotc.nsis.plugin.nsis","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.2.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.2.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"Nette framework helpers","version":"0.3.0","since":"130.1","until":"192.0","originalSince":"130.1","originalUntil":null},{"id":"phplint","version":"1.0","since":"131.0","until":"141.0","originalSince":"131.0","originalUntil":null},{"id":"com.fedot.idea.requirejs","version":"0.24","since":"141.0","until":"181.0","originalSince":"141.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.0","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"org.typowriter.intellij.plugins.backgroundchibichara","version":"1.0.6","since":"131.0","until":"182.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-java","version":"142.3553","since":"142.3553","until":"201","originalSince":"142.3553","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.2","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.01","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.02","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"org.siprop.android.opencl.OpenCLCLGenerator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.siprop.android.opencl.OpenCLCLGenerator","version":"1.01","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.4","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"Nette framework helpers","version":"0.3.1","since":"130.1","until":"192.0","originalSince":"130.1","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.5","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.0","since":"131.0","until":"163.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.0.1","since":"131.0","until":"163.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.mmin18.layoutcast.ide","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.0.2","since":"131.0","until":"163.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.6","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.3.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.3.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.siprop.android.opencl.OpenCLCLGenerator","version":"1.02","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.3.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.3.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.thoughtworks.gauge","version":"0.0.12","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"141.2325","since":"141.1708","until":"181.0","originalSince":"141.1708","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"141.2325","since":"140.1295","until":"181.0","originalSince":"140.1295","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"141.2325","since":"141.450","until":"181.0","originalSince":"141.450","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"141.2325","since":"140.1082","until":"181.0","originalSince":"140.1082","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"141.2325","since":"140.1295","until":"181.0","originalSince":"140.1295","originalUntil":null},{"id":"com.jetbrains.twig","version":"141.2325","since":"141.1","until":"141.1","originalSince":"141.1","originalUntil":null},{"id":"com.intellij.phing","version":"141.2325","since":"139.224","until":"181.0","originalSince":"139.224","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"141.2325","since":"141.450","until":"181.0","originalSince":"141.450","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"142.3742","since":"142.381","until":"201","originalSince":"142.381","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.2.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"uk.co.drache.intellij.guavaPostfixCompletion","version":"1.1.2","since":"141.177","until":"141.177","originalSince":"141.177","originalUntil":null},{"id":"org.siprop.android.opencl.OpenCLCLGenerator","version":"1.03","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.1.0","since":"131.0","until":"163.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.mmin18.layoutcast.ide","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.roomj.simpletitlesprojectonly","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.mmin18.layoutcast.ide","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.mmin18.layoutcast.ide","version":"1.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.02","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.2.414","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"fir.im.plug.idea","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"141.2402","since":"140.1295","until":"181.0","originalSince":"140.1295","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"142.3969","since":"142.2888","until":"173.0","originalSince":"142.2888","originalUntil":null},{"id":"com.jetbrains.php","version":"142.3969","since":"142.2888","until":"142.*","originalSince":"142.2888","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.3","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.4","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.przemyslawj.mockito.generator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.13","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"kodebeagleidea","version":"0.1.2-bug-fix","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.2.132.637.2","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.5","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.4.1.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.1.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"fir.im.plug.idea","version":"1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"in.xiv.cs","version":"0.1","since":"131.0","until":"223","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.03","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"Haskell","version":"0.5.2","since":"139.1659","until":"181","originalSince":"139.1659","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"io.codecook","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"2.6.1","since":"141.115","until":"181.3494","originalSince":"141.115","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.1.057","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.454","since":"141.1532","until":"141.*","originalSince":"141.1532","originalUntil":"142.*"},{"id":"org.zkoss.zkidea","version":"0.1.6","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.8","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.hotels.intellij.plugins.sharedviews","version":"1.1","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.462","since":"141.1532","until":"141.*","originalSince":"141.1532","originalUntil":"142.*"},{"id":"com.przemyslawj.mockito.generator","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.98","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.nextras.orm.intellij","version":"0.1","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.6","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.sssta.androidtools","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.8","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"ro.redeul.google.go","version":"0.9.466","since":"141.1532","until":"141.*","originalSince":"141.1532","originalUntil":"142.*"},{"id":"com.thoughtworks.gauge","version":"0.0.14","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.04","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.7","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.05","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.przemyslawj.mockito.generator","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.03","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"1.9","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"pl.klamborowski.plugin.jacksongenerator","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.8.0","since":"142.3926","until":"181.0","originalSince":"142.3926","originalUntil":"143.0"},{"id":"org.intellij.scala","version":"1.8.0","since":"142.3926","until":"181.0","originalSince":"142.3926","originalUntil":"143.0"},{"id":"AngularJS","version":"142.4081","since":"142.4081","until":"181.0","originalSince":"142.4081","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"142.4081","since":"142.4081","until":"142.*","originalSince":"142.4081","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.4.2.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.visprogramming.armory","version":"1.06","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.6","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.7","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.przemyslawj.mockito.generator","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ro.bogdananton.testNameGenerator","version":"1.3.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.07","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.github.mmin18.layoutcast.ide","version":"1.1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"2.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.3-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"CollabNet Tools","version":"1.0.8","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"GsonFormat","version":"1.2.0","since":"107.117","until":"201.0","originalSince":"107.117","originalUntil":null},{"id":"org.sssta.androidtools","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.0.9","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"org.sssta.androidtools","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"2.9","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"com.aspose.words.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"Shuffler","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Shuffler","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.1.065","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"0.12.1235.Idea141.1","since":"141.2","until":"141.*","originalSince":"141.2","originalUntil":"141.*"},{"id":"CollabNet Tools","version":"1.1.0","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"CollabNet Tools","version":"1.1.1","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.08","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.tasks.navigation","version":"0.4.0","since":"131.0","until":"212.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.8.2","since":"142.4245","until":"181.0","originalSince":"142.4245","originalUntil":"143.0"},{"id":"org.intellij.scala","version":"1.8.2","since":"142.4245","until":"181.0","originalSince":"142.4245","originalUntil":"143.0"},{"id":"com.jetbrains.intellij.api.watcher","version":"3.0.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.0.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.0.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"me.guichaguri.additionaltools","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.09","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.0","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"com.aconex.codelitter","version":"1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.4","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.vuonghv2.vpmt.plugin.yumeplugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.2.002","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.1.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.fishy.plugin.idea.ponytail","version":"1.0.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.6 for IDEA 14.1.3","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"ua.pp.madcap.codingame.plugin","version":"0.1.1","since":"140.0","until":"201.0","originalSince":"140.0","originalUntil":null},{"id":"JBehaveBddPlugin","version":"0.2.2","since":"93.94","until":"201.0","originalSince":"93.94","originalUntil":null},{"id":"PsiViewer","version":"3.28.76","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.1.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.visprogramming.armory","version":"1.10","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php","version":"142.4491","since":"142.2888","until":"142.*","originalSince":"142.2888","originalUntil":null},{"id":"PsiViewer","version":"3.28.77","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.28","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.aspose.Cells.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.alaster.soa.requests","version":"1.03","since":"123.0","until":"193.0","originalSince":"123.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.plugins.hcl","version":"0.2.8","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"2.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.perl5","version":"1.004","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"142.4651","since":"142.4651","until":"181.0","originalSince":"142.4651","originalUntil":null},{"id":"AngularJS","version":"142.4651","since":"142.4651","until":"181.0","originalSince":"142.4651","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.2.9","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.ec2manager","version":"1.0.5","since":"133.193","until":"181.0","originalSince":"133.193","originalUntil":"133.193"},{"id":"org.root.HoogleIt","version":"0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.root.HoogleIt","version":"0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.22","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"org.root.HoogleIt","version":"0.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.tapper.splittingup","version":"1.0","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.scala","version":"1.8.4","since":"142.4465","until":"181.0","originalSince":"142.4465","originalUntil":"143.0"},{"id":"org.intellij.scala","version":"1.8.4","since":"142.4465","until":"181.0","originalSince":"142.4465","originalUntil":"143.0"},{"id":"com.aspose.slides.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.5.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.2.1","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.8","since":"139.0","until":"193.*","originalSince":"139.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.2.2","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.mulgasoft.emacsplus","version":"0.3.000","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.2","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.2.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.3.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.2.3","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.4-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"jp.tomorrowkey.intellij.injectlogtag","version":"1.0.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.d0as8.perlrun","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"2.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"me.guichaguri.additionaltools","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.hasintech.intellij.angularTemplates","version":"1.0.2","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.8.5","since":"142.4859","until":"181.0","originalSince":"142.4859","originalUntil":"143.0"},{"id":"com.visprogramming.armory","version":"1.21","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.8.5","since":"142.4859","until":"181.0","originalSince":"142.4859","originalUntil":"143.0"},{"id":"lsfusion.idea.plugin","version":"1.0.29","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"com.vuonghv2.vpmt.plugin.yumeplugin","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.6","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.4.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.aspose.slides.java.intellij.maven","version":"1.0.0.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.0.6.v20150918000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.3.100","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.5.11","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.5.2.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"AngularJS","version":"142.5028","since":"142.5028","until":"181.0","originalSince":"142.5028","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.5","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.8","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.0","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.lxl.unique.plugin.id","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.baidu.penny","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.piotrbuda.intellij.pony","version":"0.1.0","since":"141.178","until":"201","originalSince":"141.178","originalUntil":null},{"id":"me.guichaguri.additionaltools","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.hewy.esnippets","version":"0.0.2.","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.hewy.esnippets","version":"0.0.3.","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.2.9","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.1","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.2","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.0.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.0.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.oneskyapp.intellij","version":"1.3.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.vuonghv2.vpmt.plugin.yumeplugin","version":"3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"RTC4Idea","version":"4.0.0_02","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"142.5266","since":"142.4912","until":"181.0","originalSince":"142.4912","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.5.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.3","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php","version":"142.5282","since":"142.5068","until":"142.*","originalSince":"142.5068","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"142.5282","since":"142.2888","until":"181.0","originalSince":"142.2888","originalUntil":null},{"id":"com.intellij.phing","version":"142.5282","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"142.5282","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.twig","version":"142.5282","since":"142.1","until":"142.1","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"142.5282","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"142.5282","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"142.5282","since":"142.4912","until":"181.0","originalSince":"142.4912","originalUntil":null},{"id":"com.eltonkola.androidsnippets","version":"1.0","since":"123.0","until":"193.0","originalSince":"123.0","originalUntil":null},{"id":"il.co.falk.buildAndLint","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.1.3.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Beaker Test Runner","version":"0.1.0","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.6.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.5-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"siani.dev.itrules","version":"1.4.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.6","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.vuonghv2.vpmt.plugin.yumeplugin","version":"4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.barcode.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.0","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.1.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.3.430","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.4","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.directfn.unique.plugin.logmanger","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"143.88","since":"143.88","until":"181.0","originalSince":"143.88","originalUntil":"144.0"},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.3 beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"143.88","since":"143.88","until":"143.*","originalSince":"143.88","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"142.5282","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"pl.maja.nativetounicode","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.7","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.vuonghv2.vpmt.plugin.yumeplugin","version":"5.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.directfn.unique.plugin.logmanger","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"claims.bold.intellij.avro","version":"0.2.0","since":"131.0","until":"202.*","originalSince":"131.0","originalUntil":null},{"id":"AngularJS","version":"143.110","since":"143.110","until":"181.0","originalSince":"143.110","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.2","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"Pythonid","version":"5.0.142.2","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":null},{"id":"PythonCore","version":"5.0.142.2","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.2","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"org.jetbrains.plugins.ruby","version":"8.0.0.20151005","since":"143.85","until":"181.0","originalSince":"143.85","originalUntil":"143.*"},{"id":"org.jetbrains.plugins.vagrant","version":"0.6.143.3","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":null},{"id":"pro.alex_zaitsev.androidstyler","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"143.129","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.133","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"com.haskforce","version":"0.3-beta.23","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.aspose.pdf.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.30","since":"141.177","until":"213","originalSince":"141.177","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.140","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.3.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.0","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.3","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.1","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.5","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.2.0","since":"131.0","until":"162.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.147","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"com.atsebak.ui5","version":"2.04","since":"133.0","until":"193.*","originalSince":"133.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.0.1","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.3.1","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.2.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.scala","version":"1.9.151","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.6","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"3.7.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.1.3.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.2.2","since":"143.116","until":"181.0","originalSince":"143.116","originalUntil":"144.0"},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.5.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"143.279","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.3.110","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.3.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.3.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"co.leantechniques.idea-js-test-finder","version":"0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.4.438","since":"141.0","until":"213","originalSince":"141.0","originalUntil":null},{"id":"com.directfn.unique.plugin.logmanger","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.3.2","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"YAML/Ansible support","version":"0.8.0","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.dmitz.intellij.plugin.websocket.client","version":"0.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.performancePlugin","version":"1.1","since":"142.4848","until":"181.0","originalSince":"142.4848","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.5.12","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.email.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.sap.hcp.WebStormPlugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.4","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.sap.hcp.WebStormPlugin","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.sap.hcp.WebStormPlugin","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"4.1.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"org.evosuite.plugin.intellij","version":"1.0.1","since":"131.0","until":"200","originalSince":"131.0","originalUntil":null},{"id":"com.perl5","version":"1.110","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.5.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.raj.unique.plugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.raj.unique.plugin.id","version":"1.0.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.0","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.4","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.0"},{"id":"org.intellij.scala","version":"1.9.4","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.0"},{"id":"Beaker Test Runner","version":"0.1.1","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.2","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"3.0","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"org.intellij.scala","version":"1.9.4.1","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.0"},{"id":"JRebelPlugin","version":"6.2.6-idea-13-14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.plugins.meteor","version":"143.360","since":"143.360","until":"181.0","originalSince":"143.360","originalUntil":"144.0"},{"id":"com.hewy.esnippets","version":"0.0.5.","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.pulyaevskiy.phpstorm.phpdi","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pro.alex_zaitsev.androidstyler","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"PythonCore","version":"5.0.143.61","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":null},{"id":"Pythonid","version":"5.0.143.53","since":"143.249","until":"181.0","originalSince":"143.249","originalUntil":null},{"id":"PythonCore","version":"5.0.143.53","since":"143.249","until":"181.0","originalSince":"143.249","originalUntil":null},{"id":"GsonFormat","version":"1.2.1","since":"107.118","until":"201.0","originalSince":"107.118","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.22","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.1","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.3.5","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"0.5.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.2","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.3","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"143.434","since":"142.2888","until":"173.0","originalSince":"142.2888","originalUntil":null},{"id":"Pythonid","version":"5.0.142.1060","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":null},{"id":"PythonCore","version":"5.0.142.1060","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.6.143.71","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"143.379","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.0"},{"id":"org.intellij.plugins.hcl","version":"0.4.0","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.5","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.squareup.intellij.plugin.copy-as-github-path","version":"2.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.4.1","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"AngularJS","version":"143.379.19","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":null},{"id":"com.spicedroid.xmltrans","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.4.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.4.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.6","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.4beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.4.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.4.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.2.1","since":"131.0","until":"162.0","originalSince":"131.0","originalUntil":null},{"id":"com.spicedroid.xmltrans","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Beaker Test Runner","version":"0.1.2","since":"131.0","until":"172.*","originalSince":"131.0","originalUntil":null},{"id":"mopedjc","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.4.2","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.0.1","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.23","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0.2","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"siani.dev.itrules","version":"1.4.1","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.tasks.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.4.2","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.1.0","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.7","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.vv.adbuninstall","version":"1.1.3","since":"93.13","until":"183","originalSince":"93.13","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.6","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.9","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.24","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.busybusy.Taiga.io.Task","version":"1.1.7","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.3.2","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"4.2.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.3.3","since":"123.72","until":"191.*","originalSince":"123.72","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.2","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"com.spicedroid.xmltrans","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Pythonid","version":"5.0.143.95","since":"143.380","until":"181.0","originalSince":"143.380","originalUntil":null},{"id":"PythonCore","version":"5.0.143.95","since":"143.380","until":"181.0","originalSince":"143.380","originalUntil":null},{"id":"com.kukido.eclipser","version":"0.7.0","since":"143.0","until":"193.0","originalSince":"143.0","originalUntil":null},{"id":"fir.im.plug.idea","version":"2.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.2.0","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.10","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.github.gcds.global.template.variables","version":"1.0.2","since":"93.13","until":"211.*","originalSince":"93.13","originalUntil":null},{"id":"IdeaVIM","version":"0.42","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.4.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"IdeaVIM","version":"0.43","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"Pythonid","version":"5.0.143.100","since":"143.381","until":"181.0","originalSince":"143.381","originalUntil":null},{"id":"PythonCore","version":"5.0.143.100","since":"143.381","until":"181.0","originalSince":"143.381","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.5 beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"IdeaVIM","version":"0.44","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"Pythonid","version":"5.0.143.103","since":"143.381","until":"181.0","originalSince":"143.381","originalUntil":null},{"id":"PythonCore","version":"5.0.143.103","since":"143.381","until":"181.0","originalSince":"143.381","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.5.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.5.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.jetbrains.php.framework","version":"143.381.48","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.intellij.phing","version":"143.381.48","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"143.381.48","since":"142.381","until":"201","originalSince":"142.381","originalUntil":null},{"id":"com.jetbrains.php","version":"143.381.48","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"143.381.48","since":"142.4912","until":"181.0","originalSince":"142.4912","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"143.381.48","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.twig","version":"143.381.48","since":"142.1","until":"142.1","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"143.381.48","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"143.381.48","since":"142.4912","until":"181.0","originalSince":"142.4912","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"143.381.48","since":"142.2888","until":"173.0","originalSince":"142.2888","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"143.381.48","since":"142.2888","until":"181.0","originalSince":"142.2888","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"143.381.48","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.11","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.perl5","version":"1.111","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.perl5","version":"1.112","since":"143.0","until":"162.*","originalSince":"143.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.0","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"com.fir.im.android.plugin.id","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.25","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.31","since":"143.381","until":"213","originalSince":"143.381","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.1","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.2","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"3.0.0","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.01","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.02","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.1.3.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.03","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.031","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"1.032","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"1.2.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"0.9.7 for IDEA 14.1.4","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.13","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.14","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.0.7","since":"131.0","until":"223.*","originalSince":"131.0","originalUntil":null},{"id":"cucumber-java","version":"143.381","since":"143.381","until":"201","originalSince":"143.381","originalUntil":null},{"id":"cucumber-groovy","version":"143.381","since":"143.381","until":"201","originalSince":"143.381","originalUntil":null},{"id":"com.jawspeak.joined-tab-scrolling","version":"0.1-alpha","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.2.1","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.2","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.32","since":"143.381","until":"213","originalSince":"143.381","originalUntil":null},{"id":"com.aspose.diagram.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.4.3","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.26","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"org.elixir_lang","version":"1.2.1","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"fossil4idea","version":"0.1.6","since":"143.0","until":"192.*","originalSince":"143.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.1","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.1.1","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.2.7-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"CUBA","version":"2.9.0.15","since":"143.381","until":"211","originalSince":"143.381","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.5.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.5.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"pl.lksztmczk.openinterminal","version":"1.5.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.2","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.7 beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.8 beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.15","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.16","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.17","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.10","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"144.988","since":"144.988","until":"181.0","originalSince":"144.988","originalUntil":"145.0"},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.11","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.jetbrains.php","version":"143.382.38","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"com.aspose.ocr.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"Pythonid","version":"5.0.142.1177","since":"143.747","until":"181.0","originalSince":"143.747","originalUntil":null},{"id":"PythonCore","version":"5.0.142.1177","since":"143.747","until":"181.0","originalSince":"143.747","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.3","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.25","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php","version":"143.790","since":"143.383","until":"143.*","originalSince":"143.383","originalUntil":null},{"id":"jbehave-support-plugin-extension","version":"1.00","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.6.456","since":"143.0","until":"213","originalSince":"143.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.18","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.01","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-java","version":"143.382","since":"143.382","until":"201","originalSince":"143.382","originalUntil":null},{"id":"cucumber-groovy","version":"143.382","since":"143.382","until":"201","originalSince":"143.382","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.6.1 (beta)","since":"143.0","until":"191.6708","originalSince":"143.0","originalUntil":null},{"id":"org.antlr.jetbrains.st4plugin","version":"0.1","since":"133.0","until":"173.*","originalSince":"133.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.antlr.jetbrains.st4plugin","version":"0.2","since":"133.0","until":"173.*","originalSince":"133.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.26","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.27","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.27","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.0.8","since":"131.0","until":"223.*","originalSince":"131.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.0.0","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"org.antlr.jetbrains.st4plugin","version":"0.3","since":"133.0","until":"173.*","originalSince":"133.0","originalUntil":null},{"id":"cat.kanbanapps.gradlekiller","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.3","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"jbehave-support-plugin-extension","version":"1.01","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"Pythonid","version":"5.0.143.116","since":"143.747","until":"181.0","originalSince":"143.747","originalUntil":null},{"id":"PythonCore","version":"5.0.143.116","since":"143.747","until":"181.0","originalSince":"143.747","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.33","since":"143.381","until":"213","originalSince":"143.381","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.visprogramming.armory","version":"1.27","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.19","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"1.2.2","since":"133.1711","until":"212.0","originalSince":"133.1711","originalUntil":null},{"id":"jbehave-support-plugin-extension","version":"1.02","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"HybrisPlugin","version":"1.2.0","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.3","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.20","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"2.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.2.2","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"2.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"2.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.21","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.22","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.23","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"cat.kanbanapps.gradlekiller","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.imaging.java.intellij.maven","version":"1.0.0.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.davy307.androidassetimporter","version":"2.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Pythonid","version":"5.0.2.143.121","since":"143.869","until":"181.0","originalSince":"143.869","originalUntil":null},{"id":"PythonCore","version":"5.0.2.143.121","since":"143.869","until":"181.0","originalSince":"143.869","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.idamobile.android.toolbox","version":"1.1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.antlr.jetbrains.st4plugin","version":"0.4","since":"133.0","until":"173.*","originalSince":"133.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.4","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.7.3","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.24","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.34","since":"143.381","until":"213","originalSince":"143.381","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0.3","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"com.mulgasoft.emacsplus","version":"0.3.200","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.coursehero.helper","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.0","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.4.2","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"Batch Scripts Support","version":"1.0.6","since":"141.0","until":"182.*","originalSince":"141.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.4","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.0.2","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.0.2","since":"133.0","until":"211","originalSince":"133.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.4.1","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.1","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.0.9","since":"131.0","until":"223.*","originalSince":"131.0","originalUntil":null},{"id":"com.jawspeak.joined-tab-scrolling","version":"0.3-alpha","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation5","version":"2.4","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"HybrisPlugin","version":"1.2.1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.6.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.kukido.eclipser","version":"0.7.1","since":"143.0","until":"193.0","originalSince":"143.0","originalUntil":null},{"id":"Vue.js","version":"1.0.0","since":"141.0","until":"181.0","originalSince":"141.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.14","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.5","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"143.1088","since":"143.1088","until":"181.0","originalSince":"143.1088","originalUntil":"144.0"},{"id":"com.aspose.intellijplugin.id","version":"1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.8","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.2.9","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.github.mohamedkomalo.envVarsInPathVars","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Batch Scripts Support","version":"1.0.7","since":"141.0","until":"182.*","originalSince":"141.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.4.5","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"com.softdream.intellij.plugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.0.3","since":"133.0","until":"211","originalSince":"133.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"4.3.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.24","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.squareup.intellij.plugin.copy-as-github-path","version":"2.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.25","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"io.imdone.imdone-plugin","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.3.0-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"HybrisPlugin","version":"1.2.2","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.widerwille.afterglow","version":"1.0.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"ru.oldtown.idea.workflowplugin","version":"1.1","since":"80.8000","until":"201","originalSince":"80.8000","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0.4","since":"93.13","until":"201.0","originalSince":"93.13","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.0.15","since":"131.0","until":"144","originalSince":"131.0","originalUntil":null},{"id":"org.eclipse.xtext.idea","version":"2.9.0","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.8.3 beta","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.28","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.25","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.992","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.26","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.0.0","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.29","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.android","version":"1.0","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"35e38c06-9762-11e5-8dd3-54a050ace290","version":"1.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"SBT","version":"1.8.0","since":"143.381","until":"171.0","originalSince":"143.381","originalUntil":null},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.8","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"com.softdream.intellij.plugin","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aspose.intellijplugin.id","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"143.1183","since":"143.1183","until":"181.0","originalSince":"143.1183","originalUntil":"144.0"},{"id":"com.bobz.OpenTerminalHere","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.profeg.IntelliJGettersCheckInspections","version":"1.0","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.82","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.9","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.91","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.3","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.oneskyapp.intellij","version":"1.3.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.28","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.9","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.0.3","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.29","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.29","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.2.3","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"3.0.1","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.0","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.1.1.v20151207000000","since":"93.13","until":"183.0","originalSince":"93.13","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.1","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.perl5","version":"1.218","since":"143.0","until":"162.*","originalSince":"143.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.2","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.5 beta","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"HybrisPlugin","version":"1.2.3","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.aconex.codelitter","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.weebly.generator","version":"2.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.27","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.9.1","since":"138.1000","until":"221","originalSince":"138.1000","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.6","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.genymotion.idea","version":"1.0.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.0.4","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php","version":"143.1184.87","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"org.weebly.generator","version":"2.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.28","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.29","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.0.0","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.30","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.35","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.2","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"JSTestDriver Plugin","version":"144.2131","since":"144.2131","until":"181.0","originalSince":"144.2131","originalUntil":"145.0"},{"id":"com.beust.kobalt.intellij","version":"1.31","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.line.plugin.auto.align","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.dmarcotte.handlebars","version":"144.2131","since":"144.2131","until":"201","originalSince":"144.2131","originalUntil":null},{"id":"cucumber-javascript","version":"144.2159","since":"144.2159","until":"201","originalSince":"144.2159","originalUntil":null},{"id":"cucumber-javascript","version":"143.1449","since":"143.1184","until":"201","originalSince":"143.1184","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"amailp.intellij.robot","version":"0.13","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.92","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.4-37.1","since":"141.2735","until":"191.*","originalSince":"141.2735","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.36","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.3","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.4-39.1","since":"141.2735","until":"191.*","originalSince":"141.2735","originalUntil":null},{"id":"QAPlug","version":"1.3.10","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"8.1.30325","since":"136.0","until":"171.4249","originalSince":"136.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.0.0","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.4","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.4-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.chairbender.object_calisthenics_analyzer","version":"0.95","since":"133.0","until":"201.*","originalSince":"133.0","originalUntil":null},{"id":"com.ylt.appcan.plugin","version":"1.0.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ylt.appcan.plugin","version":"1.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.30","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.37","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"QAPlug","version":"1.3.11","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.32","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.ylt.appcan.plugin","version":"1.0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.33","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.34","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.eclipse.xtext.idea","version":"2.9.1","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"org.eclipse.xtend.idea","version":"2.9.1","since":"131.0","until":"163.1","originalSince":"131.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.4-54","since":"141.2735","until":"191.*","originalSince":"141.2735","originalUntil":null},{"id":"com.bugvm.intellij","version":"1.0.7","since":"143.1184","until":"201.0","originalSince":"143.1184","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.35","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.coolsharp.codesection","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"RTC4Idea","version":"4.0.0_03","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"phpfmt","version":"1.0.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.3.1-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"Vue.js","version":"1.0.1","since":"141.0","until":"181.0","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"0.993","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.4","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.coolsharp.codesection","version":"1.2","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"uk.me.jeffsutton.pojogen","version":"1.2","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"phpfmt","version":"1.0.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"uk.me.jeffsutton.pojogen","version":"1.2.1","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"Pythonid","version":"5.0.142.1557","since":"144.2151","until":"181.0","originalSince":"144.2151","originalUntil":null},{"id":"PythonCore","version":"5.0.142.1557","since":"144.2151","until":"181.0","originalSince":"144.2151","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.6-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.jetbrains.kotlin","version":"1.0.0-beta-4583-IJ143-11","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.*"},{"id":"com.ppolivka.gitlabprojects","version":"1.3.0","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"uk.me.jeffsutton.pojogen","version":"1.2.2","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.coolsharp.codesection","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.30","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.12","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.0-beta-4584-IJ143-12","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.*"},{"id":"com.boredream.plugin.espressocreator","version":"1.0","since":"103.0","until":"201.0","originalSince":"103.0","originalUntil":null},{"id":"com.boredream.plugin.layoutcreator","version":"1.0","since":"103.0","until":"201.0","originalSince":"103.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.6 beta","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.13","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.17","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.9","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.5","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"io.github.sirlantis.rubymine.rubocop","version":"3.1.0","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"com.heaven7.plugin.android.databinding","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.evosuite.plugin.intellij","version":"1.0.2","since":"143.0","until":"200","originalSince":"143.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.1","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"anton_dev_ua.PipeTableFormatter","version":"0.5.0","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.5","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.7-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.intellij.stats.completion","version":"0.0.19","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.11","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"v0.1.2","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.20","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.8-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.intellij.stats.completion","version":"0.0.22","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.4-56","since":"141.2735","until":"191.*","originalSince":"141.2735","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.12","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.shiraji.createintentinspection","version":"0.0.2","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.bmesta.powermode","version":"0.9","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.4.3","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.fatfractal.plugins.idea.ffdl","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MetricsReloaded","version":"1.1","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"com.hasintech.intellij.angularTemplates","version":"1.1.2","since":"138.1029","until":"181.0","originalSince":"138.1029","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.5","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.10","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.github.shiraji.newinstanceinspection","version":"0.0.2","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.doglandia.GpsEmulator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.doglandia.GpsEmulator","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.nextras.orm.intellij","version":"0.2","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.navmine.classdiagrams","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.2.0.150","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.1","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.softdream.intellij.plugin","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.2.1.200","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.1.0","since":"139.0","until":"149","originalSince":"139.0","originalUntil":null},{"id":"com.widerwille.quicklook","version":"0.8","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"phpfmt","version":"1.0.5","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.7.9-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.elixir_lang","version":"2.0.0-pre","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.2.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"SnakeYAML plugin","version":"1.15.1","since":"111.0","until":"223","originalSince":"111.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"3.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"com.jintin.droidlane","version":"1.2.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.lopesdasilva.wcs.plugin","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.breeze.plugin.reprotoc","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.github.takuaraki.dvc","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"4.4.0","since":"141.1532","until":"223.*","originalSince":"141.1532","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.2.0","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"jballant.CommonJSAutoComplete","version":"0.2.2","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.elixir_lang","version":"2.1.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"codeReview4idea","version":"0.5.3","since":"141.177","until":"203","originalSince":"141.177","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"144.2931","since":"144.2016","until":"181.0","originalSince":"144.2016","originalUntil":null},{"id":"com.intellij.phing","version":"143.1770","since":"142.1","until":"181.0","originalSince":"142.1","originalUntil":null},{"id":"com.jetbrains.php","version":"143.1770","since":"142.5068","until":"143.*","originalSince":"142.5068","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.smilingrob.gitpair","version":"1.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"Pythonid","version":"5.0.144.1598","since":"144.2925","until":"181.0","originalSince":"144.2925","originalUntil":null},{"id":"PythonCore","version":"5.0.144.1598","since":"144.2925","until":"181.0","originalSince":"144.2925","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.0.12","since":"123.0","until":"123.*","originalSince":"123.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.weebly.generator","version":"2.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.6","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.lopesdasilva.wcs.plugin","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"JSTestDriver Plugin","version":"144.2911","since":"144.2911","until":"181.0","originalSince":"144.2911","originalUntil":"145.0"},{"id":"org.jetbrains.comparisonChainwootool","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.23","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cucumber-javascript","version":"144.2957","since":"144.2957","until":"201","originalSince":"144.2957","originalUntil":null},{"id":"JRebelPlugin","version":"6.3.2-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"1.6","since":"123.72","until":"145.*","originalSince":"123.72","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.1.0","since":"139.0","until":"163","originalSince":"139.0","originalUntil":null},{"id":"AngularJS","version":"144.2925.4","since":"144.2925","until":"181.0","originalSince":"144.2925","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.38","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.fatfractal.plugins.idea.ffdl","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"MetricsReloaded","version":"1.2","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.2.1","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"io.github.takuaraki.dvc","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.26","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.boredream.plugin.layoutcreator","version":"1.2","since":"103.0","until":"201.0","originalSince":"103.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"144.2925.4","since":"144.2925","until":"144.*","originalSince":"144.2925","originalUntil":null},{"id":"phpfmt","version":"1.0.6","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"phpfmt","version":"1.0.7","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.performancePlugin","version":"1.3","since":"144.1000","until":"181.0","originalSince":"144.1000","originalUntil":null},{"id":"Docker","version":"1.7.5","since":"143.999","until":"143.*","originalSince":"143.999","originalUntil":"144.2925"},{"id":"org.jetbrains.kotlin","version":"1.0.0-beta-4589-IJ143-16","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.*"},{"id":"dbgsprw.apm","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.31","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.6","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"phpfmt","version":"1.0.8","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.24","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"144.3168","since":"144.3143","until":"173.0","originalSince":"144.3143","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"144.3168","since":"144.3143","until":"181.0","originalSince":"144.3143","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.0","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.jetbrains.php","version":"144.3168","since":"144.3142","until":"144.*","originalSince":"144.3142","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.bryansharpe.slackstorm","version":"1.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.shandiangou.plugin.csveditor","version":"V0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.39","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.8.477","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"dbgsprw.apm","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.rd.app.plugin.","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.1.0","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"me.zheteng.idea.reverse","version":"1.0","since":"117.0","until":"201.0","originalSince":"117.0","originalUntil":null},{"id":"me.zheteng.idea.reverse","version":"1.0.1","since":"117.0","until":"201.0","originalSince":"117.0","originalUntil":null},{"id":"phpfmt","version":"1.0.9","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.8.4","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.2.0","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.2.1","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.0-rc-1007-IJ143-11","since":"143.379","until":"181.0","originalSince":"143.379","originalUntil":"144.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"3.1.1","since":"135.0","until":"211","originalSince":"135.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"1.7.0","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"R4Intellij","version":"0.10","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.4.132.637.0","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"dbgsprw.apm","version":"1.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.4.4","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.xgheaven.splitString","version":"0.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.xgheaven.splitString","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"claims.bold.intellij.avro","version":"0.2.1","since":"131.0","until":"202.*","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.36","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"2.1","since":"143.2","until":"145.*","originalSince":"143.2","originalUntil":null},{"id":"Railways","version":"0.8.4","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.4","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"io.github.takuaraki.dvc","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.0","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"com.thoughtworks.tools.idea.templatenav","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.4.5","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"com.emberjs","version":"1.4.0","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"3.1.2","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.1.0","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"2.6.2","since":"141.115","until":"181.3494","originalSince":"141.115","originalUntil":null},{"id":"MetricsReloaded","version":"1.2.1","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"SnakeYAML plugin","version":"1.15.2","since":"111.0","until":"223","originalSince":"111.0","originalUntil":null},{"id":"SnakeYAML plugin","version":"1.15.3","since":"111.0","until":"223","originalSince":"111.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zf.androidplugin.shapedrawable_template","version":"1.0.7","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"dbgsprw.apm","version":"1.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.emberjs","version":"1.4.1","since":"141.*","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.20","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.40","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.perl5","version":"1.328","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.21","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"dbgsprw.apm","version":"1.2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.morcinek.android.codegenerator.plugin.intellij","version":"1.5","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.41","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"wide-task-browser","version":"0.1.15","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.8.5","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.tom-power.close-tab-left-right","version":"1.0","since":"141.0","until":"183.1044","originalSince":"141.0","originalUntil":null},{"id":"com.github.tom-power.close-tab-left-right","version":"1.0.1","since":"141.0","until":"183.1044","originalSince":"141.0","originalUntil":null},{"id":"com.morcinek.android.codegenerator.plugin.intellij","version":"1.6","since":"131.0","until":"201.*","originalSince":"131.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.3.11","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.boredream.plugin.layoutcreator","version":"1.3","since":"103.0","until":"201.0","originalSince":"103.0","originalUntil":null},{"id":"com.github.tom-power.close-tab-left-right","version":"1.0.2","since":"141.0","until":"183.1044","originalSince":"141.0","originalUntil":null},{"id":"cucumber-javascript","version":"143.2092","since":"143.1184","until":"201","originalSince":"143.1184","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.1.1","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"Pythonid","version":"5.0.144.1645","since":"144.3600","until":"181.0","originalSince":"144.3600","originalUntil":null},{"id":"PythonCore","version":"5.0.144.1645","since":"144.3600","until":"181.0","originalSince":"144.3600","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.0","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.8","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.9","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.10","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"cucumber-javascript","version":"141.1551","since":"141.1550","until":"201","originalSince":"141.1550","originalUntil":null},{"id":"cucumber-javascript","version":"143.2093","since":"143.1559","until":"201","originalSince":"143.1559","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.8.6","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.3.3-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.manolenso.intellij.foundation6","version":"1.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.42","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.jetbrains.php","version":"144.3656","since":"144.3600","until":"144.*","originalSince":"144.3600","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"144.3713","since":"144.3713","until":"181.0","originalSince":"144.3713","originalUntil":null},{"id":"OptimizeImportsForScope","version":"1.0","since":"143.1821","until":"201.0","originalSince":"143.1821","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.0.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.4.4","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.28-SNAPSHOT","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"phpfmt","version":"1.0.10","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.minutephp.framework","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"1.331","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.github.tom-power.close-tab-left-right","version":"1.1","since":"141.0","until":"183.1044","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"Pythonid","version":"5.1.144.1661","since":"144.3891","until":"181.0","originalSince":"144.3891","originalUntil":null},{"id":"PythonCore","version":"5.1.144.1661","since":"144.3891","until":"181.0","originalSince":"144.3891","originalUntil":null},{"id":"com.dubreuia","version":"0.5","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.dubreuia","version":"0.6","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.2","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.onkiup.minedroid","version":"1.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.onkiup.minedroid","version":"1.3.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"144.3891.12","since":"144.3891","until":"144.*","originalSince":"144.3891","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.2.1.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.line.plugin.auto.align","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.7","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.3","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.6-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"dbgsprw.apm","version":"1.3.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.0.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.coursehero.helper","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.coursehero.helper","version":"2.01","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.28","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.1.0","since":"134.549","until":"232.*","originalSince":"134.549","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.1.1","since":"134.549","until":"232.*","originalSince":"134.549","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.1.2","since":"134.549","until":"232.*","originalSince":"134.549","originalUntil":null},{"id":"Nette framework helpers","version":"0.4.0","since":"139.0","until":"192.0","originalSince":"139.0","originalUntil":null},{"id":"com.zenefits.hopefully","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zenefits.hopefully","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.2","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"dbgsprw.apm","version":"1.3.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.7-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"MetricsReloaded","version":"1.3","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"com.perl5","version":"1.333","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.performancePlugin","version":"1.3.1","since":"144.1000","until":"181.0","originalSince":"144.1000","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.0","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.0.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.zenefits.hopefully","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.zenefits.hopefully","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.6.143.1","since":"143.1821","until":"181.0","originalSince":"143.1821","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.6.143.80","since":"143.2167","until":"181.0","originalSince":"143.2167","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.29","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"phpfmt","version":"1.0.11","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.2.3-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.2.3-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.2.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.8-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.develmagic.spoj.submitter","version":"1.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin","version":"1.2.2","since":"131.0","until":"163.0","originalSince":"131.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.3.1","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php","version":"144.4199.11","since":"144.4199","until":"144.*","originalSince":"144.4199","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"144.4199.11","since":"144.4199","until":"173.0","originalSince":"144.4199","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.8.9-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.1","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.1.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.4","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.32","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.6","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.idea.android.superplugins.plugins","version":"1.0.0","since":"131.0","until":"191.0","originalSince":"131.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.vagrant","version":"0.6.144.1701","since":"144.4199","until":"181.0","originalSince":"144.4199","originalUntil":null},{"id":"tirke.cupPlugin","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.7","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"org.evosuite.plugin.intellij","version":"1.0.3","since":"143.0","until":"200","originalSince":"143.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.0.4","since":"133.0","until":"211","originalSince":"133.0","originalUntil":null},{"id":"WicketForge","version":"5.0.2","since":"138.0","until":"201","originalSince":"138.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"0.9.8","since":"135.0","until":"211.0","originalSince":"135.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.43","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.2.4-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.2.4-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.33","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"edu.gmu.cs.plugin.aeon","version":"1.14.1.3.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.0","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.emberjs","version":"1.4.2","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.37","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.38","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"145.52","since":"145.52","until":"201","originalSince":"145.52","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.4-58","since":"141.2735","until":"191.*","originalSince":"141.2735","originalUntil":null},{"id":"com.footprint.asplugin.plugin.viewgenerator","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.footprint.asplugin.plugin.viewgenerator","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"VectorDrawableImporter","version":"0.1","since":"130.1619","until":"201.0","originalSince":"130.1619","originalUntil":null},{"id":"com.footprint.asplugin.plugin.viewgenerator","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"VectorDrawableImporter","version":"0.2","since":"130.1619","until":"201.0","originalSince":"130.1619","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.1.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"1.340","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.footprint.asplugin.plugin.viewgenerator","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.11","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.3","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.4","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"com.perl5","version":"1.341","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.nes.intellij.plugin.id","version":"1.3","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.plugins.translate","version":"1.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"pl.jgorowski.transplug","version":"0.2.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.12","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.apacheConfig","version":"143.2287.2","since":"143.2287","until":"144.0","originalSince":"143.2287","originalUntil":null},{"id":"com.sbmpost","version":"0.1","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.0-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.magento.idea.magento2plugin","version":"0.2.2","since":"139.0","until":"223.*","originalSince":"139.0","originalUntil":null},{"id":"pl.jgorowski.transplug","version":"0.3.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"pl.jgorowski.transplug","version":"0.3.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.elixir_lang","version":"2.2.0","since":"131.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9.1","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"pl.jgorowski.transplug","version":"0.4.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.0-RC2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.coursehero.helper","version":"2.10","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"2.2","since":"143.2","until":"145.*","originalSince":"143.2","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.eclipse.xtext.idea","version":"2.9.2","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"org.eclipse.xtend.idea","version":"2.9.2","since":"131.0","until":"163.1","originalSince":"131.0","originalUntil":null},{"id":"com.perl5","version":"1.342","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.3","since":"131.0","until":"201","originalSince":"131.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.5.9","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.nes.intellij.plugin.id","version":"1.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.nes.intellij.plugin.id","version":"1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.1","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SnakeYAML plugin","version":"1.17.0","since":"134.625","until":"223","originalSince":"134.625","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"uk.ac.glasgow.scclippy","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.3","since":"131.0","until":"193","originalSince":"131.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.7","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.intellij.stats.completion","version":"0.0.26","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.3.0-SNAPSHOT","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Railways","version":"0.8.5","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.5","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"ch.uzh.ifi.batteryAwareTransformations","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"edu.ua.highbay.binderplugin","version":"0.5.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.footprint.asplugin.plugin.viewgenerator","version":"1.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-60","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-63","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-65","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9.2","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"CUBA","version":"3.0.0.15","since":"143.381","until":"211","originalSince":"143.381","originalUntil":null},{"id":"Pythonid","version":"5.1.145.45","since":"145.256","until":"181.0","originalSince":"145.256","originalUntil":null},{"id":"com.jetbrains.performancePlugin","version":"1.3.2","since":"144.1000","until":"181.0","originalSince":"144.1000","originalUntil":null},{"id":"PythonCore","version":"5.1.145.45","since":"145.256","until":"181.0","originalSince":"145.256","originalUntil":null},{"id":"com.jintin.droidlane","version":"2.0.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.2","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.1.1","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.39","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"Compare Directories","version":"1.1.2","since":"140.0","until":"183.0","originalSince":"140.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.aqqxa.plugin.aligner","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.5","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.9.0","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.aspose.Note.java.intellij.maven","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.aspose.Note.java.intellij.maven","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.aspose.Note.java.intellij.maven","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jintin.droidlane","version":"2.0.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.4-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"YAML/Ansible support","version":"0.9.1","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.40","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.2.0","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.41","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.6","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"1.3.4","since":"135.1230","until":"135.*","originalSince":"135.1230","originalUntil":null},{"id":"YAML/Ansible support","version":"0.9.2","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.42","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"GsonFormat","version":"1.2.2","since":"107.119","until":"201.0","originalSince":"107.119","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.43","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.6.3","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.aspose.Note.java.intellij.maven","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.44","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.zf.androidplugin.selectdrawable_generator","version":"1.0.7","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.44","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.45","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.9.517","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.7 beta","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.1-idea-13-15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"cucumber-javascript","version":"145.258.3","since":"145.258","until":"201","originalSince":"145.258","originalUntil":null},{"id":"siani.dev.itrules","version":"1.6.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.45","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"Osmorc","version":"1.4.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.46","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.nes.intellij.plugin.id","version":"1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.30","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php","version":"145.258.2","since":"145.258","until":"145.*","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.framework","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.intellij.phing","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.plugins.ini4idea","version":"145.258.2","since":"145.258","until":"201","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.twig","version":"145.258.2","since":"145.258","until":"145.258","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.drupal","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.wordPress","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"145.258.2","since":"145.258","until":"173.0","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.jetbrains.php.gae","version":"145.258.2","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"0.4.2","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.46","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.1.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.47","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.34","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.4.6","since":"141.245","until":"170.*","originalSince":"141.245","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.sylfra.idea.plugins.revu","version":"2.7.3","since":"133.193","until":"163.*","originalSince":"133.193","originalUntil":null},{"id":"codeReview4idea","version":"0.5.4","since":"141.177","until":"203","originalSince":"141.177","originalUntil":null},{"id":"SerialPortMonitor","version":"0.4.7","since":"141.245","until":"170.*","originalSince":"141.245","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pl.psi.jls.wuff.plugin","version":"0.3.2","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pl.psi.jls.wuff.plugin","version":"0.3.3","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"IDETalk","version":"145.258.11","since":"145.258","until":"181.0","originalSince":"145.258","originalUntil":null},{"id":"pl.psi.jls.wuff.plugin","version":"0.3.4","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"GsonFormat","version":"1.2.3","since":"107.120","until":"201.0","originalSince":"107.120","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.3.2.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.4.0","since":"133.0","until":"223.*","originalSince":"133.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.4.0.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.perl5","version":"1.401","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"ru.mobiledev.plugins.uigd","version":"1.0","since":"143.0","until":"201.6668","originalSince":"143.0","originalUntil":null},{"id":"com.billguard.appcodeplusplus","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.billguard.appcodeplusplus","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"phpfmt","version":"1.0.12","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.2","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.1","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.13","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"org.elixir_lang","version":"3.0.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"eu.inmite.android.plugin.preioc","version":"1.0.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.2","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"com.billguard.appcodeplusplus","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.6","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.6.1","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"RunTaskAction","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.bmesta.powermode","version":"0.9.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Compare Directories","version":"1.1.3","since":"140.0","until":"183.0","originalSince":"140.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.31","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.lopesdasilva.wcs.plugin","version":"0.3.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"pl.psi.jls.wuff.plugin","version":"0.3.5","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"ua.pp.madcap.codingame.plugin","version":"0.2.1","since":"140.0","until":"201.0","originalSince":"140.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.philipleder.plugin.painpoint","version":"1.17.9","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Compare Directories","version":"1.1.4","since":"140.0","until":"183.0","originalSince":"140.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Vue.js","version":"1.1.0","since":"141.0","until":"181.0","originalSince":"141.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.4.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"online.devliving.stepbuilder.generator","version":"1.0","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"CUBA","version":"3.1.0.16","since":"145.258","until":"211","originalSince":"145.258","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.widerwille.afterglow","version":"1.0.6","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"online.devliving.stepbuilder.generator","version":"1.0.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"org.typowriter.intellij.plugins.wallpaper","version":"0.0.2","since":"141.0","until":"173.0","originalSince":"141.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.0","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"com.lopesdasilva.wcs.plugin","version":"0.3.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"1.402","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.widerwille.quicklook","version":"0.8.1","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"com.widerwille.quicklook","version":"0.9","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"phpfmt","version":"1.0.13","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.elixir_lang","version":"3.0.1","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.48","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.9.3","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"jp.codic.plugins.intellij","version":"1.0.11","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"com.dim.plugin.adbduang","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.emberjs","version":"1.5.0","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"org.buffagon.intellij.catberry","version":"0.4.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.atsebak.ui5","version":"2.05","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.infoedge.plugins.gcmtester","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.fuzz.internal.hooks","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-java","version":"145.258","since":"145.258","until":"201","originalSince":"145.258","originalUntil":null},{"id":"cucumber-groovy","version":"145.258","since":"145.258","until":"201","originalSince":"145.258","originalUntil":null},{"id":"org.buffagon.intellij.catberry","version":"0.4.2","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.3-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.2_13-16","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"gt.tool.plugins.org.json.gen","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"RunTaskAction","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.2.2","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.php.joomla","version":"145.844","since":"145.800","until":"201","originalSince":"145.800","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.3-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.1","since":"131.0","until":"232","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.2a_13-16","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.lopesdasilva.wcs.plugin","version":"0.3.2.1-alpha","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9.3","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.1","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.2","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.3","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"SequencePluginReload","version":"1.0.7","since":"139.1117","until":"202","originalSince":"139.1117","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.3","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.1.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.7","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.lopesdasilva.wcs.plugin","version":"0.3.2.2-alpha","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.sbmpost","version":"0.2","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"io.github.maddouri.intellij.OnlineSearch","version":"1.0","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"io.github.maddouri.intellij.OnlineSearch","version":"1.0.1","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"3.0","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.1.5","since":"139.0","until":"145.*","originalSince":"139.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.2.2.250","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.5","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"online.devliving.stepbuilder.generator","version":"1.0.2","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"3.0.1","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.5.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.49","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.3","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.1.8","since":"122.519","until":"232.*","originalSince":"122.519","originalUntil":null},{"id":"com.line.plugin.auto.align","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lu.uni.clion.cproject","version":"1.0","since":"145.597","until":"201.0","originalSince":"145.597","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"0.4.3","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.6.9.6-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.scalafmt.ScalaFmt","version":"0.2.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.bugvm.intellij","version":"1.0.9","since":"143.1184","until":"201.0","originalSince":"143.1184","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9.4","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"com.line.plugin.auto.align","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.widerwille.afterglow","version":"1.0.8","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.1.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.emberjs","version":"1.5.1","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"io.github.maddouri.intellij.OnlineSearch","version":"1.1.1","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.philipleder.plugin.marks","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.maddouri.intellij.OnlineSearch","version":"1.1.2","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.pguardiola.androidresresizer","version":"0.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.codemind.wordcount","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.50","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.0.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"RunTaskAction","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"RunTaskAction","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.idamobile.android.toolbox","version":"1.1.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-321","since":"143.0","until":"181.0","originalSince":"143.0","originalUntil":null},{"id":"RunTaskAction","version":"1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.32","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.google.gct.login","version":"0.9.4-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.396","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.beust.kobalt.intellij","version":"1.51","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.52","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"fr.idapps.intellij.plugin.android.gotolayout","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.2.18","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"com.millennialmedia.intellibot","version":"0.9.107.105","since":"107.105","until":"222.*","originalSince":"107.105","originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.9.143.381","since":"143.381","until":"222.*","originalSince":"143.381","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.53","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.54","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.398","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"nl.tudelft.watchdog","version":"2.0.0","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"8.1.30331","since":"136.0","until":"171.4249","originalSince":"88.10000","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-323","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.399","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.shahab.rewatch","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.400","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.line.plugin.auto.align","version":"1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.3","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.google.gct.login","version":"0.9.4-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.55","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.402","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"org.intellij.scala","version":"3.0.2.20","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"com.beust.kobalt.intellij","version":"1.56","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.3","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.57","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.405","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"me.drakeet.layoutformatter","version":"1.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"yan.intellij.plugin.grailsTools","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"1.500","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"GenerateTests","version":"1.0","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"GenerateTests","version":"1.0.1","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.0.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.scala","version":"3.0.406","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"me.drakeet.layoutformatter","version":"1.1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.3","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"org.intellij.scala","version":"3.0.3","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"org.intellij.plugins.hcl","version":"0.5.3","since":"139.0","until":"192.*","originalSince":"139.0","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-324","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-325","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.407","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"lsfusion.idea.plugin","version":"1.0.47","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-326","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.409","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.0.8","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"IdeaVIM","version":"0.45-eap-327","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.shahab.rewatch","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.410","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.siberika.idea.pascal","version":"1.01","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.intellij.scala","version":"3.0.412","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.philipleder.plugin.marks","version":"1.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.softdream.intellij.plugin","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.33","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"com.perl5","version":"1.505","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.4","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"GenerateTests","version":"1.0.2","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"io.github.jhsx.GoJetPlugin","version":"0.0","since":"143.379","until":"201.0","originalSince":"143.379","originalUntil":null},{"id":"com.vpedak.testsrecorder.plugin.id","version":"0.9.5","since":"131.0","until":"145.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.jhsx.GoJetPlugin","version":"0.2","since":"143.379","until":"201.0","originalSince":"143.379","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.3.22","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"com.msiddeek.webpstinks","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.msiddeek.webpstinks","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.msiddeek.webpstinks","version":"1.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.msiddeek.webpstinks","version":"1.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.msiddeek.webpstinks","version":"1.1.3git a","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.msiddeek.webpstinks","version":"1.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.8","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.413","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"EclipseCodeFormatter","version":"15.5.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.layernet.plugin.adbwifi","version":"1.0.5","since":"143.1184","until":"201.0","originalSince":"143.1184","originalUntil":null},{"id":"com.intellij.plugins.html.instantEditing","version":"162.5","since":"162.5","until":"181.0","originalSince":"162.5","originalUntil":"162.*"},{"id":"org.scalafmt.ScalaFmt","version":"0.2.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.robotium.recorder.intellij","version":"2.3.3","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.5","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.dubreuia","version":"0.9","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.5.132.637.2","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.github.shiraji.createintentinspection","version":"0.1.0","since":"131.0","until":"213.*","originalSince":"131.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.7","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.8 beta","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.1","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.github.shiraji.newinstanceinspection","version":"0.1.0","since":"131.0","until":"213.*","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.419","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"cucumber-java","version":"145.597","since":"145.597","until":"201","originalSince":"145.597","originalUntil":null},{"id":"cucumber-groovy","version":"145.597","since":"145.597","until":"201","originalSince":"145.597","originalUntil":null},{"id":"com.fueled.mvp","version":"0.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.2","since":"145.258","until":"201","originalSince":"145.258","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.420","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.beust.kobalt.intellij","version":"1.100","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.jmg.codecomment","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"pl.charmas.parcelablegenerator","version":"0.7.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.php","version":"145.970.40","since":"145.970","until":"145.*","originalSince":"145.970","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.101","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.5","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"com.dim.plugin.adbduang","version":"0.2","since":"142.0","until":"201.0","originalSince":"142.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.6","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.3.25","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"163.0"},{"id":"org.intellij.scala","version":"3.0.422","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"org.jetbrains.kotlin","version":"1.0.2-release-IJ141-54","since":"141.1009","until":"141.*","originalSince":"141.1009","originalUntil":"141.*"},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.102","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.scala","version":"3.0.425","since":"145.184","until":"181.0","originalSince":"145.184","originalUntil":"162.*"},{"id":"com.neueda4j.intellij.plugin.cypher","version":"1.0.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.jmg.codecomment","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"145.970.40","since":"145.970","until":"173.0","originalSince":"145.970","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.3.6","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.3.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.7","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.4","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.scalafmt.ScalaFmt","version":"0.2.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"Nette framework helpers","version":"0.4.1","since":"139.0","until":"192.0","originalSince":"139.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.8.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-68","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-69","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"Pull up method refactoring extension","version":"0.3e","since":"141.3056","until":"201.0","originalSince":"141.3056","originalUntil":null},{"id":"pl.psi.jls.wuff.plugin","version":"0.3.6","since":"135.0","until":"201.0","originalSince":"135.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.4-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.softbank.robot.sdkplugin","version":"0.9.0","since":"141.1532","until":"211.*","originalSince":"141.1532","originalUntil":null},{"id":"com.jetbrains.php.blade","version":"145.970.40","since":"145.970","until":"181.0","originalSince":"145.970","originalUntil":null},{"id":"com.jetbrains.php.behat","version":"145.970.40","since":"145.970","until":"181.0","originalSince":"145.970","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.coursehero.helper","version":"3.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.2.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.shahab.rewatch","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.6-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.sked.yorklogcat","version":"3.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.sked.soft.crater","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.3.0","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.1","since":"162.0","until":"211.0","originalSince":"162.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.2","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.7-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.philipleder.plugin.marks","version":"1.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.android.newclassdialog","version":"1.2","since":"141.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"com.coursehero.helper","version":"3.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"UDC","version":"0.9","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.csky.manifestmodify","version":"2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.103","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.plugins.jade","version":"162.427","since":"162.300","until":"162.*","originalSince":"162.74","originalUntil":"162.*"},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.8-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.iTimeTrack.intellij.plugin","version":"7.0.5","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.104","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"UDC","version":"0.9.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.3.0.300","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.eclipse.xtext.idea","version":"2.10.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.eclipse.xtend.idea","version":"2.10.0","since":"145.0","until":"173.1","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.3","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.php","version":"162.426.10","since":"162.426","until":"162.426","originalSince":"162.426","originalUntil":null},{"id":"com.dubreuia","version":"0.10","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.dubreuia","version":"0.11","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.sjtu.chenzhongpu.sparkexamplexmvn","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"2.0.1","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"com.philipleder.plugin.marks","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.sjtu.chenzhongpu.sparkexamplexmvn","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.998","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.4","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.5","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"2.3","since":"143.2","until":"145.*","originalSince":"143.2","originalUntil":null},{"id":"com.sjtu.chenzhongpu.sparkexamplexmvn","version":"1.2.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"2.0","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.105","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.perl5","version":"2.001","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"UDC","version":"0.9.2","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.bugvm.intellij","version":"1.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jmg.codecomment","version":"2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"FindBugs-IDEA","version":"0.9.999","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.1.9-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.107","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"ru.hungrymole.kotlin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.3.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.6","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.108","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"FindBugs-IDEA","version":"1.0.0","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.32","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"ru.hungrymole.kotlin","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.6.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"UDC","version":"0.9.3","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"xyz.marcato.ideaplugin.methodscount","version":"1.2.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"UDC","version":"0.9.3.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"UDC","version":"0.9.3.2","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.7","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.0-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.beust.kobalt.intellij","version":"1.109","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.10.107.105","since":"107.105","until":"222.*","originalSince":"107.105","originalUntil":null},{"id":"com.millennialmedia.intellibot","version":"0.10.143.381","since":"143.381","until":"222.*","originalSince":"143.381","originalUntil":null},{"id":"com.csky.manifestmodify","version":"3.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.lichfaker.plugin.id","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"UDC","version":"0.9.3.3","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-alpha1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.110","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-alpha2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-alpha3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.php","version":"162.646.18","since":"162.646","until":"162.646","originalSince":"162.646","originalUntil":null},{"id":"com.widerwille.quicklook","version":"0.9.1","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.8","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.pengli","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"jss.JumpSourceSpec","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.111","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.php.joomla","version":"162.646.18","since":"162.646","until":"162.646","originalSince":"162.646","originalUntil":null},{"id":"jss.JumpSourceSpec","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"jss.JumpSourceSpec","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"2.005","since":"141.0","until":"162.*","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"4.3.2","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.2","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.denis.zaichenko.angular.2.ws.live.templates","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.2.0","since":"143.2370","until":"211","originalSince":"143.2370","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.0.9","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.1.0","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.1.1","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.48","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"phpfmt","version":"1.1.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.1-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"phpfmt","version":"1.1.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.denis.zaichenko.angular.2.ws.live.templates","version":"1.0.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.02","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.112","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.denis.zaichenko.angular.2.ws.live.templates","version":"1.0.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.0.30","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"UDC","version":"0.9.4","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"UDC","version":"0.9.4.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.3.0.301","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-beta1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.sked.yorklogcat","version":"3.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.7.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"0.5.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.1.2","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-beta2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.shiraji.hidetoolwindowsex","version":"0.0.4","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.3.1","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.33","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.corrector","version":"1.2.1","since":"145.0","until":"146.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.corrector","version":"1.2.2","since":"145.0","until":"146.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.49","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.6.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"software.amazon.ion.intellj","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"2.0.2","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"com.jmg.codecomment","version":"2.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.universityandroid.tutorial","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.Deadleg.idea-openresty-lua-support","version":"0.0.3","since":"141.0","until":"203.*","originalSince":"141.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.samsonova.scala.sd.id","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.philipleder.plugin.marks","version":"1.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.strv.linecounter","version":"1.2","since":"135.1286","until":"201.0","originalSince":"135.1286","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"UDC","version":"0.9.5","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"UDC","version":"0.9.5.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.universityandroid.tutorial","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.2.0","since":"143.0","until":"163","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.gsearch","version":"0.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.rbf.unique.plugin.id","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.3.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.3.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.3.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.octogog.idea.bazel-build-formatter","version":"0.1.3.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.50","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.2-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"org.jetbrains.gsearch","version":"0.11","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.gsearch","version":"0.12","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"4.0.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.taobao.wuzheng","version":"1.1","since":"162","until":"","originalSince":"93.13","originalUntil":null},{"id":"com.bugvm.intellij","version":"1.1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.widerwille.quicklook","version":"0.9.2","since":"162.0","until":"203","originalSince":"162.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.113","since":"145.1617","until":"211","originalSince":"145.1617","originalUntil":null},{"id":"com.codewaves.intellij.plugin.iconcreator","version":"0.9","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.codewaves.intellij.plugin.iconcreator","version":"0.9.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"UDC","version":"1.0.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.universityandroid.tutorial","version":"1.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.3-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.samsonova.scala.sd.id","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perl5","version":"2.100","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.strv.linecounter","version":"1.3","since":"135.1286","until":"201.0","originalSince":"135.1286","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.51","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.10.1","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.34","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.6","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"GsonOrXmlFormat","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.4-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"com.google.gct.login","version":"0.9.5-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.3.2","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.6-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.6-beta","since":"143.1821","until":"163","originalSince":"143.1821","originalUntil":null},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"3.25","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.5-idea12","since":"129.1525","until":"129.*","originalSince":"129.1525","originalUntil":"129.*"},{"id":"lsfusion.idea.plugin","version":"1.0.52","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.8","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.2","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.35","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.6","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.robotium.recorder.intellij","version":"2.4.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.4.1","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.53","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"Error-prone plugin","version":"162.1120","since":"143.0","until":"171.0","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.michaelbulava.TFSVCS","version":"0.3.0.302","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.droidtestlab.espressoblackbox.id","version":"1.0 beta","since":"143.0","until":"145.0","originalSince":"143.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.0","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"162.1115","since":"162.1024","until":"201","originalSince":"162.1024","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.10","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.31","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.sked.soft.crater","version":"1.0.10","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.0.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.114","since":"145.1617","until":"211","originalSince":"145.1617","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.9","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.7","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.4","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.0.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.10","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.jantvrdik.intellij.latte","version":"0.3.3","since":"139.0","until":"201.*","originalSince":"139.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.5.11","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.perl5","version":"2.111","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"0.8.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.7.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.1.0","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.9.7-beta-SNAPSHOT","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.9.7-beta-SNAPSHOT","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.4","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.4","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.7.132.637.2","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.54","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.6.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.0.6.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.2.1","since":"143.0","until":"163","originalSince":"143.0","originalUntil":null},{"id":"LogSupportLite","version":"0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.32","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.33","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"LogSupportLite","version":"0.4.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.writeoncereadmany.semantichighlighting","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"IdeaVIM","version":"0.46","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"IdeaVIM","version":"0.46","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.tagmycode.intellij","version":"2.0","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.2.11","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"1.8.1","since":"141.1532","until":"212.0","originalSince":"141.1532","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.14","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"com.boohee.plugin.translation","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.boredream.plugin.layoutcreator","version":"1.4","since":"103.0","until":"201.0","originalSince":"103.0","originalUntil":null},{"id":"com.sum.qiu","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.droidtestlab.espressoblackbox.id","version":"1.0","since":"143.0","until":"145.0","originalSince":"143.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.2.1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.7-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.7-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.github.tom-power.close-tab-left-right","version":"1.1.1","since":"141.0","until":"183.1044","originalSince":"141.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.2.0","since":"122.519","until":"232.*","originalSince":"122.519","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"Royll.ID","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ykfs.plugin.generate","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.2.2","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.6.1","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.perl5","version":"2.117","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.getsensibill.stylecreator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.2.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.1.2","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.gutils.android.autocode.plugin.intellij","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.2.3","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.dim.plugin.adbduang","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.4.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.8.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"PsiViewer","version":"3.28.79","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.5-SNAPSHOT","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"PsiViewer","version":"3.28.85","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.34","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.115","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"bigfootindie.log_generator","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"bigfootindie.log_generator","version":"0.31","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"162.1439","since":"162.1439","until":"201","originalSince":"162.1439","originalUntil":null},{"id":"com.umu.langtip","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.116","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.117","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.github.alvaromarco.CleanArchitecturePlugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Railways","version":"0.8.6","since":"134.231","until":"170.*","originalSince":"134.231","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.6","since":"134.231","until":"181.0","originalSince":"134.231","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.universityandroid.tutorial","version":"1.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.3","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.1.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.15","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.1.1","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.github.pedrovgs.androidwifiadb","version":"2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ivoryartwork.plugin.folivora","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ivoryartwork.plugin.folivora","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.thbs.materialdesign","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.4","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.javils.ThemeSwitcher","version":"1.0","since":"131.0","until":"171.*","originalSince":"131.0","originalUntil":null},{"id":"com.javils.ThemeSwitcher","version":"1.1","since":"131.0","until":"171.*","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.annotations.preloader","version":"1.0.3","since":"145.0","until":"212.2689","originalSince":"145.0","originalUntil":null},{"id":"io.halik.intellij-plugin","version":"0.2.4","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.perl5","version":"2.200","since":"139.0","until":"162.*","originalSince":"139.0","originalUntil":null},{"id":"com.writeoncereadmany.semantichighlighting","version":"0.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.kotek.multidpi","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.0.1","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"com.emberjs","version":"1.5.2","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"com.github.alvaromarco.CleanArchitecturePlugin","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.emberjs","version":"2.0.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.7","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"Jetbrains TeamCity Plugin","version":"9.1.37645","since":"136.0","until":"171.4249","originalSince":"117.105","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.5","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.4","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.github.alvaromarco.CleanArchitecturePlugin","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.javils.ThemeSwitcher","version":"1.2","since":"131.0","until":"171.*","originalSince":"131.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.3.6","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.36","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.github.aayvazyan","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.aayvazyan","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"AWSCloudFormation","version":"0.4.30","since":"145.1","until":"163.*","originalSince":"145.1","originalUntil":"163.99999"},{"id":"org.intellij.plugins.hcl","version":"0.5.5","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.1","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.1.4","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.55","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.github.aayvazyan","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.thbs.materialdesign","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.alvaromarco.CleanArchitecturePlugin","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.56","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.necisstudio.adbwifiandroid","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.6","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"org.elixir_lang","version":"4.1.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.1","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.4","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.necisstudio.logisys","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.dynatrace.integration.idea","version":"2.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.thbs.materialdesign","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.57","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.1.1","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"YAML/Ansible support","version":"0.9.4","since":"111.0","until":"222","originalSince":"111.0","originalUntil":null},{"id":"HybrisPlugin","version":"1.2.4","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.11.531","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.119","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.dynatrace.integration.idea","version":"2.0.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.mayevskiy.intellij.sonar","version":"2.1.0","since":"162.0","until":"162.*","originalSince":"162.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.4.2","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.thbs.materialdesign","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.3","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"com.google.gct.login","version":"0.9.7.1-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.7.2-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"cucumber-javascript","version":"163.2600","since":"163.2600","until":"201","originalSince":"163.2600","originalUntil":null},{"id":"com.dynatrace.integration.idea","version":"2.0.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.58","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"tw.yalan.android.plugin.findviewbyidtobindview","version":"1.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"tw.yalan.android.plugin.findviewbyidtobindview","version":"1.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.elixir_lang","version":"4.2.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.konifar.stringssearch","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.9 beta","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.37","since":"144.0","until":"201","originalSince":"144.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.59","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"LivePlugin","version":"0.5.10 beta","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.7","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"tw.yalan.android.plugin.findviewbyidtobindview","version":"1.2","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.gogh.android.plugin.translation","version":"1.04.06","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"blast.browser","version":"1.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.gogh.android.plugin.easytranslation","version":"1.04.06","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.3.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.3.3","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.gogh.android.plugin.easytranslation","version":"1.04.07","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.gogh.android.plugin.translation","version":"1.04.07","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.4.8","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.jetbrains.plugins.sample.ToolWindow","version":"10-1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.5.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.1.0","since":"141.0","until":"145.*","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.12","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.1.1","since":"141.0","until":"145.*","originalSince":"141.0","originalUntil":null},{"id":"net.coding.git","version":"1.0.0-beta","since":"162.0","until":"193","originalSince":"162.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.shang.android.layoutformat","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.shang.android.layoutformat","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.3.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.60","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.1.2","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"JSSorter","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"UDC","version":"1.0.2","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.1.2","since":"141.0","until":"145.*","originalSince":"141.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.4.7","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.4","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"AureliaStorm","version":"0.2","since":"162.1628","until":"213.0","originalSince":"162.1628","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.2","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.7.3-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.google.gct.login","version":"0.9.7.5-beta","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"org.moe","version":"1.1.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.juanfelippo.translator","version":"1.0","since":"141.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.0","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.denis.zaichenko.angular.2.ws.live.templates","version":"1.0.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.4.0","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.pdehaan.idea-plugin-flatbuffers","version":"0.0.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.farbluer.intellij.plugin.p4Intellij","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.pkhope.plugin.library_manager","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"15.9.163.3094.1","since":"163.3094","until":"202","originalSince":"163.3094","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.2.1","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"de.caluga.intellij.plugin.gpe","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cn.magicwindow.sdk","version":"1.1.6","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.8","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.05","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.roysom.closeallprocesses","version":"0.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"kodebeagleidea","version":"0.1.5","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.3512.9","since":"163.3512.9","until":"201","originalSince":"163.3512.9","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"IdeaVIM","version":"0.46.1","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.3.0","since":"143.2370","until":"211","originalSince":"143.2370","originalUntil":null},{"id":"com.alexanderpa.flyway.migration.creator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.11","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.2.3","since":"144.0","until":"163","originalSince":"144.0","originalUntil":null},{"id":"cn.pinmix.shaohui.ACNPlugin","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"MetricsReloaded","version":"1.8","since":"139.0","until":"212.*","originalSince":"139.0","originalUntil":null},{"id":"cn.pinmix.shaohui.ACNPlugin","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"2.4","since":"143.2","until":"145.*","originalSince":"143.2","originalUntil":null},{"id":"com.shang.android.layoutformat","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.exynap.plugin","version":"1.0.0 beta","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"com.exynap.plugin","version":"1.0.1 beta","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"com.basisjs","version":"0.1.3","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":null},{"id":"org.elixir_lang","version":"4.3.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"CUBA","version":"3.2.0.16","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"AureliaStorm","version":"0.3","since":"162.1628","until":"213.0","originalSince":"162.1628","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"JSSorter","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ryan.MvpClassesGenerator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ryan.MvpClassesGenerator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ryan.MvpClassesGenerator","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.likfe.ideaplugin.eventbus3","version":"1.1","since":"136.0","until":"223.*","originalSince":"136.0","originalUntil":null},{"id":"CUBA","version":"3.2.1.16","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"cn.pinmix.shaohui.ACNPlugin","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.basisjs","version":"0.1.4.1","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.0.163.3094","since":"163.3094","until":"202","originalSince":"163.3094","originalUntil":null},{"id":"cn.pinmix.shaohui.ACNPlugin","version":"0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.thea.plugin.imagecompression","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"AtlasTool","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AtlasTool","version":"2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.5","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"nix-idea","version":"0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ivoryartwork.plugin.folivora","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cn.leeii.plugin.annotation","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cn.leeii.plugin.annotation","version":"1.6.0-SNAPSHOT","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"org.moe","version":"1.1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.6","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"com.exynap.plugin","version":"1.1.0 beta","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.4.1","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"co.lujun.plugin.betranslate","version":"0.9.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-rc1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"nix-idea","version":"0.2.0.1","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"gradle_cleaner_intellij_plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"1.1.5","since":"145.0","until":"211.0","originalSince":"145.0","originalUntil":null},{"id":"com.tencent.bugly.plugin.idea","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.0","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.ioncodes.pasta","version":"0.9","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.lang.ejs","version":"163.3512.13","since":"163.3512.13","until":"163.*","originalSince":"163.3512.13","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5.1","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.3.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"AtlasTool","version":"2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cn.leeii.plugin.annotation","version":"1.0.1","since":"2.0","until":"201.0","originalSince":"2.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.5.0","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.ioncodes.pasta","version":"0.9.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.7","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"com.intellij.stats.completion","version":"0.0.39","since":"144.0","until":"145","originalSince":"144.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.35","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.18","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.4.4","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"co.lujun.plugin.betranslate","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"co.lujun.plugin.betranslate","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.emberjs","version":"2.1.0-0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"co.lujun.plugin.betranslate","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"AtlasTool","version":"2.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AtlasTool","version":"2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.3","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.4","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"co.lujun.plugin.betranslate","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.5","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.5.1","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.google.gct.login","version":"1.0-BETA-0.1","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.4330","since":"163.4330","until":"201","originalSince":"163.4330","originalUntil":null},{"id":"com.ankama.intellij.uuidmaker","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.0-201609152231","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"com.google.gct.login","version":"1.0-BETA-0.2","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.01","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"com.konifar.material_icon_generator","version":"1.9","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"luonq.ScrollFromSource","version":"1.1.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.6","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.service-now.plugin.idea","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.service-now.plugin.idea","version":"0.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"4.4.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.02","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.8.0","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.6.2","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.6.3","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.0","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.40","since":"144.0","until":"154","originalSince":"144.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.41","since":"144.0","until":"181.0","originalSince":"144.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.8","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":"999.99999"},{"id":"ai.deckard.intellij.plugin","version":"0.2.1","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"ai.deckard.intellij.plugin","version":"0.2.2","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.7","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.9","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.1","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"ai.deckard.intellij.plugin","version":"0.2.11","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.2","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.4.5","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.growingio.sdkHelper","version":"0.8.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Shuffler","version":"1.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.8","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42241","since":"136.0","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"ai.deckard.intellij.plugin","version":"0.2.12","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.9","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.3","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.06","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.4","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.5","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"AtlasTool","version":"2.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AtlasTool","version":"2.3.2.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AtlasTool","version":"2.3.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.6","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.0.9.1","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"Shuffler","version":"1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.5.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.5.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.exynap.plugin","version":"1.1.1 beta","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.2","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.4.2","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.20","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.2.2","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"IntelliJ-Shortcuts-For-AEM","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"IntelliJ-Shortcuts-For-AEM","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"AtlasTool","version":"2.3.2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"AtlasTool","version":"2.3.2.4","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.flow.intellij","version":"0.0.9","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.yellow5a5","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"CUBA","version":"3.2.2.16","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.lypeer.matchmaker","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.5.1","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.lypeer.matchmaker","version":"1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.0-201609301555","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"IdeaVIM","version":"0.46.5","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"org.moe","version":"1.2.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.6","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.7","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"ru.mipt.acsl.decode.idea.plugin","version":"0.5.0.SNAPSHOT","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161003170420","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.rybkin.jbehave.example-table-formatter","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.bryansharpe.slackstorm","version":"1.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.03","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"tu.wenbo.easyliteral","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.christofferklang.pyxl","version":"1.2","since":"131.0","until":"201.8538.6","originalSince":"131.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161004135529","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"tu.wenbo.easyliteral","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"tu.wenbo.easyliteral","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.moe","version":"1.2.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161005144639","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42277","since":"136.0","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.5642","since":"163.5642","until":"201","originalSince":"163.5642","originalUntil":null},{"id":"uk.co.drache.intellij.guavaPostfixCompletion","version":"1.1.3","since":"141.177","until":"181.3741.1","originalSince":"141.177","originalUntil":null},{"id":"com.stylint","version":"0.1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.exynap.plugin","version":"1.1.2 beta","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"gherkin","version":"163.5644","since":"163.5644","until":"163.*","originalSince":"163.5644","originalUntil":null},{"id":"cucumber-java","version":"163.5644","since":"163.5644","until":"201","originalSince":"163.5644","originalUntil":null},{"id":"cucumber-groovy","version":"163.5644","since":"163.5644","until":"201","originalSince":"163.5644","originalUntil":null},{"id":"com.flow.intellij","version":"v20161007133102","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.flow.intellij","version":"v20161007133554","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.flow.intellij","version":"v20161007141251","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.stylint","version":"0.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.04","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"PsiViewer","version":"3.28.88","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"PsiViewer","version":"3.28.89","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"com.thomas.needham.neurophidea","version":"1.0.0","since":"141.0","until":"183.1","originalSince":"141.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-71","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-73","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-76","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"com.thomas.needham.neurophidea","version":"1.0.1","since":"141.0","until":"183.1","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"5.0","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.5644.1","since":"163.5644","until":"201","originalSince":"163.5644","originalUntil":null},{"id":"com.jetbrains.lang.ejs","version":"163.5644.1","since":"163.5644","until":"163.*","originalSince":"163.5644","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"163.5644.1","since":"163.5644","until":"163.*","originalSince":"163.5644","originalUntil":null},{"id":"TFS","version":"163.5644.1","since":"163.5644","until":"191.*","originalSince":"163.5644","originalUntil":null},{"id":"cucumber-javascript","version":"163.5644.1","since":"163.5644","until":"201","originalSince":"163.5644","originalUntil":null},{"id":"CUBA","version":"3.2.3.16","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"5.0.1","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.05","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"ua.pp.madcap.codingame.plugin","version":"0.2.2","since":"140.0","until":"201.0","originalSince":"140.0","originalUntil":null},{"id":"com.google.gct.login","version":"16.10.1","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.61","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.62","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.4.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"haxe.checkstyle","version":"1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161011181301","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5.2","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.10","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.6.0","since":"143.380","until":"223.*","originalSince":"143.380","originalUntil":null},{"id":"com.flow.intellij","version":"v20161012122353","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.0-201610121525","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"com.google.gct.login","version":"16.10.2","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.flow.intellij","version":"v20161012154735","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.google.gct.login","version":"16.10.3","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.login","version":"16.10.4","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.06","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"Mongo Plugin","version":"0.8.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161013095003","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"co.lujun.plugin.colorpanelhelper","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161013172126","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.github.shchurov.prefseditor","version":"1.07","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"com.philipleder.plugin.marks","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.atlassian.clover","version":"idea-4.1.2","since":"111.69","until":"183.0","originalSince":"111.69","originalUntil":null},{"id":"siani.dev.itrules","version":"1.9.0","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"cucumber-javascript","version":"163.6110.28","since":"163.6110","until":"201","originalSince":"163.6110","originalUntil":null},{"id":"TFS","version":"163.6110.28","since":"163.6110","until":"191.*","originalSince":"163.6110","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.5-eap-66-IJ2016.3-1","since":"163.1","until":"181.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"com.github.shchurov.prefseditor","version":"1.08","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.3","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"com.github.shchurov.gradlestop","version":"1.0","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"FindBugs-IDEA","version":"1.0.1","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.0","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.7","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"siani.dev.itrules","version":"1.9.1","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"5.1.2","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.alibaba.baichuan","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.0.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.0.1","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"me.aheadlcx.dimenhelper","version":"1.0","since":"1.0","until":"201.0","originalSince":"1.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42318","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.16","since":"143.0","until":"193.*","originalSince":"143.0","originalUntil":null},{"id":"me.aheadlcx.dimenhelper","version":"1.1","since":"1.0","until":"201.0","originalSince":"1.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.0.2","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"6.5.2","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"siani.dev.itrules","version":"1.9.2","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"IdeaVIM","version":"0.47","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"IdeaVIM","version":"0.47","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"codes.ai.java.intellij","version":"0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.5.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"codes.ai.java.intellij","version":"0.4.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.argus.cit.intellij","version":"1.0.2","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.1.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"163.6512.13","since":"163.6512","until":"201","originalSince":"163.6512","originalUntil":null},{"id":"TFS","version":"163.6512.13","since":"163.6512","until":"191.*","originalSince":"163.6512","originalUntil":null},{"id":"com.google.gct.login","version":"16.10.5","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.63","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"IdeaVIM","version":"0.47.1","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"adb.wifi.woaiwhz","version":"1.0-SNAPSHOT","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.shchurov.gradlestop","version":"1.1","since":"143.1184","until":"211","originalSince":"143.1184","originalUntil":null},{"id":"com.flow.intellij","version":"v20161023174627","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"codes.ai.java.intellij","version":"0.4.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42318","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-rc2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.argus.cit.intellij","version":"1.0.3","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":"162.*"},{"id":"com.squareup.sqldelight","version":"0.5.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.1","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"me.aleph0.androidexporter","version":"0.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161025145105","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"cucumber-javascript","version":"163.6957.3","since":"163.6957","until":"201","originalSince":"163.6957","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"163.6957.3","since":"163.6957","until":"163.*","originalSince":"163.6957","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.6957.3","since":"163.6957","until":"201","originalSince":"163.6957","originalUntil":null},{"id":"TFS","version":"163.6957.3","since":"163.6957","until":"191.*","originalSince":"163.6957","originalUntil":null},{"id":"CssAlphabeticalRearranger","version":"0.5","since":"138.0","until":"183.0","originalSince":"138.0","originalUntil":null},{"id":"adb.wifi.woaiwhz","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.1.1","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.8","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.8.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5.3","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.xdandroid.scaterknife","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.4.0.1","since":"163.7179","until":"171.0","originalSince":"163.7179","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"5.2","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.4.3","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"org.hexu.getcode","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.hexu.getcode","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.0","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.64","since":"143.1184","until":"213","originalSince":"143.1184","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.42","since":"144.0","until":"181.0","originalSince":"144.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161031161145","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.intellij.resharper.HeapAllocationsViewer","version":"1.2.1.0","since":"163.7179","until":"172","originalSince":"163.7179","originalUntil":null},{"id":"com.cnfol.mrz","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.2.0","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"org.hexu.getcode","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"TRTIdea","version":"1.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.4.0.2","since":"163.7179","until":"163.*","originalSince":"163.7179","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.4.0.3","since":"163.7179","until":"163.*","originalSince":"163.7179","originalUntil":null},{"id":"com.emberjs","version":"2016.2.1-0","since":"162.0","until":"162.*","originalSince":"162.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.65","since":"162.2228.15","until":"213","originalSince":"162.2228.15","originalUntil":null},{"id":"cucumber-javascript","version":"163.7342.11","since":"163.7342","until":"201","originalSince":"163.7342","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"163.7342.11","since":"163.7342","until":"201","originalSince":"163.7342","originalUntil":null},{"id":"TFS","version":"163.7342.11","since":"163.7342","until":"191.*","originalSince":"163.7342","originalUntil":null},{"id":"com.growingio.sdkHelper","version":"0.8.12","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.aheadlcx.dimenhelper","version":"1.2","since":"1.0","until":"201.0","originalSince":"1.0","originalUntil":null},{"id":"OdpsStudio","version":"2.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.alibaba.baichuan","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ru.basecode.ide.rest.plugin","version":"0.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"ru.basecode.ide.rest.plugin","version":"0.1.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.emberjs","version":"2016.2.2-0","since":"162.0","until":"162.*","originalSince":"162.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"5.3.1","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"com.emberjs","version":"2016.2.3-0","since":"162.0","until":"162.*","originalSince":"162.0","originalUntil":null},{"id":"com.flow.intellij","version":"v20161106201607","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.itheima.sz.plugin.commoncode","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.1","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.emberjs","version":"2016.2.4-0","since":"162.0","until":"162.*","originalSince":"162.0","originalUntil":null},{"id":"com.siimkinks.sqlitemagic","version":"0.5.0","since":"138.0","until":"201.0","originalSince":"138.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.4","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"GsonFormat","version":"1.3.0","since":"107.121","until":"201.0","originalSince":"107.121","originalUntil":null},{"id":"GsonFormat","version":"1.3.0","since":"107.121","until":"201.0","originalSince":"107.121","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.1","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.6.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.itheima.sz.plugin.commoncode","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"cucumber-javascript","version":"163.7743.13","since":"163.7743","until":"201","originalSince":"163.7743","originalUntil":null},{"id":"TFS","version":"163.7743.13","since":"163.7743","until":"191.*","originalSince":"163.7743","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.1.1","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.phonegap.tools.plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.66","since":"162.2228.15","until":"213","originalSince":"162.2228.15","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.5","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"eu.sim642.idea.zalgofy","version":"1.3","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.4.10","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.7.3","since":"139.0","until":"172.*","originalSince":"139.0","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.1.3","since":"141.0","until":"145.*","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.memory.view","version":"0.93.145","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":"145.*"},{"id":"org.jetbrains.memory.view","version":"0.93.162","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":"163.*"},{"id":"co.lujun.plugin.betranslate","version":"1.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.elixir_lang","version":"4.6.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161114175417","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.phonegap.tools.plugin","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161114224808","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.e16din.incl","version":"0.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.rd.filtertranslate","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.0","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"co.lujun.plugin.betranslate","version":"1.0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"pl.jgorowski.transplug","version":"0.5.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161115205104","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.6.1","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.7.8.SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.7.8.SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jamhub.appaie.plugin.dbot","version":"2.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.znshadow.viewbinder","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.robotium.recorder.intellij","version":"2.5.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.6.2","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"cucumber-javascript","version":"163.7743.25","since":"163.7743","until":"201","originalSince":"163.7743","originalUntil":null},{"id":"TFS","version":"163.7743.25","since":"163.7743","until":"191.*","originalSince":"163.7743","originalUntil":null},{"id":"loopeer","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.2.2","since":"143.0","until":"232.*","originalSince":"143.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.1","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-78","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-79","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"de.mprengemann.intellij.plugin.androidicons","version":"0.5-81","since":"139.1603","until":"191.*","originalSince":"139.1603","originalUntil":null},{"id":"info.bem.bemmet","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"3.85","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161120211242","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.7.0","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"info.bem.bemmet","version":"0.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.hansel.androidstudioplugin","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ai.deckard.intellij.plugin","version":"0.2.13","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"4.95","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"me.chunsheng.plugin.shortcut","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.chunsheng.plugin.shortcut","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.chunsheng.plugin.shortcut","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.chunsheng.plugin.shortcut","version":"1.0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.1","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.67","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"IdeaVIM","version":"0.47.2","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.github.jpmossin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.argus.cit.intellij","version":"1.0.4","since":"163.0","until":"181.0","originalSince":"163.0","originalUntil":"163.*"},{"id":"com.rd.filtertranslate","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.68","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.69","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.jokerzoid.intellij.plugin.stylelint","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.2","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.8","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.1-M03-release-IJ2016.2-1","since":"145.257","until":"162.*","originalSince":"145.257","originalUntil":"171.*"},{"id":"org.slayer.testLinkIntegration","version":"2.1.8","since":"163.0","until":"211.*","originalSince":"163.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.1.9","since":"163.0","until":"211.*","originalSince":"163.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.1.2","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.upsolver.PreCommitHook","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.2","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.70","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.1-M03-release-IJ2016.2-2","since":"145.257","until":"162.*","originalSince":"145.257","originalUntil":"171.*"},{"id":"com.jokerzoid.intellij.plugin.stylelint","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.6-eap-60-IJ2016.3-1","since":"163.1","until":"181.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"com.bpleslie.idea.BradsTheme","version":"0.2.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"io.alef.vypa","version":"0.0.1-alpha","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.21","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.upsolver.PreCommitHook","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161127125149","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.2.4","since":"144.0","until":"163","originalSince":"144.0","originalUntil":null},{"id":"CUBA","version":"3.2.4.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.1.2.1","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.4.4","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.07","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.2.1","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.0.1","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.2","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"IdeaVIM","version":"0.47.3","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"com.upsolver.PreCommitHook","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"tiny.unique.plugin.id","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.11","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.xingren.fc.rangers-logging-intellij-plugin","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.jpmossin","version":"1.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"TFS","version":"163.9166.8","since":"163.9166","until":"191.*","originalSince":"163.9166","originalUntil":null},{"id":"cucumber-javascript","version":"163.9166.8","since":"163.9166","until":"201","originalSince":"163.9166","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.11.1","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.yuyh.reactnative.tools","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.71","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.3","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby","version":"2017.1.20161201","since":"171.1374","until":"181.0","originalSince":"171.1374","originalUntil":"171.9999"},{"id":"com.wangzai.plugin.findViewById","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161202144252","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.flow.intellij","version":"20161202164934","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.1","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"org.avallach.daedalus.ide","version":"0.5","since":"141.0","until":"191.*","originalSince":"141.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.alef.vypa","version":"0.0.2-alpha","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.1","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"gherkin","version":"163.7743.44","since":"163.7743.44","until":"163.*","originalSince":"163.7743.44","originalUntil":null},{"id":"cucumber-java","version":"163.7743.44","since":"163.7743.44","until":"201","originalSince":"163.7743.44","originalUntil":null},{"id":"cucumber-groovy","version":"163.7743.44","since":"163.7743.44","until":"201","originalSince":"163.7743.44","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.2","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.3","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"org.elixir_lang","version":"4.7.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"lx","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-java","version":"163.9693","since":"163.7743.44","until":"201","originalSince":"163.7743.44","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.yuyh.reactnative.tools","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"QAPlug","version":"1.3.12","since":"163.7743","until":"211","originalSince":"163.7743","originalUntil":null},{"id":"com.growingio.sdkHelper","version":"0.8.13","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.4","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.6-eap-77-IJ2016.3-1","since":"163.1","until":"181.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.2.0","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.5","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"CUBA","version":"3.2.5.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.google.gct.login","version":"16.11.6","since":"143.2370","until":"163","originalSince":"143.2370","originalUntil":null},{"id":"CUBA","version":"3.2.6.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"com.upsolver.PreCommitHook","version":"0.3.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.0.10","since":"163.7743.44","until":"163.*","originalSince":"163.7743.44","originalUntil":null},{"id":"com.yellow5a5","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.36","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.8.0","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"com.davidgjm.idea.plugins","version":"1.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.flow.intellij","version":"20161210132208","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Nette framework helpers","version":"0.4.2","since":"139.0","until":"192.0","originalSince":"139.0","originalUntil":null},{"id":"cn.leeii.plugin.annotation","version":"1.1.0","since":"2.0","until":"201.0","originalSince":"2.0","originalUntil":null},{"id":"cn.leeii.plugin.annotation","version":"1.1.1","since":"2.0","until":"201.0","originalSince":"2.0","originalUntil":null},{"id":"com.dachmx.android.checkcite.file","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.xujiaji.plugin.MVPManager","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"moe.studio.formatter","version":"0.1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.growingio.sdkHelper","version":"0.8.14","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.2.1","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"info.bem.bemmet","version":"0.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.0.11","since":"163.7743.44","until":"163.*","originalSince":"163.7743.44","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.2.5","since":"144.0","until":"163","originalSince":"144.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.72","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.zx.mvphelper.unique.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.6.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.37","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.8.2","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"Royll.SimpleXmlFormat.ID","version":"1.01","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ferrius.phpStorm.phpattention","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.12","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.moe","version":"1.3.0-beta-1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"cucumber-javascript","version":"163.10154.19","since":"163.10154","until":"201","originalSince":"163.10154","originalUntil":null},{"id":"TFS","version":"163.10154.19","since":"163.10154","until":"191.*","originalSince":"163.10154","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.6-eap-112-IJ2016.3-1","since":"163.1","until":"181.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.a8sport.translate.unique.a8translate","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.11 beta","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":null},{"id":"PsiViewer","version":"3.28.93","since":"130.0","until":"130.*","originalSince":"130.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.0","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"com.lany.plugin","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20161218192713","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.0.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"org.a8sport.translate.unique.a8translate","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.22","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.a8sport.translate.unique.a8translate","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.a8sport.translate.unique.a8translate","version":"1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.08","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"kim.uno.templates","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"loopeer","version":"0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.antlr.jetbrains.st4plugin","version":"0.5","since":"133.0","until":"173.*","originalSince":"133.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42538","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"cucumber-javascript","version":"171.1834.8","since":"171.1834","until":"201","originalSince":"171.1834","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"171.1834.8","since":"171.1834","until":"201","originalSince":"171.1834","originalUntil":null},{"id":"TFS","version":"171.1834.8","since":"171.1834","until":"191.*","originalSince":"171.1834","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"171.1834.8","since":"171.1834","until":"171.*","originalSince":"171.1834","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.5.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.6.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.thibaulthelsmoortel.pastebin","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"1.0.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.1.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.0.6-eap-123-IJ2016.3-1","since":"163.1","until":"181.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"org.openmastery.ideaflow","version":"0.8","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.observly.recorderplugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.9","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.0.171.1834.0","since":"171.1834","until":"202","originalSince":"171.1834","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.10","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.2.2","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.thibaulthelsmoortel.pastebin","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"1.1.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.shang.android.layoutformat","version":"1.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"0.5.1","since":"171.0","until":"211.5538","originalSince":"171.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.11","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.12","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"life.iuni.android.plugin.butterknife","version":"1.0.0-SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.liu.lang","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.nukc.plugin.apkmultichannel","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.liu.lang","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pl.klamborowski.plugin.jacksongenerator","version":"1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"pl.klamborowski.plugin.jacksongenerator","version":"1.2.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.2014.24","since":"171.2014","until":"201","originalSince":"171.2014","originalUntil":null},{"id":"pl.klamborowski.plugin.jacksongenerator","version":"1.2.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"TFS","version":"171.2014.24","since":"171.2014","until":"191.*","originalSince":"171.2014","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.24","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.1","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.12","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.youmeek.plugin.chinesetypography","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.13","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"adb.wifi.woaiwhz","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.5.0.0","since":"163.10479","until":"163.*","originalSince":"163.10479","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170102210412","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.5.0.1","since":"163.10479","until":"163.*","originalSince":"163.10479","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.2.3","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.lozi.android.plugin.search_resource","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.2","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.intellij.bigdecimal-folding","version":"0.2.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.2","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.jokerzoid.intellij.plugin.stylelint","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.3","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.2.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.12.1","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.6.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"me.leefeng.mvphelper","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.leefeng.mvphelper","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"xyz.belvi.kingsmentor.resourceType.plugin.organiser","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.0.3","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.6.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.NASMSupport","version":"0.1.13","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.6.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.09","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.14","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.15","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"0.8.3","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.25","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170109090644","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.12.2","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.12.3","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.youmeek.plugin.chinesetypography","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.26","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"0.11","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"R4Intellij","version":"0.11.1","since":"80.8000","until":"193.0","originalSince":"80.8000","originalUntil":null},{"id":"com.worldline.vbu.testrecorder.intellij","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.4","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.ironman.me","version":"1.1.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.8","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.intellij.plugin","version":"0.8","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.8","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.microsoft.tooling.msservices.intellij.azure","version":"1.5.5","since":"141.0","until":"163.0","originalSince":"141.0","originalUntil":null},{"id":"com.aemtools","version":"0.3","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.yii2support","version":"0.2.2","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.lozi.android.plugin.search_resource","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"171.2262","since":"171.2262","until":"201","originalSince":"171.2262","originalUntil":null},{"id":"com.aemtools","version":"0.3.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.3","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"com.codewaves.intellij.plugin.iconcreator","version":"0.9.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.1.132.637.0","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.sanyinchen","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.8.9.SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.nevaryyy.fvg","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.2272.15","since":"171.2272","until":"201","originalSince":"171.2272","originalUntil":null},{"id":"TFS","version":"171.2272.15","since":"171.2272","until":"191.*","originalSince":"171.2272","originalUntil":null},{"id":"ru.adelf.idea.dingo","version":"0.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.1","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"net.petitviolet.idea.scala.minimal-cake-pattern-generator","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.bjansen.intellij.pebble","version":"0.1","since":"143.0","until":"212.*","originalSince":"143.0","originalUntil":null},{"id":"com.stfalcon.mvvmgenerator","version":"0.5.1","since":"141.0","until":"223.*","originalSince":"141.0","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.3.1","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"org.moe","version":"1.3.0-beta-2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.doglandia.GpsEmulator","version":"1.2","since":"141.0","until":"203.*","originalSince":"141.0","originalUntil":null},{"id":"IdeaVIM","version":"0.48","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"IdeaVIM","version":"0.48","since":"143.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.16","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.5.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"ru.adelf.idea.dingo","version":"0.1.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"10.0.42576","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.73","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.12.4","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"wangyi.plugin.singleton","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"IdeaVIM","version":"0.48.4","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"me.leefeng.mvphelper","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.2","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"com.github.nukc.plugin.apkmultichannel","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.nukc.plugin.apkmultichannel","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.2.7","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.7.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.0.20","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"com.yii2support","version":"0.2.7.2","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.5","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.2455.4","since":"171.2455","until":"201","originalSince":"171.2455","originalUntil":null},{"id":"TFS","version":"171.2455.4","since":"171.2455","until":"191.*","originalSince":"171.2455","originalUntil":null},{"id":"com.naughtyserver","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.120","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ImportPlugin","version":"0.1","since":"162.0","until":"172.0","originalSince":"162.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.3.0","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"1.2.4","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"GsonFormat","version":"1.5.0","since":"107.121","until":"201.0","originalSince":"107.121","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.13","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"lx","version":"1.0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.naughtyserver","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.youmeek.plugin.chinesetypography","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170123101652","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.3","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.aemtools","version":"0.3.2","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"cucumber-javascript","version":"163.12024.7","since":"163.12024","until":"201","originalSince":"163.12024","originalUntil":null},{"id":"TFS","version":"163.12024.7","since":"163.12024","until":"191.*","originalSince":"163.12024","originalUntil":null},{"id":"SerialPortMonitor","version":"0.5","since":"141.245","until":"170.*","originalSince":"141.245","originalUntil":null},{"id":"ImportPlugin","version":"0.1.1","since":"162.0","until":"172.0","originalSince":"162.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.0.22","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.3.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.2613.14","since":"171.2613","until":"201","originalSince":"171.2613","originalUntil":null},{"id":"TFS","version":"171.2613.14","since":"171.2613","until":"191.*","originalSince":"171.2613","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.10","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.12.1","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"CUBA","version":"3.3.0.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"1.9.7","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.3","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"io.harply.plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.3.1","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.5.1","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"ThreadDumpVisualizer","version":"0.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.38","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.5.0","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.github.jpmossin","version":"1.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.4","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"io.cloudslang.intellij.plugin","version":"1.0.0","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.aemtools","version":"0.4","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.scireum.rythmengine.detector","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yii2support","version":"0.2.9.7","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170201110543","since":"144.4199","until":"231.*","originalSince":"144.4199","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.1","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.5","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"TFS","version":"171.2822.13","since":"171.2822","until":"191.*","originalSince":"171.2822","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"171.2822.13","since":"171.2822","until":"201","originalSince":"171.2822","originalUntil":null},{"id":"cucumber-javascript","version":"171.2822.13","since":"171.2822","until":"201","originalSince":"171.2822","originalUntil":null},{"id":"cco.atoth.intellij.plugin.chucknorris","version":"1.0","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.1.0-beta-38-IJ2016.2-1","since":"162.0","until":"163.0","originalSince":"145.257","originalUntil":"171.*"},{"id":"org.jetbrains.kotlin","version":"1.1.0-beta-38-IJ2016.3-1","since":"163.1","until":"171.0","originalSince":"163.1","originalUntil":"171.*"},{"id":"com.yii2support","version":"0.2.10.9","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.8.10.SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.0.24","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.13","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"cco.atoth.intellij.plugin.chucknorris","version":"1.1","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":"171.*"},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.3","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.3.1","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.aemtools","version":"0.4.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.5.1","since":"141.245","until":"201.*","originalSince":"141.245","originalUntil":null},{"id":"com.aemtools","version":"0.4.2","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.andyken.ormlite.rawsqlgenerator","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"core.plugin.monkey","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.3.2","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.2","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.andyken.ormlite.rawsqlgenerator","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.andyken.ormlite.rawsqlgenerator","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.fueled.mvp","version":"0.1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.fueled.mvp","version":"0.1.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.bmesta.mvntoolkit","version":"0.1.0-SNAPSHOT","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.yii2support","version":"0.2.10.11","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.1.3","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.37","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.boohee.plugin.translation","version":"1.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.nukc.plugin.apkmultichannel","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"AureliaStorm","version":"0.4","since":"162.1628","until":"213.0","originalSince":"162.1628","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.13.1","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.6","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.3019.10","since":"171.3019","until":"201","originalSince":"171.3019","originalUntil":null},{"id":"TFS","version":"171.3019.10","since":"171.3019","until":"191.*","originalSince":"171.3019","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.4","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.dubreuia","version":"0.14","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"4.3.2","since":"145.0","until":"181.3494","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.5.1","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.3","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.0.0","since":"143.2370","until":"162.*","originalSince":"143.2370","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.27","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.1.2","since":"162.2147483647","until":"171.*","originalSince":"162.*","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.bmesta.mvntoolkit","version":"0.1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.5.12.2","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"reasonml","version":"0.2","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"de.sgalinski.fluid.plugin.demo.id","version":"1.0.0","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"de.sgalinski.fluid.plugin.demo.id","version":"1.0.1","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.0.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.12","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.1.3","since":"162.2147483647","until":"171.*","originalSince":"162.*","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.0.4","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.3224.7","since":"171.3224","until":"201","originalSince":"171.3224","originalUntil":null},{"id":"TFS","version":"171.3224.7","since":"171.3224","until":"191.*","originalSince":"171.3224","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.17","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.apkfuns.plugin.freeline","version":"1.1.4","since":"141.0","until":"182.0","originalSince":"141.0","originalUntil":null},{"id":"com.reverie.revlocalization","version":"0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.9","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.andyken.ormlite.rawsqlgenerator","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.0","since":"144.0","until":"163.0","originalSince":"144.0","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.bmesta.mvntoolkit","version":"0.1.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.wjs.shortcut","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.4","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"com.naughtyserver","version":"1.1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.1","since":"144.0","until":"163.0","originalSince":"144.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.5.1.0","since":"171.3085","until":"171.3654","originalSince":"171.3085","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.6","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.4.0","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"1.0","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"com.appcloud.test","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.aemtools","version":"0.5","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.cainiao.scriptGenerator.plugin.20170220","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"ThreadDumpVisualizer","version":"0.1.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.0","since":"145.0","until":"145.0","originalSince":"145.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.1","since":"145.0","until":"145.0","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.5.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"MoreUnit","version":"1.0.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.18","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.cainiao.fktools","version":"1.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.74","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.2","since":"145.0","until":"145.0","originalSince":"145.0","originalUntil":null},{"id":"com.loren.generater","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.5.2","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.3","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.3566.29","since":"171.3566","until":"201","originalSince":"171.3566","originalUntil":null},{"id":"TFS","version":"171.3566.29","since":"171.3566","until":"191.*","originalSince":"171.3566","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"171.3566.29","since":"171.3566","until":"171.*","originalSince":"171.3566","originalUntil":null},{"id":"com.vimtools.ideaexactionbar","version":"0.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.alexanderpa.flyway.migration.creator","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.4","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.7","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"Show REST Services","version":"1.0","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"CssAlphabeticalRearranger","version":"0.6","since":"138.0","until":"183.0","originalSince":"138.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.5","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.1","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.4.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.7.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.vimtools.ideaexactionbar","version":"0.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.coding.git","version":"1.0.1-beta","since":"145.0","until":"193","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.75","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.6","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.76","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.5.3","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.HeapAllocationsViewer","version":"1.2.2.0","since":"171.3085","until":"172","originalSince":"171.3085","originalUntil":null},{"id":"ru.adelf.idea.dingo","version":"0.1.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"1.11.3","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.vimtools.ideaexactionbar","version":"0.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.5","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.4.6","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.4","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.4.1","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.3","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"1.1.8","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"MultiHighlight","version":"1.0.0","since":"141.0","until":"162.0","originalSince":"141.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.13.2","since":"145.0","until":"221","originalSince":"145.0","originalUntil":null},{"id":"com.miui.gallery.dao.generator","version":"1.0","since":"0.0","until":"201.0","originalSince":"0.0","originalUntil":null},{"id":"vette.neos","version":"0.1.5.SNAPSHOT","since":"162.0","until":"203.3645.34","originalSince":"162.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.14","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.1.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.2.0","since":"162.2147483647","until":"171.*","originalSince":"162.*","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.5.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.0","since":"163.9166","until":"211","originalSince":"163.9166","originalUntil":null},{"id":"com.mglaman.drupal_run_tests","version":"1.0-rc3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.chakki_works.watchme","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.reverie.revlocalization","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.shenjiajun.TinyPic","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.shenjiajun.TinyPic","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.7.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.0.1","since":"163.9166","until":"211","originalSince":"163.9166","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.8.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.7","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.7.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.0.2","since":"163.9166","until":"211","originalSince":"163.9166","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.7","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.2","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.hxsmart.zhangbh.JNIVAR2C.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.hxsmart.zhangbh.JNIVAR2C.id","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.hxsmart.zhangbh.JNIVAR2C.id","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.5","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"lsfusion.idea.plugin","version":"1.0.77","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.121","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.1","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.3691.10","since":"171.3691","until":"201","originalSince":"171.3691","originalUntil":null},{"id":"TFS","version":"171.3691.10","since":"171.3691","until":"191.*","originalSince":"171.3691","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.6.0.0","since":"171.3085","until":"171.3654","originalSince":"171.3085","originalUntil":null},{"id":"com.webfont.ideaplugin","version":"2.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.2","since":"143.0","until":"213.*","originalSince":"143.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.7","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.github.bjansen.intellij.pebble","version":"0.2","since":"143.0","until":"212.*","originalSince":"143.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.5.8","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"de.monticore.lang.montisecarc.MontiSecArcLanguagePlugin","version":"0.8.13","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.1(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.8","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.chakki_works.watchme","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.6.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.manolenso.intellij.foundation6","version":"1.7.1","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"vette.neos","version":"0.1.6-SNAPSHOT","since":"162.0","until":"203.3645.34","originalSince":"162.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.2.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.6.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.chakki_works.watchme","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.28","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.baijiahulian.tianxiao.action","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"edu.gmu.cs.plugin.aeon","version":"1.14.2","since":"131.0","until":"181.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.11.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.6.2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.coursehero.hodor","version":"1.0.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.nes.intellij.plugin.id","version":"1.7","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.intellij.resharper.unity","version":"1.6.1.0","since":"171.3085","until":"171.3654","originalSince":"171.3085","originalUntil":null},{"id":"com.talkingdata.orm.tool","version":"1.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.intino.plugin","version":"2.5.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.3780.21","since":"171.3780","until":"201","originalSince":"171.3780","originalUntil":null},{"id":"TFS","version":"171.3780.21","since":"171.3780","until":"191.*","originalSince":"171.3780","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"1.5","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.2.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.2.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.cainiao.fktools","version":"1.0.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.baijiahulian.tianxiao.action","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.shenjiajun.TinyPic","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.dianping.unique.plugin.id","version":"1.5","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ledongli.GGTemplate.TemplateCreator","version":"1.2.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.6.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"Show REST Services","version":"1.1","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.ayvytr.easyimportandroidproject","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.5.0","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"info.novatec.testit.livingdoc.intellij","version":"1.3.2","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"2.4","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.9","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"ms.konovalov.intellij.hidpi-profiles","version":"2017.1.1","since":"171.0","until":"222","originalSince":"171.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.5.1","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.2.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.6.3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.baijiahulian.tianxiao.action","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.dianping.unique.plugin.id","version":"1.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.netease.hearttouch.as_nei_plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.talkingdata.orm.tool","version":"1.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.78","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"com.talkingdata.orm.tool","version":"1.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.2.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.10","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"org.moe","version":"1.3.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.16","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.headwire.aem.tooling.intellij","version":"1.0","since":"162.0","until":"203","originalSince":"162.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.0","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.11","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"jp.funnything.offing_harbor","version":"1.6","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.0","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"claims.bold.intellij.avro","version":"0.3.0","since":"131.0","until":"202.*","originalSince":"131.0","originalUntil":null},{"id":"wuhaowen.mvpkillerID","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.5.2","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.1","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.1","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"cucumber-javascript","version":"171.3780.63","since":"171.3780","until":"201","originalSince":"171.3780","originalUntil":null},{"id":"TFS","version":"171.3780.63","since":"171.3780","until":"191.*","originalSince":"171.3780","originalUntil":null},{"id":"com.naughtyserver","version":"1.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.3","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.weirddev.testme","version":"1.3.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.senthil.codesearch","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.6","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.120","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.79","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"cucumber-javascript","version":"171.3780.79","since":"171.3780","until":"201","originalSince":"171.3780","originalUntil":null},{"id":"TFS","version":"171.3780.79","since":"171.3780","until":"191.*","originalSince":"171.3780","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"jbehave-syntax-support","version":"1.6","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.1","since":"163.9166","until":"211","originalSince":"163.9166","originalUntil":null},{"id":"uk.ac.glasgow.microissues","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.2","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.80","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.0","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"wide-task-browser","version":"0.1.16","since":"139.658","until":"231.*","originalSince":"139.658","originalUntil":null},{"id":"io.t28.json2java","version":"0.1.0","since":"160.0","until":"181.0","originalSince":"160.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.0.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"wuhaowen.mvpkillerID","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.12 beta","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.3","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.canoo.dolphinplattform.intellij","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.3.17.0","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.6.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.2","since":"144.0","until":"163.0","originalSince":"144.0","originalUntil":null},{"id":"com.baijiahulian.tianxiao.action","version":"1.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.exynap.plugin","version":"1.2","since":"143.290","until":"201.0","originalSince":"143.290","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.2.0(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"com.writeoncereadmany.semantichighlighting","version":"0.1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.81","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.82","since":"163.7743.44","until":"213","originalSince":"163.7743.44","originalUntil":null},{"id":"cn.isaac.codelines","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.122","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"io.intino.plugin","version":"2.6.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"it.droidcon.androidstudioplugin","version":"1.0.1","since":"160.0","until":"201.0","originalSince":"160.0","originalUntil":null},{"id":"com.yii2support","version":"0.3.17.2","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.83","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.keshasosiska.easymock-expect-builder","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"jbehave-syntax-support","version":"1.61-b","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.5.2","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"com.dragon.mvphelp","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.7-SNAPSHOT","since":"162.0","until":"203.3645.34","originalSince":"162.0","originalUntil":null},{"id":"me.aheadlcx.dimenhelper","version":"1.3","since":"1.3","until":"201.0","originalSince":"1.3","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.3.0","since":"162.2147483647","until":"171.*","originalSince":"162.*","originalUntil":null},{"id":"com.tagmycode.intellij","version":"2.0.1","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.5","since":"163.0","until":"172.*","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.84","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.123","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.6.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"Show REST Services","version":"1.2","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.85","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.3","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.eflabs.plugin.efcommon","version":"3.0","since":"171.1","until":"201.0","originalSince":"171.1","originalUntil":null},{"id":"com.yii2support","version":"0.3.17.5","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.8-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.bobz.OpenTerminalHere","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.intino.plugin","version":"2.6.2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.eflabs.plugin.efcommon","version":"3.1","since":"171.1","until":"201.0","originalSince":"171.1","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.86","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.87","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.4073.15","since":"171.4073","until":"201","originalSince":"171.4073","originalUntil":null},{"id":"TFS","version":"171.4073.15","since":"171.4073","until":"191.*","originalSince":"171.4073","originalUntil":null},{"id":"GeneratePropertyNameConstants","version":"0.15","since":"150.0","until":"231.*","originalSince":"150.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.3","since":"163.0","until":"172.0","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.5","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.14","since":"171.3780","until":"221","originalSince":"171.3780","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.2","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.14.1","since":"171.3780","until":"221","originalSince":"171.3780","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.2","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.88","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.9","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.89","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.aemtools","version":"0.6.1","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.3","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.3","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.3.132.637.0","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.39","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.3.1","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.canking.coderhealth","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.124","since":"162.1121.32","until":"211","originalSince":"162.1121.32","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.49","since":"171.0","until":"172","originalSince":"171.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.7.7","since":"162.0","until":"172.*","originalSince":"162.0","originalUntil":null},{"id":"com.maihaoche.mazda","version":"1.0","since":"161.0","until":"201.0","originalSince":"161.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.90","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.yii2support","version":"0.3.17.9","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.4073.31","since":"171.4073","until":"201","originalSince":"171.4073","originalUntil":null},{"id":"TFS","version":"171.4073.31","since":"171.4073","until":"191.*","originalSince":"171.4073","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.17","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.6.7","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.growingio.sdkHelper","version":"0.8.15","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.1.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"vette.neos","version":"0.1.9-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.19","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.keshasosiska.easymock-expect-builder","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"jp.co.future.ideausqlfmt","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bubiu.plugin.uniqueres","version":"1.0.4.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bubiu.plugin.uniqueres","version":"1.1.4.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.125","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.8.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"jp.co.future.ideausqlfmt","version":"0.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"Railways","version":"0.8.7","since":"171.0","until":"172.*","originalSince":"171.0","originalUntil":null},{"id":"Railways for IDEA","version":"0.8.7","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"ModuleLibraries","version":"0.4","since":"145.0","until":"201.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.6","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"reasonml","version":"0.4","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"io.intino.plugin","version":"2.6.5","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"jbehave-syntax-support","version":"1.62","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.91","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.maihaoche.mazda","version":"2.0","since":"161.0","until":"201.0","originalSince":"161.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.7","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"org.jetbrains.plugin.lightbulbtoggle","version":"1.0","since":"131.0","until":"173.320","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.plugin.lightbulbtoggle","version":"1.0.1","since":"131.0","until":"173.320","originalSince":"131.0","originalUntil":null},{"id":"org.moe","version":"1.3.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.1.46533","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.10-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.keshasosiska.easymock-expect-builder","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.diydyq.miapp","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.5","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.92","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"TFS","version":"171.4073.40","since":"171.4073","until":"191.*","originalSince":"171.4073","originalUntil":null},{"id":"cucumber-javascript","version":"171.4073.40","since":"171.4073","until":"201","originalSince":"171.4073","originalUntil":null},{"id":"reasonml","version":"0.5","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"jp.co.future.ideausqlfmt","version":"0.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.93","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.1.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.94","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.phonegap.tools.plugin","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.95","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"codeReview4idea","version":"0.5.6","since":"172.767","until":"203","originalSince":"172.767","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.1.12","since":"171.0","until":"171.*","originalSince":"171.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.20","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.plugin.applescript","version":"0.115","since":"144.0","until":"172.1909","originalSince":"144.0","originalUntil":null},{"id":"io.t28.json2java","version":"0.2.0","since":"160.0","until":"181.0","originalSince":"160.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.14.2","since":"171.3780","until":"221","originalSince":"171.3780","originalUntil":null},{"id":"org.elixir_lang","version":"5.0.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.7.0","since":"143.0","until":"191.6708","originalSince":"143.0","originalUntil":null},{"id":"ai.deckard.intellij.plugin","version":"0.2.14","since":"123.0","until":"201.0","originalSince":"123.0","originalUntil":null},{"id":"com.bubiu.plugin.uniqueres","version":"1.4.17","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.4","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.22","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.2","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"vette.neos","version":"0.1.11-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.126","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"io.ballerina","version":"0.8.3","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"Non-Dairy Soy Plugin","version":"0.7.1","since":"143.0","until":"191.6708","originalSince":"143.0","originalUntil":null},{"id":"R4Intellij","version":"1.0","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"R4Intellij","version":"1.0.1","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.aurimasniekis.phpclasstemplates","version":"1.0.2","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.2","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"Error-prone plugin","version":"171.4342","since":"171.4342","until":"173.3726","originalSince":"171.4342","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.2","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.12-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.4249.16","since":"171.4249","until":"201","originalSince":"171.4249","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"171.4249.16","since":"171.4249","until":"201","originalSince":"171.4249","originalUntil":null},{"id":"TFS","version":"171.4249.16","since":"171.4249","until":"191.*","originalSince":"171.4249","originalUntil":null},{"id":"io.intino.plugin","version":"2.6.6","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.1","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.4.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.flageolett.eZ.completion","version":"1.0.4.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.3","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"io.github.vcuswimlab.stackintheflow","version":"0.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.3.2(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"CUBA","version":"3.4.0.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.6.2","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"1.6","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"br.com.br.com.breakpoint.breakpoint.toogleAll","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.jpmossin","version":"1.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.4.28.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"br.com.br.com.breakpoint.breakpoint.toogleAll","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.tagmycode.intellij","version":"2.0.2","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"br.com.br.com.breakpoint.breakpoint.toogleAll","version":"1.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.7.0","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"br.com.br.com.breakpoint.breakpoint.toogleAll","version":"1.1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"0.6.7","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.24","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"org.elixir_lang","version":"5.1.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.0","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.7.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.4","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.yii2support","version":"0.4.30.3","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.2.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.2.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.4","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.meizu.flyme.mall.XmlToJson","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.2","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"cucumber-javascript","version":"171.4424.10","since":"171.4424","until":"201","originalSince":"171.4424","originalUntil":null},{"id":"TFS","version":"171.4424.10","since":"171.4424","until":"191.*","originalSince":"171.4424","originalUntil":null},{"id":"com.yii2support","version":"0.4.30.4","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.0.beta1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.6.2","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.phonegap.tools.plugin","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.lwfwind.automation.plugin.aping","version":"3.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"cyningxu.findviewbyx","version":"1.0","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"com.bubiu.plugin.uniqueres","version":"1.4.28","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.1","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.0.final","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.127","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"com.naughtyserver","version":"1.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.1.46654","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"com.dim.plugin.adbduang","version":"0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.96","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"5.0","since":"171.3780","until":"181.3494","originalSince":"171.3780","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.0","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.1","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.10","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.10","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.97","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.weirddev.testme","version":"1.4.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.netease.hearttouch.as_nei_plugin","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.29","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.8","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"cz.k2.eshop","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.7.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.2","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"com.github.lwfwind.automation.plugin.aping","version":"4.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"5.13.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.potterhsu.jsonviewer","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.intino.plugin","version":"2.6.7","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"171.4424.20","since":"171.4424","until":"201","originalSince":"171.4424","originalUntil":null},{"id":"TFS","version":"171.4424.20","since":"171.4424","until":"191.*","originalSince":"171.4424","originalUntil":null},{"id":"com.mabdurrahman.intellij.customtitle","version":"0.0.1","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.lwfwind.automation.plugin.aping","version":"5.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.519","since":"171.0","until":"172.0","originalSince":"171.0","originalUntil":null},{"id":"com.apksecure.plug1234.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.netease.hearttouch.as_nei_plugin","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.dafa.plugin.easyperfs","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.dafa.plugin.easyperfs","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.5","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"172.1909.7","since":"172.1909","until":"172.*","originalSince":"172.1909","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"172.1909.7","since":"172.1909","until":"201","originalSince":"172.1909","originalUntil":null},{"id":"cucumber-javascript","version":"172.1909.7","since":"172.1909","until":"201","originalSince":"172.1909","originalUntil":null},{"id":"TFS","version":"172.1909.7","since":"172.1909","until":"191.*","originalSince":"172.1909","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.4","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170507175902","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.3","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.3.6(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"cyningxu.findviewbyx","version":"1.1","since":"93.0","until":"201.0","originalSince":"93.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170508101913","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"io.allandequeiroz.random.image.background","version":"1.0.0","since":"162.0","until":"223","originalSince":"162.0","originalUntil":null},{"id":"com.dafa.plugin.easyperfs","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.apksecure.plug1234.plugin.id","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.dafa.plugin.easyperfs","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.26","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"io.allandequeiroz.random.image.background","version":"1.0.1","since":"162.0","until":"223","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.3.1","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.automation.mtop.plugin.mtop-ng","version":"5.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.8.4","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"TFS","version":"172.2103.10","since":"172.2103","until":"191.*","originalSince":"172.2103","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"172.2103.10","since":"172.2103","until":"201","originalSince":"172.2103","originalUntil":null},{"id":"cucumber-javascript","version":"172.2103.10","since":"172.2103","until":"201","originalSince":"172.2103","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.3","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.3","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams","version":"0.1.0","since":"171.0","until":"173.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.naughtyserver","version":"1.1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.allandequeiroz.random.image.background","version":"1.2.0","since":"162.0","until":"223","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.0","since":"141.0","until":"170.*","originalSince":"141.0","originalUntil":null},{"id":"com.kesselring.valuegenerator","version":"1.1","since":"94.539","until":"201.0","originalSince":"94.539","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.3.8(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.4","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.mabdurrahman.intellij.customtitle","version":"0.0.2","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.98","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.plugin.applescript","version":"0.116","since":"172.2241","until":"173.2290","originalSince":"172.2241","originalUntil":null},{"id":"com.flow.intellij","version":"20170515205337","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"cn.isaac.codelines","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams","version":"0.1.1","since":"171.0","until":"173.*","originalSince":"171.0","originalUntil":null},{"id":"com.bubiu.plugin.uniqueres","version":"1.5.16","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.HeapAllocationsViewer","version":"1.2.3.0","since":"171.4455","until":"172","originalSince":"171.4455","originalUntil":null},{"id":"vette.neos","version":"0.1.13-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.zen.idea.plugin.adt","version":"0.1","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"com.zen.idea.plugin.adt","version":"0.1.1-rc1","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.3.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.3.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"171.4424.63","since":"171.4424","until":"201","originalSince":"171.4424","originalUntil":null},{"id":"TFS","version":"171.4424.63","since":"171.4424","until":"191.*","originalSince":"171.4424","originalUntil":null},{"id":"io.ballerina","version":"0.8.5","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.1.3-eap-34-IJ2017.1-1","since":"171.1","until":"171.*","originalSince":"171.1","originalUntil":"172.*"},{"id":"com.zen.idea.plugin.adt","version":"0.1.1","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.128","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.2","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"TFS","version":"172.2273.2","since":"172.2273","until":"191.*","originalSince":"172.2273","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"172.2273.2","since":"172.2273","until":"172.*","originalSince":"172.2273","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"172.2273.2","since":"172.2273","until":"201","originalSince":"172.2273","originalUntil":null},{"id":"cucumber-javascript","version":"172.2273.2","since":"172.2273","until":"201","originalSince":"172.2273","originalUntil":null},{"id":"com.zen.idea.plugin.adt","version":"0.1.2","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"com.dafa.plugin.easyperfs","version":"1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ch.dasoft.iconviewer","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.pandawarrior.androidXMLConverter","version":"2.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.0.1","since":"141.0","until":"193.0","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.9","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"ch.dasoft.iconviewer","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.8.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.zen.idea.plugin.adt","version":"0.1.3","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"com.denis.zaichenko.angular.2.ws.live.templates","version":"2.0.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"ru.scratty.generatetomap","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"UDC","version":"1.0.3","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"ch.dasoft.iconviewer","version":"1.11","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.gheorman.radu.connascence.detection","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.zen.idea.plugin.adt","version":"0.1.4","since":"143.2370","until":"201.0","originalSince":"143.2370","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"172.2465.2","since":"172.2465","until":"201","originalSince":"172.2465","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"172.2465.2","since":"172.2465","until":"172.*","originalSince":"172.2465","originalUntil":null},{"id":"TFS","version":"172.2465.2","since":"172.2465","until":"191.*","originalSince":"172.2465","originalUntil":null},{"id":"cucumber-javascript","version":"172.2465.2","since":"172.2465","until":"201","originalSince":"172.2465","originalUntil":null},{"id":"com.maihaoche.cx5","version":"1.0","since":"161.0","until":"201.0","originalSince":"161.0","originalUntil":null},{"id":"com.maihaoche.cx5","version":"1.1","since":"161.0","until":"201.0","originalSince":"161.0","originalUntil":null},{"id":"com.maihaoche.cx5","version":"1.2","since":"161.0","until":"201.0","originalSince":"161.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.5.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.30","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"vette.neos","version":"0.1.14-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.4","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.2.1","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.4.1","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.5","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.99","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.5.0(beta)","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"com.dubreuia","version":"0.15","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.6","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.21.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.5","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.gheorman.radu.connascence.detection","version":"0.1.3.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.packer.as.plugin","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170531202529","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"YAML/Ansible support","version":"0.9.5","since":"141.713","until":"222","originalSince":"141.713","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.2","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.6.1","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.30","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"LivePlugin","version":"0.5.13 beta","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":null},{"id":"com.gheorman.radu.connascence.detection","version":"0.1.3.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"CUBA","version":"3.4.1.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.7","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.intellij.flashcards","version":"0.0.1-alpha","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.2656.13","since":"172.2656","until":"201","originalSince":"172.2656","originalUntil":null},{"id":"TFS","version":"172.2656.13","since":"172.2656","until":"191.*","originalSince":"172.2656","originalUntil":null},{"id":"org.moe","version":"2.0.0-alpha-1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"marcglasberg.HibernateInspectionsPlugin","version":"1.1","since":"139.0","until":"181.*","originalSince":"139.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.6","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.14.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.potterhsu.jsonviewer","version":"0.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.your.ELICE.eliceplugin","version":"0.5.2","since":"163.0","until":"201.0","originalSince":"163.0","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.5","since":"143.0","until":"183","originalSince":"143.0","originalUntil":null},{"id":"awesome.aurora.borealis.zupersearch.plugin.intellij","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.meizu.flyme.mall.XmlToJson","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.1.1","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.7","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.3","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.3.2","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.weirddev.testme","version":"1.5.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.headwire.aem.tooling.intellij","version":"1.0.1","since":"162.0","until":"203","originalSince":"162.0","originalUntil":null},{"id":"org.intellij.xquery.marklogic","version":"0.9.0-BETA","since":"163.7743","until":"212.*","originalSince":"163.7743","originalUntil":null},{"id":"com.gheorman.radu.connascence.detection","version":"0.1.4.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.gheorman.radu.connascence.detection","version":"0.1.4.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"TFS","version":"172.2827.22","since":"172.2827","until":"191.*","originalSince":"172.2827","originalUntil":null},{"id":"cucumber-javascript","version":"172.2827.22","since":"172.2827","until":"201","originalSince":"172.2827","originalUntil":null},{"id":"cucumber-javascript","version":"171.4694.29","since":"171.4694","until":"201","originalSince":"171.4694","originalUntil":null},{"id":"TFS","version":"171.4694.29","since":"171.4694","until":"191.*","originalSince":"171.4694","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.16.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.stfalcon.mvpgenerator","version":"0.1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.xujiaji.plugin.MVPManager","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.sunary.options-completion-phpstorm-plugin","version":"1.0.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.xujiaji.plugin.MVPManager","version":"1.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.8.6","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.21","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"net.rentalhost.idea.laravelInsight","version":"0.2.0","since":"171.0","until":"172.0","originalSince":"145.0","originalUntil":null},{"id":"edu.jetbrains.plugin.lt","version":"1.0","since":"171.4694.23","until":"201.0","originalSince":"171.4694.23","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"6.3","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.10","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.yii2support","version":"0.5.32.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.32.2","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.tang","version":"1.1.5","since":"171.0","until":"171.*","originalSince":"171.0","originalUntil":null},{"id":"edu.jetbrains.plugin.lt","version":"1.01","since":"171.4694.23","until":"201.0","originalSince":"171.4694.23","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.4.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.4.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.1.4","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.stfalcon.mvpgenerator","version":"0.2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.5.3","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.stfalcon.mvpgenerator","version":"0.2.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"fr.ensimag.deca.intellijplugin.id","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams","version":"0.1.2","since":"171.0","until":"173.*","originalSince":"171.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.0.0-RC3","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.3.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"org.tinygroup.studio.template","version":"20170614.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.sunary.options-completion-phpstorm-plugin","version":"1.0.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"cucumber-javascript","version":"172.2953.12","since":"172.2953","until":"201","originalSince":"172.2953","originalUntil":null},{"id":"TFS","version":"172.2953.12","since":"172.2953","until":"191.*","originalSince":"172.2953","originalUntil":null},{"id":"br.com.matheusfm.jsonutils","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.24.9","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.xujiaji.plugin.MVPManager","version":"1.5.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.3","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"ru.itis.androidplugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.32.4","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"brown.bat","version":"1.3.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.5.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.thoughtworks.gauge","version":"0.3.4","since":"163.0","until":"172.0","originalSince":"163.0","originalUntil":null},{"id":"br.com.matheusfm.jsonutils","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.leeiidesu.gen.GenerateMVP","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"brown.bat","version":"1.3.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.32.5","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"Gitflow","version":"0.6.1","since":"171.0","until":"172.*","originalSince":"162.0","originalUntil":"172.*"},{"id":"com.taobao.atlas","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.8.7","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"org.tinygroup.studio.template","version":"20170621.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.leeiidesu.gen.GenerateMVP","version":"2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"5.20","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"6.20","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.4.0.1","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.4.0.1","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"cucumber-javascript","version":"172.3095.13","since":"172.3095","until":"201","originalSince":"172.3095","originalUntil":null},{"id":"TFS","version":"172.3095.13","since":"172.3095","until":"191.*","originalSince":"172.3095","originalUntil":null},{"id":"com.testvagrant.optimus.elements","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.rentalhost.idea.laravelInsight","version":"0.3.0","since":"171.0","until":"172.0","originalSince":"145.0","originalUntil":null},{"id":"com.dubreuia","version":"0.16","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.5","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.6","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams","version":"0.1.3","since":"171.0","until":"173.*","originalSince":"171.0","originalUntil":null},{"id":"com.testvagrant.optimus.elements","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170624103721","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.yii2support","version":"0.5.32.6","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.5","since":"145.0","until":"223.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.2","since":"163.0","until":"211.5538","originalSince":"163.0","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.4","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"com.smartbit8.laravelStorm.intellij","version":"0.9","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.windfantasy.plugin.parcelablegenerator","version":"0.0.1","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cz.jiripudil.intellij.nette.tester","version":"2.0.0-beta.3","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.2.0.final","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.qiaoshouliang","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.4.1","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"OdpsStudio","version":"2.6.2.5","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.taobao.atlas","version":"1.05","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.taobao.atlas","version":"1.06","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.qiaoshouliang","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"brown.bat","version":"1.3.0.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.6","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.lmax.intellijLint","version":"0.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"brown.bat","version":"1.3.0.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.7","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.100","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"io.ballerina","version":"0.8.8","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.0.1","since":"162.0","until":"181.*","originalSince":"162.0","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.1.0","since":"162.0","until":"181.*","originalSince":"162.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.6","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.7","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.7","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.7","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.1.1","since":"163.0","until":"181.*","originalSince":"163.0","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"1.7","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.2.2","since":"163.0","until":"181.*","originalSince":"163.0","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.2.3","since":"163.0","until":"181.*","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.6.0","since":"172.1601","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"mr.intellij.plugin.autofactory","version":"0.2.4","since":"163.0","until":"211.*","originalSince":"163.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.4.2","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams","version":"0.1.4","since":"171.0","until":"173.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.5.4","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.1","since":"141.0","until":"193.0","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.1.1","since":"141.0","until":"193.0","originalSince":"141.0","originalUntil":null},{"id":"org.yxdroid.plugin.yxdroidtools","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.3198.20","since":"172.3198","until":"201","originalSince":"172.3198","originalUntil":null},{"id":"TFS","version":"172.3198.20","since":"172.3198","until":"191.*","originalSince":"172.3198","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.3","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.6","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.7","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0.3","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.5.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.5.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"net.rentalhost.idea.laravelInsight","version":"0.3.1","since":"171.0","until":"172.0","originalSince":"145.0","originalUntil":null},{"id":"org.yxdroid.plugin.yxdroidtools","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.7.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.morphling.builder.plugin","version":"3.0.0-1.0.0","since":"171.4249.39","until":"201.0","originalSince":"171.4249.39","originalUntil":null},{"id":"com.aandk.plugin.log","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.smartbit8.laravelStorm.intellij","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.101","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"1.3.6","since":"145.0","until":"223.*","originalSince":"145.0","originalUntil":null},{"id":"org.jeto.taskfocus","version":"0.9.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.8.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.9.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.102","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"ch.dasoft.iconviewer","version":"1.12","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.3317.8","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"TFS","version":"172.3317.8","since":"172.3317","until":"191.*","originalSince":"172.3317","originalUntil":null},{"id":"com.ztf.talk","version":"1.0","since":"145.258","until":"201.0","originalSince":"145.258","originalUntil":null},{"id":"EclipseCodeFormatter","version":"17.0.132.637.1","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"org.moe","version":"1.3.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.10.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.8","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.suhininalex.cloneDetection.plugin.id","version":"1.0","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.7","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"Karma","version":"173.622","since":"173.622","until":"181.0","originalSince":"173.622","originalUntil":"173.*"},{"id":"com.endoidou.copy_current_activity","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.nextras.orm.intellij","version":"0.4.2","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.8","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.5","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.1.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.github.novotnyr.jwt-intellij-plugin","version":"0.1","since":"143.0","until":"222.*","originalSince":"143.0","originalUntil":null},{"id":"org.intellij.xquery.marklogic","version":"0.9.1-BETA","since":"163.7743","until":"212.*","originalSince":"163.7743","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.8.1","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.2.8","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.me.speachme.intelliSpeach","version":"0.7","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.xquery.marklogic","version":"0.9.2-BETA","since":"163.7743","until":"212.*","originalSince":"163.7743","originalUntil":null},{"id":"com.djk.yyy.kotterknife","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.tang","version":"1.1.6","since":"171.0","until":"171.*","originalSince":"171.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.12","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"ch.raffael.mddoclet.integrations.idea.MarkdownDocletIdea","version":"1.4-0","since":"171.0","until":"191.*","originalSince":"171.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.1.46915","since":"133.1800","until":"143.2200","originalSince":"133.1800","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.1.46915","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"cucumber-javascript","version":"172.3317.48","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.31","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"TFS","version":"172.3317.48","since":"172.3317","until":"191.*","originalSince":"172.3317","originalUntil":null},{"id":"cz.k2.eshop","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.4","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.10","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.11","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"2.9","since":"162.0","until":"172.*","originalSince":"162.0","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.103","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.2.1","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.8.2","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"17.1.132.637.0","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.beame.io.insta.ssl","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.t28.json2java","version":"0.2.1","since":"160.0","until":"181.0","originalSince":"160.0","originalUntil":null},{"id":"com.lmax.intellijLint","version":"0.1.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"Osmorc","version":"1.4.9","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"Osmorc","version":"1.4.10","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.4.0","since":"162.2147483647","until":"172.*","originalSince":"162.*","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.11","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.11","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"3.0","since":"171.3019","until":"172.*","originalSince":"171.3019","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.taobao.atlas","version":"1.13.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170718200811","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"org.leblanc.CodeNarcNG","version":"3.1","since":"80.8000","until":"201.0","originalSince":"80.8000","originalUntil":null},{"id":"ru.hiq.butterknifesharper","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zkoss.zkidea","version":"0.1.10","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.104","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.5.132.637.0.Eclipse_4.6.3","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.11.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.2-1","since":"171.0","until":"213.*","originalSince":"171.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.2.0","since":"171.0","until":"193.0","originalSince":"171.0","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.4","since":"172.0","until":"192.*","originalSince":"172.0","originalUntil":null},{"id":"io.t28.json2java","version":"0.2.2","since":"160.0","until":"201.0","originalSince":"160.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.8.9","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2.4.4","since":"172.0","until":"182.0","originalSince":"172.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.5","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.6","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.endoidou.copy_current_activity","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yii2support","version":"0.5.33.12","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"CodeWithMe plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.7.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.nextras.orm.intellij","version":"0.4.3","since":"131.0","until":"181.3494","originalSince":"131.0","originalUntil":null},{"id":"com.suhininalex.cloneDetection.plugin.id","version":"1.1","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"org.jeto.taskfocus","version":"0.9.5","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"0.9","since":"171.0","until":"173.1","originalSince":"171.0","originalUntil":null},{"id":"Show REST Services","version":"1.3","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"0.9.1","since":"162.0","until":"171.1","originalSince":"162.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.0.8","since":"143.381","until":"211.*","originalSince":"143.381","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.129","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.6.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.6.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"cucumber-javascript","version":"172.3544.10","since":"172.3544","until":"201","originalSince":"172.3544","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"172.3544.10","since":"172.3544","until":"201","originalSince":"172.3544","originalUntil":null},{"id":"TFS","version":"172.3544.10","since":"172.3544","until":"191.*","originalSince":"172.3544","originalUntil":null},{"id":"com.github.novotnyr.jwt-intellij-plugin","version":"0.2","since":"143.0","until":"222.*","originalSince":"143.0","originalUntil":null},{"id":"ren.helloworld.mvp.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.souyidai.common.plugin.generators","version":"1.2.11","since":"139.0","until":"201.*","originalSince":"139.0","originalUntil":null},{"id":"com.mabdurrahman.intellij.customtitle","version":"0.0.3","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"com.qiaoshouliang.mvpPlugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.qiaoshouliang.mvpPlugin","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.qiaoshouliang.mvpPlugin","version":"2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"5.1","since":"171.3780","until":"181.3494","originalSince":"171.3780","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.5","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.7","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.7.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.105","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.3.0","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.glagol","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.8","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.6","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"0.9.2","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.9","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.qiaoshouliang","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.8.3","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.2.2","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.7","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.retryu","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.retryu","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.retryu","version":"1.11","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.floobits.unique.plugin.id","version":"1.6.7","since":"131.0","until":"193.*","originalSince":"131.0","originalUntil":null},{"id":"com.retryu","version":"1.12","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"0.9.3","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.retryu","version":"1.13","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"0.8.4","since":"162.0","until":"231.*","originalSince":"162.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0.4","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.13","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.10","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.weirddev.testme","version":"1.5.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.qiaoshouliang.CreateAdapter","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.33","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.go","version":"172.3757.2","since":"172.3757","until":"172.*","originalSince":"172.3317","originalUntil":"172.*"},{"id":"TFS","version":"172.3544.34","since":"172.3544","until":"191.*","originalSince":"172.3544","originalUntil":null},{"id":"cucumber-javascript","version":"172.3544.34","since":"172.3544","until":"201","originalSince":"172.3544","originalUntil":null},{"id":"com.inflectra.SpiraTeam","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"0.9.4","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"cn.ieclipse.aorm.as","version":"1.0.1","since":"141.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"org.bitvault.plugin.dpkplugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"AngularJS","version":"173.1310","since":"173.1310","until":"181.0","originalSince":"173.1310","originalUntil":"173.*"},{"id":"cucumber-javascript","version":"173.1310","since":"173.1310","until":"201","originalSince":"173.1310","originalUntil":null},{"id":"Karma","version":"173.1310","since":"173.1310","until":"181.0","originalSince":"173.1310","originalUntil":"173.*"},{"id":"com.jetbrains.plugins.meteor","version":"173.1310","since":"173.1310","until":"181.0","originalSince":"173.1310","originalUntil":"173.*"},{"id":"org.jetbrains.plugins.stylus","version":"173.1310","since":"173.1310","until":"201","originalSince":"173.1310","originalUntil":null},{"id":"TFS","version":"173.1310","since":"173.1310","until":"191.*","originalSince":"173.1310","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"173.1310","since":"173.1310","until":"173.*","originalSince":"173.1310","originalUntil":null},{"id":"EclipseCodeFormatter","version":"16.6.132.637.0.Eclipse_4.6.3","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"EclipseCodeFormatter","version":"17.2.132.637.0.Eclipse_4.7","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.flageolett.roc","version":"1.0","since":"145.0","until":"201.*","originalSince":"145.0","originalUntil":null},{"id":"UDC","version":"1.0.4","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"org.tsxuehu.gen-api-doc","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.flageolett.roc","version":"1.0.1","since":"145.0","until":"201.*","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.5","since":"141.3000","until":"192.*","originalSince":"141.3000","originalUntil":null},{"id":"com.asif.gsonpojogenerator","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.6","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"top.jsmzr.cipher.component.CipherTools","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.pgyer.as.plugin","version":"1.4.1","since":"131.0","until":"201.4515.24","originalSince":"131.0","originalUntil":null},{"id":"com.haskforce","version":"0.3-beta.38","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"fr.tolc.jahia.intellij.plugin","version":"1.3.3","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0.5","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.flageolett.roc","version":"1.0.2","since":"145.0","until":"201.*","originalSince":"145.0","originalUntil":null},{"id":"com.zcolin.zplug","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.aristotll.ruby.rdoc.adder","version":"0.01","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"me.aristotll.ruby.rdoc.adder","version":"0.02","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.12","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.12","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-java","version":"172.3317","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"de.misi.idea.plugins.junit5helper","version":"0.1","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0.6","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"cn.nekocode.plugin.parcelablegenerator","version":"0.7.2","since":"123.72","until":"201.0","originalSince":"123.72","originalUntil":null},{"id":"com.harmonycloud.mars.unique.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.liyijiang.androidpx2dp","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.talkingdata.orm.tool","version":"1.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.18","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.inflectra.SpiraTeam","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20170808201811","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.2.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"de.misi.idea.plugins.junit5helper","version":"0.2","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.15","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.3757.32","since":"172.3757","until":"201","originalSince":"172.3757","originalUntil":null},{"id":"TFS","version":"172.3757.32","since":"172.3757","until":"191.*","originalSince":"172.3757","originalUntil":null},{"id":"ru.makkarpov.ucl","version":"0.1","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"ru.makkarpov.ucl","version":"0.1.1","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"0.0.34","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.11","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.ws.unique.plugin.id","version":"0.16","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"me.fingerart.idea.apidebugger","version":"2.0.0","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.djk.yyy.kotterknife","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.2.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.8","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"org.elixir_lang","version":"6.0.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.0.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.0.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.aemtools","version":"0.8","since":"131.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.elixir_lang","version":"6.1.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.8","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"2.2.3","since":"143.0","until":"181.*","originalSince":"143.0","originalUntil":null},{"id":"Appetizer.io","version":"1.1.1","since":"129.1","until":"201.0","originalSince":"129.1","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.7.9.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.applariat.idea.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.7.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.7.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"cucumber-javascript","version":"172.3757.55","since":"172.3757","until":"201","originalSince":"172.3757","originalUntil":null},{"id":"TFS","version":"172.3757.55","since":"172.3757","until":"191.*","originalSince":"172.3757","originalUntil":null},{"id":"ru.makkarpov.ucl","version":"0.1.2","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"vette.neos","version":"0.1.15-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"ru.hiq.butterknifesharper","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cn.yzl.activityintentcreater","version":"1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.bitvault.plugin.dpkplugin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave","version":"0.13","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.intellij.plugin","version":"0.13","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.raml","version":"0.13","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"fortify.fod","version":"17.3.0200","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"reasonml","version":"0.11","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.12","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"QAPlug","version":"1.3.13","since":"172.3757","until":"211","originalSince":"172.3757","originalUntil":null},{"id":"de.misi.idea.plugins.junit5helper","version":"0.3","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"cn.yzl.activityintentcreater","version":"1.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ydzy.test","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ydzy.tangchaoSqlToJava","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ydzy.tangchaoGui","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"PerforceIC","version":"0.9.5","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"org.elixir_lang","version":"6.1.1","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.dingxiang.plugin.StringEncryptor","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.13","since":"141.0","until":"141.*","originalSince":"141.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.12","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.jbooster.jbooster-logging-intellij-plugin","version":"1.0","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.glagol","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0-RC.1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.3.1","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.basisjs","version":"0.1.5","since":"162.0","until":"181.0","originalSince":"162.0","originalUntil":null},{"id":"vette.neos","version":"0.1.16-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"cn.yzl.activityintentcreater","version":"1.6","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.luciozhang.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.ceylon.ide","version":"1.3.3","since":"171.0","until":"213.*","originalSince":"171.0","originalUntil":null},{"id":"com.github.nuclearg.smartgs","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0-RC.2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.14","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.manolenso.intellij.foundation6","version":"1.8.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"AureliaStorm","version":"0.5","since":"162.1628","until":"213.0","originalSince":"162.1628","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.0.2","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.0","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"com.yang.dialog","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.3.9","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.1.1","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"io.ballerina","version":"0.9.1","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.3968.20","since":"172.3968","until":"201","originalSince":"172.3968","originalUntil":null},{"id":"TFS","version":"172.3968.20","since":"172.3968","until":"191.*","originalSince":"172.3968","originalUntil":null},{"id":"org.jbooster.jbooster-logging-intellij-plugin","version":"1.0.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.6","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.7.0.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.shenjiajun.TinyPic","version":"1.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.coding.git","version":"1.0.2","since":"171.0","until":"193","originalSince":"171.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.drakeet.layoutformatter","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.13","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.dubreuia","version":"0.19","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.8","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.8.2","since":"171.2953.9","until":"232.*","originalSince":"171.2953.9","originalUntil":null},{"id":"com.canoo.dolphinplattform.intellij","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.samsung.srr.dex.adb_tool","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.inflectra.SpiraTeam","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.stoneplugin.unique.plugin.id","version":"1.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"Nette framework helpers","version":"0.4.3","since":"171.0","until":"192.0","originalSince":"171.0","originalUntil":null},{"id":"net.rentalhost.idea.laravelInsight","version":"0.3.2","since":"171.0","until":"172.0","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.14","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.hadihariri.pathtitle","version":"0.1","since":"131.0","until":"231.*","originalSince":"131.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.5.2","since":"141.245","until":"201","originalSince":"141.245","originalUntil":null},{"id":"com.xu","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"MyPlugin.CreateDialog","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.samsung.srr.dex.adb_tool","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.kamikx.adbdatetime","version":"1.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.xingren.fc.rangers-logging-intellij-plugin","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.1","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"com.samsung.srr.dex.adb_tool","version":"1.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.bitvault.plugin.bvkplugin","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.xingren.fc.rangers-logging-intellij-plugin","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.taobao.weex.lang","version":"2.0.7","since":"141.0","until":"181.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.bolex.recitewords","version":"1.2","since":"107.121","until":"201.0","originalSince":"107.121","originalUntil":null},{"id":"io.harply.plugin","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.12.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"io.github.francoiscambell.clionarduinoplugin2017","version":"1.2.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"Check-In Policies for TFS (Team Foundation Server)","version":"1.0","since":"140.0","until":"193.*","originalSince":"140.0","originalUntil":null},{"id":"TFS","version":"172.3968.27","since":"172.3968","until":"191.*","originalSince":"172.3968","originalUntil":null},{"id":"gw.in.ij","version":"1.0.0","since":"141.1010","until":"201.0","originalSince":"141.1010","originalUntil":null},{"id":"ModuleColorPlugin","version":"1.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"cn.yzl.activityintentcreater","version":"1.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.17-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"krasa.translatorGenerator","version":"0.3","since":"172.0","until":"192.7142","originalSince":"172.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.8","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.me.speachme.intelliSpeach","version":"0.9.6","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.dubreuia","version":"0.20","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"TFS","version":"172.4155.10","since":"172.4155","until":"191.*","originalSince":"172.4155","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.6","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"com.musical.ly.plugin.muse-mvp-plugin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.15","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"vette.neos","version":"0.1.18-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC3","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"edu.umd.cs.cpm","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.0.9","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"top.jsmzr.cipher.component.CipherTools","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC4","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0-RC5","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.0","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.130","since":"171.3780.107","until":"211","originalSince":"171.3780.107","originalUntil":null},{"id":"vette.neos","version":"0.1.19-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.daveme.intellij.chocolateCakePHP","version":"0.1","since":"171.3780","until":"173.*","originalSince":"171.3780","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.3.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.8.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.8.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"cucumber-javascript","version":"173.2099.6","since":"173.2099","until":"201","originalSince":"173.2099","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"173.2099.6","since":"173.2099","until":"201","originalSince":"173.2099","originalUntil":null},{"id":"XSLT-Debugger","version":"173.2099.6","since":"173.2099","until":"201","originalSince":"173.2099","originalUntil":null},{"id":"TFS","version":"173.2099.6","since":"173.2099","until":"191.*","originalSince":"173.2099","originalUntil":null},{"id":"AngularJS","version":"173.2099.6","since":"173.2099","until":"181.0","originalSince":"173.2099","originalUntil":"173.*"},{"id":"com.jetbrains.plugins.meteor","version":"173.2099.6","since":"173.2099","until":"181.0","originalSince":"173.2099","originalUntil":"173.*"},{"id":"OdpsStudio","version":"2.8.0.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.dubreuia","version":"0.21","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"top.jsmzr.cipher.component.CipherTools","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ctrip.wireless.android.build","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1-RC1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"com.cxp.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.cxp.plugin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ch.dasoft.iconviewer","version":"1.13","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.cxp.plugin","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.17","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.2.0","since":"171.3780","until":"171.*","originalSince":"171.3780","originalUntil":null},{"id":"gw.in.ij","version":"1.0.1","since":"141.1010","until":"201.0","originalSince":"141.1010","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.0.8","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.taobao.atlas","version":"2.0.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.taobao.atlas","version":"2.0.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.4","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"com.ctrip.wireless.android.build","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.typ0520.plugin.fastdex","version":"1.0.0","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"com.peng.myproguard","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"si.deno.converter.cyrillic","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"zhushou","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.aemtools","version":"0.8.1","since":"173.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.3.0","since":"171.0","until":"193.0","originalSince":"171.0","originalUntil":null},{"id":"com.ctrip.wireless.android.build","version":"1.0.3","since":"111.0","until":"201.0","originalSince":"111.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.3.1","since":"171.0","until":"193.0","originalSince":"171.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.0.15","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"intellij.zeppelin.","version":"1.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.2.1","since":"171.3780","until":"171.*","originalSince":"171.3780","originalUntil":null},{"id":"com.github.typ0520.plugin.fastdex","version":"1.0.1","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"com.panshen.me.QuickSearch","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.1.2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"de.misi.idea.plugins.junit5helper","version":"0.4","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"org.reneYang.texas.encrypt","version":"1.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.10.3","since":"171.2953.9","until":"232.*","originalSince":"171.2953.9","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.2.2","since":"171.3780","until":"171.*","originalSince":"171.3780","originalUntil":null},{"id":"com.naughtyserver","version":"1.1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.10.4","since":"171.2953.9","until":"232.*","originalSince":"171.2953.9","originalUntil":null},{"id":"TFS","version":"172.4155.35","since":"172.4155","until":"191.*","originalSince":"172.4155","originalUntil":null},{"id":"com.yuyashuai.plugin.dictionary","version":"1.0","since":"139.0","until":"201.0","originalSince":"139.0","originalUntil":null},{"id":"com.ppdai.booster.ppdai-logging-intellij-plugin","version":"1.0","since":"145.0","until":"212.*","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.5","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"172.4155.35","since":"172.4155","until":"201","originalSince":"172.4155","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.5","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.2.3","since":"171.3780","until":"171.*","originalSince":"171.3780","originalUntil":null},{"id":"edu.umd.cs.cpm","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.2","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.0.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1-RC2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.1","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.40","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.github.Deadleg.idea-openresty-lua-support","version":"0.0.4","since":"141.0","until":"203.*","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.106","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.github.typ0520.plugin.fastdex","version":"1.0.2","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.17.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"cn.bestwu.gdph","version":"0.1.0","since":"145.258","until":"191.5000","originalSince":"145.258","originalUntil":null},{"id":"com.fooock.experimental.and.beta.icons","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ls.translate","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"5.2","since":"171.3780","until":"181.3494","originalSince":"171.3780","originalUntil":null},{"id":"com.weirddev.testme","version":"1.6","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"vette.neos","version":"0.1.20-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.3","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"com.haskforce","version":"0.3.39","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"com.aconex.test.namer","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.dieploegers.develop.idea.shellfilter","version":"1.0.0","since":"172.0","until":"181.5684","originalSince":"172.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.0.0 (201709181025)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.mallowigi","version":"1.0","since":"173.0","until":"221.*","originalSince":"173.0","originalUntil":null},{"id":"com.mallowigi","version":"1.0.1","since":"173.0","until":"221.*","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.fooock.experimental.and.beta.icons","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.7","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"com.alexanderpa.flyway.migration.creator","version":"2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.ctrip.wireless.android.build","version":"1.0.4","since":"111.0","until":"201.0","originalSince":"111.0","originalUntil":null},{"id":"com.mallowigi","version":"1.0.2","since":"171.0","until":"221.*","originalSince":"171.0","originalUntil":null},{"id":"com.yii2support","version":"0.6.34.12","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.plugin.applescript","version":"0.117","since":"173.2463","until":"191.*","originalSince":"173.2463","originalUntil":null},{"id":"com.peng.myproguard","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.dieploegers.develop.idea.shellfilter","version":"1.0.1","since":"172.0","until":"181.5684","originalSince":"172.0","originalUntil":null},{"id":"com.qianniu.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.thomas.needham.neurophidea","version":"1.1.0","since":"141.0","until":"183.1","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.6.0","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"io.g13.ideaplugins.time","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.qburst.plugins.android","version":"1.1.1","since":"145.0","until":"212.*","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"173.2463.22","since":"173.2463","until":"201","originalSince":"173.2463","originalUntil":null},{"id":"AngularJS","version":"173.2463.22","since":"173.2463","until":"181.0","originalSince":"173.2463","originalUntil":"173.*"},{"id":"TFS","version":"173.2463.22","since":"173.2463","until":"191.*","originalSince":"173.2463","originalUntil":null},{"id":"com.github.typ0520.plugin.fastdex","version":"1.0.3","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.4","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"Appetizer.io","version":"1.1.2","since":"129.1","until":"201.0","originalSince":"129.1","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"3.2","since":"171.3019","until":"172.*","originalSince":"171.3019","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.18","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.13.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.5","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"de.escalon.idea.plugin.svelte","version":"0.0.4","since":"162.0","until":"191.0","originalSince":"162.0","originalUntil":null},{"id":"vette.neos","version":"0.1.21-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.6","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"com.wix.react-templates","version":"1.1.2","since":"143.0","until":"211","originalSince":"143.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.6.1","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.3.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.3.3","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"net.askarin.mpbots.idea.mpbotsideplugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.mallowigi","version":"1.0.3","since":"162.0","until":"221.*","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"intellij.zeppelin.","version":"0.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"io.github.xusida.idea.plugins.formatyaml","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.9.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.9.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.undo_software.clion.reverse","version":"2.0.0","since":"172.0","until":"181.0","originalSince":"172.0","originalUntil":null},{"id":"com.github.typ0520.plugin.fastdex","version":"1.0.4","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"com.cedricziel.idea.typo3","version":"0.2.4","since":"171.3780","until":"171.*","originalSince":"171.3780","originalUntil":null},{"id":"com.zhaoyanjun.AndroidTranslate","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"TFS","version":"173.2696.21","since":"173.2696","until":"191.*","originalSince":"173.2696","originalUntil":null},{"id":"com.ppolivka.plugin.gitcleaner","version":"1.0.0","since":"144.0","until":"171.0","originalSince":"144.0","originalUntil":null},{"id":"com.yii2support","version":"0.6.34.13","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.8","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"brown.bat","version":"1.3.4","since":"162.2147483647","until":"201.0","originalSince":"162.*","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.0","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.mallowigi","version":"1.0.4","since":"145.0","until":"221.*","originalSince":"145.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.9","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.vaadin.designer.intellij","version":"1.4.4","since":"143.0","until":"211.7628.21","originalSince":"143.0","originalUntil":null},{"id":"com.yii2support","version":"0.6.34.13","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.7","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.5.0","since":"171.0","until":"193.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2362.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"org.openmastery.ideaflow","version":"0.19","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"vette.neos","version":"0.1.22-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"AureliaStorm","version":"0.6","since":"162.1628","until":"213.0","originalSince":"162.1628","originalUntil":null},{"id":"com.zhuomeng.unique.plugin.id","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.zhuomeng.unique.plugin.id","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.1","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.0.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.8","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"0.12.1","since":"173.2290.1","until":"232.*","originalSince":"173.2290.1","originalUntil":null},{"id":"com.amintado.bootstrap","version":"0.1.1","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.asta.mobi.generate.ca.code","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2367.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.0.2","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.0.3","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.0.23","since":"143.381","until":"211.*","originalSince":"143.381","originalUntil":null},{"id":"cn.bestwu.gdph","version":"0.1.1","since":"145.258","until":"191.5000","originalSince":"145.258","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.6","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.0.4","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.senthil","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.bitvault.plugin.bvkplugin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2370.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"XSLT-Debugger","version":"173.2941.6","since":"173.2941","until":"201","originalSince":"173.2941","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"173.2941.6","since":"173.2941","until":"201","originalSince":"173.2941","originalUntil":null},{"id":"TFS","version":"173.2941.6","since":"173.2941","until":"191.*","originalSince":"173.2941","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"173.2941.6","since":"173.2941","until":"173.*","originalSince":"173.2941","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"173.2941.6","since":"173.2941","until":"181.0","originalSince":"173.2941","originalUntil":"173.*"},{"id":"Git Scope","version":"1.0.0","since":"171.0","until":"202.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.6.1","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"claims.bold.intellij.avro","version":"0.3.1","since":"143.0","until":"202.*","originalSince":"143.0","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"1.9.0","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.fortran","version":"1.5.1","since":"171.0","until":"193.0","originalSince":"171.0","originalUntil":null},{"id":"com.haskforce","version":"0.3.40","since":"131.0","until":"203.*","originalSince":"131.0","originalUntil":null},{"id":"Gitflow","version":"0.6.3","since":"171.0","until":"173.*","originalSince":"162.0","originalUntil":"173.*"},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.18.0","since":"145.0","until":"171.4694","originalSince":"145.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"1.0.0","since":"141.0","until":"231","originalSince":"141.0","originalUntil":null},{"id":"com.github.nokia.pyvenv","version":"1.0","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"com.mingyuanyun.appcloud.jetbrains.plugin.buildtool","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.5","since":"172.0","until":"192.*","originalSince":"172.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2394.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.19","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.jbooster.jbooster-logging-intellij-plugin","version":"1.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.ppdai.booster.ppdai-logging-intellij-plugin","version":"1.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.0.1","since":"145.0","until":"173","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.6.34.16","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.2.2","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"3.6","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2398.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2398.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.mingyuanyun.appcloud.jetbrains.plugin.buildtool","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.plugins.meteor","version":"173.3188.31","since":"173.3188","until":"181.0","originalSince":"173.3188","originalUntil":"173.*"},{"id":"cucumber-javascript","version":"173.3188.31","since":"173.3188","until":"201","originalSince":"173.3188","originalUntil":null},{"id":"JBClearcasePlugin","version":"2.0","since":"173.3188","until":"201","originalSince":"173.3188","originalUntil":null},{"id":"SourceSafe","version":"173.3188","since":"173.3188","until":"201","originalSince":"173.3188","originalUntil":null},{"id":"MultiHighlight","version":"1.0.1","since":"162.0","until":"202.1","originalSince":"162.0","originalUntil":null},{"id":"com.duseev.intellij.preservelayout","version":"1.0","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.0","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"org.elixir_lang","version":"6.2.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"me.lotabout.codegenerator","version":"1.0","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.20","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.xujiaji.plugin.MVPManager","version":"2.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.zhaoyanjun.AndroidTranslate","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.0.2","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"me.scana.okgradle","version":"0.0.1","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"brown.bat","version":"1.3.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"brown.bat","version":"1.3.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.10.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.10.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.zhaoyanjun.AndroidTranslate","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.lotabout.codegenerator","version":"1.2","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.huangyuanlove.transform.VariableNameStyleTransfer","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.resharper.HeapAllocationsViewer","version":"1.2.4.0","since":"172.4144","until":"172.4145","originalSince":"172.4144","originalUntil":"172.4145"},{"id":"com.duseev.intellij.preservelayout","version":"1.1","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.fashare.smallhelper","version":"1.0-SNAPSHOT","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yx.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.1","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.simon.plus.NotesTranslation.Translation","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"173.3302.13","since":"173.3302","until":"201","originalSince":"173.3302","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"173.3302.13","since":"173.3302","until":"201","originalSince":"173.3302","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.0.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0.1","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.107","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.21","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.18.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.taobao.atlas","version":"2.0.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"gherkin","version":"173.3302","since":"172.4343","until":"172.*","originalSince":"172.4343","originalUntil":null},{"id":"cucumber-java","version":"173.3302","since":"173.1","until":"173.*","originalSince":"172.4343","originalUntil":null},{"id":"cucumber-groovy","version":"173.3302","since":"172.4343","until":"201","originalSince":"172.4343","originalUntil":null},{"id":"TFS","version":"172.4343.25","since":"172.4343","until":"191.*","originalSince":"172.4343","originalUntil":null},{"id":"cucumber-javascript","version":"172.4343.25","since":"172.4343","until":"201","originalSince":"172.4343","originalUntil":null},{"id":"org.elixir_lang","version":"6.3.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0.2","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.22","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.23","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.2","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0.3","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"Git Scope","version":"1.0.1","since":"171.0","until":"202.*","originalSince":"171.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.8","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.1","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"imp.ffs.mde.helper","version":"0.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.1.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.bmesta.mvntoolkit","version":"0.1.3-SNAPSHOT","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.resharper.ConfigurationSense","version":"2017.2.2.0","since":"172.4144","until":"172.4145","originalSince":"172.4144","originalUntil":"172.4145"},{"id":"com.baomidou.plugin.idea.mybatisx","version":".0.1.0","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"com.xiuyukeji.plugin.translation","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.fashare.smallhelper","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"4.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.xiuyukeji.plugin.translation","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.bmesta.mvntoolkit","version":"0.1.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.108","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"me.lotabout.codegenerator","version":"1.3","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.zq.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.109","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.guohe.selector","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2441.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.dubreuia","version":"0.23","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"TFS","version":"173.3415.27","since":"173.3415","until":"191.*","originalSince":"173.3415","originalUntil":null},{"id":"cucumber-javascript","version":"173.3415.27","since":"173.3415","until":"201","originalSince":"173.3415","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.0","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"com.mnw.navigateidentifier","version":"1.1","since":"141.0","until":"231.9011","originalSince":"141.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"4.1","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"de.espend.idea.php.phpunit","version":"2.7","since":"171.3780","until":"173.2099","originalSince":"171.3780","originalUntil":null},{"id":"com.mnw.tabmover","version":"1.3.0","since":"135.0","until":"213","originalSince":"135.0","originalUntil":null},{"id":"org.elixir_lang","version":"6.4.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.4.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"xyz.elmot.clion.armsupport.prj","version":"0.4.alpha","since":"173.0","until":"173.3530","originalSince":"173.0","originalUntil":"173.*"},{"id":"com.github.bjansen.intellij.pebble","version":"0.3","since":"143.0","until":"212.*","originalSince":"143.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.24","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.25","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.5","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.0-RC.1","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"cat.helm.clean","version":"0.1.0-SNAPSHOT","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"cat.helm.clean","version":"0.1.1-SNAPSHOT","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.github.novotnyr.jwt-intellij-plugin","version":"0.3","since":"143.0","until":"222.*","originalSince":"143.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.10","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.28.3","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"Beaker Test Runner","version":"0.1.3","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"IdeaVIM","version":"0.48.5","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.xiuyukeji.plugin.translation","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.guohe.selector","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.lotabout.codegenerator","version":"1.3.1","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.110","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"JBClearcasePlugin","version":"2.0.1","since":"173.3188","until":"201","originalSince":"173.3188","originalUntil":null},{"id":"cucumber-javascript","version":"173.3531.1","since":"173.3531","until":"201","originalSince":"173.3531","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"173.3531.1","since":"173.3531","until":"201","originalSince":"173.3531","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0.4","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.8","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.0","since":"123.72","until":"181.0","originalSince":"123.72","originalUntil":null},{"id":"com.bianxiaoyan.selector","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.asif.gsonpojogenerator","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"me.fingerart.idea.apidebugger","version":"2.0.1","since":"141.0","until":"201","originalSince":"141.0","originalUntil":null},{"id":"com.inflectra.SpiraTeam","version":"1.3","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"IdeaVIM","version":"0.48.6","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.fanhl.intellij.postfix","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.fanhl.intellij.postfix","version":"0.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.pokkt.management.tool","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.3","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.26","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"net.codeweavers.rider.autoattach","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"6.5.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.daveme.intellij.chocolateCakePHP","version":"0.2","since":"171.3780","until":"173.*","originalSince":"171.3780","originalUntil":null},{"id":"com.stoneplugin.unique.plugin.id","version":"2.0","since":"107.105","until":"201.0","originalSince":"107.105","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0","since":"107.0","until":"223.*","originalSince":"107.0","originalUntil":null},{"id":"com.fanhl.intellij.postfix","version":"0.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.fanhl.intellij.postfix","version":"0.1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.1.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.0","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.2","since":"107.0","until":"223.*","originalSince":"107.0","originalUntil":null},{"id":"com.tagmycode.intellij","version":"2.1.0","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"com.weirddev.testme","version":"1.7","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.3","since":"107.0","until":"223.*","originalSince":"107.0","originalUntil":null},{"id":"com.yinjin.intellij.translation","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"6.5.1","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.0.0 (201710030149)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.11.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.11.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.7","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"ExceptionCatcher","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.0.2","since":"145.0","until":"191.0","originalSince":"145.0","originalUntil":null},{"id":"com.yyx.kotlinmvp","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"tushar.checkForPull","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.27","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.github.feiwongreed","version":"1.0.8","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.taobao.atlas","version":"2.0.5","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.28","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.29","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.agilezhu.bundledatabuilder","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.4.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yii2support","version":"0.6.34.18","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.2","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.viartemev.requestmapper","version":"0.8","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.536","since":"172.0","until":"173.0","originalSince":"172.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.0.3","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.30","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.samsung.srr.dex.adb_tool","version":"1.4","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.1","since":"103.72","until":"193.0","originalSince":"103.72","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.1","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.4","since":"107.0","until":"223.*","originalSince":"107.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.1.0","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"cucumber-javascript","version":"173.3622.29","since":"173.3622","until":"201","originalSince":"173.3622","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"173.3622.29","since":"173.3622","until":"173.*","originalSince":"173.3622","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.29.2","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.1.1","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.1.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0","since":"173.2290.1","until":"232.*","originalSince":"173.2290.1","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-beta1","since":"173.2290.1","until":"232.*","originalSince":"173.2290.1","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.2.1","since":"163.0","until":"211.5538","originalSince":"163.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-beta6","since":"173.2290.1","until":"232.*","originalSince":"173.2290.1","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-beta7","since":"173.2290.1","until":"232.*","originalSince":"173.2290.1","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-beta9","since":"173.3622.25","until":"232.*","originalSince":"173.3622.25","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-beta10","since":"173.3622.1","until":"232.*","originalSince":"173.3622.1","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.0-173.3622","since":"173.3622.1","until":"232.*","originalSince":"173.3622.1","originalUntil":null},{"id":"es.n10.clean.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.0.5","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.wangzai.plugin.findViewById","version":"1.4.3","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.1","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.github.jpmossin","version":"1.3.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.djk.yyy.kotterknife","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.19.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.winwin.idea.plugin.gotodeclaration","version":"1.0.0","since":"173.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"eu.gillissen.rider.usersecrets","version":"0.0.1","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"com.tencent.qgame.lintsample","version":"1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"ExceptionCatcher","version":"1.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.yyx.kotlinmvp","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2492.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.intellij.bigdecimal-folding","version":"0.9.9.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"QAPlug","version":"1.3.14","since":"172.3757","until":"211","originalSince":"172.3757","originalUntil":null},{"id":"cucumber-javascript","version":"173.3727.2","since":"173.3727","until":"201","originalSince":"173.3727","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.31","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.flow.intellij","version":"20171115204348","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.5.0","since":"173.3475","until":"201.0","originalSince":"173.3475","originalUntil":null},{"id":"com.yinjin.intellij.translation","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"SvgViewer 2","version":"2.1","since":"111.1","until":"201","originalSince":"111.1","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.8","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"io.nativetap.plugin","version":"1.2.8.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.4","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.5","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.2","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.3.2","since":"123.72","until":"203","originalSince":"123.72","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.9","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.1","since":"173.3655.1","until":"232.*","originalSince":"173.3655.1","originalUntil":null},{"id":"com.dubreuia","version":"0.24","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"unspecified.173.3655.1","since":"173.3655.1","until":"232.*","originalSince":"173.3655.1","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"1.3.1.173.3655.1","since":"173.3655.1","until":"232.*","originalSince":"173.3655.1","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.9.1","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"coral.plugins","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.0.4","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.1.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.32","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"4.2","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.5","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.gopkgm.plugin","version":"0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"eu.gillissen.rider.usersecrets","version":"0.1.0","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"es.n10.clean.plugin.id","version":"1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.znshadow.viewbinder","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.znshadow.viewbinder","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.yyx.kotlinmvp","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"xyz.belvi.droid_snippet","version":"1.0.0-alpha","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.yangsimin.android.lifecycle.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.2","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"xyz.belvi.droid_snippet","version":"1.0.0-beta","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2514.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.testvagrant.optimus.elements","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.0","since":"173.0","until":"203.*","originalSince":"145.0","originalUntil":null},{"id":"net.olegg.bodylookin","version":"0.0.4","since":"145.0","until":"202.*","originalSince":"145.0","originalUntil":null},{"id":"com.meizu.flyme.mall.XmlToJson","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.6","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.7","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.8","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.9","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.1.2","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.1","since":"173.0","until":"203.*","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.4","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.abby.plugin.gradledependencyhelper","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.537","since":"172.0","until":"173.0","originalSince":"172.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.33","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.br.quicksloth","version":"1.0-beta.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.br.quicksloth","version":"1.0-beta.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.34","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"izhangzhihao.rainbow.brackets","version":"2.6","since":"139.0","until":"172","originalSince":"139.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.35","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.yangsm.android.lifecycle.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yangsm.android.lifecycle.plugin.id","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"5.0","since":"163.0","until":"163.*","originalSince":"163.0","originalUntil":null},{"id":"java.com.lz.autogs","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.github.kongeor.p4n","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.2.0","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"io.github.kongeor.p4n","version":"1.0.2","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"xyz.belvi.droid_snippet","version":"1.0.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"fortify.fod","version":"17.4.0","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2017.2.50574","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.2.2514.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.schibsted.protein","version":"0.5.0","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.zzy.plugin.MvpFileCreator","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.6.0","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.schibsted.protein","version":"0.6.1","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.12.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.12.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"de.espend.idea.php.annotation","version":"5.2.1","since":"171.3780","until":"181.3494","originalSince":"171.3780","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.6.2","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"xyz.belvi.droid_snippet","version":"1.0.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.1.1","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.intellij.plugin.applescript","version":"0.118","since":"173.2463","until":"191.*","originalSince":"173.2463","originalUntil":null},{"id":"ExceptionCatcher","version":"1.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.uddernetworks.codehelp","version":"1.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.2.0","since":"145.2147483647","until":"201","originalSince":"145.*","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.0","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.fqxyi.plugin.butter.knife.code","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.6.2","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.schibsted.protein","version":"0.6.3","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"JRebelPlugin","version":"7.1.3","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.schibsted.protein","version":"0.6.4","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"de.endrullis.idea.postfixtemplates","version":"1.2.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.3.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.3.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.3.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"AsyncConverter.AsyncConverter","version":"1.1.8.3","since":"172.4144","until":"172.4145","originalSince":"172.4144","originalUntil":"172.4145"},{"id":"com.yii2support","version":"0.6.34.19","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"QAPlug","version":"1.3.15","since":"172.3757","until":"211","originalSince":"171.4408","originalUntil":null},{"id":"LivePlugin","version":"0.6.0 beta","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":null},{"id":"com.nengjun.geek","version":"0.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.19.2","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.2.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"2.4.0","since":"143.2370","until":"212.0","originalSince":"143.2370","originalUntil":null},{"id":"org.elixir_lang","version":"6.6.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.2.2","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.2.3","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.uddernetworks.codehelp","version":"1.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.nengjun.geek","version":"0.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.3","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.semihunaldi.intellij.ideacurrency.plugin","version":"0.1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.111","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":">me.drakeet.plugin.multitype","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.2","since":"173.0","until":"203.*","originalSince":"171.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.9.3","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"Error-prone plugin","version":"173.4031","since":"173.3727","until":"181.0","originalSince":"173.3727","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.36","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.moe","version":"1.4.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.elixir_lang","version":"6.7.0","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"qdrzwd@sina.com","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.1.3","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"qdrzwd@sina.com","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.1.4","since":"107.105","until":"181.*","originalSince":"107.105","originalUntil":null},{"id":"com.semihunaldi.intellij.ideacurrency.plugin","version":"0.1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.semihunaldi.intellij.ideacurrency.plugin","version":"0.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.31.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"ASM Bytecode Outline 2017","version":"0.3.5.2017.12.10","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.3.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.5","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.4","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"cn.bestwu.gdph","version":"0.1.2","since":"145.258","until":"191.5000","originalSince":"145.258","originalUntil":null},{"id":"com.hikesoft.idea.plugin.microservice.matrix","version":"2.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.3.0","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"LivePlugin","version":"0.6.1 beta","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":null},{"id":"com.yii2support","version":"0.7.35.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"merger4ideaPlugin","version":"2.2","since":"143.2287","until":"201.4865.12","originalSince":"143.2287","originalUntil":null},{"id":"IdeaVIM","version":"0.49","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"uk.co.itmoore.intellisubsteps","version":"1.1.1","since":"173.0","until":"182.*","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2598.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2598.5","since":"171.1233","until":"222","originalSince":"171.1233","originalUntil":null},{"id":"OdpsStudio","version":"2.8.2.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.1","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.112","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.0.1 (201712140206)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"reasonml","version":"0.30","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.0.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"3.4","since":"172.1294","until":"172.*","originalSince":"172.1294","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.3.0","since":"173.0","until":"203.*","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"0.9.0","since":"162.0","until":"172.*","originalSince":"162.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.0.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"com.haskforce","version":"0.3.41","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"com.yangding","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.1.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.2","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.14.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"io.ballerina","version":"0.9.6","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"reasonml","version":"0.31","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.5","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"ms.konovalov.intellij.hidpi-profiles","version":"2017.1.2","since":"171.0","until":"222","originalSince":"171.0","originalUntil":null},{"id":"nix-idea","version":"0.2.1.0","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"com.yangding","version":"1.0.1","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.yangding","version":"1.0.2","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"Osmorc","version":"1.4.11","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"3.3.1","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.moe","version":"1.4.1","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.zhuomeng.unique.plugin.id","version":"1.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"10.13.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"10.13.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.4","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"cz.k2.eshop","version":"1.6","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"reasonml","version":"0.32","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.20.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"nosi.xmlpojo_plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.arktis.breeze-connector","version":"0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.0","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.1","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.1","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.flow.intellij","version":"20171222154034","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.1","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.3.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.23","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.3.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.3.3","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2627.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"org.spilth.rubymine.migrations","version":"1.0","since":"173.0","until":"231","originalSince":"173.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.1.0","since":"145.0","until":"191.0","originalSince":"145.0","originalUntil":null},{"id":"cn.yzl.kotlin.ex.click","version":"1.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.2","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.3","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.nd.sdp.common.CustomUIToolWindow","version":"1.1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.wxisme.unique.plugin.id","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.wxisme.unique.plugin.id","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.debugger.streams.kotlin","version":"0.0.1","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.6","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.yii2support","version":"0.7.35.2","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.xin.update.bmob","version":"1.1.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.github.wxisme.unique.plugin.id","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.3","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.4.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.4","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.5","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2634.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"cn.yzl.kotlin.ex.click","version":"1.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"QAPlug","version":"1.3.16","since":"173.4127","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.github.tinselspoon.intellij.kubernetes","version":"0.9","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"org.elm.klazuka","version":"0.9.1","since":"162.0","until":"172.*","originalSince":"162.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.1.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.15","since":"173.4127","until":"221","originalSince":"173.4127","originalUntil":null},{"id":"io.allandequeiroz.random.image.background","version":"1.2.1","since":"162","until":"223","originalSince":"162.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.2.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.4.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.7","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.6.3","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.5.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.6","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.6","since":"173.0","until":"173.*","originalSince":"173.0","originalUntil":null},{"id":"idrabenia.solidity-solhint","version":"1.10","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.jiyuanime.ActivatePowerModeApplicationPlugin","version":"0.1.7","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.strixsoftware.intellij.format","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.5.1","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.20.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.6","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.33","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.4.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"vette.neos","version":"0.1.23-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.daylerees.rainglow","version":"1.5.2","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.2.2","since":"163.0","until":"211.5538","originalSince":"163.0","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.6","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.2","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"org.ngs.adapter.plugin","version":"0.001","since":"133.0","until":"201.0","originalSince":"133.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.4.2","since":"162.2147483647","until":"181.*","originalSince":"162.*","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.37","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.bassaer.kotlin_variable_completion_plugin","version":"0.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.2.1","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"me.scana.okgradle","version":"0.0.2","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.linsir","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.wxisme.unique.plugin.id","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"Properties Compare","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"suphuyquansu.plugin.translation.GoogleTranslation","version":"1.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"suphuyquansu.plugin.translation.GoogleTranslation","version":"1.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"18.1.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"18.1.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"Properties Compare","version":"1.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"gw.in.ij","version":"1.0.2","since":"141.1010","until":"201.0","originalSince":"141.1010","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.2.1","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.7","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.dubreuia","version":"0.25","since":"135.0","until":"223","originalSince":"135.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.2.3","since":"172.0","until":"223.*","originalSince":"172.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.1","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.tagmycode.intellij","version":"2.1.1","since":"133.696","until":"231","originalSince":"133.696","originalUntil":null},{"id":"cz.malevic.plugins.characterposition","version":"1.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"gw.in.ij","version":"1.0.3","since":"141.1010","until":"201.0","originalSince":"141.1010","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.4.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.asif.gsonpojogenerator","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.erstens.gaosi.unique.plugin.id","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.2","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"reasonml","version":"0.34","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.6","since":"172.0","until":"192.*","originalSince":"172.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.4.0","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"com.sonnk.iterm","version":"0.0.8","since":"162.0","until":"203.*","originalSince":"162.0","originalUntil":null},{"id":"com.gmail.blueboxware.extsee","version":"1.0","since":"171.0","until":"221","originalSince":"171.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.7","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.8","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.1.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.5.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.4","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.ng-zorro.live-templates.plugin","version":"0.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.kennedyoliveira.ultimatepastebin","version":"1.5.2","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"org.concordion.plugin.idea.lang","version":"0.12.0","since":"141.1","until":"183.*","originalSince":"141.1","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.0","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.24","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.hpe.mc.androidhelper","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.8","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"nosi.xmlpojo_plugin","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.24-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.github.fartherp.plugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"cucumber-java","version":"173.4301","since":"173.4127","until":"173.*","originalSince":"173.4127","originalUntil":null},{"id":"cucumber-groovy","version":"173.4301","since":"173.4127","until":"201","originalSince":"173.4127","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.9.4","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"com.ng-zorro.live-templates.plugin","version":"0.0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.6.1","since":"173.0","until":"181.*","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2706.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"ThinkTank","version":"1.3.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.0.9","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.1","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.lsjwzh.plugin.tinypng","version":"1.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"nosi.xmlpojo_plugin","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.2","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"reasonml","version":"0.35","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.2.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.5","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"Properties Compare","version":"1.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.5.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.lomoye.plugin.codeGenerator","version":"1.0.1","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.3","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.113","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.gem.gdis.disl-run","version":"1.0.0","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"cucumber-javascript","version":"181.2784.29","since":"181.2784","until":"201","originalSince":"181.2784","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"181.2784.29","since":"181.2784","until":"201","originalSince":"181.2784","originalUntil":null},{"id":"TFS","version":"181.2784.29","since":"181.2784","until":"191.*","originalSince":"181.2784","originalUntil":null},{"id":"XSLT-Debugger","version":"181.2784.29","since":"181.2784","until":"201","originalSince":"181.2784","originalUntil":null},{"id":"ImportPlugin","version":"0.1.2","since":"162.0","until":"174.0","originalSince":"162.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.0.1","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.glagol","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.3","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.0","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.7","since":"173.0","until":"191.*","originalSince":"173.0","originalUntil":null},{"id":"com.lsjwzh.plugin.tinypng","version":"1.2","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.7","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.9","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.15.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"ThinkTank","version":"1.3.2.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.38","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2720.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.0.0","since":"171.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.114","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.2.21-release-Studio3.1-1","since":"173.1","until":"173.4547","originalSince":"173.1","originalUntil":"173.*"},{"id":"lsfusion.idea.plugin","version":"1.0.115","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.github.fartherp.plugin","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.solo.squash.intellij","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.ng-zorro.live-templates.plugin","version":"0.0.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"brown.bat.redisCli","version":"1.0.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.lr.helper","version":"1.0","since":"145.0","until":"203.*","originalSince":"145.0","originalUntil":null},{"id":"com.haku.less.Babylon","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"181.3007.17","since":"181.3007","until":"201","originalSince":"181.3007","originalUntil":null},{"id":"TFS","version":"181.3007.17","since":"181.3007","until":"191.*","originalSince":"181.3007","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"181.3007.17","since":"181.3007","until":"181.*","originalSince":"181.3007","originalUntil":null},{"id":"XSLT-Debugger","version":"181.3007.17","since":"181.3007","until":"201","originalSince":"181.3007","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.116","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"Show REST Services","version":"1.4","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.aswitcher","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.21.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.lomoye.plugin.codeGenerator","version":"1.0.2","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.5","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.dubreuia","version":"0.26","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"org.wso2.siddhi","version":"1.1.0","since":"172.0","until":"201.4515.24","originalSince":"172.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.8","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"io.scheinecker.intellij.coco","version":"1.0.0","since":"173.0","until":"181.*","originalSince":"173.0","originalUntil":null},{"id":"com.lomoye.plugin.codeGenerator","version":"1.0.3","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.35.4","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.50","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"com.taobao.idlefish.alleria","version":"0.0.3","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.10","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.117","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"18.2.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"18.2.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"ArchitectureReloaded","version":"0.1","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"CollabNet Tools","version":"1.1.5","since":"181.3007","until":"181.*","originalSince":"181.3007","originalUntil":null},{"id":"reasonml","version":"0.36","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.2","since":"103.72","until":"193.0","originalSince":"103.72","originalUntil":null},{"id":"com.aswitcher","version":"2.0","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.118","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2759.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"brown.bat.redisCli","version":"1.0.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"xyz.elmot.clion.armsupport.prj","version":"1.0.beta3","since":"173.3531","until":"173.*","originalSince":"173.3531","originalUntil":"183.*"},{"id":"Jetbrains TeamCity Plugin","version":"2017.2.50909","since":"133.1800","until":"171.4249","originalSince":"133.1800","originalUntil":null},{"id":"cn.yan.android.devkit","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.21.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.119","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"reasonml","version":"0.37","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"Keymap exporter","version":"2.0","since":"130.1167","until":"201","originalSince":"130.1167","originalUntil":null},{"id":"TFS","version":"181.3263.21","since":"181.3263","until":"191.*","originalSince":"181.3263","originalUntil":null},{"id":"XSLT-Debugger","version":"181.3263.21","since":"181.3263","until":"201","originalSince":"181.3263","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.0.9","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.smilingrob.gitpair","version":"1.4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"OdpsStudio","version":"2.8.2.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"io.ballerina","version":"0.9.11","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.vivalab.create.module","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.16.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.120","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.fabio","version":"1.0","since":"135.0","until":"","originalSince":"121.0","originalUntil":null},{"id":"com.github.keraton.jumblej","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.shenhua.idea.plugin.quoit","version":"1.0.3","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.6","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.9","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.2.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.headwire.aem.tooling.intellij","version":"1.0.3.1","since":"162.0","until":"203","originalSince":"162.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.2.2","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.lomoye.plugin.codeGenerator","version":"1.0.4","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"com.zhishan.java.zhishanMvc","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2774.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2774.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.6","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"mobi.hsz.idea.nodesecurity","version":"0.3.0","since":"123.72","until":"212","originalSince":"123.72","originalUntil":null},{"id":"io.cloudslang.intellij.plugin","version":"1.0.3","since":"129.451","until":"211","originalSince":"129.451","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"reasonml","version":"0.38","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.3.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.0.2","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.10","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"io.cloudslang.intellij.plugin","version":"1.0.4","since":"129.451","until":"211","originalSince":"129.451","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.17.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.9","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"2.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.moe","version":"1.4.2","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.7","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.zhishan.java.zhishanMvc","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ctrip.zt.gaok.plugin.generateModelPlugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.kengajs.winnie.actions","version":"0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.0.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"ThinkTank","version":"1.3.3","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.axellience.vuegwt","version":"0.0.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.2.3","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.ctrip.zt.gaok.plugin.generateModelPlugin","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mvnsearch.rest-editor-client-contrib","version":"0.3.0","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"com.thanosp.phpstorm.inheritdoc","version":"1.5.1","since":"173.3475","until":"201.0","originalSince":"173.3475","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.121","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.taobao.idlefish.alleria","version":"0.0.4","since":"141.0","until":"183.0","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2804.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.122","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.1.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.4.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.4.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.4.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"0.7.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.5.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.5.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.5.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"io.ballerina","version":"0.961.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.haku.less.Babylon","version":"1.01","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.6.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.6.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.6.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"cucumber-javascript","version":"181.3741.1","since":"181.3741","until":"201","originalSince":"181.3741","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"181.3741.1","since":"181.3741","until":"201","originalSince":"181.3741","originalUntil":null},{"id":"TFS","version":"181.3741.1","since":"181.3741","until":"191.*","originalSince":"181.3741","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"181.3741.1","since":"181.3741","until":"181.*","originalSince":"181.3741","originalUntil":null},{"id":"XSLT-Debugger","version":"181.3741.1","since":"181.3741","until":"201","originalSince":"181.3741","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.7.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.7.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.7.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"fortify.fod","version":"18.1.0114","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"com.jimulabs.mirror.plugin","version":"2.6","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.2.30-eap-47-Studio3.1-1","since":"173.1","until":"173.4547","originalSince":"173.1","originalUntil":"173.*"},{"id":"org.jetbrains.plugins.dired","version":"1.0.14","since":"182.79","until":"182.*","originalSince":"182.79","originalUntil":"183.*"},{"id":"com.jetbrains.plugin.idea.nonsource.comments","version":"1.0","since":"147.4127","until":"201.0","originalSince":"147.4127","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.2","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.25","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"ch.ricardo.plugins.intellij.mockery","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"18.3.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"18.3.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"AccuRev","version":"2018.1","since":"80.8000","until":"191","originalSince":"80.8000","originalUntil":null},{"id":"ch.ricardo.plugins.intellij.mockery","version":"1.0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2850.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.TabFormat","version":"0.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2855.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.123","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.0.538","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"com.baislsl.ideaplugin.encryptor","version":"1.0","since":"173.0","until":"191.*","originalSince":"173.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.4","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.2.4","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.39","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2862.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"gherkin","version":"181.3870.7","since":"181.3870","until":"181.*","originalSince":"181.3870","originalUntil":null},{"id":"cucumber-java","version":"181.3870.7","since":"181.3870","until":"181.*","originalSince":"181.3870","originalUntil":null},{"id":"cucumber-groovy","version":"181.3870.7","since":"181.3870","until":"181.*","originalSince":"181.3870","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.8","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.7.0","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"me.kingtux.motivation","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.4","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"com.headwire.aem.tooling.intellij","version":"1.0.3.2","since":"162.0","until":"203","originalSince":"162.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.8.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.8.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.8.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.9.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.9.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.9.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"com.mrz.showversion","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.10","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.2","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.1.0 (201802231235)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.10.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.10.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.10.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"org.intellij.plugins.touchbar_support","version":"0.0.1","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.neo.test.plugin.Translate","version":"1.0","since":"130.0","until":"201.0","originalSince":"130.0","originalUntil":null},{"id":"org.intellij.plugins.touchbar_support","version":"0.0.2","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.2","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.4","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"nosi.xmlpojo_plugin","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ctrip.zt.gaok.plugin.easyJavaBeanPlugins","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.zhishan.java.zhishanMvc","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.touchbar_support","version":"0.0.3","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.7.1","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.yang.dialog","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.embeddedProjectJdk","version":"1.0","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.962.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.124","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.9.5","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"darthorimar.cbt","version":"0.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.963.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.boredream.plugin.androidcodegenerator","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.kubernetes","version":"181.3986.7","since":"181.3986","until":"181.4031","originalSince":"181.3986","originalUntil":"181.*"},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.5","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.9","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.52","since":"133.0","until":"200.0","originalSince":"133.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"2.0.3","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"org.jetbrains.plugins.dired","version":"1.0.15","since":"173.3727","until":"182.*","originalSince":"173.3727","originalUntil":"183.*"},{"id":"nl.tudelft.watchdog","version":"2.0.4","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.18.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.bulletjet.StartupTimer","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"JRebelPlugin","version":"7.1.7","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"Error-prone plugin","version":"181.3986.9","since":"181.3986","until":"182.0","originalSince":"181.3986","originalUntil":null},{"id":"com.yii2support","version":"0.8","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.6","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"com.jetbrains.embeddedProjectJdk","version":"1.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.embeddedProjectJdk","version":"1.1.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"plugintest","version":"0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2888.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2888.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.0","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.aswitcher","version":"3.0","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"1.1","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"PerforceIC","version":"0.9.6","since":"135.1286","until":"181.0","originalSince":"135.1286","originalUntil":null},{"id":"org.intellij.xquery.marklogic","version":"1.0","since":"173.3727.127","until":"212.*","originalSince":"173.3727.127","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"1.9","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.7","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.8","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.0.9","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.1.0","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.7.0","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.yii2support","version":"0.8.38","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"mobi.hsz.idea.nodesecurity","version":"0.4.0","since":"123.72","until":"212","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2017.3.2905.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.person.controlFlowGraph","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.1.1","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"com.yii2support","version":"0.8.38.1","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.mrz.showversion","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.964.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.mrz.showversion","version":"1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.40.1","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.2.30-release-Studio3.1-1","since":"173.1","until":"173.4301","originalSince":"173.1","originalUntil":"173.*"},{"id":"org.jetbrains.kotlin","version":"1.2.30-release-Studio3.1-1","since":"173.1","until":"173.4302","originalSince":"173.1","originalUntil":"173.*"},{"id":"org.jetbrains.plugins.stylus","version":"181.4096.12","since":"181.4096","until":"201","originalSince":"181.4096","originalUntil":null},{"id":"cucumber-javascript","version":"181.4096.12","since":"181.4096","until":"201","originalSince":"181.4096","originalUntil":null},{"id":"com.aswitcher","version":"3.1","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"vette.neos","version":"0.1.25-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.4.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"me.lotabout.codegenerator","version":"1.3.3","since":"163.0","until":"231.*","originalSince":"163.0","originalUntil":null},{"id":"com.xzdz.codereview","version":"1.0.4","since":"141.177","until":"201.0","originalSince":"141.177","originalUntil":null},{"id":"com.androhi.androiddrawableviewer","version":"3.0","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.4.11","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.4.11","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.4.6","since":"162.2147483647","until":"181.*","originalSince":"162.*","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.39","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.savion.hello.plugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.5","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"org.tboox.xmake","version":"1.0.5","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.semihunaldi.intellij.ideacurrency.plugin","version":"0.1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"vette.neos","version":"0.1.26-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.5.0","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"net.lagerwey.cucumber-kotlin","version":"1.0.0","since":"162.0","until":"162.0","originalSince":"162.0","originalUntil":null},{"id":"reasonml","version":"0.41","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"net.lagerwey.cucumber-kotlin","version":"1.0.1","since":"162.0","until":"162.0","originalSince":"162.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.5.1","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.5.2","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.4","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"com.meicloud.plugin.setting","version":"2.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.aswitcher","version":"3.1.1","since":"172.0","until":"201.0","originalSince":"172.0","originalUntil":null},{"id":"io.ballerina","version":"0.964.1","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.0","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.4","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.6","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"WindowPlugin","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.44.6","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.1","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"com.yii2support","version":"0.8.42","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.zhishan.java.zhishanMvc","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.0","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.2.6","since":"145.0","until":"183","originalSince":"145.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.1","since":"141.0","until":"172.*","originalSince":"141.0","originalUntil":"172.*"},{"id":"com.yii2support","version":"0.8.42.3","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.djordjem.idea.plugin.cirilizator","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.djordjem.idea.plugin.cirilizator","version":"1.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.upsolver.PreCommitHook","version":"0.4.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.2","since":"162.0","until":"173.*","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.9","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.djordjem.idea.plugin.cirilizator","version":"1.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.9","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.11","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.42","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.2","since":"141.0","until":"173.*","originalSince":"141.0","originalUntil":"173.*"},{"id":"com.thinkwide.plugin.wizard","version":"1.0","since":"105.0","until":"201.0","originalSince":"105.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.2","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.11.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.11.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.11.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.3","since":"141.0","until":"173.*","originalSince":"141.0","originalUntil":"173.*"},{"id":"mohammad.src","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.7","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ms.konovalov.intellij.hidpi-profiles","version":"2017.1.3","since":"171.0","until":"222","originalSince":"171.0","originalUntil":null},{"id":"com.sollyu.java.idea.touchbar.support","version":"1.0.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.8.42.5","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.4","since":"141.0","until":"173.*","originalSince":"141.0","originalUntil":"173.*"},{"id":"brown.bat.redisCli","version":"1.0.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.125","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.126","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"io.ballerina","version":"0.964.2","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.tukeping.dt.vars.plugin","version":"0.0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.1","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.43","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.5","since":"141.0","until":"173.*","originalSince":"141.0","originalUntil":"173.*"},{"id":"com.fireline.plugin.id","version":"1.5.0","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.person.controlFlowGraph","version":"1.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.TabFormat","version":"0.2","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"color.scheme.GapStyle","version":"1.0","since":"173.0","until":"","originalSince":"142.0","originalUntil":null},{"id":"org.ziglang","version":"0.0.1","since":"145.0","until":"193","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.touchbar_support","version":"0.0.4","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"cn.levey.binding_layout","version":"1.0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"us.egek.searchstackoverflow","version":"1.0.3","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.5.3","since":"144.0","until":"232","originalSince":"144.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.5.0","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"color.scheme.GapStyle","version":"1.1","since":"173.0","until":"","originalSince":"142.0","originalUntil":null},{"id":"color.scheme.GapStyle","version":"1.2","since":"173.0","until":"","originalSince":"142.0","originalUntil":null},{"id":"Gitflow","version":"0.6.4","since":"171.0","until":"171.*","originalSince":"162.0","originalUntil":"181.*"},{"id":"awesome.aurora.borealis.zupersearch.plugin.intellij","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"org.ziglang","version":"0.0.2","since":"145.0","until":"193","originalSince":"145.0","originalUntil":null},{"id":"com.crownpartners.intellivault","version":"0.10.0","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.1","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.1.0","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.schibsted.protein","version":"0.8.6","since":"141.0","until":"173.*","originalSince":"141.0","originalUntil":"173.*"},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.thinkwide.plugin.wizard","version":"1.0","since":"105.0","until":"201.0","originalSince":"105.0","originalUntil":null},{"id":"com.thinkwide.plugin.wizard","version":"1.1","since":"105.0","until":"201.0","originalSince":"105.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.6.0","since":"181.0","until":"232","originalSince":"181.0","originalUntil":null},{"id":"us.egek.searchstackoverflow","version":"1.0.4","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.2.0 (201803260924)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.3","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"org.ziglang","version":"0.0.3","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.12","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"net.vektah.codeglance","version":"1.5.4","since":"107.105","until":"201","originalSince":"107.105","originalUntil":null},{"id":"io.intino.plugin","version":"3.2.2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.4","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.3","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.44","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"li.niwato.motivational.gif","version":"1.0","since":"111.1","until":"201.0","originalSince":"111.1","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.127","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.5","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.redefiningproductions.com.api-key-watcher","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.2","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"1.9","since":"181.0","until":"222.4459.*","originalSince":"181.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.128","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"google-java-format","version":"1.5.1","since":"173.0","until":"181.*","originalSince":"171.0","originalUntil":"181.*"},{"id":"io.github.donkirkby.livepycharm","version":"2.22.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"xyz.elmot.clion.armsupport.prj","version":"1.1.alpha1","since":"181.0","until":"181.*","originalSince":"173.3531","originalUntil":"181.*"},{"id":"com.visprogramming.armory","version":"1.40","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"me.aristotll.ruby.rdoc.adder","version":"0.0.3","since":"181.0","until":"211","originalSince":"181.0","originalUntil":null},{"id":"Git Scope","version":"2.0.0","since":"181.2784","until":"202.*","originalSince":"181.2784","originalUntil":null},{"id":"OdpsStudio","version":"2.9.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.0","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.flow.intellij","version":"20180402084528","since":"14.1","until":"231.*","originalSince":"14.1","originalUntil":null},{"id":"com.ntilde.androidinput","version":"1.1","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"Error-prone plugin","version":"181.4488","since":"181.4488","until":"182.0","originalSince":"181.4488","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.bmapleaf.mvvm","version":"1.4.9","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.129","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.3","since":"162.0","until":"181.1","originalSince":"162.0","originalUntil":null},{"id":"io.ghostbuster91.nspek-intellij-plugin","version":"0.0.21","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.10","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"jetbrains.mps.build","version":"2018.1","since":"181.1","until":"182.*","originalSince":"173.1","originalUntil":"182.*"},{"id":"jetbrains.mps.testing","version":"2018.1","since":"181.1","until":"182.*","originalSince":"173.1","originalUntil":"182.*"},{"id":"me.codeboy.plugin.reverse-lines","version":"1.0.0","since":"10.0","until":"201.0","originalSince":"10.0","originalUntil":null},{"id":"me.codeboy.plugin.reverse-lines","version":"1.0.1","since":"10.0","until":"201.0","originalSince":"10.0","originalUntil":null},{"id":"me.aristotll.ruby.rdoc.adder","version":"0.0.4","since":"181.0","until":"211","originalSince":"181.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.13","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"org.moe","version":"1.4.3","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"jenkis.build.with.retry","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.amadeus.SearchBySegmentfault","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.41","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"com.amadeus.SearchByBaidu","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.40","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.4","since":"162.0","until":"181.1","originalSince":"162.0","originalUntil":null},{"id":"com.jetbrains.TabFormat","version":"0.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.1.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.jeto.taskfocus","version":"0.9.8","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"org.gdlplugin","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"net.ruixin.rx-plugin","version":"1.0","since":"143.0","until":"201.0","originalSince":"143.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.1","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.2.1","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.2","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.2.3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"dongfg.coolhub","version":"1.0","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.12.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.12.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"in.1ton.idea.spring.assistant.plugin","version":"0.12.0","since":"172.0","until":"201","originalSince":"172.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.3.5","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.0.0","since":"162.0","until":"181.*","originalSince":"162.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.19.0","since":"171.3566.24","until":"223.*","originalSince":"171.3566.24","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.1.2","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"Springirun","version":"0.2","since":"181.0","until":"231.*","originalSince":"181.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.3","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.4","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"project_manager","version":"1.0","since":"145.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.5","since":"162.0","until":"181.1","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.1.0","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.6.1","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.6.6","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"com.yii2support","version":"0.8.42.6","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.50.13","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"org.gdlplugin","version":"0.2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"2.0","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"myFolders plugin for IntelliJ IDEA","version":"1.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.7.0","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"sk.stuba.fiit.mock_manager","version":"0.1","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"de.hszemi.rmsplugin","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.1.0","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"sk.stuba.fiit.mock_manager","version":"0.2","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.4.5","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"nl.jworks.intellij.bootstrap3","version":"4.1.1","since":"131.0","until":"183.*","originalSince":"131.0","originalUntil":null},{"id":"com.ebay.sd.jbehave","version":"2.0-SNAPSHOT","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.ebay.sd.jbehave","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"hongSir.plugin","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.47","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.strixsoftware.intellij.format","version":"1.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.2.2","since":"173.0","until":"182.0","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.4.6","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"io.github.vcuswimlab.stackintheflow","version":"0.2.2","since":"162.1121","until":"201.0","originalSince":"162.1121","originalUntil":null},{"id":"hongSir.plugin","version":"2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"hongSir.plugin","version":"2.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"hongSir.plugin","version":"2.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.0","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"color.scheme.Tempo-theme","version":"0.1","since":"142.0","until":"201.0","originalSince":"142.0","originalUntil":null},{"id":"com.elmottaki","version":"0.0.1-SNAPSHOT","since":"131.0","until":"201.0","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.1.1","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.plugins.iasemenov.idea-git-extensions","version":"1.0","since":"181.0","until":"191.7961","originalSince":"18.1","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.0.3","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.5","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"OdpsStudio","version":"2.9.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8.1","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"sk.stuba.fiit.mock_manager","version":"0.3","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.4.8","since":"162.2147483647","until":"181.*","originalSince":"162.*","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.1","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"com.fooock.experimental.and.beta.icons","version":"1.1.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.2","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"com.gmail.blueboxware.extsee","version":"1.0.1","since":"171.0","until":"221","originalSince":"171.0","originalUntil":null},{"id":"com.perfectomobile.intellijidea.androidstudio","version":"18.6.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"com.perfectomobile.intellijidea","version":"18.6.0.0","since":"14.1","until":"201.0","originalSince":"14.1","originalUntil":null},{"id":"QAPlug - Hammurapi","version":"1.3.4","since":"181.4445","until":"191.6184","originalSince":"181.4445","originalUntil":null},{"id":"QAPlug","version":"1.3.17","since":"181.4445","until":"211","originalSince":"181.4445","originalUntil":null},{"id":"cc.duduhuo.git-conflict","version":"0.0.1-rc","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"InternalWiki","version":"1.0.0","since":"173.0","until":"223.*","originalSince":"173.0","originalUntil":null},{"id":"sk.zlatohlavek.iway.project_switcher","version":"1.3","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.5.0","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.meicloud.plugin.setting","version":"2.8","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.189.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"OdpsStudio","version":"2.9.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.metaborg.spt.testrunner.intellij","version":"0.2","since":"170.0","until":"","originalSince":"170.0","originalUntil":null},{"id":"cc.duduhuo.git-conflict","version":"0.0.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.11","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.80","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"com.pablogsal.black","version":"1.0.6","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"br.com.diegomelodev","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"org.ziglang","version":"0.1.0","since":"145.0","until":"193","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.4","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.0.final","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.0","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.ebay.sd.jbehave","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"ria-intellij-plugin","version":"0.7.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.235.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"sk.stuba.fiit.mock_manager","version":"0.4","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"io.ballerina","version":"0.970.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.41","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.5.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.3","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"cc.duduhuo.git-conflict","version":"1.0.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.3","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"org.argus.intellij","version":"1.0.1","since":"173.0","until":"202.*","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.5.7","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.5.8","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"color.scheme.Defcula","version":"0.1.1","since":"142.0","until":"201.0","originalSince":"142.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.2.1 (201804271202)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.3","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.1.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.130","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.14","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"dk.lost_world.intellij-touch","version":"0.5.2","since":"172.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"181.4892.29","since":"181.4892","until":"201","originalSince":"181.4892","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.131","since":"173.3727.127","until":"211","originalSince":"173.3727.127","originalUntil":null},{"id":"io.intino.plugin","version":"3.2.4","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.2.5","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.131","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.aemtools","version":"0.9","since":"173.0","until":"211","originalSince":"131.0","originalUntil":null},{"id":"com.ritesh.intellij.plugin.reviewboard","version":"0.1.4","since":"181.2218","until":"193.*","originalSince":"181.2218","originalUntil":null},{"id":"io.ghostbuster91.nspek-intellij-plugin","version":"0.2.1","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"io.ghostbuster91.nspek-intellij-plugin","version":"0.5.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.4","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.1","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"com.jetbrains.upsource","version":"2018.1.308.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"reasonml","version":"0.50","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.42","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.1.2","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.2.6.001","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.0.001","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.0.132.637.0-Eclipse_4.6.3","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.0.132.637.0-Eclipse_4.7.3a","since":"132.637","until":"202","originalSince":"132.637","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"3.0.0","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.1","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.9.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"SourceSafe","version":"182.2258","since":"182.2258","until":"201","originalSince":"182.2258","originalUntil":null},{"id":"JBClearcasePlugin","version":"2.0.2","since":"182.2258","until":"212.*","originalSince":"182.2258","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.3","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.1.0","since":"162.0","until":"181.*","originalSince":"162.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.2","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.2","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.12","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.9.3.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-SNAPSHOT","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.42018-05-11T12:53Z","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180511.130357","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.7.1","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.2.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.3.1","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"2.5","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.3.2","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.6.9","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180511.230422","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180512.010914","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.3.8","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.4","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"io.ballerina","version":"0.970.1","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.ruin.lsp","version":"0.3.0","since":"181.0","until":"191.4500","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180512.190829","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180512.193710","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180513.002827","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.7.10","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.5","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.3","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.hpe.mc.androidhelper","version":"1.4","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"Git Scope","version":"2.1.0","since":"181.2784","until":"202.*","originalSince":"181.2784","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180514.194319","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180514.211413","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.6.3","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.1.1","since":"162.0","until":"181.*","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"1.1.0","since":"172.4574","until":"182.*","originalSince":"172.4574","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180515.204140","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.357.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.357.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"0.1.1","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby-chef","version":"182.2371","since":"182.2371","until":"182.2371","originalSince":"182.2371","originalUntil":"182.*"},{"id":"org.jetbrains.plugins.ruby","version":"2018.2.20180515","since":"182.2371","until":"182.2371","originalSince":"182.2371","originalUntil":"182.*"},{"id":"EclipseCodeFormatter","version":"18.1.181.000.0-Eclipse_4.6.3","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.1.181.000.0-Eclipse_4.7.3a","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"cucumber-javascript","version":"182.2371.6","since":"182.2371","until":"201","originalSince":"182.2371","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"182.2371.6","since":"182.2371","until":"182.*","originalSince":"182.2371","originalUntil":null},{"id":"TFS","version":"182.2371.6","since":"182.2371","until":"191.*","originalSince":"182.2371","originalUntil":null},{"id":"XSLT-Debugger","version":"182.2371.6","since":"182.2371","until":"201","originalSince":"182.2371","originalUntil":null},{"id":"AngularJS","version":"182.2371.6","since":"182.2371","until":"182.2371","originalSince":"182.2371","originalUntil":"182.*"},{"id":"lsfusion.idea.plugin","version":"1.0.132","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.5","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.368.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.369.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.1","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"XSLT-Debugger","version":"182.2371.25","since":"182.2371","until":"201","originalSince":"182.2371","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.2","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"com.yii2support","version":"0.9.50","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"reasonml","version":"0.51.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180518.131824","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"artsiomch.cmake","version":"0.2.4","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"com.poratu.idea.plugins.tomcat","version":"2.6","since":"141.0","until":"191.0","originalSince":"141.0","originalUntil":null},{"id":"hu.rb.cs.generator","version":"1.0","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.4","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.133","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"mobi.hsz.idea.gitignore","version":"2.6.2","since":"123.72","until":"139.0","originalSince":"123.72","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8.2","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.2.0","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"hu.rb.cs.generator","version":"1.1","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.369.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.6.1","since":"182.0","until":"232","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180523.203713","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180524.012616","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"5.1","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.2","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.52","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.383.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.2","since":"132.1","until":"213.*","originalSince":"132.1","originalUntil":"999.*"},{"id":"io.github.qeesung.component.HighlightBracketPair","version":"1.1.2","since":"162.0","until":"201","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.4","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"io.loli.browserfx","version":"1.1.4","since":"173.0","until":"201.*","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.972.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.8.11","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.5.1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.6.0-RC1","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.8","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.9.54.5","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.yhuang.code-smell-detector","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"2.9.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.2.2 (201805250920)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.7.2","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-alpha1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"net.coding.git","version":"1.1.0","since":"145.0","until":"193","originalSince":"145.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.4","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-alpha2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-alpha3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180530.185936","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.6","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"AngularJS","version":"182.2757.12","since":"182.2757","until":"182.2757","originalSince":"182.2757","originalUntil":"182.*"},{"id":"reasonml","version":"0.53","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"cz.k2.eshop","version":"1.9","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180531.184427","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180531.193233","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180531.194330","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180531.194941","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180531.195010","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.yii2support","version":"0.9.54.9","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180601.005921","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180601.142315","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180601.215216","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.10","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"7.5.0","since":"163.15529.5","until":"211.*","originalSince":"163.15529.5","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.11","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.5","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"com.wustor.nulltodie","version":"1.0.2","since":"173.0","until":"181.*","originalSince":"145.0","originalUntil":"181.*"},{"id":"org.intellij.plugins.hcl","version":"0.6.11","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.5","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.4.0","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.973.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.134","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.6.0-RC2","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"io.acari.DDLCTheme","version":"0.1.0-beta","since":"181.3494.1","until":"182.0","originalSince":"181.3494.1","originalUntil":null},{"id":"io.acari.DDLCTheme","version":"0.1.1-beta","since":"181.3494.1","until":"182.0","originalSince":"181.3494.1","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.3","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180606.181013","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"2.1.6","since":"131.0","until":"193.0","originalSince":"131.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.12","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.54","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.5","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180607.212310","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180607.214444","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180607.235415","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"cn.kevin.mybatis.hepler","version":"1.2.3","since":"181.0","until":"182.*","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.419.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jlupin.plugin.nextserver.intellij","version":"1.2.7","since":"172.0","until":"193.*","originalSince":"172.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180608.183910","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180608.193845","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180608.194753","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.0","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.1","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.3.0","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"1.7.0","since":"181.0","until":"232","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180611.190952","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"hu.rb.cs.generator","version":"1.2","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"io.acari.DDLCTheme","version":"0.1.2-beta","since":"181.3494.1","until":"182.0","originalSince":"181.3494.1","originalUntil":null},{"id":"xyz.ihac.derrick","version":"0.2.0-alpha","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.974.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.4.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"R4Intellij","version":"1.0.10","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.1.0","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.55.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"cz.k2.eshop","version":"2.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"182.3208.4","since":"182.3208","until":"201","originalSince":"182.3208","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180613.175559","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180613.191334","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180613.204820","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.2","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"0.1.2","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13408","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180614.150321","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180614.155907","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.3.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.vladsch.MissingInActions","version":"1.5.0","since":"162.2147483647","until":"182.*","originalSince":"162.*","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180615.194123","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180615.204425","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180615.211129","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.445.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.445.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.446.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"za.co.sfy.angular.imports-sorter","version":"1.0","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180618.202215","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180618.205812","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180618.212513","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-alpha4","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180618.232102","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"itaka.intellij.plugin.json.navigator","version":"1.4","since":"181.0","until":"192.*","originalSince":"181.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.135","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.0","since":"163.0","until":"211.0","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.1","since":"163.0","until":"211.0","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.2","since":"163.0","until":"211.0","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.3","since":"163.0","until":"211.0","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180619.170118","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.4","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"cz.k2.eshop","version":"2.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.3","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"reasonml","version":"0.56","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"XSLT-Debugger","version":"182.3341.1","since":"182.3341","until":"201","originalSince":"182.3341","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.7","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"1.1.1","since":"172.4574","until":"182.*","originalSince":"172.4574","originalUntil":null},{"id":"com.visprogramming.armory","version":"1.42","since":"139.0","until":"211","originalSince":"139.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.4.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2018.1.58245","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.9.12-beta-1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.9.12-beta-2","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.5","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"dev.mpp.android-data-tools","version":"1.0.2","since":"163","until":"183.*","originalSince":"1.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2018.1.58262","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180622.210358","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"name.ekt.jetbrains.plugins.flatten","version":"0.13","since":"145.0","until":"200","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180624.040355","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13411","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.4","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180624.172908","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.476.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.476.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"xyz.ihac.derrick","version":"0.2.1-beta","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.0.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180625.145412","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.5","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180625.152327","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.colorful.toolwindow.icons","version":"1.0","since":"182.3341","until":"201","originalSince":"182.3341","originalUntil":null},{"id":"org.jetbrains.debugger.streams.kotlin","version":"0.0.2","since":"183.312","until":"191.0","originalSince":"183.312","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180625.173631","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180625.181640","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"io.ballerina","version":"0.975.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.61.2","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"ru.scarlett","version":"0.1.alpha","since":"173.0","until":"","originalSince":"217.3.4","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.13","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.williamlee.plugin.swagger.generate","version":"1.0","since":"173.0","until":"203","originalSince":"173.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.3.8.1","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.57","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.github.kassak.dg-exposer","version":"0.01","since":"182.0","until":"183.500","originalSince":"182.0","originalUntil":"192.0"},{"id":"fr.tolc.jahia.intellij.plugin","version":"2.0.0","since":"107.105","until":"212.*","originalSince":"107.105","originalUntil":null},{"id":"com.github.kassak.dg-exposer","version":"0.01.1","since":"182.0","until":"183.500","originalSince":"182.0","originalUntil":"192.0"},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.6","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.1","since":"163.0","until":"201","originalSince":"163.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.9.12-beta-3","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"kotless","version":"1.0","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180629.144615","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180629.152000","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.hackathon2015.S","version":"1.0.2","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180629.213500","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.11.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180702.164448","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.2.3 (201806260651)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180702.201730","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8.3","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.14","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"gherkin","version":"181.5540.1","since":"181.5540","until":"183.*","originalSince":"181.5540","originalUntil":null},{"id":"cucumber-groovy","version":"181.5540.1","since":"181.5540","until":"201","originalSince":"181.5540","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.5","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.plugins.ruby-chef","version":"182.3458.5","since":"182.3458","until":"182.3458","originalSince":"182.3458","originalUntil":"182.*"},{"id":"cn.sourcespro","version":"1.4","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"1.8","since":"1.0","until":"193.*","originalSince":"1.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.8","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.4","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.softbank.robot.sdkplugin","version":"1.1.2","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"org.spekframework","version":"2.0.0-alpha.1-Studio3.1","since":"173.1","until":"181.1","originalSince":"173.1","originalUntil":"181.*"},{"id":"EditorGroups","version":"0.20","since":"181.4892","until":"203","originalSince":"181.4892","originalUntil":null},{"id":"com.github.alexmojaki.birdseye.pycharm","version":"1.0","since":"173.0","until":"193.*","originalSince":"173.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.4.0","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"OdpsStudio","version":"2.9.5","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.scalafmt.ScalaFmt","version":"1.6.0-RC4","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180709.200536","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.3","since":"181.0","until":"211.5538","originalSince":"181.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.4.3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.57.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.9.12-beta-4","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.136","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.3.3","since":"172.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.0.0","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.0.5","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.intellij.stats.completion","version":"0.1.3","since":"181.0","until":"182.0","originalSince":"181.0","originalUntil":null},{"id":"hu.rb.cs.generator","version":"1.3","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180712.031436","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180712.031719","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180712.032448","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"cn.robin.vectorIconPack","version":"1.1","since":"131.0","until":"221.*","originalSince":"131.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.15","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cn.sourcespro","version":"1.5","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"xyz.ihac.derrick","version":"0.2.2-beta","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.58","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180712.195546","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"net.masterthought.dlanguage","version":"1.17","since":"181.0","until":"182.*","originalSince":"181.0","originalUntil":"191.*"},{"id":"com.jetbrains.intellij.api.watcher","version":"6.20.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"codeReview4idea","version":"0.5.7","since":"172.767","until":"203.*","originalSince":"172.767","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.62.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"org.jspresso.plugin.i18n","version":"1.0.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"org.jspresso.plugin.i18n","version":"1.0.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"QAPlug","version":"1.3.18","since":"181.4445","until":"211","originalSince":"181.4445","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.5","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.sjhy.plugin","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"io.ballerina","version":"0.980.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"cucumber-javascript","version":"182.3684.45","since":"182.3684","until":"201","originalSince":"182.3684","originalUntil":null},{"id":"reasonml","version":"0.58.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.3.4","since":"172.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180718.142112","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180719.025648","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"reasonml","version":"0.59","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.539.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.539.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"Git Scope","version":"2.1.1","since":"181.2784","until":"202.*","originalSince":"181.2784","originalUntil":null},{"id":"tv.twelvetone.gradle.plugin.navigation","version":"1.0.43","since":"145.0","until":"192.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180722.185701","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180722.185858","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.548.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.2.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.jetbrains.code-golf","version":"0.3","since":"172.1","until":"192.0","originalSince":"172.1","originalUntil":null},{"id":"org.jetbrains.code-golf","version":"0.3.1","since":"172.1","until":"192.0","originalSince":"172.1","originalUntil":null},{"id":"me.chaerim.yapf","version":"0.1","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"Mongo Plugin","version":"0.12.0","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8.4","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.90","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"reasonml","version":"0.59.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.0.6","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.7","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"cn.sourcespro","version":"1.6","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.5.9","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"gherkin","version":"182.3933","since":"182.3684","until":"183.*","originalSince":"182.3684","originalUntil":null},{"id":"cucumber-java","version":"182.3933","since":"182.3684","until":"182.*","originalSince":"182.3684","originalUntil":null},{"id":"cucumber-groovy","version":"182.3933","since":"182.3684","until":"201","originalSince":"182.3684","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.137","since":"182.3684.101","until":"213","originalSince":"182.3684.101","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.5","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"Jetbrains TeamCity Plugin","version":"2018.1.58418","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.567.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"cucumber-java","version":"182.3934","since":"182.3684","until":"182.*","originalSince":"182.3684","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.132","since":"173.3727.127","until":"211","originalSince":"173.3727.127","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.1.0","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"reasonml","version":"0.60","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.567.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.7","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"reasonml","version":"0.60.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"io.ballerina","version":"0.980.1","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"AureliaStorm","version":"0.7","since":"182.3684","until":"213.0","originalSince":"182.3684","originalUntil":null},{"id":"reasonml","version":"0.60.2","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.16","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.8.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.8.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.3.6","since":"172.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.2.4 (201807311033)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.dubreuia","version":"1.0.0","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.8.5","since":"143.0","until":"193","originalSince":"143.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.8","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.138","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"io.intino.plugin","version":"3.4.5","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180802.144436","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.139","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.576.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"edu.cmu.cs.alabaster","version":"0.1.1","since":"173.0","until":"192.*","originalSince":"173.0","originalUntil":null},{"id":"com.ysnows.wxapp","version":"1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"1.8.8","since":"181.0","until":"183.1","originalSince":"181.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.4","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"net.masterthought.dlanguage","version":"1.17.1","since":"181.0","until":"182.*","originalSince":"181.0","originalUntil":"191.*"},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180804.201711","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180804.201902","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.2.0","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.140","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.beust.kobalt.intellij","version":"1.133","since":"173.3727.127","until":"211","originalSince":"173.3727.127","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.1.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"CUBA","version":"3.4.2.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.584.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.4.1","since":"172.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.584.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.141","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"AccuRev","version":"2018.2","since":"80.8000","until":"191","originalSince":"80.8000","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.1.0","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.9.12","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.3.0","since":"162.0","until":"182.*","originalSince":"162.0","originalUntil":null},{"id":"com.likfe.ideaplugin.eventbus3","version":"1.2.3","since":"136.0","until":"223.*","originalSince":"136.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"io.ballerina","version":"0.981.0","since":"163.0","until":"172","originalSince":"163.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.23.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"CUBA","version":"3.4.3.163","since":"163.0","until":"211","originalSince":"163.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.10.12-beta-1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.588.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.2.1","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.likfe.ideaplugin.eventbus3","version":"1.2.4","since":"136.0","until":"223.*","originalSince":"136.0","originalUntil":null},{"id":"Osmorc","version":"1.4.12","since":"182.0","until":"201","originalSince":"182.0","originalUntil":null},{"id":"com.yii2support","version":"0.10.56.13","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.yii2support","version":"0.10.56.15","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.142","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.143","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.4.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.alvincezy.TinyPic2","version":"1.1.0","since":"145.0","until":"183.1","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.jetbrains.settingsRepositoryPlus","version":"0.1.0","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.2.0","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.144","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.6","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.squareup.sqldelight","version":"1.0.0-alpha5","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.588.6","since":"181.2218","until":"222","originalSince":"181.2218","originalUntil":null},{"id":"org.elixir_lang","version":"8.0.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.1","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.1.1","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.601.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.6","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.2","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.603.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.603.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.10.12","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.11.13-beta-1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.weirddev.testme","version":"2.0.0","since":"163.0","until":"231.*","originalSince":"163.0","originalUntil":null},{"id":"cn.sourcespro","version":"1.7","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"8.11.13-beta-2","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"space.vistarsvo.embrowser","version":"2.0.0","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.145","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"cn.sourcespro","version":"1.8","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.605.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"0.7","since":"172.0","until":"192.*","originalSince":"172.0","originalUntil":null},{"id":"com.alvincezy.TinyPic2","version":"1.1.1","since":"145.0","until":"183.1","originalSince":"145.0","originalUntil":null},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.2.1","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.3.1","since":"162.0","until":"182.*","originalSince":"162.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.605.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"Tolltech.Tollrech","version":"2018.1.3.6","since":"181.4952","until":"181.*","originalSince":"181.4952","originalUntil":"182.*"},{"id":"com.yii2support","version":"0.10.56.18","since":"162.0","until":"193.0","originalSince":"162.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.5","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.1.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.0","since":"162.2147483647","until":"182.*","originalSince":"162.*","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.17","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.12","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.146","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.21.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"reasonml","version":"0.61","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.2.2","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.147","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"Error-prone plugin","version":"182.3911.36","since":"182.3911","until":"183.0","originalSince":"182.3911","originalUntil":null},{"id":"OdpsStudio","version":"3.0.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.alvincezy.TinyPic2","version":"1.1.2","since":"145.0","until":"183.1","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.616.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13432","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"org.elixir_lang","version":"8.1.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.daveme.intellij.chocolateCakePHP","version":"0.3.0","since":"182.4129","until":"182.*","originalSince":"182.4129","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.23.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.xinv.release.json2go","version":"1.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.8","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180902.180425","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.4","since":"162.2147483647","until":"182.*","originalSince":"162.*","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.1.0","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"cn.sourcespro","version":"1.9","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.zhishui.skydragon.snippet","version":"1.0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.dubreuia","version":"1.1.0","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.148","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"io.intino.plugin","version":"3.4.6","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.chronon","version":"182.3684.101","since":"182.3684","until":"182.*","originalSince":"182.3684","originalUntil":null},{"id":"ArchitectureReloaded","version":"0.2","since":"171.0","until":"201","originalSince":"171.0","originalUntil":null},{"id":"org.intellij.featureSuggester","version":"0.2.4","since":"182.3911","until":"193.0","originalSince":"182.3911","originalUntil":null},{"id":"cn.sourcespro","version":"2.0","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.1.1","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.1.9","since":"139.1603","until":"183.0","originalSince":"139.1603","originalUntil":null},{"id":"com.atomdu.plugin","version":"1.0.5","since":"171","until":"192.*","originalSince":"105.0","originalUntil":null},{"id":"org.intellij.scala","version":"2018.2.11","since":"182.0","until":"182.0","originalSince":"182.0","originalUntil":"183.0"},{"id":"org.intellij.scala","version":"2018.2.11","since":"182.0","until":"182.0","originalSince":"182.0","originalUntil":"183.0"},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13433","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.2","since":"181.4203.550","until":"183.1","originalSince":"181.4203.550","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"me.chaerim.yapf","version":"0.2","since":"145.0","until":"201.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"183.2153.10","since":"183.2153","until":"183.*","originalSince":"183.2153","originalUntil":null},{"id":"cucumber-javascript","version":"183.2153.10","since":"183.2153","until":"201","originalSince":"183.2153","originalUntil":null},{"id":"TFS","version":"183.2153.10","since":"183.2153","until":"191.*","originalSince":"183.2153","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.2153.10","since":"183.2153","until":"201","originalSince":"183.2153","originalUntil":null},{"id":"XSLT-Debugger","version":"183.2153.10","since":"183.2153","until":"201","originalSince":"183.2153","originalUntil":null},{"id":"reasonml","version":"0.62","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.1.7","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"vette.neos","version":"0.1.27-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.62.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.alvincezy.TinyPic2","version":"1.1.3","since":"145.0","until":"183.1","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.616.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.622.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180908.025152","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.3","since":"181.4203.550","until":"183.1","originalSince":"181.4203.550","originalUntil":null},{"id":"wiki.crowd.cloudutils","version":"1.0.1","since":"141.0","until":"212.*","originalSince":"141.0","originalUntil":null},{"id":"org.elm.klazuka","version":"1.3.2","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.4","since":"181.4203.550","until":"183.1","originalSince":"181.4203.550","originalUntil":null},{"id":"de.dm.intellij.maven-archetypes-catalog-plugin","version":"1.3.0","since":"163.0","until":"213","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.7","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.8","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"IdeaVIM","version":"0.49.6","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.9","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.5","since":"181.4203.550","until":"183.1","originalSince":"181.4203.550","originalUntil":null},{"id":"net.javaru.idea.frc","version":"0.7.1","since":"173.0","until":"191.*","originalSince":"173.0","originalUntil":null},{"id":"intellij.buck.plugin","version":"3.5","since":"172.1294","until":"172.*","originalSince":"172.1294","originalUntil":null},{"id":"com.blueline.idea.plugin.packagejar","version":"1.0","since":"171.0","until":"213.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.10","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.622.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.11","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.12","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.13","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.2.2","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.14","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"wiki.crowd.cloudutils","version":"1.0.3","since":"141.0","until":"212.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.15","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.2407.8","since":"183.2407","until":"201","originalSince":"183.2407","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.16","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.1.2","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180912.131215","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.17","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.18","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.19","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.20","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.manzo.android.sluggard.plugin","version":"1.0.1","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.21","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.22","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.23","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.24","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.ntilde.androidinput","version":"1.2","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"cucumber-javascript","version":"183.2407.4","since":"183.2407","until":"201","originalSince":"183.2407","originalUntil":null},{"id":"XSLT-Debugger","version":"183.2407.4","since":"183.2407","until":"201","originalSince":"183.2407","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.2407.4","since":"183.2407","until":"201","originalSince":"183.2407","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"183.2407.4","since":"183.2407","until":"183.*","originalSince":"183.2407","originalUntil":null},{"id":"TFS","version":"183.2407.4","since":"183.2407","until":"191.*","originalSince":"183.2407","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.25","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.26","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.dubreuia","version":"1.2.0","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.629.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.27","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.6","since":"172.3317","until":"201","originalSince":"172.3317","originalUntil":null},{"id":"org.intellij.RegexpTester","version":"1.0.6","since":"90.1","until":"200.1","originalSince":"90.1","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.6","since":"181.4203.550","until":"182.0","originalSince":"181.4203.550","originalUntil":null},{"id":"com.github.alexmojaki.birdseye.pycharm","version":"1.0.1","since":"182.0","until":"193.*","originalSince":"182.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.5","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.0.7","since":"181.4203.550","until":"183.1","originalSince":"181.4203.550","originalUntil":null},{"id":"IdeaVIM","version":"0.49.7","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"org.elixir_lang","version":"9.0.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.manzo.android.sluggard.plugin","version":"1.0.2","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.manzo.android.sluggard.plugin","version":"1.0.3","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.4.2","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.28","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.29","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.5.1","since":"172.0","until":"182.*","originalSince":"163.0","originalUntil":"182.*"},{"id":"intellij.buck.plugin","version":"3.5.2","since":"172.1294","until":"172.*","originalSince":"172.1294","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.149","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.10","since":"162.2147483647","until":"182.*","originalSince":"162.*","originalUntil":null},{"id":"cucumber-javascript","version":"183.2635.17","since":"183.2635","until":"201","originalSince":"183.2635","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.2635.17","since":"183.2635","until":"201","originalSince":"183.2635","originalUntil":null},{"id":"TFS","version":"183.2635.17","since":"183.2635","until":"191.*","originalSince":"183.2635","originalUntil":null},{"id":"XSLT-Debugger","version":"183.2635.17","since":"183.2635","until":"201","originalSince":"183.2635","originalUntil":null},{"id":"de.sgalinski.fluid.plugin.demo.id","version":"2.0.0","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"swingexplorer-plugin-v2","version":"182.4505.22-1.6.0","since":"182.4505.22","until":"201.6668","originalSince":"182.4505.22","originalUntil":null},{"id":"reasonml","version":"0.63","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.2.3","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.2.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.23.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.jetbrains.gitalso","version":"0.1.0","since":"183.1182","until":"183.3506","originalSince":"183.1182","originalUntil":null},{"id":"org.elm.klazuka","version":"1.3.3","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.630.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.24.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.25.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.1.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.2.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.653.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"org.jetbrains.debugger.streams.kotlin","version":"0.0.3","since":"173.0","until":"191.0","originalSince":"173.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.2.181.000.0-Eclipse_4.9.0","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"atg-toolkit","version":"0.6","since":"181.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.6","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.0.beta-1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"net.afpro.idea.aophelper","version":"1.0","since":"173.0","until":"212.*","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.3.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.0","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.5","since":"181.0","until":"211.5538","originalSince":"181.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.95","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.7","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.3.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"cn.sourcespro","version":"2.1","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.nvinayshetty.DTOnator","version":"V0.997","since":"172.*","until":"","originalSince":"107.118","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20180927.194820","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.690.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.62.2","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.manzo.android.sluggard.plugin","version":"1.0.4","since":"145.0","until":"230","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.gitalso","version":"0.1.01","since":"183.1182","until":"183.3506","originalSince":"183.1182","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.2.0","since":"141.0","until":"145.*","originalSince":"141.0","originalUntil":null},{"id":"net.afpro.idea.aophelper","version":"1.1","since":"173.0","until":"212.*","originalSince":"173.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.951","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.3.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.3.1","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.4.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.5.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.8","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.26.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.3.0","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.701.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"io.ballerina","version":"0.982.0","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.0-rc-136-IJ2018.3-1","since":"183.1","until":"191.2000","originalSince":"183.1","originalUntil":"191.*"},{"id":"JRebelPlugin","version":"2018.2.0","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"org.jetbrains.plugins.stylus","version":"183.3283.3","since":"183.3283","until":"201","originalSince":"183.3283","originalUntil":null},{"id":"TFS","version":"183.3283.3","since":"183.3283","until":"191.*","originalSince":"183.3283","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"183.3283.3","since":"183.3283","until":"183.*","originalSince":"183.3283","originalUntil":null},{"id":"XSLT-Debugger","version":"183.3283.3","since":"183.3283","until":"201","originalSince":"183.3283","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.30","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.31","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.3.0 (201810020823)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.github.bjansen.intellij.pebble","version":"0.4","since":"143.0","until":"212.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.27.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.3.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.32","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.33","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.34","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.0-rc-146-IJ2018.3-1","since":"183.1","until":"191.2000","originalSince":"183.1","originalUntil":"191.*"},{"id":"com.intellij.testGuiFramework","version":"0.9.35","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"wiki.crowd.cloudutils","version":"1.0.4","since":"141.0","until":"212.*","originalSince":"141.0","originalUntil":null},{"id":"SerialPortMonitor","version":"0.5.3","since":"141.245","until":"201","originalSince":"141.245","originalUntil":null},{"id":"IdeaVIM","version":"0.49.8","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181004.185951","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.6.0.183","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.1.1.beta-1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.727.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.14.3","since":"173.0","until":"221","originalSince":"173.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.15.1","since":"173.0","until":"221","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.1.1","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.1.730.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.axellience.vuegwt","version":"0.1.0","since":"162.0","until":"201.0","originalSince":"162.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181005.194457","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.6.1.183","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.9","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.6.2.183","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"com.github.alexmojaki.birdseye.pycharm","version":"1.1.0","since":"182.0","until":"193.*","originalSince":"182.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.1.0","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.64","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.12","since":"162.2147483647","until":"183.*","originalSince":"162.*","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"5.2","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"git-extended-update-index","version":"0.0.1","since":"181.0","until":"193.2956.37","originalSince":"181.0","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.3647.1","since":"183.3647","until":"201","originalSince":"183.3647","originalUntil":null},{"id":"XSLT-Debugger","version":"183.3647.1","since":"183.3647","until":"201","originalSince":"183.3647","originalUntil":null},{"id":"TFS","version":"183.3647.1","since":"183.3647","until":"191.*","originalSince":"183.3647","originalUntil":null},{"id":"ru.fix.completable.reactor.plugin.idea","version":"1.4.4","since":"145.0","until":"202.5958.24","originalSince":"145.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181009.173956","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2018.1.58658","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"manifold.ij","version":"0.24-alpha","since":"163.0","until":"181.0","originalSince":"163.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.2.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"org.maxal.dialogResizer","version":"1.6","since":"181.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.3.1","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.1.3","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"3.1.0","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"Error-prone plugin","version":"183.3647.12","since":"183.3647","until":"191.0","originalSince":"183.3647","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.3647.12","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.ludditelabs.autodocintellij.plugin","version":"0.2.1-alpha","since":"162.0","until":"222.*","originalSince":"162.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181011.210707","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.776.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.783.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"2.0.0","since":"181.0","until":"232","originalSince":"181.0","originalUntil":null},{"id":"tirke.cupPlugin","version":"1.2","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"reasonml","version":"0.65","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"color.scheme.GapStyle","version":"2.0","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.talkingdata.my.favorite.code","version":"1.0.2","since":"173.0","until":"193.*","originalSince":"173.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.3.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.3.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.3.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.18","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"183.3795.1","since":"183.3795","until":"201","originalSince":"183.3795","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.3795.1","since":"183.3795","until":"201","originalSince":"183.3795","originalUntil":null},{"id":"TFS","version":"183.3795.1","since":"183.3795","until":"191.*","originalSince":"183.3795","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"183.3795.1","since":"183.3795","until":"183.*","originalSince":"183.3795","originalUntil":null},{"id":"XSLT-Debugger","version":"183.3795.1","since":"183.3795","until":"201","originalSince":"183.3795","originalUntil":null},{"id":"gherkin","version":"183.3647.12","since":"183.3647","until":"183.*","originalSince":"183.3647","originalUntil":null},{"id":"cucumber-java","version":"183.3647.12","since":"183.3647","until":"183.*","originalSince":"183.3647","originalUntil":null},{"id":"cucumber-groovy","version":"183.3647.12","since":"183.3647","until":"201","originalSince":"183.3647","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.150","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"nl.tudelft.watchdog","version":"3.2.0","since":"139.0","until":"200","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.3795.24","since":"183.3795","until":"201","originalSince":"183.3795","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13439","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.3795.13","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Error-prone plugin","version":"183.3795.13","since":"183.3795","until":"191.0","originalSince":"183.3795","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181017.183631","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181017.183633","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"manifold.ij","version":"0.25.2-alpha","since":"173.0","until":"181.0","originalSince":"173.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.5.9","since":"172.0","until":"182.*","originalSince":"163.0","originalUntil":"182.*"},{"id":"JRebelPlugin","version":"2018.2.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"IdeaVIM","version":"0.50","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"IdeaVIM","version":"0.50","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"reasonml","version":"0.65.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"Code Review","version":"1.4.1","since":"183.3795","until":"222.*","originalSince":"183.3795","originalUntil":null},{"id":"wiki.crowd.cloudutils","version":"1.0.5","since":"141.0","until":"212.*","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.817.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"de.sgalinski.typoscript.plugin.id","version":"2.0.0","since":"143.0","until":"231","originalSince":"143.0","originalUntil":null},{"id":"com.github.novotnyr.jwt-intellij-plugin","version":"0.4","since":"143.0","until":"222.*","originalSince":"143.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.1.2","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.23.2","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.6.3.183","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"reasonml","version":"0.66","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"reasonml","version":"0.66.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.yii2support","version":"0.10.56.22","since":"163.0","until":"193.0","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.6","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.gitalso","version":"0.2.0","since":"183.3506","until":"191.4738","originalSince":"183.1182","originalUntil":null},{"id":"Code Review","version":"1.4.2","since":"183.3795","until":"222.*","originalSince":"183.3795","originalUntil":null},{"id":"me.scana.okgradle","version":"0.1.0","since":"143.0","until":"143.*","originalSince":"143.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.6.0","since":"172.0","until":"182.*","originalSince":"163.0","originalUntil":"182.*"},{"id":"reasonml","version":"0.66.2","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"OdpsStudio","version":"3.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.ntilde.androidinput","version":"1.3","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.1.3","since":"173.0","until":"211","originalSince":"173.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"3.1.4","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.3975.18","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.1.6","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"training","version":"0.8.64","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"training","version":"0.8.65","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.2","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.0.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.3","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.3.3","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.3","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.67","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"PojoToJson","version":"1.0.0","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.4","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"4.4.2","since":"181.0","until":"211","originalSince":"181.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.0.1","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"0.3.4","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.1.5.183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181030.173511","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181030.181032","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181030.183227","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.4139.15","since":"183.4139","until":"201","originalSince":"183.4139","originalUntil":null},{"id":"de.dieploegers.develop.idea.shellfilter","version":"2.0.0","since":"172.3317.76","until":"181.5684","originalSince":"172.3317.76","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.4","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"Error-prone plugin","version":"183.4139.22","since":"183.4139","until":"191.0","originalSince":"183.4139","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4139.22","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"TFS","version":"183.4139.22","since":"183.4139","until":"191.*","originalSince":"183.4139","originalUntil":null},{"id":"cucumber-groovy","version":"183.4139.22","since":"183.4139","until":"201","originalSince":"183.4139","originalUntil":null},{"id":"cucumber-java","version":"183.4139.22","since":"183.4139","until":"183.*","originalSince":"183.4139","originalUntil":null},{"id":"gherkin","version":"183.4139.22","since":"183.4139","until":"183.*","originalSince":"183.4139","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.19","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.action-tracker","version":"0.3.1","since":"182.0","until":"201.0","originalSince":"182.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.5","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.6","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.7","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"pw.unbear.ijplug","version":"0.0.8","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.0.0","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"color.scheme.Defcula","version":"0.1.2","since":"142.0","until":"201.0","originalSince":"142.0","originalUntil":null},{"id":"TFS","version":"183.4139.35","since":"183.4139","until":"191.*","originalSince":"183.4139","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.871.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.2.6.183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181102.135155","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.62.5","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181102.205201","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181102.213236","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.2","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.0.1","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.14","since":"162.2147483647","until":"183.*","originalSince":"162.*","originalUntil":null},{"id":"ImportPlugin","version":"0.1.3","since":"162.0","until":"182.1542","originalSince":"162.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.10","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.6.10","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.7.0.183","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.151","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"eu.gillissen.rider.usersecrets","version":"0.2.0","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.2","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.jetbrains.gitalso","version":"0.3.0","since":"183.3506","until":"191.4738","originalSince":"183.3506","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"xyz.ihac.derrick","version":"0.3.0-beta","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"PojoToJson","version":"1.0.1","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.152","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.153","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.2.7.183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"cn.sourcespro","version":"2.2","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181108.131500","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.3.4","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.0.2","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"de.dieploegers.develop.idea.shellfilter","version":"2.1.0","since":"172.3317.76","until":"181.5684","originalSince":"172.3317.76","originalUntil":null},{"id":"org.elixir_lang","version":"10.1.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.11","since":"180.0","until":"181.0","originalSince":"180.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.871.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"synergix.plugin.intellj","version":"1.0","since":"173.0","until":"192.0","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4284.36","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"cucumber-java","version":"183.4284.36","since":"183.4284","until":"183.*","originalSince":"183.4284","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.4284.56","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.28.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.wuhao.code.check","version":"1.4.5","since":"145.0","until":"211","originalSince":"145.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.13447","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"fr.alban.petiot","version":"1.1","since":"173.0","until":"181.*","originalSince":"173.0","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.3.6","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"fr.alban.petiot","version":"1.2","since":"182","until":"182.*","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.67.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.3.0","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"io.ballerina","version":"0.983.0","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.154","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4284.42","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.62.6","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"Osmorc","version":"183.4284.36","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"TFS","version":"183.4284.36","since":"183.4284","until":"191.*","originalSince":"183.4284","originalUntil":null},{"id":"Osmorc","version":"183.4284.42","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181112.205724","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.4.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"1.980","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181114.114331","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.jetbrains.plugins.iasemenov.idea-git-extensions","version":"1.1","since":"191.1508","until":"191.7961","originalSince":"191.1508","originalUntil":"192.*"},{"id":"com.jetbrains.php.dql","version":"183.4284.100","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.3.8","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.20","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.67.2","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.155","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"nl.rubensten.texifyidea","version":"0.6.2","since":"182.3684","until":"","originalSince":"141.*","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"183.4284.122","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"PojoToJson","version":"1.0.2","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14249","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"net.lagerwey.cucumber-kotlin","version":"1.0.2","since":"162.0","until":"182.711","originalSince":"162.0","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.3.12","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.ecarx.plugin.findview","version":"1.0","since":"135.1356","until":"","originalSince":"103.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.3.1 (201811191235)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.0.0","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.0.3","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"com.ecarx.plugin.findview","version":"1.1","since":"135.1356","until":"","originalSince":"103.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181120.140158","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181120.151500","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.6.3","since":"172.0","until":"182.*","originalSince":"163.0","originalUntil":"182.*"},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"0.3.1","since":"181.0","until":"191.0","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4284.148","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4284.148","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"gherkin","version":"183.4284.148","since":"183.4284","until":"183.*","originalSince":"183.4284","originalUntil":null},{"id":"cucumber-java","version":"183.4284.148","since":"183.4284","until":"183.*","originalSince":"183.4284","originalUntil":null},{"id":"cucumber-groovy","version":"183.4284.148","since":"183.4284","until":"201","originalSince":"183.4284","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"synergix.plugin.intellj","version":"1.1","since":"120.0","until":"192.0","originalSince":"120.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14256","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.21","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"eu.gillissen.rider.usersecrets","version":"0.2.1","since":"145.0","until":"183.0","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.largeFilesEditor","version":"1.0","since":"181.0","until":"181.0","originalSince":"181.0","originalUntil":null},{"id":"nl.rubensten.texifyidea","version":"0.6.3","since":"182.3684","until":"","originalSince":"141.*","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4588.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4588.3","since":"183.4588","until":"201","originalSince":"183.4588","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.984.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.3.8.183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.6","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.4.0","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"OdpsStudio","version":"3.0.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.jf.fusionIdea","version":"0.5.2","since":"182.4892","until":"203","originalSince":"182.4892","originalUntil":null},{"id":"com.gradoservice.plugin.forge","version":"1.4","since":"141.177","until":"201.*","originalSince":"141.177","originalUntil":null},{"id":"com.longforus.mvpautocodeplus","version":"1.2","since":"171.0","until":"213","originalSince":"171.0","originalUntil":null},{"id":"reasonml","version":"0.68","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.6.4","since":"172.0","until":"183.*","originalSince":"163.0","originalUntil":"183.*"},{"id":"com.codota.csp.intellij","version":"2.5.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc4","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"3.0.0","since":"183.0","until":"193.0","originalSince":"183.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.156","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.jf.fusionIdea","version":"0.5.3","since":"182.4892","until":"203","originalSince":"182.4892","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4588.19","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4588.19","since":"183.4588","until":"201","originalSince":"183.4588","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.2","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4588.27","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4588.27","since":"183.4588","until":"201","originalSince":"183.4588","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.29.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.0.0.final","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.158","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.3","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.3.9.183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.4-20181130.021008","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.984.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"PerforceIC","version":"0.10.0","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.1.0","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.12","since":"183.0","until":"183.0","originalSince":"183.0","originalUntil":null},{"id":"com.arangodb.intellij.aql","version":"1.0.0","since":"172.0","until":"184.0","originalSince":"163.0","originalUntil":"184.0"},{"id":"com.vladsch.clionarduinoplugin","version":"1.4.2","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"org.intellij.scala","version":"2018.3.522","since":"191.0","until":"191.0","originalSince":"191.0","originalUntil":"192.0"},{"id":"org.jf.fusionIdea","version":"0.5.4","since":"182.4892","until":"203","originalSince":"182.4892","originalUntil":null},{"id":"com.arangodb.intellij.aql","version":"1.0.1","since":"172.0","until":"184.0","originalSince":"163.0","originalUntil":"184.0"},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14272","since":"162.0","until":"202.*","originalSince":"141.0","originalUntil":null},{"id":"com.aemtools","version":"0.9.0.1","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.viartemev.requestmapper","version":"0.15","since":"141.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.6.5","since":"172.0","until":"183.*","originalSince":"163.0","originalUntil":"183.*"},{"id":"com.intellij.testGuiFramework","version":"183.4588.61","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4588.61","since":"183.4588","until":"201","originalSince":"183.4588","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.7.0","since":"172.0","until":"183.*","originalSince":"163.0","originalUntil":"183.*"},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.3-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.7","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.0 (201812051159)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-1","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.largeFilesEditor","version":"1.0.1","since":"181.0","until":"181.0","originalSince":"181.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-2","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-3","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-4","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-5","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.mallowigi","version":"8.0","since":"182.0","until":"183.*","originalSince":"145.0","originalUntil":"183.*"},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-6","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.alexandrelombard.org.eclipse.xtext.idea","version":"2.15.0-7","since":"145.0","until":"183.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4886.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4886.3","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"2.0.0","since":"183.0","until":"191.*","originalSince":"183.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.0.1","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.4","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.tp.xml","version":"9.0","since":"173.0","until":"191.*","originalSince":"173.0","originalUntil":null},{"id":"cn.bestwu.gdph","version":"0.1.4","since":"145.258","until":"191.5000","originalSince":"145.258","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.5","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"io.ballerina","version":"0.990.0","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"com.protobuf.free.gen.plugin.GenProtobuf","version":"1.0","since":"173.0","until":"222.2270.31","originalSince":"173.0","originalUntil":null},{"id":"com.protobuf.free.gen.plugin.GenProtobuf","version":"1.1","since":"173.0","until":"222.2270.31","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4886.12","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.4886.12","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"Osmorc","version":"183.4886.12","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.teamscale.ide.intellij","version":"4.6.6","since":"172.0","until":"183.*","originalSince":"163.0","originalUntil":"183.*"},{"id":"com.teamscale.ide.intellij","version":"4.7.1","since":"172.0","until":"183.*","originalSince":"163.0","originalUntil":"183.*"},{"id":"com.jetbrains.php.dql","version":"183.4886.22","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2018.2.60977","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"com.protobuf.free.gen.plugin.GenProtobuf","version":"1.2","since":"173.0","until":"222.2270.31","originalSince":"173.0","originalUntil":null},{"id":"com.compilerexplorer.compilerexplorer","version":"1.13","since":"183.0","until":"183.0","originalSince":"183.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"2.0","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"com.protobuf.free.gen.plugin.GenProtobuf","version":"1.3","since":"173.0","until":"222.2270.31","originalSince":"173.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.63.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.contrastsecurity.contrast-intellij-plugin","version":"2.4.0-beta","since":"181.0","until":"181.0","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"6.0","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.24.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"3.0.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.30.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"6.1","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.69","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"color.scheme.GapStyle","version":"2.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"0.9","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"0.91","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"0.92","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"0.93","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"0.94","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.recognized.screencast.editor","version":"1.0","since":"182.0","until":"211.*","originalSince":"182.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.159","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"reasonml","version":"0.69.1","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.31.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2017.1.7","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"vette.neos","version":"0.1.28-SNAPSHOT","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"net.afpro.idea.aophelper","version":"1.2","since":"173.0","until":"212.*","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.4886.37","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.4886.37","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.8","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"ru.andrey.search-plugin","version":"1.0.1","since":"171.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.4886.46","since":"183.4886","until":"201","originalSince":"183.4886","originalUntil":null},{"id":"cucumber-javascript","version":"183.5153.1","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5153.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.5153.1","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"Osmorc","version":"183.5153.1","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.4.10","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.4","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.github.recognized.screencast.recorder","version":"0.95","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.1.0","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.1.1","since":"162.0","until":"183.*","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5153.4","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5153.4","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"cn.sourcespro","version":"2.3","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"ru.andrey.search-plugin","version":"1.1.0","since":"171.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.vladsch.clionarduinoplugin","version":"1.4.4","since":"181.0","until":"191.*","originalSince":"181.0","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.12","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.6.18","since":"162.2147483647","until":"183.*","originalSince":"162.*","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.5","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.2.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"io.ballerina","version":"0.990.1","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.0","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.1","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.36","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.6-20181226.211027","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.37","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5153.8","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5153.8","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.1 (201812211023)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2018.12.27.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2018.12.27.002","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.1145.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.1","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"OdpsStudio","version":"3.0.4","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.9.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc5","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.10","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2018.12.31.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.10.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.10.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.10.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"IdeaVIM","version":"0.50.1","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.9","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.4-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.4.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.jetbrains.execsound","version":"1.0","since":"172.0","until":"","originalSince":"94.539","originalUntil":null},{"id":"org.jetbrains.execsound","version":"1.1","since":"172.0","until":"","originalSince":"94.539","originalUntil":null},{"id":"org.jetbrains.execsound","version":"1.2","since":"172.0","until":"","originalSince":"111.69","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.8.0.183","since":"183.0","until":"191.4000","originalSince":"183.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.9.1","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14293","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"net.masterthought.dlanguage","version":"1.18","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":"191.*"},{"id":"com.squareup.sqldelight","version":"1.0.0-rc6","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.04.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.8.1.183","since":"183.0","until":"191.4000","originalSince":"183.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.5-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.6","since":"183.0","until":"211.5538","originalSince":"183.0","originalUntil":null},{"id":"AureliaStorm","version":"0.8","since":"182.3684","until":"213.0","originalSince":"182.3684","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.22","since":"145.0","until":"201","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.execsound","version":"1.4","since":"172.0","until":"","originalSince":"111.69","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.6-20190107.022851","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.2.0","since":"162.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.2","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.synopsys.sig.desktop.idea","version":"2018.12.0-SNAPSHOT-ipj-release-2018.12.0-push-857.19","since":"172.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0-rc7","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.5.10.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.3.0","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.13","since":"143.2000","until":"192.*","originalSince":"143.2000","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.5153.36","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14321","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.6-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.luojilab.dedao.DDProjectWatcher","version":"1.0","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.10.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"6.2","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"3.0.5","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5153.38","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5153.38","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.160","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"intellij-scheme","version":"0.1.3","since":"103.72","until":"193.0","originalSince":"103.72","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.1145.7","since":"182.3684.101","until":"222","originalSince":"182.3684.101","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5429.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.5429.1","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"cucumber-javascript","version":"183.5429.1","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"cucumber-java","version":"183.5429.1","since":"183.5429","until":"183.*","originalSince":"183.5429","originalUntil":null},{"id":"Osmorc","version":"183.5429.1","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"gherkin","version":"183.5429.1","since":"183.5429","until":"183.*","originalSince":"183.5429","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.5.11","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.5.0","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.2.1","since":"162.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"3.0.1","since":"183.0","until":"193.0","originalSince":"183.0","originalUntil":null},{"id":"synergix.plugin.intellj","version":"1.2","since":"182.0","until":"192.0","originalSince":"120.0","originalUntil":null},{"id":"XSLT-Debugger","version":"183.5429.2","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"XSLT-Debugger","version":"183.5153.33","since":"183.5153","until":"201","originalSince":"183.5153","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.14.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.15.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"6.3","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.3","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.1.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"python-flake8","version":"0.1.0","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"python-flake8","version":"0.1.1","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.17.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.magicbytes.blaze","version":"0.1","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.32.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"2.0.1","since":"183.0","until":"191.*","originalSince":"183.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.18.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.18.002","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"ch.ricardo.plugins.intellij.mockery","version":"1.1.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.70","since":"143.0","until":"171.*","originalSince":"143.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.19.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.dubreuia","version":"1.3.0","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.21.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.1164.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.3","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.5","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.magicbytes.blaze","version":"0.1.1","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.4","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"cn.sourcespro","version":"2.4","since":"145.2070","until":"231.*","originalSince":"145.2070","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.2.0","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"com.github.nokia.pyvenv","version":"1.1","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"cucumber-javascript","version":"183.5429.20","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5429.20","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5429.20","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"com.idescout.sqlite","version":"5.0.0","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5429.25","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5429.25","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"reasonml","version":"0.71","since":"172.0","until":"180.*","originalSince":"172.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.1.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.1.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"191.4212.35","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.jetbrains.chronon","version":"191.4212.41","since":"191.4212","until":"193.0","originalSince":"191.4212","originalUntil":null},{"id":"cucumber-javascript","version":"191.4212.41","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"Error-prone plugin","version":"191.4212.41","since":"191.4212","until":"192.0","originalSince":"191.4212","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"191.4212.41","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.plugins.webcomponents","version":"191.4212.41","since":"191.4212","until":"191.*","originalSince":"191.4212","originalUntil":null},{"id":"cucumber-groovy","version":"191.4212.41","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"cucumber-java","version":"191.4212.41","since":"191.4212","until":"191.*","originalSince":"191.4212","originalUntil":null},{"id":"Docker","version":"191.4212.41","since":"191.4212","until":"191.4212","originalSince":"191.4212","originalUntil":"191.*"},{"id":"gherkin","version":"191.4212.41","since":"191.4212","until":"191.*","originalSince":"191.4212","originalUntil":null},{"id":"Osmorc","version":"191.4212.41","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"TFS","version":"191.4212.41","since":"191.4212","until":"191.*","originalSince":"191.4212","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.21.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"org.coffeescript","version":"191.4212.44","since":"80.9000","until":"201","originalSince":"80.9000","originalUntil":null},{"id":"XSLT-Debugger","version":"191.4212.27","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"org.jetbrains.plugins.stylus","version":"191.4212.27","since":"191.4212","until":"201","originalSince":"191.4212","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.2 (201901240710)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.2","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.2.1","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"net.berla.intellij.bookmarkactions","version":"1.0","since":"173.0","until":"213","originalSince":"173.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.7.3","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2018.2.1164.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.luojilab.dedao.DDProjectWatcher","version":"1.1","since":"141.0","until":"201.0","originalSince":"141.0","originalUntil":null},{"id":"CUBA","version":"7.1-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.magicbytes.blaze","version":"0.2.0","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.5","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"IdeaVIM","version":"0.50.2","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.6-20190129.024149","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.7","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.8-20190129.024356","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.3","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"com.likfe.ideaplugin.eventbus3","version":"1.2.5","since":"136.0","until":"223.*","originalSince":"136.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5429.30","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5429.30","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"com.dubreuia","version":"1.4.0","since":"163.0","until":"223","originalSince":"163.0","originalUntil":null},{"id":"io.ballerina","version":"0.990.3-RC1","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"xyz.elmot.clion.armsupport.prj","version":"1.3.alpha1","since":"191.4212","until":"191.5700","originalSince":"191.4212","originalUntil":"191.*"},{"id":"com.shanbay.plugins.dsl.listener.builder","version":"1.0.0","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.5","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"JFormDesigner","version":"6.0.6","since":"123.72","until":"183.*","originalSince":"123.72","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.30.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"org.elm.klazuka","version":"2.2.2","since":"162.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.01.30.002","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"PojoToJson","version":"1.0.3","since":"145.0","until":"192.0","originalSince":"145.0","originalUntil":null},{"id":"net.berla.intellij.bookmarkactions","version":"1.1","since":"173.0","until":"213.0","originalSince":"173.0","originalUntil":null},{"id":"Pythonid","version":"2019.1.191.4738.6","since":"191.4738","until":"191.4738","originalSince":"191.4738","originalUntil":"191.*"},{"id":"Docker","version":"191.4738.6","since":"191.4738","until":"191.4738","originalSince":"191.4738","originalUntil":"191.*"},{"id":"io.intino.plugin","version":"3.6.0","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.0.3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14354","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.2.0","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.danizz.TranslatorPlugin","version":"1.0.1","since":"171.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.6.1","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"reasonml","version":"0.72","since":"172.0","until":"180.*","originalSince":"172.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.05.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.161","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14364","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.05.002","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.05.003","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.05.004","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.helloyuyu.plugin.arouternavigatefunctiongenerator","version":"1.0.1","since":"173.0","until":"192.*","originalSince":"173.0","originalUntil":null},{"id":"org.elm.klazuka","version":"2.2.3","since":"162.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.21-release-IJ2019.1-1","since":"191.2767","until":"191.2767","originalSince":"191.2767","originalUntil":"192.*"},{"id":"com.sencha.idea.IdeaPlugin","version":"6.0.12.563","since":"145.0","until":"213","originalSince":"145.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"2.10","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.07.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.5","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.dell.easydebug","version":"1.0","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"CUBA","version":"7.2-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.danizz.TranslatorPlugin","version":"1.1.0","since":"171.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.6","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1182.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.33.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.34.0","since":"181.4203.1","until":"223.*","originalSince":"181.4203.1","originalUntil":null},{"id":"com.jetbrains.php.dql","version":"183.5429.47","since":"183.5429","until":"201","originalSince":"183.5429","originalUntil":null},{"id":"fortify.fod","version":"19.1.1040","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"com.adacore.Ada-IntelliJ","version":"0.6-dev","since":"182.0","until":"193.*","originalSince":"182.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.7","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.26","since":"181.0","until":"193.*","originalSince":"181.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.8","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.dell.easydebug","version":"1.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.jfrog.conan.clion","version":"1.0.0","since":"180.0","until":"222","originalSince":"180.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.1","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"fistache.framework.id","version":"1.1.3","since":"183.4284.148","until":"202.5428.22","originalSince":"183.4284.148","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.7-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"IdeaVIM","version":"0.51","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"IdeaVIM","version":"0.51","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.2.2","since":"172.0","until":"212.*","originalSince":"172.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.danizz.TranslatorPlugin","version":"1.1.1","since":"171.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"5.1.0","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5912.2","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5912.2","since":"183.5912","until":"201","originalSince":"183.5912","originalUntil":null},{"id":"Code Review","version":"1.4.3","since":"183.3795","until":"222.*","originalSince":"183.3795","originalUntil":null},{"id":"org.elm.klazuka","version":"2.2.4","since":"162.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.6","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.yii2support","version":"0.10.57.23","since":"163.0","until":"193.0","originalSince":"163.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1182.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.5.1","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1194.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"io.ballerina","version":"0.990.3","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"de.achimonline.kickassembler-acbg","version":"1.0","since":"182.4892","until":"182.*","originalSince":"162.0","originalUntil":null},{"id":"de.achimonline.kickassembler-acbg","version":"1.0.1","since":"182.4892","until":"182.*","originalSince":"162.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.2.1","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"org.jf.fusionIdea","version":"0.5.5","since":"182.4892","until":"203","originalSince":"182.4892","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-dev-1827-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.intellij.testGuiFramework","version":"183.5912.10","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5912.10","since":"183.5912","until":"201","originalSince":"183.5912","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.2.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.5.2","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.4","since":"103.72","until":"193.0","originalSince":"103.72","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.19.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.2","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.8-20190220.025349","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"OdpsStudio","version":"3.1.0","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.38","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.39","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.8-20190220.185338","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.ppolivka.gitlabprojects","version":"2.0.1","since":"181.0","until":"232","originalSince":"181.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"9.6.12","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.3","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.danizz.TranslatorPlugin","version":"2.0.0","since":"172.4574","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14385","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.9","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.10-20190221.212449","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1194.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.longforus.mvpautocodeplus","version":"1.3","since":"173.0","until":"213","originalSince":"173.0","originalUntil":null},{"id":"com.bettercloud.intellij.plugin.kafkatool","version":"1.0.0","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"CUBA","version":"7.4-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"1.9","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.02.25.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"1.2.6","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.4","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"com.dell.easydebug","version":"1.2","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.largeFilesEditor","version":"1.1","since":"183.0","until":"183.0","originalSince":"183.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.0.0","since":"182.0","until":"190.*","originalSince":"162.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5912.17","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5912.17","since":"183.5912","until":"201","originalSince":"183.5912","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.6.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.2","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.5912.21","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.5912.21","since":"183.5912","until":"201","originalSince":"183.5912","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.10-20190226.233033","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.1.0","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.162","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"CUBA","version":"8.1-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-eap-11-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.atlassian.idea.bob","version":"1.0","since":"173.0","until":"","originalSince":"139.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.1.1","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.2.2","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.5","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"com.dell.easydebug","version":"1.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"jbehave-support-plugin","version":"1.53","since":"145.258","until":"213","originalSince":"145.258","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.3","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.3 (201902280501)","since":"131.0","until":"202","originalSince":"131.0","originalUntil":null},{"id":"com.ntilde.androidinput","version":"1.3.2","since":"131.0","until":"181.*","originalSince":"131.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.5","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.figlet","version":"1.2","since":"171.0","until":"212.*","originalSince":"171.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.5.3","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.21-release-IJ2019.1-2","since":"191.5532","until":"191.5532","originalSince":"191.5532","originalUntil":"192.*"},{"id":"org.scalafmt.ScalaFmt","version":"2.0.0-RC5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.40","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.41","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.0.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.0.1","since":"182.0","until":"191.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.10-20190306.211312","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.10-20190306.211927","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"name.kropp.intellij.makefile","version":"1.6.1","since":"183.0","until":"211.5538","originalSince":"183.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.1.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.11","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.12-20190307.151718","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.plugins.vscodekeymap","version":"1.0","since":"181.0","until":"201.*","originalSince":"181.0","originalUntil":null},{"id":"JRebelPlugin","version":"2018.2.7","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.12-20190307.172146","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.42","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"CheckStyle-IDEA-FLINT","version":"5.24.2","since":"145.258","until":"203","originalSince":"145.258","originalUntil":null},{"id":"org.elixir_lang","version":"10.3.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"2.0","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"CheckStyle-IDEA-FLINT","version":"5.24.3","since":"145.258","until":"203","originalSince":"145.258","originalUntil":null},{"id":"com.footprint.footprint-plugin","version":"1.0","since":"181.0","until":"193.*","originalSince":"181.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.1.0","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.6156.1","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.6156.1","since":"183.6156","until":"201","originalSince":"183.6156","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.5.4","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"CheckStyle-IDEA-FLINT","version":"5.24.4","since":"145.258","until":"203","originalSince":"145.258","originalUntil":null},{"id":"reasonml","version":"0.73","since":"172.0","until":"180.*","originalSince":"172.0","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9","since":"182.0","until":"191.5000","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.6156.4","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.6156.4","since":"183.6156","until":"201","originalSince":"183.6156","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.25","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.3.0","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.12-20190313.201234","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"de.endrullis.idea.postfixtemplates","version":"2.8.2.183","since":"183.0","until":"191.4000","originalSince":"183.0","originalUntil":null},{"id":"com.jetbrains.darkPurpleTheme","version":"1.0","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.CyanTheme","version":"1.0","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.43","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.abeade.plugin.fcm.push","version":"0.5","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"com.magento.idea.magento2plugin","version":"0.3.0","since":"172.0","until":"223.*","originalSince":"172.0","originalUntil":null},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.6.fix","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.3.1","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.0","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-eap-45-IJ2019.1-1","since":"191.5532","until":"191.5532","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"OdpsStudio","version":"3.1.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1552647958.093","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"intellij.zeppelin.","version":"0.3","since":"172.*","until":"213.*","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.7.0","since":"162.2147483647","until":"192.*","originalSince":"162.*","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.163","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.6.11","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"color.scheme.Smooth_Minimal","version":"1.2","since":"142.0","until":"142.0","originalSince":"142.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.1.0","since":"182.0","until":"191.*","originalSince":"182.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.3.2","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"com.hiberbee.intellij.hiberbee-theme","version":"1.0","since":"191.6183","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"com.hiberbee.intellij.hiberbee-theme","version":"1.0.1","since":"191.6183","until":"191.*","originalSince":"191.0","originalUntil":"191.*"},{"id":"lsfusion.idea.plugin","version":"1.0.164","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"183.6156.8","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.6156.8","since":"183.6156","until":"201","originalSince":"183.6156","originalUntil":null},{"id":"CUBA","version":"8.2-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1553021580.089","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1553027724.716","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.testGuiFramework","version":"0.9.44.1","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"hu.aradipatrik.onedarknative","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"hu.aradipatrik.onedarknative","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"hu.aradipatrik.onedarknative","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"hu.aradipatrik.onedarknative","version":"1.4","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.hd123.plugin.id","version":"2.9.7","since":"183.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1226.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.2.4","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-eap-96-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.jetbrains.darkPurpleTheme","version":"1.0.1","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.CyanTheme","version":"1.0.1","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.7.2","since":"162.2147483647","until":"192.*","originalSince":"162.*","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.0","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.4.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.abeade.plugin.fcm.push","version":"0.5.1","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"uk.co.reecedunn.intellij.plugin.xquery","version":"1.4","since":"191.0","until":"191.0","originalSince":"191.0","originalUntil":"191.*"},{"id":"reasonml","version":"0.74","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.6.2","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"color.scheme.GapStyle","version":"2.2","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"training","version":"191.6183.3","since":"191.6183","until":"191.*","originalSince":"191.6183","originalUntil":null},{"id":"Keymap exporter","version":"2.1","since":"130.1167","until":"201","originalSince":"130.1167","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.0","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.intellij.testGuiFramework","version":"183.6156.11","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"Osmorc","version":"183.6156.11","since":"183.6156","until":"201","originalSince":"183.6156","originalUntil":null},{"id":"training","version":"191.6183.4","since":"191.6183","until":"191.*","originalSince":"191.6183","originalUntil":null},{"id":"com.github.kisstkondoros.codemetrics","version":"0.1","since":"182.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.berzanmikaili.intellij.monokai_pro","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.6.3","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"training","version":"191.6183.5","since":"191.6183","until":"191.*","originalSince":"191.6183","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.7.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.6.4","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"com.berzanmikaili.intellij.monokai_pro","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"IdeaVIM","version":"0.51.1","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"uk.co.reecedunn.intellij.plugin.xquery","version":"1.4.1","since":"191.0","until":"191.0","originalSince":"191.0","originalUntil":"191.*"},{"id":"com.hiberbee.intellij.hiberbee-theme","version":"1.0.3","since":"191.6183","until":"191.*","originalSince":"183.0","originalUntil":null},{"id":"org.aion4j.avm","version":"0.1.2","since":"183.0","until":"222.*","originalSince":"183.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.03.28.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"org.qupla.language","version":"0.1.14-alpha","since":"182.0","until":"193.*","originalSince":"182.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.4.0","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1226.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"6.4","since":"145.0","until":"145.*","originalSince":"145.0","originalUntil":null},{"id":"OdpsStudio","version":"3.1.2","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-eap-125-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.jetbrains.upsource","version":"2019.1.1238.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.7","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"org.bigtows.PinNote","version":"1.3.3.2","since":"69.7000","until":"183.*","originalSince":"69.7000","originalUntil":"191.*"},{"id":"com.jakecoffman.theme","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jakecoffman.theme","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.bjansen.intellij.pebble","version":"0.5","since":"173.0","until":"212.*","originalSince":"143.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"2.1","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"ru.vsu.apakhomov.experimental.plugin.Experimental","version":"0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.25.0","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"2.8.4","since":"163.15529","until":"212.0","originalSince":"163.15529","originalUntil":null},{"id":"com.haskforce","version":"0.3.42","since":"173.0","until":"203.*","originalSince":"173.0","originalUntil":null},{"id":"org.ziglang","version":"0.1.1","since":"162.0","until":"193","originalSince":"162.0","originalUntil":null},{"id":"com.ifengxue.plugin.jpa-support","version":"1.0.7","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.15.2","since":"173.0","until":"221","originalSince":"173.0","originalUntil":null},{"id":"net.fhtagn.pycharm.cellmode","version":"1.2.1","since":"182.0","until":"193","originalSince":"182.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.64.0","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"ca.rightsomegoodgames.mayacharm","version":"3.0.2","since":"183.0","until":"193.3519","originalSince":"183.0","originalUntil":null},{"id":"org.jf.fusionIdea","version":"0.5.6","since":"191.0","until":"203","originalSince":"191.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.21-release-IJ2019.1-3","since":"191.5532","until":"191.5532","originalSince":"191.5532","originalUntil":"192.*"},{"id":"com.zxy.idea.plugin.findViewById-support","version":"1.4","since":"171.0","until":"","originalSince":"AI-171.0","originalUntil":null},{"id":"org.limechain","version":"1.0","since":"183.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1554135945.464","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.khmelyuk.multirun","version":"1.10","since":"191.0","until":"222.4459.*","originalSince":"191.0","originalUntil":null},{"id":"com.berzanmikaili.intellij.monokai_pro","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.intellij.datalore","version":"0.0.2","since":"191.1","until":"201","originalSince":"191.1","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"7.0","since":"183.2153.8","until":"183.*","originalSince":"183.2153.8","originalUntil":null},{"id":"CUBA","version":"9.0-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.limechain","version":"1.1","since":"183.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.datalore","version":"0.0.3","since":"191.1","until":"201","originalSince":"191.1","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9.1","since":"182.0","until":"201.0","originalSince":"182.0","originalUntil":null},{"id":"QAPlug","version":"1.3.19","since":"191.6183","until":"211","originalSince":"191.6183","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1554306597.42","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"1.7.4","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.weirddev.testme","version":"3.0.0","since":"191.0","until":"231.*","originalSince":"191.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.12-20190404.123012","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.13","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.14-20190404.155349","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.51.0+4","since":"183.0","until":"231.*","originalSince":"183.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.51.0+4","since":"183.0","until":"231.*","originalSince":"183.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1238.8","since":"183.4284.148","until":"222","originalSince":"183.4284.148","originalUntil":null},{"id":"AureliaStorm","version":"0.8.1","since":"182.3684","until":"213.*","originalSince":"182.3684","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.0.0","since":"182.711","until":"202.*","originalSince":"182.711","originalUntil":null},{"id":"org.elm.klazuka","version":"3.1.1","since":"182.3684.2","until":"191.*","originalSince":"182.3684.2","originalUntil":null},{"id":"com.zxy.idea.plugin.findViewById-support","version":"1.5","since":"171.0","until":"","originalSince":"AI-171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"OksiBlackCS","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.zxy.idea.plugin.findViewById-support","version":"1.6","since":"171.0","until":"","originalSince":"AI-171.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"5.2.0","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"com.zhaow.restful.toolkit","version":"2.0.9","since":"145.0","until":"211.*","originalSince":"145.0","originalUntil":null},{"id":"DeepBugsJavaScript","version":"0.1","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"OksiBlackCS","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-eap-164-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"lsfusion.idea.plugin","version":"1.0.165","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"io.ballerina","version":"0.991.0-RC1","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.166","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"R4Intellij","version":"1.0.11","since":"171.4694","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1554824311.575","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.herokuapp.vuesion","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.herokuapp.vuesion","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1554887719.557","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.idea.grammar","version":"2019.1","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.herokuapp.vuesion","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"SequenceDiagram","version":"1.3.0","since":"141.1","until":"173.*","originalSince":"141.1","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.4","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"au.com.clearboxsystems.plugin.jetbrains.darkerla","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.3","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.2.2","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.aion4j.avm","version":"0.2.0","since":"183.0","until":"222.*","originalSince":"183.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1554998911.924","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.30-release-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"org.jetbrains.kotlin","version":"1.3.30-release-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"reasonml","version":"0.75","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"de.platon42.cajon","version":"0.4","since":"182.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.52.0+7","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"1.0","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.recognized.screencast.recorder","version":"1.0","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.52.0+9","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.3.1","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"com.bloidonia.intellij-rest-linkomatic","version":"1.1","since":"183.0","until":"191.*","originalSince":"181.0","originalUntil":"191.*"},{"id":"com.alivanov.intellij.plugins.liquigen","version":"0.0.7","since":"191.6183","until":"203","originalSince":"191.6183","originalUntil":null},{"id":"edu.umontreal.hatchery","version":"0.3.2","since":"143.379","until":"193","originalSince":"143.379","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.27","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":null},{"id":"spring.web.initializr.plugin","version":"1.0.0","since":"181.5684","until":"191.*","originalSince":"172.3757.5","originalUntil":"191.*"},{"id":"com.ifengxue.plugin.jpa-support","version":"1.1.1","since":"171.0","until":"231.*","originalSince":"171.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.1.2","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9.2","since":"182.0","until":"201.0","originalSince":"182.0","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.1.3","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.1.0","since":"182.711","until":"202.*","originalSince":"182.711","originalUntil":null},{"id":"com.suming.react.PropTypes","version":"1.1.5","since":"143.0","until":"223.*","originalSince":"143.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.liferay.ide.intellij.plugin","version":"1.4.0","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.4","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.cybrosis.catdea","version":"1.0","since":"182.0","until":"202","originalSince":"182.0","originalUntil":null},{"id":"reasonml","version":"0.75.1","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.hand.ide.plugin.hap-support","version":"0.0.1","since":"171.4073","until":"","originalSince":"IU-171.4073.28","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1555426754.297","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.evolitist.ev3c","version":"0.8.1","since":"190.0","until":"192.0","originalSince":"CL-190.0","originalUntil":"CL-192.0"},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.8-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.samdark.intellij-visual-studio-code-dark-plus","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.samdark.intellij-visual-studio-code-dark-plus","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.samdark.intellij-visual-studio-code-dark-plus","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.magicbytes.blaze","version":"0.2.1","since":"163.0","until":"193.*","originalSince":"163.0","originalUntil":null},{"id":"com.dubreuia","version":"1.5.0+2018.3","since":"183.0","until":"223","originalSince":"183.0","originalUntil":null},{"id":"FastDebug","version":"1.1","since":"145.0","until":"193.*","originalSince":"145.0","originalUntil":null},{"id":"com.jensteichert.themes.nightowl","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.samdark.intellij-visual-studio-code-dark-plus","version":"1.3","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.35.0","since":"183.5912.21","until":"223.*","originalSince":"183.5912.21","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.8","since":"181.0","until":"201","originalSince":"181.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.52.1+16","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"CUBA","version":"9.1-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.15","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190419.112737","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.52.2+2","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"net.nazarsit","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"2.20","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"YapiUpload","version":"1.3","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.fernandojimenez.mattecarbon.theme","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.starxg.browserfx","version":"1.0.1","since":"173.0","until":"202.59","originalSince":"173.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.1.4.1","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.167","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"jp.ikeponias","version":"1.0-SNAPSHOT","since":"150.0","until":"203","originalSince":"150.0","originalUntil":null},{"id":"jp.ikeponias","version":"1.0","since":"150.0","until":"203","originalSince":"150.0","originalUntil":null},{"id":"jp.ikeponias","version":"1.0.0","since":"150.0","until":"203","originalSince":"150.0","originalUntil":null},{"id":"training","version":"SNAPSHOT.658","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.starxg.browserfx","version":"1.0.2","since":"173.0","until":"202.59","originalSince":"173.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190423.120128","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"5.2.1","since":"182.0","until":"211","originalSince":"182.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.3.181.000.0-Eclipse_2019-03","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"de.timon.schelling.interesting.theme","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"de.timon.schelling.interesting.theme","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.codemr.analyzer","version":"2019.1.1","since":"171.0","until":"181.0","originalSince":"171.0","originalUntil":null},{"id":"com.platform.gen","version":"1.2","since":"181.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"reasonml","version":"0.76","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.76.1","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"com.andreycizov.partialnav","version":"1.1","since":"171.1834","until":"","originalSince":"IC-171.1834.9","originalUntil":null},{"id":"OdpsStudio","version":"3.1.3","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.arcticicestudio.nord.jetbrains","version":"0.5.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"training","version":"SNAPSHOT.663","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"reasonml","version":"0.76.2","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.4.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"cn.com.autohome.tuan.plugins","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"cn.com.autohome.tuan.plugins","version":"1.01","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.ballerina","version":"0.991.0","since":"173.0","until":"182","originalSince":"163.0","originalUntil":null},{"id":"io.github.leeeory.theme.plaid","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"cn.com.autohome.tuan.plugins","version":"1.03","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.github.leeeory.theme.plaid","version":"0.0.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.github.leeeory.theme.plaid","version":"0.0.3","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.github.leeeory.theme.plaid","version":"0.0.4","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.31-release-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"name.kropp.intellij.qml","version":"0.3.3","since":"191.0","until":"223.*","originalSince":"191.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.31-release-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"training","version":"SNAPSHOT.664","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"cn.com.autohome.tuan.plugins","version":"1.04","since":"182.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"com.jetbrains.edu","version":"2.5-2019.1-1540","since":"191.5109","until":"191.*","originalSince":"191.5109","originalUntil":"192.*"},{"id":"com.intellij.plugins.vscodekeymap","version":"1.0.1","since":"181.0","until":"201.*","originalSince":"181.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.5.9","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"training","version":"SNAPSHOT.671","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"training","version":"SNAPSHOT.672","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"org.ziglang","version":"0.1.2","since":"173.0","until":"193","originalSince":"173.0","originalUntil":null},{"id":"jp.ikeponias","version":"1.0.1","since":"150.0","until":"203","originalSince":"150.0","originalUntil":null},{"id":"com.vladsch.MissingInActions","version":"1.7.4","since":"162.2147483647","until":"192.*","originalSince":"162.*","originalUntil":null},{"id":"com.github.novotnyr.jwt-intellij-plugin","version":"0.5","since":"143.0","until":"222.*","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.servicedoc","version":"1.4","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.5.0","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.martinagabrielli.themes","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.04.29.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"org.elixir_lang","version":"10.5.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"rasarts.espresso.light.theme","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.alipay.antcloud.ide","version":"1.0.9","since":"183.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"J2ME","version":"192.0","since":"192.1","until":"201","originalSince":"192.1","originalUntil":null},{"id":"J2ME","version":"192.3","since":"192.1","until":"201","originalSince":"192.1","originalUntil":null},{"id":"com.idescout.sqlite","version":"6.0.0","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"reasonml","version":"0.76.3","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.1-2.alpha","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"com.funk.sage.theme","version":"1.0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.1-2.stable","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.52.3+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"UDC","version":"1.0.5","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.6.14","since":"181.0","until":"192.*","originalSince":"181.0","originalUntil":null},{"id":"dark_candy","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"silkworm","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"silkworm","version":"1.0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"silkworm","version":"1.0.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"silkworm","version":"1.0.3","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.04.29.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"Lombook Plugin","version":"0.25-2019.1","since":"191.6183","until":"192.0","originalSince":"191.6183","originalUntil":null},{"id":"Lombook Plugin","version":"0.25-EAP","since":"191.7141","until":"192.0","originalSince":"191.7141","originalUntil":null},{"id":"lt.martynassateika.idea.codeigniter","version":"0.5.1","since":"145.0","until":"193.0","originalSince":"145.0","originalUntil":null},{"id":"silkworm","version":"1.0.4","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Reykjavik","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Reykjavik","version":"0.1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.thvardhan.gradianto","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.thvardhan.gradianto","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"foggy-night","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.26","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"JFormDesigner","version":"6.0.6.4","since":"145.0","until":"191.*","originalSince":"145.0","originalUntil":null},{"id":"soft-charcoal","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"white-sand-ui","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"madrid","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"MetalHeart","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"warm-night","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Thursday","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.6","since":"123.0","until":"211.*","originalSince":"123.0","originalUntil":null},{"id":"white-sand-ui","version":"0.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"2.2.7","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"silkworm","version":"1.0.5","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Struts Assistant","version":"192.5","since":"192.1","until":"193.1580","originalSince":"192.1","originalUntil":null},{"id":"Reykjavik","version":"0.1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"MetalHeart","version":"0.1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"white-sand-ui","version":"0.2.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"training","version":"191.6183.6","since":"191.6183","until":"191.*","originalSince":"191.6183","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190502.204304","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"Struts Assistant","version":"192.6","since":"192.1","until":"193.1580","originalSince":"192.1","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.servicedoc","version":"1.5","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.6","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.5","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.6","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"0.53.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"color.scheme.Sunset Vibes Theme","version":"1.0","since":"142.0","until":"201.0","originalSince":"142.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.7","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.android.aas","version":"1.0.0","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"org.aion4j.avm","version":"0.3.0","since":"183.0","until":"222.*","originalSince":"183.0","originalUntil":null},{"id":"com.zeke.wong.neck-protect","version":"1.0","since":"171.0","until":"211.*","originalSince":"171.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.1.0","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.05.07.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.cybrosis.catdea","version":"1.0.1","since":"182.0","until":"202","originalSince":"182.0","originalUntil":null},{"id":"com.liuzhihang.toolkit.toolkit","version":"1.0.1","since":"181.0","until":"223","originalSince":"181.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9.3","since":"182.711","until":"201.0","originalSince":"182.711","originalUntil":null},{"id":"ir.intellij.idea.plugin","version":"0.0.1 release","since":"162.0","until":"191.7141","originalSince":"162.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"2.2","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1557328782.836","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"2.3","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.05.09.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.liuzhihang.toolkit.toolkit","version":"1.0.2","since":"181.0","until":"223","originalSince":"181.0","originalUntil":null},{"id":"UDC","version":"1.0.6","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"io.github.donkirkby.livepycharm","version":"2.25.1","since":"145.0","until":"192","originalSince":"145.0","originalUntil":null},{"id":"org.zalando.intellij.swagger","version":"1.0.27","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"com.ruiyu.ruiyu","version":"2.4","since":"173.0","until":"232.*","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.05.10.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.github.novotnyr.maven-version-idea-plugin","version":"1","since":"172.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.5","since":"103.72","until":"193.0","originalSince":"103.72","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.1","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.jfrog.conan.clion","version":"1.1.0","since":"180.0","until":"222","originalSince":"180.0","originalUntil":null},{"id":"com.bisguard.android.antidecompiler.idea","version":"0.9","since":"145.0","until":"223.*","originalSince":"145.0","originalUntil":null},{"id":"com.jfrog.conan.clion","version":"1.1.1","since":"180.0","until":"222","originalSince":"180.0","originalUntil":null},{"id":"com.apkfuns.swan.plugin","version":"1.0.2","since":"173.0","until":"193.0","originalSince":"173.0","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"2.0","since":"183.5429.30","until":"193.*","originalSince":"183.5429.30","originalUntil":null},{"id":"com.mario.WSAnything.plugin","version":"2.1","since":"183.5429.30","until":"193.*","originalSince":"183.5429.30","originalUntil":null},{"id":"com.apkfuns.swan.plugin","version":"1.0.3","since":"173.0","until":"193.0","originalSince":"173.0","originalUntil":null},{"id":"com.apkfuns.swan.plugin","version":"1.0.4","since":"173.0","until":"193.0","originalSince":"173.0","originalUntil":null},{"id":"com.wishtack.pysynthetic.intellij","version":"0.7.0","since":"173.0","until":"192.*","originalSince":"173.0","originalUntil":null},{"id":"vette.neos","version":"1.0.0","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.2","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.fast.mouse.scroll","version":"1.2","since":"191.4212.41","until":"201","originalSince":"191.4212.41","originalUntil":null},{"id":"com.apkfuns.swan.plugin","version":"1.0.5","since":"173.0","until":"193.0","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.4.9-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.28","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.fast.mouse.scroll","version":"1.3","since":"191.4212.41","until":"201","originalSince":"191.4212.41","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.0.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.github.zouyq.cmdTools","version":"1.0","since":"173.0","until":"222.*","originalSince":"173.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.2.0","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"org.aion4j.avm","version":"0.3.4","since":"183.0","until":"222.*","originalSince":"183.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201905141150-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201905140501-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.1.1","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.0.1+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.siberika.idea.pascal","version":"2.31","since":"134.1050","until":"200.0","originalSince":"134.1050","originalUntil":null},{"id":"com.apkfuns.swan.plugin","version":"1.0.6","since":"173.0","until":"193.0","originalSince":"173.0","originalUntil":null},{"id":"com.github.zouyq.cmdTools","version":"3.0","since":"173.0","until":"222.*","originalSince":"173.0","originalUntil":null},{"id":"net.objecthunter.idea.BuilderGenerator","version":"1.1","since":"172.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.35","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"com.wix.eslint","version":"1.0.36","since":"139.0","until":"181.0","originalSince":"139.0","originalUntil":null},{"id":"net.objecthunter.idea.BuilderGenerator","version":"1.2","since":"172.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.10","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"EclipseCodeFormatter","version":"18.3.181.000.1-Eclipse_2019-03","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"saros","version":"0.1.0","since":"182.5107.16","until":"193.6015.39","originalSince":"182.5107.16","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1362.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"andrasferenczi.dart-data-plugin","version":"0.0.1","since":"183.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"7.1","since":"183.2153.8","until":"183.*","originalSince":"183.2153.8","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.10.1","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"com.intellij.plugins.vscodekeymap","version":"1.0.2","since":"181.0","until":"201.*","originalSince":"181.0","originalUntil":null},{"id":"com.checkmarx.intellij","version":"8.90.0","since":"111.69","until":"200.0","originalSince":"111.69","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.2","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"1.7","since":"162.0","until":"191.*","originalSince":"162.0","originalUntil":null},{"id":"com.github.nokia.pyvenv","version":"1.2","since":"145.0","until":"203","originalSince":"145.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.40-eap-21-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.demisto.demisto-plugin","version":"0.9.4","since":"182.711","until":"201.0","originalSince":"182.711","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.15.3","since":"173.0","until":"221","originalSince":"173.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.1.2","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14507","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201905220224-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.5.1","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"de.espend.idea.laravel","version":"0.15.4","since":"173.0","until":"222","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1558552891.973","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.0.2+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.8.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"2.0.2","since":"192.0","until":"213.5744.182","originalSince":"192.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.40-eap-32-IJ2019.1-1","since":"191.5109.14","until":"191.5109.14","originalSince":"191.5109.14","originalUntil":"192.*"},{"id":"com.jetbrains.php","version":"192.4205.18","since":"192.4205","until":"192.4205","originalSince":"192.4205","originalUntil":"192.*"},{"id":"com.jetbrains.php.behat","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"com.jetbrains.php.blade","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"com.jetbrains.php.framework","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"com.jetbrains.php.drupal","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"CUBA","version":"10.0-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.0.2+2","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"MavenRunHelper","version":"4.0.183.4139.0","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"MavenRunHelper","version":"4.1.183.4139.0","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"Jetbrains TeamCity Plugin","version":"2019.1.65998","since":"143.2200","until":"171.4249","originalSince":"143.2200","originalUntil":null},{"id":"org.jetbrains.plugins.phpstorm-remote-interpreter","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"com.jetbrains.php.wordPress","version":"192.4205.18","since":"192.4205","until":"192.4300","originalSince":"192.4205","originalUntil":"192.*"},{"id":"net.lagerwey.cucumber-kotlin","version":"1.1.0","since":"182.711","until":"182.711","originalSince":"182.711","originalUntil":null},{"id":"com.android.aas","version":"1.1.0","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.3","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"nb-mind-map-idea","version":"1.4.6","since":"139.1803","until":"211","originalSince":"139.1803","originalUntil":null},{"id":"EditorGroups","version":"0.21","since":"182.0","until":"203","originalSince":"182.0","originalUntil":null},{"id":"MavenRunHelper","version":"4.2.183.4139.1","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"1.0","since":"182.0","until":"","originalSince":"1.0","originalUntil":null},{"id":"com.smilingrob.gitpair","version":"1.5","since":"141.0","until":"203","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.3.1","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"2.0","since":"182.0","until":"","originalSince":"2.0","originalUntil":null},{"id":"J2ME","version":"192.4","since":"192.1","until":"201","originalSince":"192.1","originalUntil":null},{"id":"com.idescout.sqlite","version":"6.1.0","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.2.0","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"org.elixir_lang","version":"10.6.0","since":"173.4674.33","until":"211.*","originalSince":"173.4674.33","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1362.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"com.mmyh.plugin.easyapp","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"UDC","version":"1.0.7","since":"139.0","until":"183.*","originalSince":"139.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.3.2","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"me.hiten.completion","version":"0.1","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"dk.demus.idea.CodeNarc","version":"4.2.1","since":"183.0","until":"193.*","originalSince":"183.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.1.2","since":"182.3684.2","until":"193.*","originalSince":"182.3684.2","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.70.6","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.0.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.0.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.0.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1559127677.707","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"3.0","since":"182.0","until":"","originalSince":"3.0","originalUntil":null},{"id":"spek-test-template-plugin","version":"0.1.1","since":"162.0","until":"192.*","originalSince":"162.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"4.0","since":"182.0","until":"","originalSince":"4.0","originalUntil":null},{"id":"net.lagerwey.cucumber-kotlin","version":"1.1.1","since":"182.711","until":"193.6015","originalSince":"182.711","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1386.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.0","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.40-eap-67-IJ2019.2-1","since":"192.4205.45","until":"192.4205.45","originalSince":"192.4205.45","originalUntil":"193.*"},{"id":"io.github.QCute.CodeCase","version":"1.0.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"4.0.1","since":"172.0","until":"","originalSince":"4.0","originalUntil":null},{"id":"MavenRunHelper","version":"4.3.183.4139.0","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"org.aion4j.avm","version":"0.3.5","since":"183.0","until":"222.*","originalSince":"183.0","originalUntil":null},{"id":"IdeaVIM","version":"0.51.2","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.2","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.petre-s.mock-gen-intellij","version":"0.3.1-beta","since":"162.0","until":"211","originalSince":"162.0","originalUntil":"300.*"},{"id":"org.intellij.plugins.hcl","version":"0.7.1","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"com.khahn.angular-extract-component","version":"1.1","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.10.2","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.4","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.idescout.sqlite","version":"6.1.1","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.2","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.3","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.dgtis.doclever.plugin.doclever-plugin","version":"1.0.0","since":"182.0","until":"","originalSince":"1.0","originalUntil":null},{"id":"MavenRunHelper","version":"4.4.183.4139.0","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"Struts Assistant","version":"192.7","since":"192.1","until":"193.1580","originalSince":"192.1","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.4.1","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.5.0","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.1.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.0.3","since":"191.6183","until":"192.4488","originalSince":"191.6183","originalUntil":"192.*"},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.7","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"reasonml","version":"0.77","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.0","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.1","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.8","since":"145.0","until":"231.*","originalSince":"145.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.2","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"MavenRunHelper","version":"4.5.183.4139.0","since":"183.4139","until":"194","originalSince":"183.4139","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.1.1+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1386.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"CUBA","version":"10.1-183","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.10.3","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"org.muzi.open.helper","version":"1.5","since":"181.*","until":"203.*","originalSince":"145.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.3","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.2","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.dgtis.doclever.plugin.doclever-plugin","version":"1.0.2","since":"163.0","until":"192.4787.16","originalSince":"111.0","originalUntil":"192.4787.16"},{"id":"co.nums.intellij.aem","version":"0.10.4","since":"172.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.3","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.idescout.sqlite","version":"6.2.0","since":"183.0","until":"211","originalSince":"183.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.31-release-IJ2019.2-1","since":"192.1","until":"192.1","originalSince":"192.1","originalUntil":"193.*"},{"id":"lsfusion.idea.plugin","version":"1.0.168","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.169","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"aws.toolkit","version":"1.4","since":"183.2153.8","until":"191.*","originalSince":"183.2153.8","originalUntil":"192.*"},{"id":"OdpsStudio","version":"3.2.0.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.3","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"LivePlugin","version":"0.6.3 beta","since":"191.6183.87","until":"213.*","originalSince":"191.6183.87","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-2.stable","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"1.3.40-eap-105-IJ2019.2-1","since":"192.4205.45","until":"192.4205.45","originalSince":"192.4205.45","originalUntil":"193.*"},{"id":"io.ballerina","version":"0.991.1","since":"183.0","until":"193","originalSince":"183.0","originalUntil":null},{"id":"com.alibaba.p3c.smartfox","version":"2.0.0","since":"145.0","until":"231","originalSince":"145.0","originalUntil":null},{"id":"com.intellij.plugins.sublimetextkeymap","version":"1.0.0","since":"201.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1560346459.737","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.5","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.1.1","since":"182.711","until":"202.*","originalSince":"182.711","originalUntil":null},{"id":"com.github.igrmk","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.igrmk","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.pwc.accelerator.market","version":"1.0","since":"173.0","until":"191.*","originalSince":"173.0","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.2","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.intellij.plugins.netbeanskeymap","version":"1.0.0","since":"201.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.intellij.plugins.eclipsekeymap","version":"1.0.0","since":"201.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.github.igrmk","version":"1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"10.5.1","since":"191.0","until":"211","originalSince":"191.0","originalUntil":null},{"id":"com.troyanovsky.idea.CodeHelper","version":"1.0","since":"191.0","until":"","originalSince":"IU-191.0","originalUntil":null},{"id":"com.ankit.mahadik.json.dart.class","version":"0.1","since":"171.0","until":"","originalSince":"1.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.3.5","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.2.0+3","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.android.tool.sizereduction.plugin","version":"0.3.0","since":"181.0","until":"192","originalSince":"181.0","originalUntil":null},{"id":"com.android.tool.sizereduction.plugin","version":"0.3.0","since":"181.0","until":"192","originalSince":"181.0","originalUntil":null},{"id":"io.github.likeanowl.topias","version":"1.0.3","since":"183.2940.10","until":"191.*","originalSince":"183.2940.10","originalUntil":null},{"id":"io.github.likeanowl.topias","version":"1.0.3b","since":"183.2940.10","until":"191.*","originalSince":"183.2940.10","originalUntil":null},{"id":"com.longforus.mvpautocodeplus","version":"1.4","since":"173.0","until":"213","originalSince":"173.0","originalUntil":null},{"id":"com.fabio","version":"1.1","since":"135.0","until":"","originalSince":"121.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.2.0","since":"182.711","until":"202.*","originalSince":"182.711","originalUntil":null},{"id":"io.github.likeanowl.topias","version":"1.0.4","since":"183.2940.10","until":"191.*","originalSince":"183.2940.10","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.3","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.36.0","since":"183.5912.21","until":"223.*","originalSince":"183.5912.21","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.37.0","since":"183.5912.21","until":"223.*","originalSince":"183.5912.21","originalUntil":null},{"id":"com.sofy.ai.ideaplugin","version":"1.2","since":"181.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"org.psliwa.idea.composer","version":"1.0.29","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":null},{"id":"shay.daniel.plugin.pysystemrunner","version":"7.1","since":"182.0","until":"203","originalSince":"182.0","originalUntil":null},{"id":"com.sofy.ai.ideaplugin","version":"1.2.1","since":"181.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.cybrosis.catdea","version":"1.1","since":"182.0","until":"202","originalSince":"182.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.4","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.5.0-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"io.heidou.codesearch","version":"1.0.0","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.sofy.ai.ideaplugin","version":"1.2.2","since":"181.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201906190638-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201906190729-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.2.2","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"com.github.novotnyr.maven-version-idea-plugin","version":"2","since":"172.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.4","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"idea-yapi","version":"1.0","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.170","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201906200518-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"NevaRiver","version":"1.01","since":"191.1","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.5","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.5.1-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1423.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"R4Intellij","version":"1.1","since":"145.258","until":"193.0","originalSince":"145.258","originalUntil":null},{"id":"MyBatisLogPlugin","version":"2.0.8","since":"191.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.4.1","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.4","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"tanvd.grazi","version":"2019.1-3.dev","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.dev","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.1-3.1.dev","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.1.dev","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"com.dongqing.plugin.findviews","version":"1.0","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"5.0","since":"172.0","until":"","originalSince":"5.0","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9.5","since":"182.711","until":"201.0","originalSince":"182.711","originalUntil":null},{"id":"reasonml","version":"0.78.1","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"com.structure101.intellij.developer.plugin","version":"5.0.14538","since":"162.0","until":"202.*","originalSince":"162.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201906240955-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.0-alpha","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.4","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"EclipseCodeFormatter","version":"19.0.181.000.0-Eclipse_2019-06-JavaOnly","since":"181.0","until":"202","originalSince":"181.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.4.201906250548-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.5.201906250806-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.github.kisstkondoros.codemetrics","version":"1.0.0","since":"191.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.vultix.intellij-ron","version":"2019.01.01","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.5.201906250954-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.seventh7.widget.iedis2","version":"2019.2","since":"191.7479.19","until":"191.*","originalSince":"191.7479.19","originalUntil":"193.*"},{"id":"tanvd.grazi","version":"2019.1-3.2.dev","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.2.dev","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.5.201906261114-RELEASE","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2019.2","since":"192.0","until":"211","originalSince":"192.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1561552950.913","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.5","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.seventh7.widget.iedis2","version":"2019.2.1","since":"191.7479.19","until":"191.*","originalSince":"191.7479.19","originalUntil":"193.*"},{"id":"com.vultix.intellij-ron","version":"2019.01.02","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.5.201906260743-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.commerce.integration","version":"2019.1","since":"191.0","until":"193","originalSince":"191.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.3.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1561578945.36","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.intellij.patch","version":"1.3.1","since":"173.0","until":"181.*","originalSince":"173.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.6.201906271146-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.6.201906270215-SNAPSHOT","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.6","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.4.6.201906270300-RELEASE","since":"145.0","until":"202","originalSince":"145.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.commerce.integration","version":"2019.2","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":null},{"id":"com.liferay.ide.intellij.plugin","version":"1.5.1","since":"182.0","until":"212.*","originalSince":"182.0","originalUntil":null},{"id":"idea-yapi","version":"1.0.1","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1432.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1432.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2019.2.1","since":"192.0","until":"211","originalSince":"192.0","originalUntil":null},{"id":"io.intino.plugin","version":"3.7.2","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"com.softbank.robot.sdkplugin","version":"1.3.7","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"com.vultix.intellij-ron","version":"2019.01.03","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.1-3.3.dev","since":"191.0","until":"191.*","originalSince":"191.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.3.dev","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.171","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.172","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"reasonml","version":"0.78.2","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"com.flipkart.dsp.dark.pheonix","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.6","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.seventh7.widget.iedis2","version":"2019.2.2","since":"191.7478.19","until":"191.*","originalSince":"191.7478.19","originalUntil":"193.*"},{"id":"IdeaVIM","version":"0.51.4","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"io.intino.plugin","version":"3.7.3","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.3","since":"139.1603","until":"203.*","originalSince":"139.1603","originalUntil":null},{"id":"rest.bef","version":"1.0","since":"183.0","until":"183.*","originalSince":"160.*","originalUntil":"183.*"},{"id":"tanvd.grazi","version":"2019.2-3.4.dev","since":"192.0","until":"192.*","originalSince":"192.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.7","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"jebe.liao.JBLLoveShortCut","version":"1.0","since":"143.0","until":"","originalSince":"133.0","originalUntil":null},{"id":"csense-idea.kotlin-checked-exceptions","version":"1.0-SNAPSHOT","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"csense-idea.kotlin-checked-exceptions","version":"0.7","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.0-alpha-1","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1437.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"com.jetbrains.CyanTheme","version":"1.1","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.jetbrains.darkPurpleTheme","version":"1.1","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.github.shiraji.yaemoji","version":"1.0.5","since":"181.5087","until":"223","originalSince":"181.5087","originalUntil":null},{"id":"net.aquadc.mike.plugin","version":"0.1-SNAPSHOT","since":"182.0","until":"221.*","originalSince":"182.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.4","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"net.aquadc.mike.plugin","version":"0.2","since":"182.0","until":"221.*","originalSince":"182.0","originalUntil":null},{"id":"com.vultix.intellij-ron","version":"2019.01.04","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"com.jetbrains.CyanTheme","version":"1.1.1","since":"191.0","until":"201","originalSince":"191.0","originalUntil":null},{"id":"com.cybrosis.catdea","version":"1.1.1","since":"182.0","until":"202","originalSince":"182.0","originalUntil":null},{"id":"CUBA","version":"11.0-183","since":"183.4284.148","until":"211","originalSince":"183.4284.148","originalUntil":null},{"id":"com.jetbrains.edu","version":"2.7-2019.2-2140","since":"192.5281","until":"192.5281","originalSince":"192.5281","originalUntil":"193.*"},{"id":"CUBA","version":"11.0-183","since":"183.4284.148","until":"211","originalSince":"183.4284.148","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"7.2","since":"183.2153.8","until":"183.*","originalSince":"183.2153.8","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.3.0.final","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.3","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.deadlock.scsyntax","version":"1.0.9","since":"183.0","until":"201","originalSince":"183.0","originalUntil":null},{"id":"net.aquadc.mike.plugin","version":"0.3","since":"182.0","until":"221.*","originalSince":"182.0","originalUntil":null},{"id":"com.crashlytics.tools.androidstudio","version":"4.4.0","since":"130.677","until":"181.*","originalSince":"130.677","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.7","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.3.1+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"DafnyPlugin4Intellij.DafnyPlugin4Intellij","version":"1.0","since":"191.0","until":"","originalSince":"UI-191.0","originalUntil":null},{"id":"fortify.fod","version":"19.2.1063","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.8","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.173","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"org.nxt.plugin.kitfox","version":"1.0.0-RELEASE","since":"172.0","until":"201.*","originalSince":"172.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.174","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.squareup.sqldelight","version":"1.1.4","since":"145.0","until":"232.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.5.2-idea14","since":"139.0","until":"201","originalSince":"139.0","originalUntil":null},{"id":"Struts Assistant","version":"192.8","since":"192.1","until":"193.1580","originalSince":"192.1","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.07.11.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.darkyen.wemi.intellij","version":"0.9","since":"181.0","until":"211","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.2.0","since":"182.3684.2","until":"193.*","originalSince":"182.3684.2","originalUntil":null},{"id":"net.aquadc.mike.plugin","version":"0.4","since":"182.0","until":"221.*","originalSince":"182.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1437.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.4","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.sgaop.codegenerat.nutzfw","version":"1.0.8.fix","since":"183.0","until":"231.*","originalSince":"183.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"3.0","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"training","version":"SNAPSHOT.713","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"jp.ikeponias","version":"1.0.2","since":"150.0","until":"203","originalSince":"150.0","originalUntil":null},{"id":"intellij-scheme","version":"0.1.6","since":"103.72","until":"193","originalSince":"103.72","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.07.14.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"DafnyPlugin4Intellij.DafnyPlugin4Intellij","version":"1.0.1","since":"191.0","until":"","originalSince":"UI-191.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.5","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"com.zhenai.lib.ZhenaiLintPlugin","version":"1.0.0","since":"172.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"training","version":"SNAPSHOT.715","since":"191.6183","until":"201","originalSince":"191.6183","originalUntil":null},{"id":"com.zhenai.lib.ZhenaiLintPlugin","version":"1.0.1","since":"172.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.6","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"3.0.1","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"com.android.aas","version":"2.0.0","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.0","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.1","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"org.slayer.testLinkIntegration","version":"3.0.2","since":"162.0","until":"211.*","originalSince":"162.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.2","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.6.9","since":"192.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"org.elm.klazuka","version":"3.2.1","since":"182.3684.2","until":"193.*","originalSince":"182.3684.2","originalUntil":null},{"id":"io.cacher.intellij","version":"1.0.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.3.2+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.3.1","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.0","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"DafnyPlugin4Intellij.DafnyPlugin4Intellij","version":"1.0.2","since":"191.0","until":"","originalSince":"UI-191.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.3","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.5.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"IdeaVIM","version":"0.51.5","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"OdpsStudio","version":"3.2.1","since":"141.0","until":"231.*","originalSince":"141.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190719.184131","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.github.bjansen.intellij.pebble","version":"0.6","since":"173.0","until":"212.*","originalSince":"173.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.3.3+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"io.github.QCute.CodeCase","version":"1.0.1","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.6.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"de.espend.idea.php.generics","version":"0.1.0","since":"191.0","until":"203","originalSince":"191.0","originalUntil":null},{"id":"org.liujing.plugin.json_serializable_format","version":"1.0","since":"135.0","until":"","originalSince":"107.121","originalUntil":null},{"id":"vette.neos","version":"1.1.0","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"org.liujing.plugin.json_serializable_format","version":"1.0.1","since":"135.0","until":"","originalSince":"107.121","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.07.21.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.7","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"io.intino.plugin","version":"4.0.0","since":"182.0","until":"232.*","originalSince":"182.0","originalUntil":null},{"id":"net.aquadc.mike.plugin","version":"0.5","since":"182.0","until":"221.*","originalSince":"182.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.7.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"NodeJS","version":"192.5728.87","since":"192.5728","until":"192.5728","originalSince":"192.5728","originalUntil":"192.*"},{"id":"DafnyPlugin4Intellij.DafnyPlugin4Intellij","version":"1.0.3","since":"191.0","until":"","originalSince":"UI-191.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-3.stable","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"training","version":"SNAPSHOT.734","since":"192.5728","until":"201","originalSince":"192.5728","originalUntil":null},{"id":"training","version":"192.5728.1","since":"192.5728","until":"201","originalSince":"192.5728","originalUntil":null},{"id":"training","version":"192.5728.2","since":"192.5728","until":"201","originalSince":"192.5728","originalUntil":null},{"id":"training","version":"192.5728.3","since":"192.5728","until":"192.*","originalSince":"192.5728","originalUntil":null},{"id":"com.vultix.intellij-ron","version":"2019.01.05","since":"183.0","until":"191.0","originalSince":"183.0","originalUntil":null},{"id":"com.netease.newsreader.plugin","version":"1.0","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"me.xiongjinteng.plugin.xbatis","version":"1.r.4","since":"182.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.81.1","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"IdeaVIM","version":"0.52","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"IdeaVIM","version":"0.52","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"io.github.QCute.RecordCompletion","version":"1.0.0","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"io.github.QCute.CodeCase","version":"1.0.2","since":"173.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"design.verybeautiful.onedarkmonokai","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"MyBatisLogPlugin","version":"2.0.9","since":"191.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"design.verybeautiful.onedarkmonokai","version":"0.1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"design.verybeautiful.onedarkmonokai","version":"0.1.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"design.verybeautiful.onedarkmonokai","version":"0.1.3","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.typ0520.jsontodart","version":"1.0.8","since":"171.3780","until":"192.*","originalSince":"171.3780","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.1","since":"171.0","until":"193.*","originalSince":"171.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.2","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.175","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.netease.newsreader.plugin","version":"1.1","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.netease.newsreader.plugin","version":"1.2","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.38.0","since":"183.5912.21","until":"223.*","originalSince":"183.5912.21","originalUntil":null},{"id":"org.avaje.ebean11.enhancer","version":"11.41.4","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"org.jspresso.plugin.ijds","version":"2.81.2","since":"141.0","until":"201.*","originalSince":"141.0","originalUntil":null},{"id":"ccom.intellij.idea.plugin.hybris.impex","version":"2019.2.3","since":"192.0","until":"211","originalSince":"192.0","originalUntil":null},{"id":"lsfusion.idea.plugin","version":"1.0.176","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.3","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"1.3.4+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"me.ely.kodegen","version":"0.1.1","since":"181.0","until":"231.*","originalSince":"181.0","originalUntil":null},{"id":"me.ely.codegen","version":"0.1.1","since":"181.0","until":"231.*","originalSince":"181.0","originalUntil":null},{"id":"com.atlassian.bitbucket.references","version":"7.3","since":"183.2153.8","until":"183.*","originalSince":"183.2153.8","originalUntil":null},{"id":"com.codota.csp.intellij","version":"2.9.8","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"org.moe.community","version":"1.4.5","since":"162.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.4","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"com.suiyiwen.plugin.idea.apidoc","version":"2.0","since":"192.0","until":"193.*","originalSince":"192.0","originalUntil":null},{"id":"CUBA","version":"11.1-183","since":"183.4284.148","until":"211","originalSince":"183.4284.148","originalUntil":null},{"id":"CUBA","version":"11.1-183","since":"183.4284.148","until":"211","originalSince":"183.4284.148","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2019.2","since":"192.0","until":"192.*","originalSince":"191.0","originalUntil":"192.*"},{"id":"cn.yiiguxing.plugin.translate","version":"2.3.8","since":"171.0","until":"223.*","originalSince":"171.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-4.1.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"com.deepexi.plugin.mapper-scan","version":"1.0.1","since":"172.0","until":"222.*","originalSince":"145.0","originalUntil":null},{"id":"net.jangaroo.idea.4","version":"4.0.18","since":"163.7743","until":"181.0","originalSince":"IU-163.7743.44","originalUntil":"IU-181.0"},{"id":"net.jangaroo.idea.4","version":"4.2018.18","since":"181.0","until":"","originalSince":"IU-181.0","originalUntil":null},{"id":"net.jangaroo.idea.4","version":"4.0.19","since":"163.7743","until":"181.0","originalSince":"IU-163.7743.44","originalUntil":"IU-181.0"},{"id":"net.jangaroo.idea.4","version":"4.2018.19","since":"181.0","until":"","originalSince":"IU-181.0","originalUntil":null},{"id":"tech.lnkd.LNKD-tech-Editor","version":"0.5-EARLY_ACCESS","since":"192.5728.12","until":"194.*","originalSince":"192.5728.12","originalUntil":null},{"id":"de.lukweb.discordbeam","version":"1.01","since":"183.4284.148","until":"192.*","originalSince":"183.4284.148","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.8","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.5","since":"191.5000","until":"192.*","originalSince":"191.5000","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190731.172226","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"DafnyPlugin4Intellij.DafnyPlugin4Intellij","version":"1.0.4","since":"191.0","until":"","originalSince":"UI-191.0","originalUntil":null},{"id":"tk.cofedream.plugin.mybatis","version":"1.3.0","since":"183.0","until":"183.*","originalSince":"183.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.3.2","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"de.halirutan.mathematica","version":"2019.2.1","since":"192.0","until":"192.*","originalSince":"191.0","originalUntil":"192.*"},{"id":"com.codota.csp.intellij","version":"2.9.9","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"cn.ivhik.wyb.intellij.plugin","version":"1.4","since":"171.0","until":"211.*","originalSince":"171.0","originalUntil":null},{"id":"io.ktor.intellij.plugin","version":"1.2.3","since":"170.0","until":"201","originalSince":"170.0","originalUntil":null},{"id":"IdeaVIM","version":"0.52.1","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.9","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.9.1-SNAPSHOT-1564684254.745","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190801.204518","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.16-20190801.211336","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"2.0.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"2.9.0","since":"173.2463","until":"183.*","originalSince":"173.2463","originalUntil":"191.*"},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.4","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"rest.bef","version":"1.1","since":"172.0","until":"183.*","originalSince":"160.*","originalUntil":"183.*"},{"id":"org.jspresso.plugin.ijds","version":"2.82.0","since":"191.0","until":"201.*","originalSince":"191.0","originalUntil":null},{"id":"com.vladsch.idea.multimarkdown","version":"2.9.7","since":"192.0","until":"212.0","originalSince":"192.0","originalUntil":null},{"id":"com.adebesin.spacemacs","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-4.2.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"io.ballerina","version":"1.0.0-alpha","since":"183.0","until":"193","originalSince":"183.0","originalUntil":null},{"id":"com.demisto.demisto-plugin","version":"0.9.6","since":"182.711","until":"201.0","originalSince":"182.711","originalUntil":null},{"id":"com.antoshk.jsf-el-extension-plugin","version":"0.1","since":"181.0","until":"192.0","originalSince":"171.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.08.04.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-4.stable","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"com.gentrio.runscriptplugin","version":"1.1","since":"171.0","until":"201.0","originalSince":"171.0","originalUntil":null},{"id":"com.netease.newsreader.plugin","version":"1.3","since":"141.0","until":"211","originalSince":"141.0","originalUntil":null},{"id":"io.github.lizhangqu.intellij.plugin.android.bundle","version":"1.0.6","since":"182.5107","until":"191.*","originalSince":"AI-182.5107","originalUntil":"AI-191.*"},{"id":"com.github.zxj5470.wxapp","version":"0.2.10","since":"172.0","until":"202.*","originalSince":"172.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.17","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.18-20190805.145722","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.10","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"J2ME","version":"192.5","since":"192.1","until":"201","originalSince":"192.1","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1565093500.238","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.5","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"2.0.1+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"2.0.1+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.sunny.plugin.MockitoGenPlugin","version":"1.3","since":"163.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"com.huawei.ide","version":"2.0.2019060","since":"181.0","until":"201.*","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.39.0","since":"183.5912.21","until":"223.*","originalSince":"183.5912.21","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.3.1","since":"139.1603","until":"203.*","originalSince":"139.1603","originalUntil":null},{"id":"org.avaje.ebean11.enhancer","version":"11.42.3","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.40.0","since":"191.8026.42","until":"223.*","originalSince":"191.8026.42","originalUntil":null},{"id":"io.intino.plugin","version":"4.0.1","since":"192.0","until":"232.*","originalSince":"192.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.41.0","since":"191.8026.42","until":"223.*","originalSince":"191.8026.42","originalUntil":null},{"id":"IdeaVIM","version":"0.53","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"IdeaVIM","version":"0.53","since":"183.2940.10","until":"201","originalSince":"183.2940.10","originalUntil":null},{"id":"training","version":"192.5728.4","since":"192.5728","until":"201","originalSince":"192.5728","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.18-20190807.140441","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"3.0.0","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.vladsch.git-file-case-fixer","version":"1.0.16","since":"163.15529","until":"202.*","originalSince":"163.15529","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.18-20190807.171316","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.18-20190807.175223","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.08.07.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"cn.sugarapp.plugins.yaml2props","version":"1.0.1","since":"173.0","until":"232","originalSince":"173.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1565269337.558","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.20-20190808.142432","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.19","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.11","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.5","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.heytea.plugin.ccg","version":"1.0.0","since":"172.0","until":"","originalSince":"123.72","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1467.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"com.illuminatedcloud.intellij","version":"1.8.5.3-idea19","since":"192.0","until":"201","originalSince":"192.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.6","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"fortify.fod","version":"19.3.2005","since":"162.0","until":"213.*","originalSince":"162.0","originalUntil":null},{"id":"me.ely.kodegen","version":"0.2","since":"181.0","until":"231.*","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.20-20190810.014531","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.20-20190810.022152","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.sunny.plugin.MockitoGenPlugin","version":"1.3.1","since":"163.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"com.kenshoo.logzio-intellij-plugin","version":"1.0.8","since":"171.0","until":"192.*","originalSince":"163.15529","originalUntil":"192.*"},{"id":"com.bytedance.jedi.jdt","version":"1.0.5","since":"173.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"org.avaje.ebean11.enhancer","version":"11.42.4","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.21","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.22-20190812.143216","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"tv.twelvetone.intellij.plugins.intellivue","version":"1.0.0-rc.12","since":"173.0","until":"201","originalSince":"173.0","originalUntil":null},{"id":"vette.neos","version":"1.1.1","since":"145.0","until":"203.3645.34","originalSince":"145.0","originalUntil":null},{"id":"com.koxudaxi.pydantic","version":"0.0.11","since":"192.0","until":"211.*","originalSince":"192.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.22-20190812.203548","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.fireline.plugin.id","version":"1.7.2","since":"141.0","until":"181","originalSince":"141.0","originalUntil":null},{"id":"synergix.plugin.intellj","version":"2.0","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":null},{"id":"com.sogou.adstream.code-sync","version":"0.0.1","since":"183.0","until":"201.*","originalSince":"183.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1565696143.44","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"detekt","version":"0.3.1","since":"171.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"com.vaadin.designer2.intellij","version":"4.3.3","since":"145.0","until":"181.*","originalSince":"145.0","originalUntil":null},{"id":"org.broadinstitute.wdl.devtools","version":"0.0.59","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.rickykurt.plugin.vant","version":"1.0.2","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"woainikk.kotlinizing-statistics","version":"1.2","since":"143.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.jetbrains.fast.mouse.scroll","version":"1.4","since":"191.4212.41","until":"201","originalSince":"191.4212.41","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.22-20190814.121641","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"4.3.4","since":"192.6262","until":"192.*","originalSince":"192.5728.12","originalUntil":"192.*"},{"id":"com.koxudaxi.pydantic","version":"0.0.12","since":"192.0","until":"211.*","originalSince":"192.0","originalUntil":null},{"id":"org.broadinstitute.wdl.devtools","version":"0.0.60","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.jetbrains.intellij.api.watcher","version":"6.42.0","since":"191.8026.42","until":"223.*","originalSince":"191.8026.42","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1565814992.142","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.phpinnacle.redoc","version":"0.3","since":"182.0","until":"201.*","originalSince":"182.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1565874031.176","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.7","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"org.elixir_lang","version":"11.0.0","since":"192.4820","until":"211.*","originalSince":"192.4820","originalUntil":null},{"id":"org.broadinstitute.wdl.devtools","version":"0.0.64","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1467.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"com.jetbrains.upsource","version":"2019.1.1473.9","since":"191.6183.87","until":"222","originalSince":"191.6183.87","originalUntil":null},{"id":"org.semonte.intellij.swagger","version":"1.0.0","since":"183.0","until":"193.0","originalSince":"183.0","originalUntil":null},{"id":"org.elixir_lang","version":"11.0.1","since":"192.4820","until":"211.*","originalSince":"192.4820","originalUntil":null},{"id":"com.koxudaxi.pydantic","version":"0.0.13","since":"192.0","until":"211.*","originalSince":"192.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.22-20190816.192705","since":"181.0","until":"213","originalSince":"181.0","originalUntil":null},{"id":"org.broadinstitute.wdl.devtools","version":"0.0.65","since":"172.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.vultix.intellij-ron","version":"2019.02.01","since":"191.0","until":"193.0","originalSince":"191.0","originalUntil":null},{"id":"reasonml","version":"0.78.3","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"reasonml","version":"0.78.4","since":"173.0","until":"180.*","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.08.17.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.werfad","version":"1.0.0","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.andrey4623.rainbowcsv","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.08.18.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"signal9.icon-java-plugin","version":"1.1-SNAPSHOT","since":"173.2147483647","until":"201.0","originalSince":"173.*","originalUntil":null},{"id":"com.neueda4j.intellij.plugin.cypher","version":"2.5.6","since":"192.0","until":"201","originalSince":"192.0","originalUntil":null},{"id":"com.yyh.filter","version":"0.0.1","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.koxudaxi.pydantic","version":"0.0.14","since":"192.0","until":"211.*","originalSince":"192.0","originalUntil":null},{"id":"org.semonte.intellij.swagger","version":"1.0.1","since":"183.0","until":"193.0","originalSince":"183.0","originalUntil":null},{"id":"lv.midiana.misc.idea-plugins.deep-js-completion","version":"2019.08.19.001","since":"182.3569.36","until":"211","originalSince":"182.3569.36","originalUntil":null},{"id":"com.sunny.plugin.MockitoGenPlugin","version":"1.4.0","since":"163.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"org.avaje.ebean11.enhancer","version":"11.43.2","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"com.yyh.filter","version":"0.0.2","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.illuminatedcloud2.intellij","version":"2.0.7.8","since":"183.3975.13","until":"193.*","originalSince":"183.3975.13","originalUntil":null},{"id":"com.jfrog.conan.clion","version":"1.1.2","since":"180.0","until":"222","originalSince":"180.0","originalUntil":null},{"id":"com.github.mustfun.plugin.mybatis","version":"1.0.12","since":"182.3684","until":"192.0","originalSince":"182.3684","originalUntil":null},{"id":"com.codestream.jetbrains-codestream","version":"2.1.0+1","since":"182.2371.4","until":"231.*","originalSince":"182.2371.4","originalUntil":null},{"id":"com.evolitist.ev3c","version":"0.8.2","since":"190.0","until":"199.0","originalSince":"CL-190.0","originalUntil":"CL-199.0"},{"id":"lsfusion.idea.plugin","version":"1.0.177","since":"171.3780.107","until":"213","originalSince":"171.3780.107","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"1.4","since":"162.0","until":"203.*","originalSince":"139.1603","originalUntil":null},{"id":"tanvd.grazi","version":"2019.2-5.1.dev","since":"192.3645","until":"192.*","originalSince":"192.3645","originalUntil":null},{"id":"com.hpe.adm.octane.ideplugins.intellij","version":"2016.3-12.60.60.1","since":"191.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.codota.csp.intellij","version":"3.0.1","since":"171.0","until":"211.0","originalSince":"171.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1566402950.961","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1566406991.599","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"org.dimdev.knit","version":"2.0","since":"190.0","until":"999.*","originalSince":"190.0","originalUntil":"1000.*"},{"id":"leetcode-editor","version":"5.0","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.andrey4623.rainbowcsv","version":"1.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.kassak.dg-test-helper","version":"0.01","since":"193.0","until":"993.0","originalSince":"171.0","originalUntil":"993.0"},{"id":"color.scheme.GapStyle","version":"2.3","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"rest.bef","version":"1.2","since":"172.0","until":"183.*","originalSince":"160.*","originalUntil":"183.*"},{"id":"leetcode-editor","version":"5.1","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"kaboyi.ideaplugins.wordcount","version":"1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.alipay.antcloud.ide","version":"1.0.13","since":"183.0","until":"201","originalSince":"143.0","originalUntil":null},{"id":"dev.blachut.svelte.lang","version":"0.9.0","since":"192.0","until":"201.0","originalSince":"191.0","originalUntil":"201.0"},{"id":"com.airsaid.InspireWriting","version":"1.0.1","since":"172.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"myBitbucket","version":"0.3","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.1.6","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.microfocus.intellij.plugin.gitclient","version":"1.1.0","since":"182.0","until":"193.*","originalSince":"180.0","originalUntil":"193.9999"},{"id":"rest.bef","version":"1.3","since":"172.0","until":"191.*","originalSince":"160.*","originalUntil":"191.*"},{"id":"site.forgus.plugins.api-generator","version":"2.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"manifold.ij","version":"2019.1.14","since":"181.0","until":"192.0","originalSince":"173.0","originalUntil":"999.*"},{"id":"com.zephir","version":"0.3.3","since":"141.0","until":"","originalSince":"130.1","originalUntil":null},{"id":"org.teavm.idea","version":"0.6.0","since":"172.0","until":"","originalSince":"163.9166.7","originalUntil":null},{"id":"com.villains.intelij.plugin.trashpandatheme","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.kassak.dg-test-helper","version":"0.02","since":"193.0","until":"993.0","originalSince":"171.0","originalUntil":"993.0"},{"id":"io.paleocrafter.chronomorph","version":"2019.2-0.2.0","since":"183.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"4.5","since":"192.6603","until":"192.*","originalSince":"192.6262.7","originalUntil":"192.*"},{"id":"com.villains.intelij.plugin.trashpandatheme","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.airsaid.InspireWriting","version":"1.0.2","since":"172.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.intellij.plugins.visualstudiokeymap","version":"1.0.0","since":"201.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.11","since":"173.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"co.nums.intellij.aem","version":"0.11.1","since":"173.0","until":"193","originalSince":"172.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1568804120.493","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"com.badoo.ribs.intellij-plugin","version":"0.3.1-SNAPSHOT-1568815603.957","since":"182","until":"201","originalSince":"163.0","originalUntil":null},{"id":"io.github.xiaopihai7256","version":"0.1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.github.xiaopihai7256","version":"0.1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"kaboyi.ideaplugins.wordcount","version":"1.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.heytea.plugin.ccg","version":"1.1.0","since":"191.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"io.github.xiaopihai7256","version":"0.2.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.zalesskyi.csv_translator","version":"1.0","since":"172.0","until":"","originalSince":"139.1603","originalUntil":null},{"id":"JRebelPlugin","version":"2019.2.0","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"MIFCMNotification.MIFCMNotification","version":"0.1","since":"182.0","until":"191.*","originalSince":"172.0","originalUntil":null},{"id":"com.intellij.plugins.netbeanskeymap","version":"2.0.0","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.zalesskyi.csv_translator","version":"1.0.1","since":"172.0","until":"","originalSince":"139.1603","originalUntil":null},{"id":"com.zalesskyi.csv_translator","version":"1.0.2","since":"172.0","until":"","originalSince":"IU-171.4694.73","originalUntil":null},{"id":"leetcode-editor","version":"5.2","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.intellij.plugins.eclipsekeymap","version":"193.4089","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.netbeanskeymap","version":"193.4089","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.sublimetextkeymap","version":"193.4089","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.visualstudiokeymap","version":"193.4089","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.emacskeymap","version":"193.4106","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.gnomekeymap","version":"193.4106","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.kdekeymap","version":"193.4106","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.plugins.xwinkeymap","version":"193.4106","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"shirotelinintellij.yasukotelin.com.github","version":"1.2.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"net.antelle.intellij-xcode-dark-theme","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"WxbYapiUpload","version":"2.0.0","since":"162.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"shirotelinintellij.yasukotelin.com.github","version":"1.2.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.malbul.idea.theme.breath","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.android.aas","version":"3.0.0","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"com.wrike.plugin.intellij","version":"0.14.7","since":"172.0","until":"211.*","originalSince":"131.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.0","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.0.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.1","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.1.0","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.1.0","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.1.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.pandora.plugins.kotlin_converter","version":"0.4.1","since":"172.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.2.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"pl.dominikw.Windchill-Intellij-Plugin","version":"0.3.0","since":"192.0","until":"192.*","originalSince":"191.0","originalUntil":"192.*"},{"id":"site.forgus.plugins.api-generator","version":"3.3.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.2","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.3","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"leetcode-editor","version":"5.4","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.5","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"WxbYapiUpload","version":"2.0.1","since":"162.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.7","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.8","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.3.11","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"shirotelinintellij.yasukotelin.com.github","version":"1.3.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.2","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.2.0","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"manifold.ij","version":"2019.3.1","since":"193.0","until":"193.*","originalSince":"192.999","originalUntil":"193.*"},{"id":"cn.vove7.ide.plugin.eventbus_navigator","version":"1.2.2","since":"191.0","until":"211","originalSince":"172.0","originalUntil":null},{"id":"com.hrzntsudio.spatialos.intellij","version":"0.2","since":"182.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"manifold.ij","version":"2019.3.2","since":"193.0","until":"193.*","originalSince":"192.999","originalUntil":"193.*"},{"id":"site.forgus.plugins.api-generator","version":"3.5.0","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.5.1","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"site.forgus.plugins.api-generator","version":"3.5.2","since":"181.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.0","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"hebehan.easychangefontsize","version":"1.2","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.2","since":"192.0","until":"193.*","originalSince":"192.0","originalUntil":"201.*"},{"id":"palantir-java-format","version":"0.2.1","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.reallyliri.plugins.interfacepairing","version":"1.1","since":"191.0","until":"","originalSince":"88.*","originalUntil":null},{"id":"com.intellij.plugins.watcher","version":"201.5","since":"201.5","until":"201.3802","originalSince":"201.5","originalUntil":"201.*"},{"id":"palantir-java-format","version":"0.2.2","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.reallyliri.plugins.no-namespace-providers","version":"1.0","since":"182.0","until":"","originalSince":"88.*","originalUntil":null},{"id":"palantir-java-format","version":"0.2.3","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.4","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"detekt","version":"0.3.2","since":"171.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.5","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.drinchev.projectlabel","version":"1.0","since":"192.0","until":"232.*","originalSince":"141.0","originalUntil":null},{"id":"manifold.ij","version":"2019.3.3","since":"193.0","until":"193.*","originalSince":"192.999","originalUntil":"193.*"},{"id":"org.dandoh.favacts","version":"0.0.1","since":"192.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"com.reallyliri.plugins.no-namespace-providers","version":"1.2","since":"182.0","until":"","originalSince":"88.*","originalUntil":null},{"id":"se.fortnox.jbehavesinglescenario.jbehavesinglescenario","version":"2.0-SNAPSHOT","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.6","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.7","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"palantir-java-format","version":"0.2.8","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"pl.dominikw.Windchill-Intellij-Plugin","version":"0.3.1","since":"192.0","until":"192.*","originalSince":"191.0","originalUntil":"192.*"},{"id":"se.fortnox.jbehavesinglescenario.jbehavesinglescenario","version":"2.1","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.0","since":"193","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.intellij.plugins.eclipsekeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.emacskeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.gnomekeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.kdekeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.netbeanskeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.sublimetextkeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.visualstudiokeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"com.intellij.plugins.xwinkeymap","version":"193.4778.7","since":"201.0","until":"","originalSince":"193.4778","originalUntil":null},{"id":"shirotelinintellij.yasukotelin.com.github","version":"1.4.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"shirotelinintellij.yasukotelin.com.github","version":"1.4.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"id.mustofa.breeze-dark","version":"0.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.reallyliri.plugins.no-namespace-providers","version":"1.3","since":"182.0","until":"","originalSince":"88.*","originalUntil":null},{"id":"JRebelPlugin","version":"2019.2.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"manifold.ij","version":"2019.3.4","since":"193.0","until":"193.*","originalSince":"192.999","originalUntil":"193.*"},{"id":"com.intellij.plugins.netbeanskeymap","version":"193.4932.9","since":"201.0","until":"","originalSince":"193.4932","originalUntil":null},{"id":"com.intellij.plugins.macoskeymap","version":"193.4932.9","since":"201.0","until":"","originalSince":"193.4932","originalUntil":null},{"id":"io.github.lizhangqu.intellij.plugin.android.bundle","version":"1.0.7","since":"191.0","until":"195.*","originalSince":"AI-191.0","originalUntil":"AI-195.*"},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.16","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"com.reallyliri.plugins.interfacepairing","version":"1.2","since":"191.0","until":"","originalSince":"88.*","originalUntil":null},{"id":"site.wangxing.plugin.format.field.pyramid","version":"1.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.naixiaoxin.idea.hyperf","version":"1.0.0","since":"183.0","until":"","originalSince":"173.4127","originalUntil":null},{"id":"com.github.czy211.licensetemplate","version":"1.0.0","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.18","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.0.1","since":"172.0","until":"213.*","originalSince":"172.0","originalUntil":"300.0"},{"id":"artsiomch.cmake.plus","version":"193.1.1","since":"192.0","until":"193.5662","originalSince":"192.0","originalUntil":"194.0"},{"id":"palantir-java-format","version":"0.3.1","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.2","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.0.2","since":"182.0","until":"213.*","originalSince":"182.0","originalUntil":"300.0"},{"id":"kaboyi.ideaplugins.wordcount","version":"1.2","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"kaboyi.ideaplugins.wordcount","version":"1.2.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"kaboyi.ideaplugins.wordcount","version":"1.2.2","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"test-rail-plugin","version":"1.4.9","since":"192.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.dgtis.code.gen.plugin.code-gen-plugin","version":"6.0.1","since":"172.0","until":"","originalSince":"6.0","originalUntil":null},{"id":"test-rail-plugin","version":"1.5.0","since":"192.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.yiwowang.plugin.config","version":"1.0.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.bytedance.jedi.jdt","version":"1.0.8","since":"182.0","until":"202","originalSince":"173.0","originalUntil":null},{"id":"io.github.xiaopihai7256","version":"0.3.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"csense-idea.csense-kotlin-annotations","version":"0.1","since":"192.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.yiwowang.plugin.config","version":"1.1.0","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"JRebelPlugin","version":"2019.2.2","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"org.jetbrains.kotlin","version":"1.3.61-release-Studio3.6-1","since":"192.4787.16.36.5737808","until":"192.7142","originalSince":"192.4787.16.36.5737808","originalUntil":"192.*"},{"id":"com.jedide.apex","version":"2.1.8.193","since":"193.5233","until":"193.5662","originalSince":"193.5233","originalUntil":"193.*"},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"IU-LATEST-EAP-SNAPSHOT","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"palantir-java-format","version":"0.3.3","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.jetbrains.plugins.hocon","version":"2019.3.4","since":"193.0","until":"203.*","originalSince":"193.0","originalUntil":"220.0"},{"id":"com.intellij.marketplace","version":"193.5233.102","since":"193.5233","until":"193.*","originalSince":"193.0","originalUntil":"193.*"},{"id":"org.jetbrains.plugins.hocon","version":"2019.3.5","since":"193.0","until":"203.*","originalSince":"193.0","originalUntil":"220.0"},{"id":"color.scheme.GapStyle","version":"2.4","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.20","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.0.0","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"com.heyangli.www.translation","version":"1.0","since":"182.0","until":"","originalSince":"180.*","originalUntil":null},{"id":"com.android.aas","version":"3.1.0","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.1","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"com.rookout.pycharm-plugin","version":"1.13.0-pycharm","since":"193.5233","until":"193.*","originalSince":"192.6603.28","originalUntil":"193.*"},{"id":"org.lso.logit","version":"v1.0","since":"191.0","until":"193.*","originalSince":"191.0","originalUntil":"194.*"},{"id":"com.viartemev.requestmapper","version":"0.17","since":"183.0","until":"211.*","originalSince":"141.0","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.2","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"palantir-java-format","version":"0.3.4","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.3","since":"193.0","until":"193.*","originalSince":"193.0","originalUntil":"201.*"},{"id":"hu.aradipatrik.onedarknative","version":"1.5","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"hu.aradipatrik.nightowlnative","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"AutoYApi","version":"1.0.29","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.joncpl.jDark","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"AutoYApi","version":"1.0.30","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"csense-idea.kotlin-checked-exceptions","version":"0.9.7","since":"192.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.5","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.6","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.7","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.21","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.3","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.3.1","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"io.scriptcloud.plugin","version":"0.1.4","since":"183.0","until":"193.*","originalSince":"181.0","originalUntil":"193.*"},{"id":"indent-rainbow.indent-rainbow","version":"1.0.3","since":"182.0","until":"213.*","originalSince":"182.0","originalUntil":"300.0"},{"id":"com.joker.intellij.plugin","version":"0.5","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"cn.intellizhi.templatesupport","version":"1.2","since":"182.0","until":"193.*","originalSince":"173.0","originalUntil":"193.*"},{"id":"cn.mycommons.serializednamegen","version":"0.7","since":"192.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.4","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"palantir-java-format","version":"0.3.8","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.joncpl.jDark","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"idv.freddie.plugin.decompiler","version":"0.5.0","since":"192.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.layoutmanager","version":"1.2.0","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.youngfeng.ideaplugin.generateserialversionuid","version":"0.1.0-beta","since":"183.0","until":"193.*","originalSince":"93.13","originalUntil":"193.*"},{"id":"uk.co.ben-gibson.remote.repository.mapper","version":"3.3.2","since":"162.94","until":"","originalSince":"IU-162.94","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.0.4","since":"182.0","until":"213.*","originalSince":"182.0","originalUntil":"300.0"},{"id":"com.wang.okhttpparamsget","version":"2.0.0","since":"182.0","until":"","originalSince":"174.0","originalUntil":null},{"id":"com.youngfeng.ideaplugin.generateserialversionuid","version":"0.1.0","since":"183.0","until":"193.*","originalSince":"93.13","originalUntil":"193.*"},{"id":"com.layoutmanager","version":"1.2.2","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.yiwowang.plugin.config","version":"1.3.0","since":"182.0","until":"","originalSince":"170.0","originalUntil":null},{"id":"com.yiwowang.plugin.config","version":"1.3.1","since":"182.0","until":"","originalSince":"170.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.9","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.shuqi.tools.translate-properties","version":"1.2","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.yiwowang.plugin.config","version":"1.3.2","since":"182.0","until":"","originalSince":"170.0","originalUntil":null},{"id":"com.youngfeng.ideaplugin.generateserialversionuid","version":"0.2.0","since":"193.0","until":"193.*","originalSince":"93.13","originalUntil":"193.*"},{"id":"com.layoutmanager","version":"1.2.3","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"io.scriptcloud.plugin","version":"0.1.5","since":"183.0","until":"193.*","originalSince":"181.0","originalUntil":"193.*"},{"id":"io.scriptcloud.plugin","version":"0.1.6","since":"183.0","until":"193.*","originalSince":"181.0","originalUntil":"193.*"},{"id":"com.youngfeng.ideaplugin.generateserialversionuid","version":"0.2.1","since":"193.0","until":"193.*","originalSince":"93.13","originalUntil":"193.*"},{"id":"com.wang.okhttpparamsget","version":"2.0.1","since":"182.0","until":"","originalSince":"174.0","originalUntil":null},{"id":"io.scriptcloud.plugin","version":"0.1.7","since":"183.0","until":"193.*","originalSince":"181.0","originalUntil":"193.*"},{"id":"com.layoutmanager","version":"1.3.0","since":"192.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.uber.motif","version":"0.0.1","since":"183.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.uber.motif","version":"0.0.2","since":"183.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.uber.motif","version":"0.0.3","since":"183.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.0.5","since":"182.0","until":"213.*","originalSince":"182.0","originalUntil":"300.0"},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.4.1","since":"193.0","until":"232.*","originalSince":"192.4257","originalUntil":null},{"id":"com.jedide.apex","version":"2.1.9.193","since":"193.5233","until":"193.5662","originalSince":"193.5233","originalUntil":"193.*"},{"id":"indent-rainbow.indent-rainbow","version":"1.1.0","since":"193.0","until":"213.*","originalSince":"193.0","originalUntil":"700.0"},{"id":"artsiomch.cmake.plus","version":"193.2.1","since":"192.0","until":"193.5662","originalSince":"192.0","originalUntil":"194.0"},{"id":"MyBatisLogPlugin","version":"2.1.0","since":"191.0","until":"193.*","originalSince":"141.0","originalUntil":null},{"id":"be.ugent.piedcler.dodona","version":"2.0.0","since":"183.6156","until":"192.*","originalSince":"171.0","originalUntil":"192.*"},{"id":"be.ugent.piedcler.dodona","version":"2.0.1","since":"183.6156","until":"","originalSince":"171.0","originalUntil":null},{"id":"leetcode-editor","version":"6.0","since":"182.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.xyz.caofancpu.D8gerAutoCode","version":"1.20","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.xyz.caofancpu.D8gerAutoCode","version":"1.21","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"leetcode-editor","version":"6.1","since":"182.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"com.xyz.caofancpu.D8gerAutoCode","version":"1.22","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.dengzii.plugin.template","version":"1.0","since":"191.0","until":"","originalSince":"182.711","originalUntil":null},{"id":"com.shuqi.tools.cmp-helper","version":"0.9.3","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.reedelk.plugin","version":"0.6.0","since":"192.0","until":"194.0","originalSince":"191.0","originalUntil":"194.0"},{"id":"com.fwdekker.randomness","version":"2.4.0","since":"191.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.xyz.caofancpu.D8gerAutoCode","version":"1.23","since":"182.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"JRebelPlugin","version":"2020.1.0.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.github.gilday.darkmode","version":"1.1.0","since":"193.0","until":"193.*","originalSince":"192.0","originalUntil":"193.*"},{"id":"palantir-java-format","version":"0.3.10","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"artsiomch.cmake.plus","version":"193.3.1","since":"192.0","until":"193.5662","originalSince":"192.0","originalUntil":"194.0"},{"id":"dcevm-plugin","version":"1.0.2","since":"202","until":"223.*","originalSince":"192.0","originalUntil":null},{"id":"com.android.aas","version":"3.1.1","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"leetcode-editor","version":"6.2","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.11","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.12","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.tom.fonter","version":"1.0.2","since":"192.0","until":"232.*","originalSince":"192.0","originalUntil":"900.*"},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.31","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"com.huawei.deveco.hms","version":"2.0.0.300","since":"182.5","until":"191.*","originalSince":"145.0","originalUntil":"191.*"},{"id":"palantir-java-format","version":"0.3.13","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.1.1","since":"183","until":"213.*","originalSince":"171.0","originalUntil":"700.0"},{"id":"palantir-java-format","version":"0.3.14","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.15","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.android.aas","version":"3.1.2","since":"182.5107","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":null},{"id":"palantir-java-format","version":"0.3.16","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.17","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.18","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200128.1","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200128.2","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"com.decentralized.internet.id","version":"1.0","since":"192.0","until":"201.0","originalSince":"173.0","originalUntil":null},{"id":"com.rookout.pycharm-plugin","version":"1.15.0-pycharm","since":"193.0","until":"193.*","originalSince":"192.6603.28","originalUntil":"193.*"},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200129.1","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.19","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.2.0","since":"183.0","until":"213.*","originalSince":"182.0","originalUntil":"700.0"},{"id":"palantir-java-format","version":"0.3.20","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"training","version":"201.4515.39","since":"201.4515","until":"201.4515","originalSince":"201.4515","originalUntil":"201.*"},{"id":"palantir-java-format","version":"0.3.21","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.22","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.jedide.apex","version":"2.2.0.193.IC","since":"193.5233","until":"193.5662","originalSince":"193.5233","originalUntil":"193.*"},{"id":"ch.raffael.idea.plugins.runpopup","version":"1.1.0","since":"183.0","until":"199.0","originalSince":"181.0","originalUntil":null},{"id":"com.jedide.apex","version":"2.2.1.193","since":"193.5233","until":"193.5662","originalSince":"193.5233","originalUntil":"193.*"},{"id":"com.jedide.apex","version":"2.2.1.193.IC","since":"193.5233","until":"193.5662","originalSince":"193.5233","originalUntil":"193.*"},{"id":"com.badoo.liveprof.plugins","version":"0.1.1","since":"190.0","until":"300.0","originalSince":"174.0","originalUntil":null},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200206.1","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"net.jangaroo.idea.4","version":"4.2018.20","since":"181.0","until":"","originalSince":"IU-181.0","originalUntil":null},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200207.1","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"io.reactjava.reactjava-lang","version":"SNAPSHOT-1.200208.1","since":"193.0","until":"","originalSince":"IU-193.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.23","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.zxy.ijplugin.wechat-miniprogram","version":"1.8.1","since":"201.4515","until":"232.*","originalSince":"193.2723","originalUntil":null},{"id":"com.github.syuchan1005.emojiprefix","version":"2.1.3","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.34","since":"182.5262","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"dev.blachut.svelte.lang","version":"0.12.1","since":"192.0","until":"202.*","originalSince":"192.0","originalUntil":"211.0"},{"id":"be.ugent.piedcler.dodona","version":"2.0.2","since":"183.6156","until":"","originalSince":"171.0","originalUntil":null},{"id":"be.ugent.piedcler.dodona","version":"2.0.3","since":"192.7142","until":"","originalSince":"183.6156","originalUntil":null},{"id":"net.jangaroo.idea.4","version":"4.2018.21","since":"181.0","until":"","originalSince":"IU-181.0","originalUntil":null},{"id":"com.jedide.apex","version":"2.2.2.193","since":"193.5662","until":"193.*","originalSince":"193.5233","originalUntil":"193.*"},{"id":"JRebelPlugin","version":"2020.1.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"palantir-java-format","version":"0.3.24","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"R4Intellij","version":"193.5223.529","since":"193.5233","until":"193.*","originalSince":"193.5223","originalUntil":"193.*"},{"id":"palantir-java-format","version":"0.3.25","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.dudariev.converter.generator","version":"1.2.0","since":"193.0","until":"","originalSince":"IC-193.0","originalUntil":null},{"id":"com.github.gtache.lsp","version":"1.6.1","since":"193.0","until":"203.*","originalSince":"182.0","originalUntil":null},{"id":"com.yagaan.yagaan-intellij-plugin","version":"1.1.0","since":"193.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"io.plugin.tsnode","version":"2020.2.18.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.26","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"leetcode-editor","version":"6.3","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"io.plugin.tsnode","version":"2020.2.19.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.android.aas","version":"3.1.3","since":"192","until":"192.7142","originalSince":"AI-182.5107.16","originalUntil":"AI-192.7142.36"},{"id":"com.shizhuang.duapp.ideaplugin","version":"0.9.1-SNAPSHOT","since":"191.0","until":"192.7142","originalSince":"173.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.30.38","since":"193.6494","until":"","originalSince":"172.2465.6","originalUntil":null},{"id":"com.teamnova.stickode.plugin","version":"0.2.5","since":"192.5728","until":"","originalSince":"191.6010548","originalUntil":null},{"id":"com.android.aas","version":"3.1.4","since":"192","until":"192.*","originalSince":"AI-182.5107.16","originalUntil":"AI-192.*"},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.5","since":"202.48","until":"202.2170","originalSince":"202.48","originalUntil":"202.*"},{"id":"org.jetbrains.plugins.hocon","version":"2020.1.0","since":"201.0","until":"203.*","originalSince":"201.0","originalUntil":"220.0"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"20.1.146","since":"192.6817","until":"193.6494","originalSince":"173.3","originalUntil":"193.*"},{"id":"indent-rainbow.indent-rainbow","version":"1.3.0","since":"183.0","until":"213.*","originalSince":"182.0","originalUntil":"700.0"},{"id":"com.android.aas","version":"3.1.5","since":"193","until":"193.*","originalSince":"AI-182.5107.16","originalUntil":"AI-193.*"},{"id":"A move tab left and right using the keyboard plugin - by momomo.com","version":"12.550","since":"111","until":"","originalSince":"101.0","originalUntil":null},{"id":"com.intellij.STAintellij.intellij_plugin","version":"20.2.149","since":"192.6817","until":"201.5985","originalSince":"173.3","originalUntil":"201.*"},{"id":"org.jetbrains.kotlin","version":"1.3.70-release-IJ2019.3-1","since":"193.6494","until":"193.*","originalSince":"193.4099.13","originalUntil":"193.*"},{"id":"DeepBugsJavaScript","version":"0.4","since":"192.5728","until":"193.*","originalSince":"192.5728","originalUntil":"201.*"},{"id":"com.github.amibiz.ergokeys","version":"1.7","since":"183.3","until":"201.*","originalSince":"181.0","originalUntil":"201.*"},{"id":"IvyIDEA","version":"1.0.16","since":"193.6494","until":"","originalSince":"143.2370.31","originalUntil":null},{"id":"com.andreycizov.partialnav","version":"1.2","since":"171.1834","until":"","originalSince":"IC-171.1834.9","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.4.0","since":"183.0","until":"213.*","originalSince":"182.0","originalUntil":"700.0"},{"id":"com.andreycizov.partialnav","version":"1.3","since":"171.1834","until":"","originalSince":"IC-171.1834.9","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.4.1","since":"183.0","until":"213.*","originalSince":"182.0","originalUntil":"700.0"},{"id":"JRebelPlugin","version":"2020.2.0","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"20.3.150","since":"192.6817","until":"201.5985","originalSince":"173.3","originalUntil":"201.*"},{"id":"palantir-java-format","version":"0.3.27","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.notime.intellijPlugin.backgroundImageByURL","version":"1.0.2","since":"182.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"palantir-java-format","version":"0.3.28","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.uber.motif","version":"0.3.3","since":"182.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"com.aladdin.debugger.idea.plugin","version":"0.0.3","since":"183.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"IDETalk","version":"201.6668.60","since":"201.6668","until":"201.7846","originalSince":"201.6668","originalUntil":"201.*"},{"id":"palantir-java-format","version":"1.0.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"me.mbolotov.cypress","version":"1.2.1","since":"193.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.4.2","since":"183.0","until":"222.*","originalSince":"182.0","originalUntil":"700.0"},{"id":"SmartJump","version":"2020.4.1","since":"171","until":"172","originalSince":"183.0","originalUntil":null},{"id":"leetcode-editor","version":"6.4","since":"163.0","until":"","originalSince":"143.0","originalUntil":null},{"id":"de.sist.gitlab","version":"1.18","since":"193.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"com.android.aas","version":"3.2.0","since":"193","until":"193.*","originalSince":"AI-182.5107.16","originalUntil":"AI-193.*"},{"id":"com.github.gilday.darkmode","version":"1.2.1","since":"201.0","until":"201.*","originalSince":"192.0","originalUntil":"201.*"},{"id":"ca.ulaval.glo.sensei","version":"1.0.1","since":"193.6911","until":"","originalSince":"183.4284.148","originalUntil":null},{"id":"ca.ulaval.glo.sensei","version":"1.0.2","since":"193.6911","until":"","originalSince":"183.4284.148","originalUntil":null},{"id":"com.atlassian.idea.bob","version":"1.6","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"IDETalk","version":"201.7223.18","since":"201.7223","until":"201.7846","originalSince":"201.7223","originalUntil":"201.*"},{"id":"SmartJump","version":"2020.4.2","since":"141","until":"142","originalSince":"183.0","originalUntil":null},{"id":"com.laravel_idea.plugin","version":"2.4.201","since":"201.0","until":"202","originalSince":"201.0","originalUntil":"202.*"},{"id":"IDETalk","version":"201.7223.36","since":"201.7223","until":"201.7846","originalSince":"201.7223","originalUntil":"201.*"},{"id":"com.laravel_idea.plugin","version":"2.4.1.201","since":"201.0","until":"202","originalSince":"201.0","originalUntil":"202.*"},{"id":"com.android.aas","version":"3.3.0","since":"193","until":"193.*","originalSince":"AI-182.5107.16","originalUntil":"AI-193.*"},{"id":"com.eny.i18n","version":"1.8.1","since":"193.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"IDETalk","version":"201.7223.58","since":"201.7223","until":"201.7846","originalSince":"201.7223","originalUntil":"201.*"},{"id":"info.dong4j.idea.plugin.markdown.image.kit","version":"1.0.1","since":"191.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"com.github.beansoftapp.reatnative.idea","version":"2020.1.0","since":"193.0","until":"203.*","originalSince":"191.0","originalUntil":null},{"id":"de.espend.idea.php.generics","version":"0.5.0","since":"201.6668","until":"203","originalSince":"193.1159","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.1","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"MyBatisLog","version":"2020.5.1","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.plugin.dot.id","version":"1.2","since":"193.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"IDETalk","version":"201.7223.97","since":"201.7223","until":"201.7846","originalSince":"201.7223","originalUntil":"201.*"},{"id":"com.poratu.idea.plugins.tomcat","version":"3.6.2","since":"183.0","until":"","originalSince":"171.0","originalUntil":null},{"id":"IDETalk","version":"201.7223.99","since":"201.7223","until":"201.7846","originalSince":"201.7223","originalUntil":"201.*"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"20.4.152","since":"192.6817","until":"201.5985","originalSince":"173.3","originalUntil":"201.*"},{"id":"info.kwarc.mmt.intellij.MMTPlugin","version":"19.0.1","since":"201.1","until":"201.*","originalSince":"192.6262.58","originalUntil":"201.*"},{"id":"com.touhidapps.column.align","version":"1.1.2","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.touhidapps.column.align","version":"1.1.3","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.touhidapps.column.align","version":"1.5.9","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.pyfips.intellij.custominspections","version":"1.0","since":"183.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.1.3","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"com.laravel_idea.plugin","version":"3.0.1.201","since":"201.0","until":"202","originalSince":"201.0","originalUntil":"202.*"},{"id":"com.laravel_idea.plugin","version":"3.0.3.201","since":"201.0","until":"202","originalSince":"201.0","originalUntil":"202.*"},{"id":"com.pqixing.modularization.idea","version":"2.0.7","since":"201","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.android.aas","version":"3.3.1","since":"193","until":"193.*","originalSince":"AI-182.5107.16","originalUntil":"AI-193.*"},{"id":"dk.lost_world.phpinsights","version":"1.1.0","since":"201.0","until":"203.0","originalSince":"183.0","originalUntil":null},{"id":"org.mule.tooling.intellij.dataweave.v2","version":"2.0.42","since":"193","until":"213","originalSince":"182.0","originalUntil":null},{"id":"com.laravel_idea.plugin","version":"3.0.4.201","since":"201.0","until":"202","originalSince":"201.0","originalUntil":"202.*"},{"id":"JRebelPlugin","version":"2020.2.2","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"net.javaru.idea.frc","version":"1.3.0-2020.2-eap","since":"202.4357","until":"202.6396","originalSince":"202.4357","originalUntil":"202.*"},{"id":"com.ccnode.codegenerator.MyBatisCodeHelperPro","version":"2.8.2.fix-183-202","since":"183.0","until":"202","originalSince":"183.0","originalUntil":"202.*"},{"id":"com.pqixing.modularization.idea","version":"2.0.8","since":"201","until":"","originalSince":"181.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.5.1","since":"193.0","until":"222.*","originalSince":"193.0","originalUntil":"700.0"},{"id":"org.whitesource.wss-intellij-plugin","version":"20.5.2","since":"173.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"zdc.ideaPlugin.MavenManager","version":"1.0.1","since":"181.*","until":"","originalSince":"163.15529.8","originalUntil":null},{"id":"codeReview4idea","version":"0.5.8","since":"201.7846.76","until":"203.*","originalSince":"172.767","originalUntil":null},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.8","since":"202.4695","until":"202.*","originalSince":"202.4695","originalUntil":"203.*"},{"id":"com.sannsyn.opennlpmodelstrainer","version":"0.9.4.1","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"org.asciidoctor.intellij.asciidoc","version":"0.31.5","since":"202.5792.28","until":"","originalSince":"202.5103.13","originalUntil":null},{"id":"SmartJump","version":"2020.6.1","since":"193","until":"","originalSince":"183.0","originalUntil":null},{"id":"com.darkyen.wemi.intellij","version":"0.13","since":"201.7846.76","until":"211","originalSince":"193.5233.102","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.3","since":"139.1","until":"213.*","originalSince":"139.1","originalUntil":"999.*"},{"id":"com.android.aas","version":"3.3.2","since":"193","until":"201","originalSince":"182.5107.16","originalUntil":null},{"id":"artsiomch.cmake","version":"202.0.1","since":"202","until":"203.0","originalSince":"193.5662","originalUntil":"203.0"},{"id":"artsiomch.cmake.plus","version":"202.0.1","since":"202.0","until":"203.0","originalSince":"193.5662","originalUntil":"203.0"},{"id":"me.mbolotov.cypress.pro","version":"1.5.0","since":"201.0","until":"202.*","originalSince":"193.0","originalUntil":"202.*"},{"id":"me.mbolotov.cypress.pro","version":"1.5.0-2019.3","since":"193.0","until":"193.*","originalSince":"193.0","originalUntil":"202.*"},{"id":"palantir-java-format","version":"1.0.1","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.android.aas","version":"3.3.3","since":"193","until":"201","originalSince":"182.5107.16","originalUntil":null},{"id":"com.android.aas","version":"3.3.4","since":"193","until":"201","originalSince":"182.5107.16","originalUntil":null},{"id":"com.github.amibiz.ergokeys","version":"1.8","since":"183","until":"201.*","originalSince":"181.0","originalUntil":"201.*"},{"id":"artsiomch.cmake.plus","version":"202.0.2_EAP","since":"202","until":"203.0","originalSince":"193.5662","originalUntil":"203.0"},{"id":"com.codemr.professional","version":"Professional-2020.3.1-release-2019.3","since":"172","until":"172","originalSince":"193.5662.53","originalUntil":null},{"id":"fastify_decorators.plugin","version":"0.7","since":"193","until":"202.*","originalSince":"183.2940.10","originalUntil":"202.*"},{"id":"com.sonatype.nexus-iq","version":"2.9.0-01","since":"143.0","until":"201.3","originalSince":"143.0","originalUntil":"201.*"},{"id":"com.microfocus.intellij.plugin.gitclient","version":"1.3.1","since":"193.0","until":"202","originalSince":"193.0","originalUntil":"202.9999"},{"id":"com.cloudbees.idea.plugin","version":"1.0.9","since":"191.0","until":"200","originalSince":"191.0","originalUntil":"200.*"},{"id":"org.intellij.scala","version":"2020.2.652","since":"202.5792.0","until":"202.999999","originalSince":"202.5792.0","originalUntil":"203.*"},{"id":"org.intellij.scala","version":"2020.2.659","since":"202.5792.0","until":"202.99999999","originalSince":"202.5792.0","originalUntil":"203.*"},{"id":"com.itangcent.idea.plugin.easy-api","version":"1.9.9.183.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"app.teamhub","version":"6.0.1","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"fctorial.worldClock","version":"1.0","since":"201","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.starxg.browserfx","version":"1.0.3","since":"202.60","until":"","originalSince":"173.0","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.4","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"dev.blachut.svelte.lang","version":"0.12.2","since":"192.0","until":"202.*","originalSince":"192.0","originalUntil":"211.0"},{"id":"com.github.kindermax.intellijlets","version":"0.0.4","since":"201","until":"202.*","originalSince":"193.0","originalUntil":"202.*"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"20.7.161","since":"173.3","until":"201.*","originalSince":"173.3","originalUntil":"202.*"},{"id":"com.github.beansoftapp.flutter.storm","version":"2020.2.2","since":"201.6668.106","until":"202.*","originalSince":"201.3803.71","originalUntil":"202.*"},{"id":"com.stepsize.tech-debt-reporter","version":"0.7.7","since":"201.7223","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.stepsize.tech-debt-reporter","version":"0.7.8","since":"201.7223","until":"","originalSince":"171.3566.24","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.4.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"org.broadinstitute.winstanley","version":"0.5.0","since":"191.0","until":"","originalSince":"141.0","originalUntil":null},{"id":"com.github.beansoftapp.flutter.storm","version":"2020.2.3","since":"201.7846.79","until":"202.*","originalSince":"201.6668.106","originalUntil":"202.*"},{"id":"app.teamhub","version":"6.1.0","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"com.github.odinggg.NewYapiUpload","version":"1.02","since":"182.0","until":"202.*","originalSince":"162.0","originalUntil":"202.*"},{"id":"dev.blachut.svelte.lang","version":"0.13.0","since":"201.7846","until":"202.*","originalSince":"201.7846","originalUntil":"203.*"},{"id":"cz.bios.idea","version":"1.1.3","since":"182","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.jetbrains.intellij.datalore","version":"0.1.7-202","since":"202.6948","until":"202.*","originalSince":"202.6397","originalUntil":"202.*"},{"id":"com.intellij.resharper.azure","version":"3.40.0.872-2020.2","since":"202.6397","until":"202.*","originalSince":"201.6668.60","originalUntil":"202.*"},{"id":"Git Scope","version":"3.0.3","since":"194.0","until":"202.*","originalSince":"194.0","originalUntil":"999.0"},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.1.4","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"com.android.aas","version":"3.4.0","since":"193","until":"201","originalSince":"182.5107.16","originalUntil":null},{"id":"com.github.lonre.bucp","version":"20.08.21","since":"193.0","until":"231.*","originalSince":"193.0","originalUntil":"999.*"},{"id":"ir.msdehghan.plugins.ansible","version":"0.1","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.5","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.google.bamboo.id","version":"1.6","since":"183.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"JRebelPlugin","version":"2020.2.5.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.synopsys.sig.desktop.idea","version":"2020.8.0.199619","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.gmike.visual-studio-2019-dark","version":"1.0","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.gmike.visual-studio-2019-dark","version":"1.1","since":"191.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.xeonkryptos.eclipseprojectcreator","version":"0.0.3","since":"202.2","until":"202.*","originalSince":"202.0","originalUntil":"202.*"},{"id":"com.android.aas","version":"3.4.1","since":"193","until":"201","originalSince":"182.5107.16","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.6","since":"202.0","until":"222.*","originalSince":"202.0","originalUntil":"700.0"},{"id":"app.teamhub","version":"6.2.0","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"leetcode-editor","version":"6.8","since":"202.0","until":"","originalSince":"163.0","originalUntil":null},{"id":"app.teamhub","version":"7.0.0","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"com.github.beansoft.reatnative.idea.free","version":"2020.2","since":"193.0","until":"201.8743.12","originalSince":"191.0","originalUntil":null},{"id":"app.teamhub","version":"7.1.0","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"JRebelPlugin","version":"2020.3.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"izhangzhihao.rainbow.fart","version":"1.3.2","since":"203","until":"","originalSince":"201.6668","originalUntil":null},{"id":"com.mallowigi","version":"28.0","since":"203.0","until":"203.5251.39","originalSince":"203.0","originalUntil":"203.*"},{"id":"com.github.turansky.yfiles","version":"0.27.0","since":"201.6487","until":"202.*","originalSince":"201.6487","originalUntil":"203.*"},{"id":"com.linkkou.plugin.intellij.assistant","version":"1.0.3","since":"201.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"com.github.turansky.yfiles","version":"0.28.0","since":"201.6487","until":"202.*","originalSince":"201.6487","originalUntil":"203.*"},{"id":"com.android.aas","version":"3.4.2","since":"193.*","until":"201.*","originalSince":"182.5107.16","originalUntil":null},{"id":"FavoriteFolders","version":"1.3.2","since":"203.1","until":"","originalSince":"201.2935","originalUntil":null},{"id":"SmartJump","version":"2020.10.1","since":"193","until":"211.0","originalSince":"181.0","originalUntil":"211.0"},{"id":"app.teamhub","version":"8.0.0","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"ru.taptima.phalyfusion","version":"1.0.2-SNAPSHOT","since":"201","until":"203","originalSince":"181.0","originalUntil":null},{"id":"ru.taptima.phalyfusion","version":"1.0.3-SNAPSHOT","since":"201","until":"203","originalSince":"181.0","originalUntil":null},{"id":"dev.simplix.tooling","version":"1.0.0","since":"202.0","until":"202.*","originalSince":"201.0","originalUntil":"202.*"},{"id":"org.jetbrains.completion.full.line","version":"0.2.1","since":"203.4203.26","until":"211.*","originalSince":"201.4163","originalUntil":"211.*"},{"id":"app.teamhub","version":"8.0.1","since":"193.6494","until":"211","originalSince":"193.6494","originalUntil":"211.*"},{"id":"org.jetbrains.completion.full.line","version":"0.2.2","since":"203.4203.26","until":"211.*","originalSince":"202.*","originalUntil":"211.*"},{"id":"com.zju3dv.python_alias_import","version":"1.3","since":"193.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.github.kindermax.intellijlets","version":"0.0.5","since":"201.0","until":"203.*","originalSince":"193.0","originalUntil":"203.*"},{"id":"org.jetbrains.completion.full.line","version":"0.2.4","since":"203.4203.26","until":"211.*","originalSince":"202.*","originalUntil":"211.*"},{"id":"org.jetbrains.completion.full.line","version":"0.2.5","since":"203.4203.26","until":"211.*","originalSince":"202.*","originalUntil":"211.*"},{"id":"JRebelPlugin","version":"2020.3.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.sonatype.nexus-iq","version":"2.9.1-02","since":"143.0","until":"201.3","originalSince":"143.0","originalUntil":"201.*"},{"id":"com.AvansTI.Boebot","version":"1.1","since":"182.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"indent-rainbow.indent-rainbow","version":"1.6.1","since":"202.0","until":"222.*","originalSince":"202.0","originalUntil":"700.0"},{"id":"palantir-java-format","version":"1.1.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"csdn.tools","version":"1.2.1","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"csdn.tools","version":"1.3.0","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"Go To Implementation Plugin","version":"1.1.3","since":"182.5107","until":"202.8194","originalSince":"182.0","originalUntil":"203.0"},{"id":"palantir-java-format","version":"2.0.0-rc1","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"csdn.tools","version":"1.3.1","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.jetbrains.codeWithMe","version":"203.5981.37","since":"203.5981.37","until":"203.5981.37","originalSince":"203.5981","originalUntil":"203.*"},{"id":"com.android.aas","version":"3.5.0","since":"193.*","until":"201.*","originalSince":"182.5107.16","originalUntil":null},{"id":"net.mamoe.mirai-console","version":"1.0.0","since":"200.*","until":"205.*","originalSince":"193.*","originalUntil":"205.*"},{"id":"com.github.nthykier.debpkg","version":"0.0.6","since":"202.0","until":"202.*","originalSince":"201.0","originalUntil":"202.*"},{"id":"JRebelPlugin","version":"2020.3.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"palantir-java-format","version":"2.0.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.7.0","since":"192.7142","until":"202.*","originalSince":"192.7142","originalUntil":"203.*"},{"id":"org.intellij.scala","version":"2020.3.643","since":"203.5981.41","until":"203.*","originalSince":"203.5981.41","originalUntil":"211.*"},{"id":"com.intellij.grazie.completion","version":"0.1.11","since":"202.0","until":"202.*","originalSince":"202.0","originalUntil":"211.*"},{"id":"com.intellij.idea.plugin.sap.commerce","version":"2001.3","since":"203.5981.41","until":"203.*","originalSince":"203.5784.10","originalUntil":null},{"id":"artsiomch.cmake","version":"203.0.2","since":"193.5662","until":"203.0","originalSince":"193.5662","originalUntil":"204.0"},{"id":"com.tang","version":"1.3.5.185-IDEA203","since":"202.0","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"org.intellij.scala","version":"2020.3.18","since":"203.5981.41","until":"203.*","originalSince":"203.5981.41","originalUntil":"211.*"},{"id":"com.intellij.tide","version":"203.5981.213","since":"203.*","until":"203.*","originalSince":"203.5981","originalUntil":"203.*"},{"id":"org.dmfs.intellij.unclutter","version":"0.2.0","since":"203.*","until":"203.*","originalSince":"201.6668","originalUntil":"203.*"},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.12","since":"203.4203","until":"203.*","originalSince":"203.4203","originalUntil":"211.*"},{"id":"com.github.si9ma.codetimejetbrains","version":"0.0.4","since":"193.0","until":"203.*","originalSince":"162.0","originalUntil":"203.*"},{"id":"com.github.nuclearg.smartgs","version":"1.2","since":"202.5103.13","until":"","originalSince":"162.0","originalUntil":null},{"id":"org.intellij.scala","version":"2020.3.18","since":"203.5981.41","until":"203.*","originalSince":"203.5981.41","originalUntil":"211.*"},{"id":"com.sonatype.nexus-iq","version":"2.10.0-01","since":"143.0","until":"201.3","originalSince":"143.0","originalUntil":"201.*"},{"id":"app.teamhub","version":"9.0.0","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"org.whitesource.wss-pycharm-plugin","version":"20.12.2.1","since":"183.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"org.whitesource.wss-webstorm-plugin","version":"20.12.2.1","since":"182.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"com.misset.OMT","version":"2.3.1","since":"203.0","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"palantir-java-format","version":"2.0.1","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.github.luomingxu.idea","version":"1.0","since":"203.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"Git Scope","version":"3.0.4","since":"203.0","until":"211.*","originalSince":"203.0","originalUntil":"999.0"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.6.0","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"app.teamhub","version":"10.0.0","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"com.isuwang.plugin","version":"2.2.0","since":"193.0","until":"201.*","originalSince":"193.0","originalUntil":"203.*"},{"id":"JRebelPlugin","version":"2021.1.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"app.teamhub","version":"10.0.1","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"com.intellij.lang.jsgraphql","version":"2.7.1","since":"192.7142","until":"202.*","originalSince":"192.7142","originalUntil":"211.*"},{"id":"app.teamhub","version":"10.0.2","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"app.teamhub","version":"10.0.3","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"io.unthrottled.amii","version":"0.4.1","since":"202.7319.50","until":"203.*","originalSince":"201.4515.24","originalUntil":"203.*"},{"id":"org.elasticsearch4idea","version":"0.7.0","since":"202.6543","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"com.isuwang.plugin","version":"2.2.1","since":"193.0","until":"201.*","originalSince":"193.0","originalUntil":"203.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.7.0","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"org.elasticsearch4idea","version":"0.7.1","since":"202.6543","until":"203.*","originalSince":"201.0","originalUntil":"203.*"},{"id":"app.teamhub","version":"10.0.4","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"dev.niels.SQLServerBackupAndRestore","version":"0.8.0","since":"202.7319","until":"","originalSince":"201.7223","originalUntil":null},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.7.4","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"app.teamhub","version":"10.0.5","since":"201.8743","until":"211","originalSince":"201.8743","originalUntil":"211.*"},{"id":"pro.bashsupport","version":"1.5.14.211","since":"211.0.0","until":"211.5000.*","originalSince":"211.0.0","originalUntil":"211.*"},{"id":"com.jetbrains.idea.safepush","version":"211.5404","since":"211.4962","until":"212.0","originalSince":"211.0","originalUntil":"212.0"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.8.0","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.3","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"intellij.ktor","version":"1.5.1-eap-1","since":"203.0","until":"203.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.9.0","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"studio.edaphic.sv","version":"2020.3.1.1","since":"201.*","until":"212.*","originalSince":"193.4386","originalUntil":"212.*"},{"id":"slinky.core.intellij","version":"0.6.7","since":"203.6682.168","until":"223.*","originalSince":"203.6682.168","originalUntil":"999.9999.999"},{"id":"JRebelPlugin","version":"2021.1.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"org.intellij.scala","version":"2021.1.7","since":"211.5538","until":"211.*","originalSince":"211.0","originalUntil":"211.*"},{"id":"org.intellij.scala","version":"2020.3.19","since":"203.5981.41","until":"203.*","originalSince":"203.5981.41","originalUntil":"211.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.9.1","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.obroom.plugin.jpasql","version":"2021.2.1","since":"193.0","until":"193.3","originalSince":"193.0","originalUntil":"211.1"},{"id":"com.github.volkov.znavi","version":"0.0.6","since":"203.0","until":"203.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.10.0","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.musictime.intellij.plugin","version":"2.1.8","since":"172.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"org.jetbrains.idea.project.template.variables","version":"0.4.4","since":"141.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"vette.neos","version":"1.5.0","since":"193.0","until":"203.3645.34","originalSince":"193.0","originalUntil":"203.*"},{"id":"com.intellij.lang.jsgraphql","version":"2.8.0","since":"192.7142","until":"202.*","originalSince":"192.7142","originalUntil":"211.*"},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.14","since":"212","until":"212.*","originalSince":"211.5823","originalUntil":"212.*"},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.15","since":"212","until":"212.*","originalSince":"211.5823","originalUntil":"212.*"},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.4","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"io.k6.ide.plugin","version":"0.0.1","since":"202.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"com.musictime.intellij.plugin","version":"2.1.9","since":"181","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.5","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"com.tabnine.TabNine","version":"0.3.4","since":"191","until":"","originalSince":"182.*","originalUntil":null},{"id":"org.bigtows.PinNote","version":"2.1","since":"202.*","until":"213.*","originalSince":"193.2252","originalUntil":"213.*"},{"id":"org.ice1000.julia","version":"0.4.2","since":"201.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.lang.jsgraphql","version":"2.9.0","since":"192.7142","until":"202.*","originalSince":"192.7142","originalUntil":"212.*"},{"id":"com.jetbrains.hackathon.indices.viewer","version":"1.16","since":"212","until":"212.*","originalSince":"211.5823","originalUntil":"212.*"},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.6","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"JRebelPlugin","version":"2021.1.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.intellij.lang.jsgraphql","version":"2.9.1","since":"193.7288","until":"202.*","originalSince":"192.7142","originalUntil":"212.*"},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.7","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"com.seventh7.widget.iedis2","version":"2021.1.1","since":"211.6222.4","until":"211.*","originalSince":"203.7148.57","originalUntil":"211.*"},{"id":"com.coasns.pax","version":"2021.1","since":"211.6222.4","until":"211.*","originalSince":"203.5981.41","originalUntil":"211.*"},{"id":"izhangzhihao.rainbow.brackets","version":"6.17","since":"201.*","until":"213","originalSince":"201.6668","originalUntil":null},{"id":"me.enaumov.plugins.salmon","version":"0.2","since":"191.*","until":"","originalSince":"191.0","originalUntil":null},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.10.1","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.2.0","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"sourcery.pycharm-plugin","version":"0.8.8","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.github.taraktikos.cucumberclojure","version":"2020.3.2.1","since":"203.0","until":"203.*","originalSince":"202.0","originalUntil":"203.*"},{"id":"com.hjf.redis.manager.redis-manager","version":"1.1.8","since":"190.*","until":"301.*","originalSince":"183.*","originalUntil":"301.*"},{"id":"com.pqixing.aex","version":"1.0.9","since":"201","until":"","originalSince":"201.1.1","originalUntil":null},{"id":"me.enaumov.plugins.salmon","version":"0.7","since":"203.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.10.3","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.darshan.ezylogin","version":"1.0.3","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"io.k6.ide.plugin","version":"0.1.0","since":"202.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"com.github.chocovon.debug-variable-extractor","version":"1.2.1","since":"173","until":"202.*","originalSince":"162.0","originalUntil":"202.*"},{"id":"com.reallyliri.plugins.interfacepairing","version":"1.4","since":"211.5787","until":"","originalSince":"203.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"203.0.0","since":"211","until":"211.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"com.synopsys.sig.desktop.idea","version":"2021.3.0.230770","since":"182.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"artsiomch.cmake","version":"211.0.1","since":"201.0","until":"203.0","originalSince":"201.0","originalUntil":"212.0"},{"id":"net.mamoe.mirai-console","version":"2.6-M1","since":"201.*","until":"203.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.agido.idea.settings","version":"0.1.5","since":"171.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"me.hehaiyang.codegen","version":"2.0.173","since":"173.0","until":"202","originalSince":"173.0","originalUntil":"203.*"},{"id":"org.intellij.scala","version":"2021.1.16","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.1.16","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"net.mamoe.mirai-console","version":"2.6-M2","since":"201.*","until":"203.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"JRebelPlugin","version":"2021.2.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"intellij.ktor","version":"1.5.3","since":"211.0","until":"211.*","originalSince":"211.0","originalUntil":"212.*"},{"id":"com.github.zcg.love-your-eye-theme","version":"1.0.4","since":"191.*","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.avaje.ebean11.enhancer","version":"12.8.2","since":"171.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.10.4","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"225.*"},{"id":"net.mamoe.mirai-console","version":"2.6-RC","since":"211.*","until":"215.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"sourcery.pycharm-plugin","version":"0.9.0","since":"183.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"one.util.ideaplugin.screenshoter","version":"1.6","since":"203.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"xyz.zono.plugin.InputSequenceAction","version":"0.0.2","since":"145.0","until":"","originalSince":"131.0","originalUntil":null},{"id":"io.unthrottled.amii.rider","version":"0.2.1","since":"203.5981.141","until":"211.*","originalSince":"202.6397.94","originalUntil":"211.*"},{"id":"com.github.exidcuter.dockerregistryexplorer","version":"1.0.3-stable","since":"203.0","until":"211.*","originalSince":"201.0","originalUntil":"211.*"},{"id":"net.mamoe.mirai-console","version":"2.6.0","since":"211.*","until":"215.*","originalSince":"201.*","originalUntil":"215.*"},{"id":"com.taff.plugin.orchide","version":"2020.1.4.0-2019.3","since":"193.5562","until":"211.0","originalSince":"193.5562","originalUntil":"212.0"},{"id":"org.intellij.scala","version":"2021.1.17","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.1.18","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.1.17","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"com.ytanikin.datasetnavigator","version":"0.4","since":"203.*","until":"","originalSince":"202.*","originalUntil":null},{"id":"org.intellij.scala","version":"2021.1.18","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.1.19","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"org.apache.camel","version":"0.7.1","since":"211.6693","until":"211.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"clueqva.Decorate.me","version":"1.3","since":"201.0","until":"","originalSince":"193.0","originalUntil":null},{"id":"com.intellij.STAintellij.intellij_plugin","version":"21.4.215","since":"201.*","until":"211.*","originalSince":"173.3","originalUntil":"211.*"},{"id":"JRebelPlugin","version":"2021.2.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.google.developers.certification.android","version":"1.0.10","since":"202.0","until":"202.*","originalSince":"201.0","originalUntil":"202.*"},{"id":"org.apache.camel","version":"0.7.5","since":"203.0","until":"203.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"org.intellij.scala","version":"2021.1.20","since":"211.6222","until":"211.*","originalSince":"211.6222","originalUntil":"212.*"},{"id":"net.fhtagn.pycharm.cellmode","version":"1.3.0","since":"192.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.asherbernardi.jsgfplugin","version":"2.0","since":"203.*","until":"211.*","originalSince":"193.0","originalUntil":"211.*"},{"id":"com.sonatype.nexus-iq","version":"2.10.1-01","since":"143.0","until":"201.3","originalSince":"143.0","originalUntil":"201.*"},{"id":"me.mbolotov.cypress.pro","version":"2.1.0","since":"211.0","until":"211.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"com.uriyyo.evaluate_async_code","version":"1.12","since":"193.0","until":"213","originalSince":"192.0","originalUntil":null},{"id":"org.rust.lang","version":"0.4.147.3871-211","since":"211.6693","until":"211.*","originalSince":"211.6693","originalUntil":"212.*"},{"id":"com.gem.gdis.disl-run","version":"1.1.0","since":"201.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.synopsys.sig.desktop.idea","version":"2021.5.0.23076936","since":"182","until":"","originalSince":"181.0","originalUntil":null},{"id":"org.turbanov.execution.cmd","version":"1.8","since":"201.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"org.whitesource.wss-intellij-plugin","version":"21.5.1","since":"191.0","until":"","originalSince":"172.0","originalUntil":null},{"id":"org.whitesource.wss-webstorm-plugin","version":"21.5.1","since":"191.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.whitesource.wss-pycharm-plugin","version":"21.5.1","since":"191.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"com.github.konevdmitry.VaDima","version":"1.0.0","since":"203.5981.165","until":"211.*","originalSince":"203.5981.165","originalUntil":"300.*"},{"id":"com.yanglx","version":"1.2.2","since":"183.0","until":"211.7142.45","originalSince":"183.0","originalUntil":"211.*"},{"id":"com.intellij.STAintellij.intellij_plugin","version":"21.5.216","since":"201.*","until":"211.*","originalSince":"173.3","originalUntil":"211.*"},{"id":"JRebelPlugin","version":"2021.2.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"org.jetbrains.plugins.tinygo","version":"0.1","since":"211.7442","until":"211.*","originalSince":"211.7442","originalUntil":"212.*"},{"id":"com.github.adamwojszczyk.sepiaTheme","version":"0.2.5","since":"203.5981","until":"999.*","originalSince":"203.5981","originalUntil":"1000.*"},{"id":"ru.adelf.idea.dotenv","version":"2021.2","since":"193.0","until":"211.*","originalSince":"193.0","originalUntil":"212.*"},{"id":"sourcery.pycharm-plugin","version":"0.9.1","since":"192.0","until":"","originalSince":"183.0","originalUntil":null},{"id":"com.pycrunch.intellijconnector","version":"1.2.2","since":"192.0","until":"203.5981.155","originalSince":"171.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"203.0.1","since":"211","until":"211.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"cn.robin.mgs.v5.theme","version":"1.0.2","since":"191.*","until":"211.*","originalSince":"173.3.5","originalUntil":"211.*"},{"id":"com.checkmarx.intellij","version":"9.00.21","since":"172","until":"","originalSince":"111.69","originalUntil":null},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.2.1","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"org.intellij.scala","version":"2021.2.10","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"1.10.6","since":"201.*","until":"212.*","originalSince":"201.*","originalUntil":"225.*"},{"id":"com.settler.rider.specflow","version":"1.9.0","since":"212.4037","until":"212.4037.*","originalSince":"212.4037","originalUntil":"212.*"},{"id":"de.cronn.validation-files-diff","version":"1.3","since":"193.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"me.mbolotov.cypress.pro","version":"2.2.0","since":"211.0","until":"211.*","originalSince":"203.0","originalUntil":"212.*"},{"id":"Kunpeng Library","version":"2.3.1","since":"211.5538.20","until":"","originalSince":"203.5981.166","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"6.7.0","since":"211.5538","until":"211.*","originalSince":"211.5538","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.2.11","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"palantir-java-format","version":"2.1.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.github.adamwojszczyk.sepiaTheme","version":"0.3.0","since":"203.5981","until":"999.*","originalSince":"203.5981","originalUntil":"1000.*"},{"id":"Scala-Macro-Tools Plugin","version":"0.1.1","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"JRebelPlugin","version":"2021.3.0","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"palantir-java-format","version":"2.2.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.noorts.toggler","version":"1.2.0","since":"192.0","until":"212.*","originalSince":"191.0","originalUntil":"212.*"},{"id":"com.noorts.toggler","version":"1.2.1","since":"203.4341","until":"212.3116.29","originalSince":"203.4341","originalUntil":"213.*"},{"id":"org.intellij.scala","version":"2021.2.12","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"com.checkmarx.intellij","version":"9.00.22","since":"172","until":"","originalSince":"111.69","originalUntil":null},{"id":"com.hd123.plugin.id","version":"2.29","since":"212","until":"","originalSince":"193.5233.102","originalUntil":null},{"id":"dev.blachut.svelte.lang","version":"0.20.0","since":"203.5784","until":"213.5281.15","originalSince":"203.5784","originalUntil":"213.*"},{"id":"com.shuzijun.markdown-editor","version":"1.1","since":"202.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.ankitkaneri.gomock.GoMock","version":"1.1.2","since":"201.0","until":"215.*","originalSince":"201.0","originalUntil":"221.*"},{"id":"artsiomch.cmake","version":"212.0.1","since":"201.0","until":"203.0","originalSince":"201.0","originalUntil":"213.0"},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"212.0.1","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"999.9"},{"id":"com.shuzijun.markdown-editor","version":"1.2","since":"202.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.shuzijun.markdown-editor","version":"1.3","since":"202.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.hd123.jetbrains.jira.workinghours","version":"1.0.193","since":"193","until":"193.*","originalSince":"183.0","originalUntil":"201.0"},{"id":"com.shuzijun.markdown-editor","version":"1.4","since":"202.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.sothis-baka.IDontHaveAPersonalPage.plugin.1","version":"1.0","since":"192","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.jetbrains.plugins.vue","version":"212.4746.57","since":"212.4746","until":"212.4746.*","originalSince":"212.4746","originalUntil":"212.*"},{"id":"org.intellij.scala","version":"2021.2.13","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"com.intellij.resharper.azure","version":"3.50.0.1234-2021.2","since":"212.4746.33","until":"212.*","originalSince":"211.4961.4","originalUntil":"212.*"},{"id":"com.shuzijun.markdown-editor","version":"1.5","since":"202.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.jsonts.kotlin","version":"1.0.33","since":"202.0","until":"211.4","originalSince":"202.0","originalUntil":"211.*"},{"id":"dev.blachut.svelte.lang","version":"0.21.0","since":"212.0","until":"213.5281.15","originalSince":"212.0","originalUntil":"213.*"},{"id":"de.platon42.m68k","version":"0.2","since":"211.6693.0","until":"","originalSince":"193.7288.0","originalUntil":null},{"id":"org.intellij.scala","version":"2021.2.15","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"org.intellij.scala","version":"2021.2.15","since":"212.4321","until":"212.*","originalSince":"212.4321","originalUntil":"213.*"},{"id":"net.sf.opk.avro-schema-support","version":"203.0.2","since":"211","until":"211.*","originalSince":"203.0","originalUntil":"211.*"},{"id":"me.mbolotov.cypress.pro","version":"2.3.0","since":"211.0","until":"211.*","originalSince":"211.0","originalUntil":"212.*"},{"id":"uk.org.oliveira.vg","version":"1.1.0","since":"211","until":"232.*","originalSince":"203.0","originalUntil":null},{"id":"com.itangcent.idea.plugin.easy-yapi","version":"2.2.4.183.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.beansoft.reatnative.idea.free","version":"2021.2.0","since":"201.8743.12","until":"203.*","originalSince":"193.0","originalUntil":null},{"id":"com.lightrun.idea.plugin.saas.LightrunPlugin","version":"1.1.1-release.20.7c741dc","since":"193","until":"","originalSince":"183.2940.10","originalUntil":null},{"id":"com.noorts.toggler","version":"1.2.2","since":"203.4341","until":"212.3116.29","originalSince":"203.4341","originalUntil":"213.*"},{"id":"JRebelPlugin","version":"2021.3.1","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"com.github.zouyq.cmdTools","version":"0.3.1","since":"202.0","until":"223.*","originalSince":"202.0","originalUntil":"999.*"},{"id":"com.stepsize.tech-debt-reporter","version":"1.0.6-203+","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"com.sourcegraph.jetbrains","version":"1.2.1","since":"162.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.stepsize.tech-debt-reporter","version":"1.0.7-203+","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"com.saturn.intellijPlugin.backgroundImageFromBing","version":"2.2","since":"171.0","until":"","originalSince":"162.0","originalUntil":null},{"id":"com.github.beansoftapp.flutter.storm","version":"2021.2.0","since":"203.6682.141","until":"231.*","originalSince":"202.7660.26","originalUntil":null},{"id":"com.baomidou.plugin.idea.mybatisx","version":"1.5.0","since":"202.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"com.asherbernardi.jsgfplugin","version":"2.0.1","since":"203.*","until":"212.*","originalSince":"193.0","originalUntil":"212.*"},{"id":"net.sf.opk.avro-schema-support","version":"203.0.3","since":"211","until":"212.*","originalSince":"203.0","originalUntil":"212.*"},{"id":"com.github.brandtjo.releasescripthelper","version":"1.2.5","since":"203.0","until":"212.*","originalSince":"202.0","originalUntil":"212.*"},{"id":"gileli121.glasside.windows","version":"1.2.4-SNAPSHOT","since":"200.0","until":"232.*","originalSince":"200.0","originalUntil":"300.*"},{"id":"com.joker.serial_number","version":"1.0.0-beta02","since":"212.4746.92","until":"212.4746.92","originalSince":"212.4746","originalUntil":"212.*"},{"id":"com.github.nicsilver.jumpertest","version":"0.1.2","since":"202.0","until":"212.*","originalSince":"202.0","originalUntil":"215.*"},{"id":"net.sf.opk.avro-schema-support","version":"203.1.0","since":"211","until":"212.*","originalSince":"203.0","originalUntil":"212.*"},{"id":"de.mariushoefler.flutter_enhancement_suite","version":"1.6.0","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"io.github.danthe1st.ij2gdocs","version":"1.1.0","since":"203.0","until":"212.*","originalSince":"202.0","originalUntil":"212.*"},{"id":"com.github.affishaikh.kotlinbuildergenerator","version":"1.0.5.RC","since":"193.0","until":"212.*","originalSince":"193.0","originalUntil":"292.*"},{"id":"com.synopsys.sig.desktop.idea","version":"2021.8.0.248750","since":"193.0","until":"","originalSince":"181.0","originalUntil":null},{"id":"com.tang.ideaplugin","version":"v1.0.3","since":"191.8026.42","until":"","originalSince":"201.6668.113","originalUntil":null},{"id":"org.intellij.plugins.hcl","version":"0.7.11","since":"203.*","until":"213.*","originalSince":"192.5000","originalUntil":null},{"id":"MavenRunHelper","version":"4.16.212.000.0","since":"212.5284.31","until":"","originalSince":"212.0","originalUntil":null},{"id":"JRebelPlugin","version":"2021.3.2","since":"145.0","until":"213.*","originalSince":"145.0","originalUntil":"999.*"},{"id":"org.jboss.forge.plugin.idea","version":"3.1.5","since":"203.0","until":"212.*","originalSince":"193.0","originalUntil":"212.*"},{"id":"no.eirikb.avatest","version":"1.5.0","since":"202.0","until":"212.*","originalSince":"202.0","originalUntil":"999.*"},{"id":"org.toml.lang","version":"0.2.155.4114-212","since":"212.4746","until":"212.*","originalSince":"212.4746","originalUntil":"213.*"},{"id":"com.microfocus.intellij.plugin.gitclient","version":"1.4","since":"193.0","until":"212","originalSince":"193.0","originalUntil":"212.9999"},{"id":"com.ekino.oss.jcv-idea-plugin","version":"3.0.2","since":"211","until":"","originalSince":"201.0","originalUntil":null},{"id":"org.crev","version":"0.0.1","since":"212.0","until":"212.*","originalSince":"203.0","originalUntil":"212.*"},{"id":"activiti-bpmn-visualizer","version":"0.4.6.3","since":"192","until":"","originalSince":"182.0","originalUntil":null},{"id":"flowable-bpmn-visualizer","version":"0.4.6.3","since":"192","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.jetbrains.flora","version":"0.1.2","since":"211.0","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"com.intellij.resharper.azure","version":"3.50.0.1259-2021.3","since":"213.0","until":"213.3714.*","originalSince":"213.0","originalUntil":"213.*"},{"id":"JRebelPlugin","version":"2021.4.0","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":"999.*"},{"id":"jetbrains.mps.build","version":"2021.2","since":"212.1","until":"213.1","originalSince":"211.1","originalUntil":"213.1"},{"id":"jetbrains.mps.core","version":"2021.2","since":"212.1","until":"213.1","originalSince":"211.1","originalUntil":"213.1"},{"id":"jetbrains.mps.testing","version":"2021.2","since":"212.1","until":"213.1","originalSince":"211.1","originalUntil":"213.1"},{"id":"com.intellij.resharper.azure","version":"3.50.0.1269-2021.3","since":"213.0","until":"213.4293.*","originalSince":"213.0","originalUntil":"213.*"},{"id":"dev.nybroe.collector","version":"0.3.3","since":"212.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.github.leomillon.uuidgenerator","version":"4.5.0","since":"211","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.veracode.greenlight.intellij.plugin.id","version":"1.6.0.202110080335-RELEASE","since":"193.0","until":"211.7628.21","originalSince":"173.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"203.1.1","since":"211","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"activiti-bpmn-visualizer","version":"0.4.7.0","since":"192.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"flowable-bpmn-visualizer","version":"0.4.7.0","since":"192.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"Kunpeng Library","version":"2.3.2","since":"211.5538.20","until":"","originalSince":"203.5981.166","originalUntil":null},{"id":"palantir-java-format","version":"2.3.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"dev.blachut.svelte.lang","version":"0.21.1","since":"212.0","until":"221.4906","originalSince":"212.0","originalUntil":"221.*"},{"id":"pro.bashsupport","version":"2.0.6.213","since":"213.5281.0","until":"213.5744.202","originalSince":"213.5281.0","originalUntil":"213.*"},{"id":"simd","version":"3","since":"192.*","until":"","originalSince":"191.3","originalUntil":null},{"id":"MavenRunHelper","version":"4.18.212.000.0","since":"213.3565","until":"","originalSince":"212.0","originalUntil":null},{"id":"org.intellij.scala","version":"2021.3.8","since":"213.4631","until":"213.5744.202","originalSince":"213.4631","originalUntil":"221.*"},{"id":"MavenRunHelper","version":"4.18.212.000.1","since":"213.3565","until":"","originalSince":"212.0","originalUntil":null},{"id":"JRebelPlugin","version":"2021.4.1","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":"999.*"},{"id":"palantir-java-format","version":"2.4.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.5.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.6.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.sourcegraph.jetbrains","version":"1.2.2","since":"162.0","until":"","originalSince":"145.0","originalUntil":null},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.2.2","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"org.intellij.scala","version":"2021.3.9","since":"213.4631","until":"213.5744.202","originalSince":"213.4631","originalUntil":"221.*"},{"id":"bobril-runner","version":"0.4.2","since":"201.0","until":"","originalSince":"191.0","originalUntil":null},{"id":"palantir-java-format","version":"2.7.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.jetbrains.kotlin","version":"212-1.6.0-release-799-IJ5457.46","since":"212.5457.46","until":"212.*","originalSince":"212.5080.55","originalUntil":"212.*"},{"id":"palantir-java-format","version":"2.8.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.plugin.adernov.powershell","version":"2.0.8","since":"213.3714.440","until":"213.5744.202","originalSince":"203.3645.34","originalUntil":null},{"id":"palantir-java-format","version":"2.9.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.intellij.kotlinNative.platformDeps","version":"213.5744.180","since":"213.5744","until":"213.5744.180","originalSince":"213.5744","originalUntil":"213.*"},{"id":"com.intellij.appcode.kmm","version":"213-1.5.10-release-949-AC5744.180","since":"213.5744","until":"213.5744.180","originalSince":"213.5744","originalUntil":"213.*"},{"id":"com.github.mbolotov.playwrightintellij","version":"1.0.1","since":"212.0","until":"213.*","originalSince":"211.0","originalUntil":"213.*"},{"id":"org.intellij.scala","version":"2021.3.13","since":"213.4631","until":"213.5744.202","originalSince":"213.4631","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2021.3.503","since":"213.4631","until":"213.5744.202","originalSince":"213.4631","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2021.3.14","since":"213.5744.223","until":"221.*","originalSince":"213.4631","originalUntil":"221.*"},{"id":"com.ibeetl.intellij.support","version":"1.0.8","since":"193.5233.102","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.github.mounthuaguo.monkeyking","version":"0.1.4","since":"202.0","until":"221.*","originalSince":"202.0","originalUntil":"256.*"},{"id":"li.barlog.oceanic-primal","version":"0.0.11","since":"193.0","until":"231.*","originalSince":"193.0","originalUntil":"512.0"},{"id":"LineShare-intellij-plugin","version":"1.0.1","since":"202.7319","until":"213.*","originalSince":"202.0","originalUntil":null},{"id":"JRebelPlugin","version":"2021.4.2","since":"163.0","until":"213.*","originalSince":"163.0","originalUntil":"999.*"},{"id":"Scala-Macro-Tools Plugin","version":"0.3.4","since":"211.0","until":"","originalSince":"213.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"203.1.2","since":"211","until":"213.*","originalSince":"203.0","originalUntil":"213.*"},{"id":"com.alibaba.compileflow.designer","version":"1.0.13","since":"182.*","until":"213.*","originalSince":"162.*","originalUntil":"213.*"},{"id":"yy-dev-tools","version":"2021.0.1","since":"211.0","until":"211.*","originalSince":"211.0","originalUntil":"213.*"},{"id":"leetcode-editor-pro","version":"2022.1.0","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"AceJump","version":"3.8.5","since":"213.5744.223","until":"","originalSince":"203.7717.56","originalUntil":null},{"id":"leetcode-editor-pro","version":"2022.1.1","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"org.intellij.scala","version":"2021.3.17","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2021.3.17","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"me.him188.kotlin-dynamic-delegation","version":"213-0.1.0-160.1-1","since":"203.0","until":"213","originalSince":"201.0","originalUntil":null},{"id":"slinky.core.intellij","version":"0.7.0","since":"203.6682.168","until":"223.*","originalSince":"203.6682.168","originalUntil":"999.9999.999"},{"id":"intellij-crystal-lang","version":"0.2.0-2021.2","since":"212.0","until":"213.*","originalSince":"212.0","originalUntil":"999.*"},{"id":"dev.blachut.svelte.lang","version":"0.21.2","since":"213.6461","until":"221.4906","originalSince":"213.6461","originalUntil":"221.*"},{"id":"com.itangcent.idea.plugin.easy-yapi","version":"2.3.1.183.0","since":"183.0","until":"","originalSince":"173.0","originalUntil":null},{"id":"org.intellij.scala","version":"2021.3.18","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2021.3.514","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"com.github.jrd77.codecheck.id","version":"1.2.2","since":"193.5233.102","until":"213.9999","originalSince":"193.5233.102","originalUntil":"213.*"},{"id":"org.intellij.scala","version":"2021.3.515","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2021.3.516","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"co.bito.bito-intellij","version":"1.0.72","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"palantir-java-format","version":"2.10.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.73","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.mesour.intellij.neon","version":"1.0.0","since":"201.0","until":"221.*","originalSince":"193.0","originalUntil":null},{"id":"DartJsonGenerator","version":"3.1.2","since":"171.0","until":"171.*","originalSince":"171.0","originalUntil":"213.*"},{"id":"palantir-java-format","version":"2.11.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"YapiUploadPlus","version":"1.0.2","since":"173.0","until":"","originalSince":"94.539","originalUntil":null},{"id":"palantir-java-format","version":"2.12.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.13.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.14.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"ai.coderefactor","version":"2021.3.10","since":"212.*","until":"213.*","originalSince":"202.0","originalUntil":"213.*"},{"id":"org.intellij.scala","version":"2021.3.18","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"fortify.securityAssistant.security-assistant-intellij","version":"22.1.0.0102","since":"203.0.0","until":"213.*","originalSince":"201.0.0","originalUntil":"213.*"},{"id":"com.github.beansoftapp.visualgc.plugin","version":"2021.3.3","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"intellij-crystal-lang","version":"0.2.1-2021.2","since":"212.0","until":"213.*","originalSince":"212.0","originalUntil":"999.*"},{"id":"org.intellij.scala","version":"2021.3.522","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"palantir-java-format","version":"2.15.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"org.intellij.scala","version":"2021.3.523","since":"213.5744.223","until":"213.*","originalSince":"213.5744.223","originalUntil":"221.*"},{"id":"palantir-java-format","version":"2.16.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"de.quantumrange.betterCollapse","version":"1.0.1-SNAPSHOT","since":"213.*","until":"213.*","originalSince":"213.6461","originalUntil":"213.*"},{"id":"com.unger1984.npmdependencychecker","version":"0.0.2","since":"203.0","until":"223.*","originalSince":"203.0","originalUntil":"300.0"},{"id":"co.bito.bito-intellij","version":"1.0.83","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"palantir-java-format","version":"2.17.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"marcglasberg.HibernateInspectionsPlugin","version":"1.6","since":"231.0","until":"","originalSince":"192.0","originalUntil":null},{"id":"com.sourcegraph.jetbrains","version":"1.2.3","since":"162","until":"213.*","originalSince":"145.0","originalUntil":"213.*"},{"id":"com.intellij.lang.jsgraphql","version":"3.1.3","since":"221.0","until":"221.*","originalSince":"211.0","originalUntil":"221.*"},{"id":"com.intellij.resharper.azure","version":"3.50.0.1350-2022.1","since":"221.0","until":"221.3427.104","originalSince":"221.0","originalUntil":"221.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.0.0","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"com.mallowigi.imageicon","version":"11.0.0","since":"221.0","until":"221.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.mallowigi","version":"60.0.0","since":"221.0","until":"221.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.checkmarx.intellij","version":"9.00.25","since":"172","until":"","originalSince":"111.69","originalUntil":null},{"id":"net.mamoe.mirai-console","version":"213-2.10.0-160-1","since":"212.*","until":"213.*","originalSince":"212.*","originalUntil":"225.*"},{"id":"com.icoder0.groom","version":"1.1.0","since":"201.8743.12","until":"232.*","originalSince":"182.5262.2","originalUntil":null},{"id":"net.mamoe.mirai-console","version":"213-2.10.0-162-1","since":"212.*","until":"213.9999","originalSince":"212.*","originalUntil":"225.*"},{"id":"com.unger1984.npmdependencychecker","version":"0.0.3","since":"203.0","until":"223.*","originalSince":"203.0","originalUntil":"300.0"},{"id":"co.bito.bito-intellij","version":"1.0.85","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.github.mbolotov.playwrightintellij","version":"1.1","since":"212.0","until":"213.*","originalSince":"212.0","originalUntil":"221.*"},{"id":"com.intellij.resharper.azure","version":"3.50.0.1355-2022.1","since":"221.3427.105","until":"221.*","originalSince":"221.0","originalUntil":"221.*"},{"id":"com.agenthun.intellij-astock-plugin","version":"2022.1.1","since":"202.0","until":"213.*","originalSince":"202.0","originalUntil":"221.*"},{"id":"com.github.voml.neo_theme","version":"0.2.1","since":"180.0","until":"220.*","originalSince":"170.0","originalUntil":"220.*"},{"id":"com.leinardi.pycharm.mypy","version":"0.14.0","since":"212.5712","until":"","originalSince":"201.8743","originalUntil":null},{"id":"com.leinardi.pycharm.pylint","version":"0.14.0","since":"212.5712","until":"","originalSince":"201.8743","originalUntil":null},{"id":"slinky.core.intellij","version":"0.7.1","since":"203.6682.168","until":"223.*","originalSince":"203.6682.168","originalUntil":"999.9999.999"},{"id":"org.reloadium","version":"0.7.0","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"easy-code","version":"1.201.1","since":"201.7223","until":"212.*","originalSince":"201.7223","originalUntil":"213.*"},{"id":"com.chuntung.plugin.mybatisbuilder","version":"1.2.3","since":"181.4203","until":"231.*","originalSince":"181.4203","originalUntil":"299.*"},{"id":"com.cral.JSONKeyFinder","version":"2.0.6","since":"211.6693.65","until":"","originalSince":"202.5792.28","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.1.0","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"com.daveme.intellij.chocolateCakePHP","version":"0.8.0","since":"212.*","until":"213.*","originalSince":"212.0","originalUntil":"213.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.1.1","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"org.hg.VoidTheme","version":"1.0","since":"191","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.2.0","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"de.ax.powermode","version":"102.201","since":"211.7628.21","until":"","originalSince":"211.0","originalUntil":null},{"id":"palantir-java-format","version":"2.18.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.19.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.20.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.codelogic.itellicape","version":"22.6.2","since":"212.0","until":"","originalSince":"203.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.2.1","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"fr.adrienbrault.idea.symfony2plugin","version":"2022.1.213","since":"313","until":"313","originalSince":"211.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.2.2","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"org.reloadium","version":"0.7.6","since":"203.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"org.intellij.qodana","version":"221.5080.126","since":"221.5080","until":"221.5080.*","originalSince":"221.5080","originalUntil":"221.*"},{"id":"com.previewjs.intellij.plugin","version":"1.6.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.github.goldsubmarine.restfulhelper","version":"0.2.4-stable","since":"213.0","until":"213.*","originalSince":"212.0","originalUntil":"213.*"},{"id":"fr.adrienbrault.idea.symfony2plugin","version":"2022.1.217","since":"221","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.2.3","since":"221.0","until":"221.9999","originalSince":"221.0","originalUntil":"222.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.3.0","since":"221.5080","until":"221.9999","originalSince":"221.5080","originalUntil":"222.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.0.0","since":"211","until":"221.*","originalSince":"203.0","originalUntil":"221.*"},{"id":"fi.aalto.cs.intellij-plugin","version":"3.6","since":"213.*","until":"222.*","originalSince":"212.4746","originalUntil":null},{"id":"palantir-java-format","version":"2.21.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"palantir-java-format","version":"2.22.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"io.artage.sfcc.salesforce-commerce-cloud","version":"2021.1.2.4","since":"213","until":"221.*","originalSince":"203.3645.*","originalUntil":"221.*"},{"id":"com.murphysec.intellij.Plugin","version":"2.0.7","since":"202.1","until":"221.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"com.previewjs.intellij.plugin","version":"1.6.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.mallowigi","version":"61.0.0","since":"221.5080","until":"221.*","originalSince":"221.5080","originalUntil":"231.*"},{"id":"com.previewjs.intellij.plugin","version":"1.6.2","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"net.sf.opk.avro-schema-support","version":"213.0.1","since":"211","until":"221.*","originalSince":"203.0","originalUntil":"221.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.3.2","since":"221.5080","until":"221.9999","originalSince":"221.5080","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.6.3","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.mallowigi","version":"62.0.0","since":"221.5080","until":"221.*","originalSince":"221.5080","originalUntil":"231.*"},{"id":"com.github.turansky.yfiles","version":"1.20.0","since":"212.5712","until":"221.*","originalSince":"212.5712","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.6.4","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.profoundinventions.houdini","version":"2022.1","since":"213.6461.21","until":"213.6461.21","originalSince":"212.0","originalUntil":"213.*"},{"id":"com.mesour.intellij.neon","version":"1.0.4","since":"201.0","until":"222.*","originalSince":"201.0","originalUntil":"291.*"},{"id":"com.wafer","version":"1.5","since":"181","until":"231.*","originalSince":"173.0","originalUntil":null},{"id":"com.mallowigi","version":"63.0.0","since":"221.5080","until":"221.*","originalSince":"221.5080","originalUntil":"231.*"},{"id":"com.sourcegraph.jetbrains","version":"1.2.4","since":"192.0","until":"221.*","originalSince":"162.0","originalUntil":"221.*"},{"id":"NEON support","version":"0.5.2","since":"212.0","until":"","originalSince":"139.0","originalUntil":null},{"id":"com.mallowigi","version":"64.0.0","since":"221.5080","until":"221.*","originalSince":"221.5080","originalUntil":"231.*"},{"id":"com.intuit.intellij.makefile","version":"2.0.1","since":"212","until":"213.*","originalSince":"213.5744.223","originalUntil":null},{"id":"com.mrliuxia.doraemon","version":"0.3.0","since":"172.4343","until":"221.*","originalSince":"172.4343","originalUntil":"311.0"},{"id":"com.intuit.intellij.makefile","version":"2.1.0","since":"213","until":"213.*","originalSince":"212.0","originalUntil":"213.*"},{"id":"com.jetbrains.edu","version":"2022.4-2022.1-218","since":"221.4165","until":"221.*","originalSince":"221.4165","originalUntil":"222.*"},{"id":"palantir-java-format","version":"2.23.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"me.mbolotov.cypress.pro","version":"3.1","since":"221.0","until":"221.*","originalSince":"213.0","originalUntil":"221.*"},{"id":"palantir-java-format","version":"2.24.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.7.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"dk.cego.gitlab_ci_local_plugin","version":"0.0.2","since":"211.0","until":"221.*","originalSince":"211.0","originalUntil":"231.*"},{"id":"org.intellij.scala","version":"2022.1.14","since":"221.4501","until":"221.*","originalSince":"221.4501","originalUntil":"222.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.4.0","since":"221.5080","until":"221.9999","originalSince":"221.5080","originalUntil":"222.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.4.1","since":"221.5080","until":"221.9999","originalSince":"221.5080","originalUntil":"222.*"},{"id":"ru.crazycoder.plugins.tabdir","version":"1.6.7","since":"122.519","until":"231.*","originalSince":"122.519","originalUntil":"400.*"},{"id":"me.foreverigor.streamtips","version":"1.0.1","since":"203.*","until":"212.5712.43","originalSince":"202.5800","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.7.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.previewjs.intellij.plugin","version":"1.8.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.hotdog.plugin","version":"1.1.0","since":"203.*","until":"203.*","originalSince":"203.7717","originalUntil":"203.*"},{"id":"org.intellij.scala","version":"2022.1.15","since":"221.4501","until":"221.*","originalSince":"221.4501","originalUntil":"222.*"},{"id":"com.wada811.kotlinizepr.kotlinize-pr-plugin","version":"1.0.5","since":"203.*","until":"","originalSince":"192.*","originalUntil":null},{"id":"com.by122006.zircon.ijplugin","version":"2.2","since":"200.*","until":"222.*","originalSince":"200.*","originalUntil":"300.0"},{"id":"com.mybatis.smart.pro.plugin","version":"2022.2.2","since":"213.7172.25","until":"221.*","originalSince":"212.4746.92","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2022.1.623","since":"221.4501","until":"221.*","originalSince":"221.4501","originalUntil":"222.*"},{"id":"com.mybatis.smart.pro.plugin","version":"2022.2.3","since":"213.7172.25","until":"221.*","originalSince":"212.4746.92","originalUntil":"221.*"},{"id":"org.intellij.scala","version":"2022.1.15","since":"221.4501","until":"221.*","originalSince":"221.4501","originalUntil":"222.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"7.5.0.2","since":"221.5080","until":"221.9999","originalSince":"221.5080","originalUntil":"222.*"},{"id":"org.antlr.intellij.plugin","version":"1.19","since":"220","until":"","originalSince":"192.0","originalUntil":null},{"id":"ru.adelf.idea.dotenv","version":"2022.2","since":"222.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"top.xystudio.plugin.idea.LiteFlowX","version":"0.0.1","since":"183.*","until":"221.*","originalSince":"171.*","originalUntil":"221.*"},{"id":"com.jetbrains.edu","version":"2022.5-2022.1-343","since":"221.4165","until":"221.*","originalSince":"221.4165","originalUntil":"222.*"},{"id":"co.bito.bito-intellij","version":"1.0.99","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.100","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"org.jetbrains.IdeaVim-EasyMotion","version":"1.8","since":"213","until":"","originalSince":"203.7717.56","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.102","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.102-1","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.mybatis.smart.pro.plugin","version":"2022.2.6","since":"213.7172.25","until":"222.*","originalSince":"212.4746.92","originalUntil":"222.*"},{"id":"intellij-scheme","version":"0.1.8","since":"133.0","until":"","originalSince":"103.0","originalUntil":null},{"id":"com.jetbrains.gerryPurpleTheme","version":"3.10","since":"191.0","until":"211.*","originalSince":"191.0","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.9.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.mintlify.document","version":"1.1.6","since":"203.0","until":"221.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"com.github.turansky.yfiles","version":"1.21.0","since":"212.5712","until":"221.*","originalSince":"212.5712","originalUntil":"222.*"},{"id":"com.mybatis.smart.pro.plugin","version":"2022.2.7","since":"213.7172.25","until":"222.*","originalSince":"212.4746.92","originalUntil":"222.*"},{"id":"fi.tampere.catto.plugin","version":"1.1.7-SNAPSHOT","since":"221.*","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"com.junhai.oversea.sdk.plugin","version":"1.1.6","since":"200","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.github.brandtjo.releasescripthelper","version":"1.2.8","since":"221","until":"221.*","originalSince":"88.*","originalUntil":"221.*"},{"id":"com.by122006.zircon.ijplugin","version":"2.3","since":"200.*","until":"222.*","originalSince":"200.*","originalUntil":"300.0"},{"id":"slowgenius-tools","version":"2.0.0","since":"193.0","until":"222.*","originalSince":"191.0","originalUntil":"222.*"},{"id":"com.murphysec.intellij.Plugin","version":"3.0.0","since":"202.0","until":"223.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"MyBatisLog","version":"2022.7.2","since":"221","until":"223.*","originalSince":"203.*","originalUntil":"223.*"},{"id":"com.github.passerr.idea.plugins","version":"3.0.0","since":"202","until":"","originalSince":"202.6397","originalUntil":null},{"id":"MyBatisLog","version":"2022.5.2","since":"193.1","until":"220.4","originalSince":"193.1","originalUntil":"222.2"},{"id":"co.bito.bito-intellij","version":"1.0.104","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.junhai.oversea.sdk.plugin","version":"1.1.7","since":"200","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.junhai.oversea.sdk.plugin","version":"1.1.8","since":"200","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.junhai.oversea.sdk.plugin","version":"1.1.9","since":"200","until":"","originalSince":"173.0","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.9.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"palantir-java-format","version":"2.25.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.105","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"de.jensklingenberg.htmltocfw","version":"null","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"999.*"},{"id":"top.xystudio.plugin.idea.LiteFlowX","version":"1.0.0","since":"201.*","until":"221.*","originalSince":"183.*","originalUntil":"221.*"},{"id":"com.checkmarx.intellij","version":"9.00.29","since":"172","until":"","originalSince":"111.69","originalUntil":null},{"id":"com.murphysec.intellij.Plugin","version":"3.0.1","since":"202.0","until":"223.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"co.anbora.labs.firebase-syntax-highlighting","version":"2022.3.1","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.106","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"leetcode-editor","version":"8.2","since":"203.0","until":"","originalSince":"202.0","originalUntil":null},{"id":"org.moe","version":"1.5.2","since":"202.0","until":"223.*","originalSince":"201.0","originalUntil":null},{"id":"com.github.victorrentea.slf4jplugin","version":"1.0.20","since":"203.0","until":"233.*","originalSince":"203.0","originalUntil":"241.*"},{"id":"com.previewjs.intellij.plugin","version":"1.10.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"io.artage.sfcc.salesforce-commerce-cloud","version":"2021.1.2.5","since":"213","until":"222.*","originalSince":"211.*","originalUntil":"222.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.1.0","since":"211","until":"223.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"com.mallowigi.colorHighlighter","version":"12.0.0","since":"222.0","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.murphysec.intellij.Plugin","version":"3.0.2","since":"202.0","until":"223.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"com.tang","version":"1.3.7.2-IDEA222","since":"222.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"co.bito.bito-intellij","version":"1.0.107","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"213.2.0","since":"211","until":"223.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"vedro","version":"0.1.3","since":"211","until":"","originalSince":"203.0","originalUntil":null},{"id":"palantir-java-format","version":"2.26.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"213.2.1","since":"211","until":"223.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"com.github.turansky.yfiles","version":"1.22.0","since":"222.3345","until":"222.*","originalSince":"212.5712","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.11.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.jetbrains.rider.plugins.ilruntimedebugger","version":"211.1.2","since":"211.*","until":"211.*","originalSince":"211.7628","originalUntil":"211.*"},{"id":"com.rrawat.gitlabmrview","version":"0.0.2-alpha","since":"220.0","until":"223.*","originalSince":"220.0","originalUntil":"233.*"},{"id":"com.egoshard.intellij.k8s-runtime-config-plugin","version":"1.2.10","since":"222.0","until":"223.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.github.jensim.megamanipulator","version":"0.0.53","since":"221.0","until":"223.*","originalSince":"221.0","originalUntil":"229.*"},{"id":"detekt","version":"1.21.1","since":"221","until":"","originalSince":"203.5981.155","originalUntil":null},{"id":"com.mesour.intellij.latte","version":"1.0.1","since":"213.0","until":"222.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.mesour.intellij.latte","version":"1.0.2","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"dev.eltonsandre.intellij.spring.assistant.plugin","version":"2022.2.2","since":"221.*","until":"222.*","originalSince":"221.0","originalUntil":null},{"id":"com.github.enzdev.ideangxtranslateautocomplete","version":"0.1.3","since":"221.0","until":"222.*","originalSince":"211.0","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.12.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.mesour.intellij.latte","version":"1.0.3","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.alayouni.ansiHighlight","version":"22.2.3","since":"222.3345.118","until":"222.4345.14","originalSince":"222.3345.118","originalUntil":"222.*"},{"id":"SidePanelSwitcher","version":"1.0.2","since":"201","until":"300.*","originalSince":"191.0","originalUntil":"300.*"},{"id":"no.eirikb.avatest","version":"1.9.0","since":"203.0","until":"222.*","originalSince":"202.0","originalUntil":"222.*"},{"id":"detekt","version":"1.21.1-android","since":"212.4746.92","until":"221.*","originalSince":"203.5981.155","originalUntil":null},{"id":"com.mesour.intellij.latte","version":"1.0.4","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.previewjs.intellij.plugin","version":"1.12.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.bugull.androidinitplugin","version":"1.0","since":"192","until":"223.*","originalSince":"160.0","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.108","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.12.2","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"org.example.tool","version":"1.2.1","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"org.chromie.chromie","version":"1.0","since":"202.0","until":"222.*","originalSince":"201.0","originalUntil":"222.*"},{"id":"com.mesour.intellij.latte","version":"1.0.5","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"org.chromie.chromie","version":"1.1","since":"202.0","until":"222.*","originalSince":"201.0","originalUntil":"222.*"},{"id":"com.lowgular.intellij","version":"0.5.2-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"co.bito.bito-intellij","version":"1.0.109","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.110","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.mesour.intellij.latte","version":"1.0.6","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.rohdeschwarz.ic","version":"1.0.1","since":"222.0","until":"223.*","originalSince":"222.0","originalUntil":"250.0"},{"id":"io.thundra.merloc","version":"0.0.1","since":"203","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.13.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"co.anbora.labs.firebase-syntax-highlighting","version":"2022.4.1","since":"212.0","until":"222.*","originalSince":"212.0","originalUntil":"223.*"},{"id":"co.anbora.labs.kse","version":"1.2.2","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"co.anbora.labs.todo.export","version":"1.3.2","since":"222.0","until":"222.*","originalSince":"222.0","originalUntil":"223.*"},{"id":"co.anbora.labs.pdn-viewer","version":"1.3.2","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"leetcode-helper","version":"1.5","since":"203","until":"","originalSince":"202.0","originalUntil":null},{"id":"com.lowgular.intellij","version":"0.6.0-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"fortify.securityAssistant.security-assistant-intellij","version":"22.2.0.0110","since":"203.0","until":"223.*","originalSince":"201.0","originalUntil":"223.*"},{"id":"org.example.tool","version":"1.2.2","since":"200.0","until":"222.*","originalSince":"200.0","originalUntil":"299.*"},{"id":"co.bito.bito-intellij","version":"1.0.111","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.lowgular.intellij","version":"0.7.0-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"dev.buijs.klutter.jetbrains","version":"0.2.4","since":"221","until":"222.*","originalSince":"213.*","originalUntil":"222.*"},{"id":"com.rick.ormplugin.guide-idea-plugin-orm","version":"0.0.2-SNAPSHOT","since":"202.*","until":"222.*","originalSince":"222.*","originalUntil":null},{"id":"com.lowgular.intellij","version":"0.8.0-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"io.gitpod.jetbrains.gateway","version":"0.0.1-223-926.2","since":"223.6646","until":"223.*","originalSince":"223.926","originalUntil":"223.*"},{"id":"com.lowgular.intellij","version":"0.8.1-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":"co.anbora.labs.firebase-syntax-highlighting","version":"2022.4.2","since":"212.0","until":"222.*","originalSince":"212.0","originalUntil":"223.*"},{"id":"com.lowgular.intellij","version":"0.9.0-SNAPSHOT","since":"221.0","until":"222.*","originalSince":"212.0","originalUntil":"222.*"},{"id":">com.ben.df","version":"1.6.8","since":"183","until":"","originalSince":"182.0","originalUntil":null},{"id":"co.anbora.labs.firebase-syntax-highlighting","version":"2022.5.1","since":"212.0","until":"222.*","originalSince":"212.0","originalUntil":"223.*"},{"id":"org.example.tool","version":"1.2.3","since":"200.0","until":"223","originalSince":"200.0","originalUntil":"299.*"},{"id":"palantir-java-format","version":"2.27.0","since":"193","until":"","originalSince":"182.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.112","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.113","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.mesour.intellij.latte","version":"1.0.7","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.unger1984.npmdependencychecker","version":"0.1.1","since":"203.0","until":"223.*","originalSince":"203.0","originalUntil":"300.0"},{"id":"com.mesour.intellij.latte","version":"1.0.8","since":"213.0","until":"223.*","originalSince":"213.0","originalUntil":"292.*"},{"id":"com.previewjs.intellij.plugin","version":"1.14.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.taff.plugin.orchide","version":"2021.1.8.1-2020.1","since":"201.6668.113","until":"223","originalSince":"201.6668.113","originalUntil":"231.0"},{"id":"me.mbolotov.cypress.pro","version":"3.4","since":"221.0","until":"222.*","originalSince":"221.0","originalUntil":"223.*"},{"id":"io.codelink.plugins.jetbrains","version":"1.0.2","since":"212","until":"222.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"org.intellij.scala","version":"2022.3.2","since":"223.6160","until":"231.*","originalSince":"223.5502","originalUntil":"231.*"},{"id":"io.codelink.plugins.jetbrains","version":"1.0.3","since":"212.0","until":"222.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"org.example.tool","version":"1.3.0","since":"200.0","until":"223","originalSince":"200.0","originalUntil":"299.*"},{"id":"com.previewjs.intellij.plugin","version":"1.15.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"UDC","version":"2.0.1","since":"193.5662.53","until":"","originalSince":"191.*","originalUntil":null},{"id":"io.gitpod.jetbrains.gateway","version":"0.0.1-main.5095","since":"222.4345.14","until":"222.*","originalSince":"222.4167.26","originalUntil":"222.*"},{"id":"com.previewjs.intellij.plugin","version":"1.15.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.previewjs.intellij.plugin","version":"1.15.2","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"per.wbh.TimeAutoFormat","version":"1.0.7","since":"222.2680.4","until":"","originalSince":"222.0","originalUntil":null},{"id":"me.mbolotov.cypress.pro","version":"3.4.1","since":"222.0","until":"222.*","originalSince":"222.0","originalUntil":"223.*"},{"id":"com.meterian.heidi-plugin-intellij","version":"0.0.2","since":"222.0","until":"223.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"io.gitpod.jetbrains.gateway","version":"0.0.1-main.5227-stable","since":"222.4345.14","until":"222.*","originalSince":"222.4167.26","originalUntil":"222.*"},{"id":"io.gitpod.jetbrains.gateway","version":"0.0.1-main.5237-stable","since":"222.4345.14","until":"222.*","originalSince":"222.4167.26","originalUntil":"222.*"},{"id":"co.bito.bito-intellij","version":"1.0.115-11","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.116","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.previewjs.intellij.plugin","version":"1.16.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"org.mvnsearch.jetbrains.plugins.dubbo-jetbrains-plugin","version":"0.7.0","since":"223.7126","until":"223.*","originalSince":"223.7126","originalUntil":"224.*"},{"id":"org.example.tool","version":"1.3.1","since":"200.0","until":"223","originalSince":"200.0","originalUntil":"299.*"},{"id":"com.sailorj.itools.action.MyPoJo2JsonAction","version":"1.2","since":"201","until":"213.*","originalSince":"191.*","originalUntil":"213.*"},{"id":"me.mbolotov.cypress.pro","version":"3.5","since":"222.0","until":"222.*","originalSince":"222.0","originalUntil":"223.*"},{"id":"com.taff.plugin.orchide","version":"2022.1.0.0-2020.1","since":"201.6668.113","until":"223","originalSince":"201.6668.113","originalUntil":"231.0"},{"id":"co.bito.bito-intellij","version":"1.0.117","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.anbora.labs.fantom-lang","version":"1.0.0","since":"213.0","until":"222.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.murphysec.intellij.Plugin","version":"3.0.3","since":"202.0","until":"223.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"izhangzhihao.rainbow.brackets","version":"2022.3.2-ij","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"IvyIDEA","version":"1.0.17","since":"193","until":"","originalSince":"143.2370.31","originalUntil":null},{"id":"izhangzhihao.rainbow.brackets","version":"2022.3.3.1-ij","since":"222.0","until":"222.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"izhangzhihao.rainbow.brackets","version":"2022.3.3.2-ij","since":"203.0","until":"221.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"palantir-java-format","version":"2.28.0","since":"193.0","until":"","originalSince":"182.0","originalUntil":null},{"id":"ski.chrzanow.foldableprojectview","version":"1.1.4","since":"221.0","until":"223.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.intellij.mermaid","version":"0.0.3-nightly","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"bazelbuild-rider","version":"0.0.11","since":"223.0","until":"300.*","originalSince":"222.0","originalUntil":"300.*"},{"id":"net.kenro.ji.jin.intellij.purescript","version":"v0.58.0","since":"212","until":"222.*","originalSince":"203.0","originalUntil":"222.*"},{"id":"com.kiven.json2dart","version":"1.0.1","since":"213.7172.25","until":"223.*","originalSince":"213.7172.25","originalUntil":"999.0"},{"id":"top.xystudio.plugin.idea.LiteFlowX","version":"1.1.2","since":"203.*","until":"222.*","originalSince":"202.*","originalUntil":"222.*"},{"id":"com.intellij.mermaid","version":"0.0.4","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"com.github.linrenen.uniappsupport","version":"0.14.0","since":"220.0","until":"222.3500","originalSince":"220.0","originalUntil":"223.0"},{"id":"dev.magic.extension","version":"0.10.1","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"aws.toolkit","version":"GW-1.55-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"GW-1.55-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.55-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.55-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.55-EAP.2022.12.02-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"dev.magic.extension","version":"0.10.2","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"com.k.pmpstudy.RenameFilesRefactorBatch","version":"1.0.8","since":"223.0","until":"223.*","originalSince":"222.0","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.117-50","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.0.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"me.mbolotov.cypress.pro","version":"3.5.1","since":"222.0","until":"222.*","originalSince":"222.0","originalUntil":"223.*"},{"id":"io.xmake","version":"1.1.9","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"239.*"},{"id":"aws.toolkit","version":"1.55-EAP.2022.12.06-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"dev.magic.extension","version":"0.11.0","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"aws.toolkit","version":"1.56-EAP.2022.12.07-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"ren.idea.thinkphp6helper","version":"0.14.8","since":"223.7500","until":"230.0","originalSince":"212.0","originalUntil":"230.0"},{"id":"org.intellij.scala","version":"2022.3.14","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"aws.toolkit","version":"GW-1.56-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"GW-1.56-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.56-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.56-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"com.lijiahaosummer.nccdev","version":"1.0.8","since":"223","until":"223.*","originalSince":"222.*","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.119","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"io.xmake","version":"1.2.0","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"269.*"},{"id":"com.previewjs.intellij.plugin","version":"1.17.0","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.intellij.mermaid","version":"0.0.5","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"com.intellij.mermaid","version":"0.0.5","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"co.bito.bito-intellij","version":"1.0.120","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.121","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.wsy.smartndkstack","version":"1.3-SNAPSHOT","since":"203.0","until":"223.*","originalSince":"192.0","originalUntil":"223.*"},{"id":"com.jetbrains.edu","version":"2022.12-2022.3-161","since":"223.7255","until":"223.*","originalSince":"223.7255","originalUntil":"231.*"},{"id":"org.intellij.scala","version":"2022.3.15","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"org.intellij.scala","version":"2022.3.14","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"co.bito.bito-intellij","version":"1.0.123","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"aws.toolkit","version":"GW-1.57-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"GW-1.57-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.57-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.57-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"aws.toolkit","version":"1.57-EAP.2022.12.16-223","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"224.*"},{"id":"dev.magic.extension","version":"0.12.0","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"org.elixir_lang","version":"14.0.0","since":"223.7571.182","until":"223.*","originalSince":"221.5080","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.124","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.2.1","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.jetbrains.IdeaVim-EasyMotion","version":"1.10","since":"223.7401.7","until":"","originalSince":"213.0","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"213.3.0","since":"211","until":"224.*","originalSince":"203.0","originalUntil":"224.*"},{"id":"org.intellij.scala","version":"2022.3.15","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"org.jetbrains.idea.maven.maven2-support","version":"1.0","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.3.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"co.bito.bito-intellij","version":"1.0.125","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.murphysec.intellij.Plugin","version":"3.0.4","since":"202.0","until":"231.*","originalSince":"202.0","originalUntil":"999.0"},{"id":"tanvd.paddle","version":"0.4.7","since":"221.5080","until":"222.4459","originalSince":"221.5080","originalUntil":"999.0"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.4.0","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"org.intellij.scala","version":"2022.3.16","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"pageqiu.conveniently.input.special.symbols","version":"1.0-SNAPSHOT","since":"172.4574.19","until":"","originalSince":"171.4694.73","originalUntil":null},{"id":"com.intellij.mermaid","version":"0.0.6-nightly","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"org.intellij.scala","version":"2022.3.946","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"dev.magic.extension","version":"0.12.1","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"999.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.3.1","since":"211","until":"224.*","originalSince":"203.0","originalUntil":"224.*"},{"id":"org.kdb.inside.brains.KdbInsideBrains","version":"3.5.1","since":"203.0","until":"222.*","originalSince":"203.0","originalUntil":"223.*"},{"id":"com.mesour.intellij.latte","version":"1.0.9","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"292.*"},{"id":"com.mesour.intellij.neon","version":"1.0.5","since":"201.0","until":"231.*","originalSince":"201.0","originalUntil":"291.*"},{"id":"co.bito.bito-intellij","version":"1.0.126","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.127","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.intellij.mermaid","version":"0.0.6","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"com.previewjs.intellij.plugin","version":"1.17.1","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.previewjs.intellij.plugin","version":"1.17.2","since":"212.0","until":"223","originalSince":"212.0","originalUntil":"999.0"},{"id":"com.mesour.intellij.latte","version":"1.0.10","since":"223.0","until":"224.*","originalSince":"223.0","originalUntil":"292.*"},{"id":"co.bito.bito-intellij","version":"1.0.128","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.intellij.mermaid","version":"0.0.7","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"com.intellij.mermaid","version":"0.0.7","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"org.intellij.scala","version":"2022.3.16","since":"223.7571","until":"223.*","originalSince":"223.7571","originalUntil":"231.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.4.2-alpha1","since":"231.4840","until":"232.*","originalSince":"231.4840","originalUntil":"233.9999"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.4.2","since":"231.4840","until":"232.*","originalSince":"231.4840","originalUntil":"233.9999"},{"id":"com.dsoftware.ghtoolbar","version":"1.10.0","since":"223.4884.69","until":"223.*","originalSince":"223.4884.69","originalUntil":"231.*"},{"id":"com.jetbrains.kaggle","version":"1.2","since":"221.*","until":"231.*","originalSince":"193.*","originalUntil":"231.*"},{"id":"izhangzhihao.rainbow.brackets","version":"2023.1.2","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.4.0","since":"211","until":"231.*","originalSince":"203.0","originalUntil":"232.*"},{"id":"Valkyrie","version":"0.0.4","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"240.*"},{"id":"org.muchu.mybatis-support","version":"1.8.5","since":"223.0","until":"223.*","originalSince":"213.0","originalUntil":"223.*"},{"id":"com.github.davidenkoim.idnamessuggestingplugin","version":"0.2.1","since":"223.0","until":"234.0","originalSince":"222.0","originalUntil":"234.0"},{"id":"com.jetbrains.edu","version":"2023.1-2022.3-301","since":"223.7255","until":"223.*","originalSince":"223.7255","originalUntil":"231.*"},{"id":"Keep-Unit-Test-Running","version":"1.2","since":"211","until":"","originalSince":"201.6668.113","originalUntil":null},{"id":"com.peng.idea.plugin.builder-generator-plus-v2","version":"1.1.0","since":"222.0","until":"223.*","originalSince":"211.0","originalUntil":"223.*"},{"id":"me.bors.slack-share","version":"0.9.10","since":"203.0","until":"230.*","originalSince":"203.0","originalUntil":"231.*"},{"id":"co.bito.bito-intellij","version":"1.0.129","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"me.mbolotov.cypress.pro","version":"3.6.1","since":"231.0","until":"231.0","originalSince":"231.0","originalUntil":"231.*"},{"id":"com.hangox.myandroidtools","version":"1.0.57","since":"212.0","until":"231.*","originalSince":"212.0","originalUntil":"293.*"},{"id":"com.aiwan.gorm","version":"2023.1.4","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"fr.mary.olivier.aw-watcher","version":"2.0.0","since":"201.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"fr.mary.olivier.aw-watcher","version":"2.0.1","since":"201.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.denigma.intellij","version":"1.0.2.223","since":"222.*","until":"223.*","originalSince":"201.*","originalUntil":"223.*"},{"id":"com.aiwan.request-tool","version":"2023.1.5","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.aiwan.gorm","version":"2023.1.5","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"FavoriteFolders","version":"1.3.5","since":"231.1","until":"","originalSince":"223.1","originalUntil":null},{"id":"intellij-crystal-lang","version":"0.6-2023.1","since":"231.0","until":"231.6889","originalSince":"231.0","originalUntil":"231.*"},{"id":"me.mbolotov.cypress","version":"1.5.2","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.aiwan.request-tool","version":"2023.1.6","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.aiwan.gorm","version":"2023.1.6","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.intellij.mermaid","version":"0.0.8-nightly","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"231.*"},{"id":"com.aiwan.gorm","version":"2023.1.7","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.darkyen.darkyenustimetracker","version":"1.5.2","since":"221.0","until":"","originalSince":"203.0","originalUntil":null},{"id":"top.threep.plugin.txtic","version":"0.2.0","since":"212","until":"231.*","originalSince":"203.*","originalUntil":"231.*"},{"id":"com.aiwan.gorm","version":"2023.1.8","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"cn.sunist.project.bililive-danmaku","version":"1.1-SNAPSHOT","since":"213.0","until":"223.*","originalSince":"212.0","originalUntil":"312.*"},{"id":"com.jetbrains.edu","version":"2023.2-2023.1-10","since":"231.6471","until":"231.*","originalSince":"231.6471","originalUntil":"232.*"},{"id":"com.aiwan.gorm","version":"2023.1.9","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"intellij-crystal-lang","version":"0.6.1-2023.1","since":"231","until":"231.8770","originalSince":"231.0","originalUntil":"231.*"},{"id":"com.fuhrer.intellij.jump","version":"1.0","since":"222.0","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.aiwan.io-game","version":"2023.2.3","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.apifox.uploader","version":"1.1.14","since":"193.5662.53","until":"231.*","originalSince":"193.5662.53","originalUntil":"233.*"},{"id":"com.intellij.mermaid","version":"0.0.8","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.5.0","since":"231.6890","until":"232.*","originalSince":"231.6890","originalUntil":"233.9999"},{"id":"top.threep.plugin.txtic","version":"0.3.0","since":"212","until":"231.*","originalSince":"203.*","originalUntil":"231.*"},{"id":"com.broxus.t-sol","version":"1.1","since":"211","until":"","originalSince":"203.8084.24","originalUntil":null},{"id":"net.sf.opk.avro-schema-support","version":"213.4.1","since":"211","until":"231.*","originalSince":"203.0","originalUntil":"232.*"},{"id":"com.intellij.mermaid","version":"0.0.9-nightly.1","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.aiwan.request-tool","version":"2023.1.7","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.intellij.mermaid","version":"0.0.9","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.aiwan.gorm","version":"2023.1.10","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.metalbear.mirrord","version":"3.26.1","since":"223.0","until":"","originalSince":"213.0","originalUntil":null},{"id":"com.peng.idea.plugin.builder-generator-plus-v2","version":"1.1.1","since":"222.0","until":"223.*","originalSince":"211.0","originalUntil":"223.*"},{"id":"com.hangox.myandroidtools","version":"1.0.91","since":"213.0","until":"231.*","originalSince":"213.0","originalUntil":"293.*"},{"id":"top.threep.plugin.txtic","version":"0.4.0","since":"212","until":"231.*","originalSince":"203.*","originalUntil":"231.*"},{"id":"com.hangox.myandroidtools","version":"1.0.94","since":"213.0","until":"231.*","originalSince":"213.0","originalUntil":"293.*"},{"id":"dev.magic.extension","version":"0.13.1","since":"212.0","until":"231.*","originalSince":"212.0","originalUntil":"999.*"},{"id":"com.aiwan.request-tool","version":"2023.1.8","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.alibaba.p3c.xenoamess","version":"2.1.1.6x-SNAPSHOT","since":"231","until":"","originalSince":"202.8194.7","originalUntil":null},{"id":"com.aiwan.request-tool","version":"2023.1.9","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.aiwan.gorm","version":"2023.2.1","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.jetbrains.edu","version":"2023.2-2023.1-63","since":"231.6471","until":"231.*","originalSince":"231.6471","originalUntil":"232.*"},{"id":"dev.magic.extension","version":"0.13.2","since":"212.0","until":"231.*","originalSince":"212.0","originalUntil":"999.*"},{"id":"co.bito.bito-intellij","version":"1.0.130","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.aiwan.request-tool","version":"2023.2.1","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-116","since":"231.6471","until":"231.*","originalSince":"231.6471","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-132","since":"231.6471","until":"231.*","originalSince":"231.6471","originalUntil":"232.*"},{"id":"org.reloadium","version":"0.9.6","since":"223.0","until":"","originalSince":"222.0","originalUntil":null},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.1","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.2","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.karsta26.recent-projects-with-branch","version":"1.1-SNAPSHOT","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-144","since":"231.7665","until":"231.*","originalSince":"231.7665","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-148","since":"231.7665","until":"231.*","originalSince":"231.7665","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-153","since":"231.7665","until":"231.*","originalSince":"231.7665","originalUntil":"232.*"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.3","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.github.warningimhack3r.npmupdatedependencies","version":"1.0.1","since":"213.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"org.lukasj.idea.torquescript","version":"1.14.0-legacy","since":"221.0","until":"222.*","originalSince":"221.0","originalUntil":"223.0"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-155","since":"231.7665","until":"231.*","originalSince":"231.7665","originalUntil":"232.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.0.2.as","since":"221.1000.0","until":"221.6008.*","originalSince":"221.1000.0","originalUntil":"221.9000.0"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.4","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"org.example.tool","version":"1.3.2","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"299.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.0.4","since":"223.0.*","until":"223.8836.*","originalSince":"223.0.*","originalUntil":"223.9999.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.0.4.as","since":"221.1000.0","until":"221.6008.*","originalSince":"221.1000.0","originalUntil":"221.9999.0"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.5","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.aiwan.request-tool","version":"2023.2.2","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.aiwan.gorm","version":"2023.3.1","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-180","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"dev.magic.extension","version":"0.13.3","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.0.5","since":"223.0.*","until":"223.8836.*","originalSince":"223.0.*","originalUntil":"223.9999.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-195","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.0.5.as","since":"221.1000.0","until":"221.6008.*","originalSince":"221.1000.0","originalUntil":"221.9999.0"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-198","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"co.nums.intellij.aem","version":"2023.1","since":"213.6461.79","until":"","originalSince":"213.0","originalUntil":null},{"id":"com.aiwan.request-tool","version":"2023.3.2","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.6","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.aiwan.request-tool","version":"2023.3.5","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.aiwan.gorm","version":"2023.3.2","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.gitlab.msciachero.intellij-gitlab-plugin","version":"6.5.0-AI","since":"221.6008","until":"222.*","originalSince":"221.6008","originalUntil":"223.*"},{"id":"com.intellij.mermaid","version":"0.0.10-nightly.7","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-221","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-230","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"dev.magic.extension","version":"0.14.0","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"co.bito.bito-intellij","version":"1.0.131","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.luomacode.ChatMoss","version":"1.0.1","since":"203.0","until":"232.*","originalSince":"231.0","originalUntil":null},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-240","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"dev.magic.extension","version":"0.14.1","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"co.bito.bito-intellij","version":"1.0.132","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.aiwan.gorm","version":"2023.3.3","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.jetbrains.edu","version":"2023.3-2023.1-252","since":"231.8109","until":"231.*","originalSince":"231.8109","originalUntil":"232.*"},{"id":"com.aiwan.jorm","version":"2023.3.3","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.huawei.deveco.hms","version":"6.9.0.300.CM","since":"212.0","until":"213.*","originalSince":"203.0","originalUntil":null},{"id":"com.intellij.mermaid","version":"0.0.10","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.intellij.mermaid","version":"0.0.10","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.github.grishberg.android.android-layout-inspector-plugin","version":"23.03.21.0","since":"211.0","until":"222.*","originalSince":"211.0","originalUntil":"223.*"},{"id":"dev.magic.extension","version":"0.14.2","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.4.2","since":"211","until":"231.*","originalSince":"203.7717","originalUntil":"232.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.2.0.as","since":"221.1000.0","until":"221.6008.*","originalSince":"221.1000.0","originalUntil":"221.9999.0"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.2.0","since":"223.0.*","until":"223.8836.*","originalSince":"223.0.*","originalUntil":"223.9999.*"},{"id":"intellij-crystal-lang","version":"0.7-2023.1","since":"231.0","until":"231.8769","originalSince":"231.0","originalUntil":"231.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.6.0","since":"231.8109","until":"232.*","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"com.intellij.mermaid","version":"0.0.11-nightly.1","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"com.utopia-rise.godotjvmideaplugin","version":"0.6.0-3.5.2-IJ2022.3","since":"222.3","until":"231.*","originalSince":"222.3","originalUntil":"999.*"},{"id":"com.intellij.mermaid","version":"0.0.11-nightly.2","since":"223.7025","until":"231.8109.175","originalSince":"223.7025","originalUntil":"232.*"},{"id":"dev.magic.extension","version":"0.15.0","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.utopia-rise.godotjvmideaplugin","version":"0.6.1-3.5.2-IJ2022.3","since":"223.1","until":"231.*","originalSince":"223.1","originalUntil":"999.*"},{"id":"com.aiwan.request-tool","version":"2023.3.6","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"com.millennialmedia.intellibot@lte2000","version":"0.16.191.8026","since":"192","until":"","originalSince":"143.381","originalUntil":null},{"id":"com.aiwan.gorm","version":"2023.3.4","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.15.1","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"co.bito.bito-intellij","version":"1.0.133","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.suusan2go.kotlin-fill-class","version":"1.0.19.1","since":"221.5080.210","until":"","originalSince":"191.8026.42","originalUntil":null},{"id":"org.mukatalab.jumpy","version":"0.0.6","since":"231.0","until":"231.*","originalSince":"222.0","originalUntil":"231.*"},{"id":"com.mukatalab.scopeActions","version":"0.0.7","since":"231.0","until":"231.*","originalSince":"222.0","originalUntil":"231.*"},{"id":"io.artage.sfcc.salesforce-commerce-cloud","version":"2023.1","since":"223.7255.*","until":"231.*","originalSince":"223.7255.*","originalUntil":"232.*"},{"id":"com.tw.plugin.clover","version":"0.2.4","since":"203.0","until":"231.*","originalSince":"203.0","originalUntil":"999.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.3.0","since":"231.0.*","until":"231.9011.*","originalSince":"231.0.*","originalUntil":"231.9999.*"},{"id":"net.mamoe.kotlin-jvm-blocking-bridge","version":"231-3.1.0-180.1","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"com.aiwan.request-tool","version":"2023.3.7","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"nl.rubensten.texifyidea","version":"0.7.28","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"net.mamoe.mirai-console","version":"231-2.15.0-182-1","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"com.furstenheim.more-actions","version":"1.6-SNAPSHOT","since":"190.0","until":"250.*","originalSince":"190.0","originalUntil":"500.0"},{"id":"com.aiwan.gorm","version":"2023.3.5","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.16.0","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.google.d2c.androidstudio.plugin","version":"0.3.05","since":"203.7717","until":"222.*","originalSince":"203.7717","originalUntil":"231.*"},{"id":"com.github.warfaj.paxintellijplugin","version":"0.0.5","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"251.*"},{"id":"com.jantvrdik.intellij.latte","version":"1.1.7","since":"221.0","until":"231.*","originalSince":"221.0","originalUntil":"291.*"},{"id":"com.mesour.intellij.neon","version":"1.0.6","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"291.*"},{"id":"com.mesour.intellij.latte","version":"1.0.11","since":"223.0","until":"232.*","originalSince":"223.0","originalUntil":"292.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.6.1","since":"231.8109","until":"232.*","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"net.sf.opk.avro-schema-support","version":"213.4.3","since":"211","until":"231.*","originalSince":"203.7717203.7717.56","originalUntil":"232.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.6.2","since":"231.8109","until":"232.*","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"org.example.tool","version":"1.3.3","since":"223.0","until":"232.*","originalSince":"223.0","originalUntil":"299.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.5.0","since":"211","until":"231.*","originalSince":"203.7717203.7717.56","originalUntil":"232.*"},{"id":"com.peng.idea.plugin.builder-generator-plus-v2","version":"1.1.2","since":"222.0","until":"231.*","originalSince":"211.0","originalUntil":"231.*"},{"id":"com.obroom.plugin.toolset","version":"2023.4.4","since":"222","until":"243.0","originalSince":"201.*","originalUntil":"243.0"},{"id":"com.jetbrains.writerside","version":"2023.03.3401","since":"231.0","until":"231.8769","originalSince":"231.0","originalUntil":"231.*"},{"id":"copApiDocx","version":"1.0.1","since":"192.7142.36","until":"231.9011.14","originalSince":"192.6262.58","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.0.134","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.3.1","since":"231.0.*","until":"231.9011.*","originalSince":"231.0.*","originalUntil":"231.9999.*"},{"id":"shop.itbug.FlutterCheckVersionX","version":"3.3.1.as","since":"222.0.*","until":"222.4554.*","originalSince":"222.0.*","originalUntil":"222.9999.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.6.3","since":"231.8109","until":"232.*","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"com.github.linrenen.uniappsupport","version":"0.16.4","since":"223.7000","until":"232.*","originalSince":"223.7000","originalUntil":"999.0"},{"id":"dev.magic.extension","version":"0.17.0","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.aiwan.request-tool","version":"2023.4.1","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"li.barlog.oceanic-primal","version":"0.0.13","since":"211.0","until":"231.*","originalSince":"211.0","originalUntil":"993.*"},{"id":"org.intellij.sdk.MobTime","version":"3.4.1","since":"226.*","until":"231.*","originalSince":"226.*","originalUntil":"240.*"},{"id":"com.github.lonre.bucp","version":"23.04.20","since":"231.0","until":"231.*","originalSince":"231.0","originalUntil":"999.*"},{"id":"com.intellij.mermaid","version":"0.0.10-231.8109","since":"231.8109","until":"231.8770","originalSince":"231.8109","originalUntil":"231.*"},{"id":"ee.carlrobert.chatgpt","version":"1.10.4","since":"213.0","until":"231.*","originalSince":"211.0","originalUntil":"231.*"},{"id":"net.sf.opk.avro-schema-support","version":"213.5.1","since":"211","until":"232.*","originalSince":"203.7717203.7717.56","originalUntil":"232.*"},{"id":"com.timindustries.regexpluginv2","version":"0.0.5","since":"222.0","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.github.cetonek.tenebris","version":"0.0.13","since":"202.0","until":"231.*","originalSince":"202.0","originalUntil":"239.*"},{"id":"com.timindustries.regexpluginv2","version":"0.0.6","since":"222.*","until":"231.*","originalSince":"221.*","originalUntil":"231.*"},{"id":"com.google.d2c.androidstudio.plugin","version":"0.3.05-hotfix","since":"203.7717","until":"222.*","originalSince":"203.7717","originalUntil":"231.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.4.0","since":"223.0","until":"232.*","originalSince":"222.0","originalUntil":null},{"id":"robocorp.lsp.intellij","version":"1.10.1","since":"203.0","until":"231.*","originalSince":"203.0","originalUntil":"290.*"},{"id":"dev.magic.extension","version":"0.18.0","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"co.bito.bito-intellij","version":"1.0.135","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.intellij.nativeDebug","version":"232.5087","since":"232.5087","until":"232.5087","originalSince":"232.5087","originalUntil":"232.*"},{"id":"org.openasr.idiolect","version":"1.4.8","since":"223","until":"231.*","originalSince":"222.*","originalUntil":null},{"id":"dev.magic.extension","version":"0.18.1","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.18.2","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.github.nikolaikopernik.codecomplexity","version":"0.0.2","since":"231.0","until":"231.*","originalSince":"221.0","originalUntil":"231.*"},{"id":"com.copperleaf.ballast.Ballast","version":"3.0.0","since":"221.0","until":"232.*","originalSince":"221.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.18.3","since":"223.0","until":"231.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.18.4","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"fr.devcafeine.Typescript_Class_Tools","version":"0.1.0","since":"231","until":"231.*","originalSince":"224.0","originalUntil":"232.*"},{"id":"org.OverEngineer.InlineProblems","version":"0.4.2","since":"212.5712.*","until":"231.*","originalSince":"212.5","originalUntil":"231.*"},{"id":"dev.magic.extension","version":"0.18.5","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.copperleaf.ballast.Ballast","version":"3.0.1","since":"221.0","until":"232.*","originalSince":"221.0","originalUntil":"999.*"},{"id":"dev.magic.extension","version":"0.18.6","since":"223.0","until":"223.*","originalSince":"223.0","originalUntil":"999.*"},{"id":"com.k.pmpstudy.OpenedFilesDiffShortcut","version":"1.0.11","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"intellij-crystal-lang","version":"0.8-2023.2","since":"232.0","until":"232.6094","originalSince":"232.0","originalUntil":"232.*"},{"id":"com.smallcloud.codify","version":"1.1.46","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"233.*"},{"id":"co.anbora.labs.pdn-viewer","version":"1.4.0","since":"223.0","until":"232.5150.116","originalSince":"223.0","originalUntil":"232.*"},{"id":"es.spockdatatable.idea","version":"1.2.0","since":"221.*","until":"232.*","originalSince":"201.0","originalUntil":"232.*"},{"id":"com.aiwan.gorm","version":"2023.5.1","since":"222.0","until":"231.*","originalSince":"222.0","originalUntil":"999.*"},{"id":"fortify.securityAssistant.security-assistant-intellij","version":"23.1.0.0116","since":"203","until":"233.*","originalSince":"201.0","originalUntil":"233.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.6.4","since":"231.8109","until":"232.*","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"lermitage.intellij.extra.icons","version":"2023.2.4-221","since":"222","until":"224.*","originalSince":"221.6008.13","originalUntil":"224.*"},{"id":"co.bito.bito-intellij","version":"1.0.137","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"lermitage.intellij.extra.icons","version":"2023.2.5-221","since":"222","until":"224.*","originalSince":"221.6008.13","originalUntil":"224.*"},{"id":"intellij-crystal-lang","version":"0.8-2023.1","since":"231.0","until":"231.*","originalSince":"231.0","originalUntil":"233.*"},{"id":"org.jetbrains.idea.maven.maven2-support","version":"1.2","since":"232.0","until":"232.2","originalSince":"232.0","originalUntil":"232.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.7.0","since":"232.6095","until":"232.*","originalSince":"232.6095","originalUntil":"233.9999"},{"id":"pt.ist.fenixframework.plugin","version":"1.0.2","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"255.*"},{"id":"co.bito.bito-intellij","version":"1.0.138","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"PlantUML integration","version":"6.2.2-IJ2022.2","since":"232.6734.9","until":"","originalSince":"222.4167.9","originalUntil":null},{"id":"org.vorpal.research.kex-plugin","version":"0.0.1","since":"223.0","until":"231.*","originalSince":"222.0","originalUntil":"231.*"},{"id":"com.github.tuchg.nonasciicodecompletionhelper","version":"1.0.1","since":"221","until":"","originalSince":"213.0","originalUntil":null},{"id":"io.snyk.snyk-intellij-plugin","version":"2.4.60","since":"202.0","until":"222.*","originalSince":"202.0","originalUntil":"231.*"},{"id":"com.wrike.plugin.intellij","version":"0.16.1","since":"212","until":"","originalSince":"203.0","originalUntil":null},{"id":"com.copperleaf.ballast.Ballast","version":"3.0.2","since":"221.0","until":"232.*","originalSince":"221.0","originalUntil":"999.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.7.1","since":"231.8109","until":"231.9161.*","originalSince":"231.8109","originalUntil":"231.9999"},{"id":"com.mallowigi","version":"91.0.0","since":"232.7295","until":"233.9999","originalSince":"231.8109","originalUntil":"233.9999"},{"id":"net.mamoe.mirai-console","version":"231-2.15.0-182-2","since":"231.0","until":"231.*","originalSince":"223.0","originalUntil":"231.*"},{"id":"com.huawei.deveco.hms","version":"6.10.0.300.CM","since":"212.0","until":"221.*","originalSince":"203.0","originalUntil":null},{"id":"com.github.bridgecrewio.prismacloud","version":"1.0.7","since":"203.0","until":"","originalSince":"201.0","originalUntil":null},{"id":"com.aeolid.GeneratorProofing","version":"1.3.2","since":"231","until":"232.*","originalSince":"231.0","originalUntil":"243.*"},{"id":"co.bito.bito-intellij","version":"1.1.0","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230620","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"me.artspb.hackathon.git.bisect.run","version":"0.8.3","since":"232.7754","until":"233.*","originalSince":"231.8109","originalUntil":"233.*"},{"id":"com.ess.terminal-pro","version":"1.1.4","since":"211","until":"","originalSince":"203.1","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"1.4.0","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230627","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"com.intellij.plugins.haxe","version":"1.4.1","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.intellij.plugins.haxe","version":"1.4.2","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"me.mbolotov.cypress.pro","version":"3.6.3","since":"232","until":"232.*","originalSince":"231.1","originalUntil":"232.*"},{"id":"ChatGPTGold","version":"2023.5.3-203.222.4","since":"203.0","until":"203.*","originalSince":"203.0","originalUntil":"222.4459.24"},{"id":"com.luomacode.ChatMoss","version":"1.0.8","since":"203.0","until":"232.*","originalSince":"203.0","originalUntil":"999.*"},{"id":"com.intellij.plugins.haxe","version":"1.4.3","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230703","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"com.intellij.plugins.haxe","version":"1.4.4","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.8.0","since":"232.8296","until":"232.*","originalSince":"232.8296","originalUntil":"233.9999"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.8.1","since":"232.8296","until":"232.*","originalSince":"232.8296","originalUntil":"233.9999"},{"id":"com.intellij.plugins.haxe","version":"1.4.5","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"org.jetbrains.completion.full.line","version":"233.882","since":"231.0","until":"232.*","originalSince":"231.0","originalUntil":"233.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.0","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.town.basket","version":"222.1.2","since":"222.*","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"com.intellij.plugins.haxe","version":"1.4.6","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230711","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"com.microfocus.intellij.plugin.gitclient","version":"1.5","since":"193.0","until":"232.*","originalSince":"193.0","originalUntil":"239.9999"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.1","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.clutcher.comments_highlighter","version":"2023.7.2","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.intellij.plugins.haxe","version":"1.4.7","since":"223.8214","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.mybatisflex.bigtian","version":"1.4.2-RELEASE","since":"223","until":"232.*","originalSince":"222.3345.*","originalUntil":"232.*"},{"id":"com.github.chocovon.debug-variable-sl","version":"2.1.1","since":"193.0","until":"232.*","originalSince":"193.0","originalUntil":"251.0"},{"id":"org.kotsuite.intellij","version":"1.0.5","since":"222","until":"231.*","originalSince":"211.0","originalUntil":"231.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.3","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.gitlab.plugin","version":"0.1.1","since":"232.7754.73","until":"232.9559.62","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"com.github.lvlifeng.githelper","version":"231.1.5","since":"212.0","until":"232.*","originalSince":"203.0","originalUntil":"232.*"},{"id":"EditorGroups","version":"2.0.0","since":"232.0","until":"241.*","originalSince":"231.0","originalUntil":"241.*"},{"id":"SerialPortMonitor","version":"232.8660.153","since":"232.8660","until":"232.8660","originalSince":"232.8660","originalUntil":"232.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.15-231.9","since":"230.0","until":"230.0","originalSince":"230.0","originalUntil":"232.*"},{"id":"SerialPortMonitor","version":"232.8660.158","since":"232.8660","until":"232.8660","originalSince":"232.8660","originalUntil":"232.*"},{"id":"com.gitlab.plugin","version":"0.1.1","since":"232.7754.73","until":"232.9559.*","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.4","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"SerialPortMonitor","version":"232.8660.185","since":"232.8660","until":"232.8660","originalSince":"232.8660","originalUntil":"232.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.16-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"com.intellij.plugins.haxe","version":"1.4.8","since":"231.8109.175","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.github.hardcorequal.intellijgitquickview","version":"1.0.0","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"250.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.17-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.5","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.clutcher.comments_highlighter","version":"2023.7.7","since":"231.0","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.h3110w0r1d.gitmoji","version":"0.1.2","since":"232.0","until":"233.*","originalSince":"222.0","originalUntil":"233.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.18-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"io.xmake","version":"1.2.1","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"291.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.8","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"org.jetbrains.completion.full.line","version":"233.2912","since":"231.0","until":"231.*","originalSince":"231.0","originalUntil":"232.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.19-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.10.0","since":"232.8660","until":"232.*","originalSince":"232.8660","originalUntil":"233.9999"},{"id":"com.pvsstudio.dotnet","version":"7.26.73915","since":"193","until":"231.*","originalSince":"173.0","originalUntil":null},{"id":"FileSync","version":"1.15.0","since":"231.0","until":"","originalSince":"222.0","originalUntil":null},{"id":"com.github.linrenen.uniappsupport","version":"1.1.20-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"com.github.ArtsiomCh.JDCleanRead","version":"232.1.0","since":"202.0","until":"232.*","originalSince":"202.0","originalUntil":"999.9"},{"id":"MyBatisLog","version":"2023.8.2","since":"203","until":"222.*","originalSince":"193.0","originalUntil":"222.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.9","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"com.gitlab.plugin","version":"0.1.2","since":"232.7754.73","until":"232.9559.*","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"ArthasHotSwap","version":"3.0","since":"231.0","until":"233.*","originalSince":"231.0","originalUntil":"243.*"},{"id":"com.clutcher.comments_highlighter","version":"2023.7.10","since":"231","until":"","originalSince":"223.0","originalUntil":null},{"id":"net.mamoe.mirai-console","version":"232-2.15.0-182-1","since":"231.1","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"com.github.bigmouthcn.talkxideaplugin","version":"0.0.9","since":"212","until":"232.*","originalSince":"211.0","originalUntil":"232.*"},{"id":"io.github.godfather1103.custom.functions.for.live.templates","version":"1.1","since":"182.0","until":"","originalSince":"161.0","originalUntil":null},{"id":"com.github.thomasbagnolati.diamondthemeintellij","version":"2.0.1","since":"181","until":"","originalSince":"22.3","originalUntil":null},{"id":"co.bito.bito-intellij","version":"1.1.5","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"com.github.linrenen.uniappsupport","version":"1.1.21-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"io.xmake","version":"1.2.2","since":"201.0","until":"232.*","originalSince":"201.0","originalUntil":"291.*"},{"id":"co.bito.bito-intellij","version":"1.1.6","since":"212.0","until":"","originalSince":"211.0","originalUntil":null},{"id":"io.unthrottled.amii","version":"1.1.8","since":"232.0","until":"232.*","originalSince":"231.0","originalUntil":"232.*"},{"id":"com.gitlab.plugin","version":"0.1.3","since":"232.7754.73","until":"232.9559.*","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230829","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"com.github.bigmouthcn.talkxideaplugin","version":"0.0.10","since":"212","until":"232.*","originalSince":"211.0","originalUntil":"232.*"},{"id":"org.jetbrains.completion.full.line","version":"233.5199","since":"232.0","until":"232.*","originalSince":"231.0","originalUntil":"233.*"},{"id":"FitLang","version":"0.2.8-IDEA.221","since":"182.*","until":"232.*","originalSince":"182.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.2.9-IDEA.221","since":"182.*","until":"232.*","originalSince":"182.*","originalUntil":"253.*"},{"id":"io.ariga.atlas.hcl","version":"232.1.0","since":"232.0","until":"232.9559.*","originalSince":"232.0","originalUntil":"232.*"},{"id":"FitLang","version":"0.2.11","since":"182.*","until":"232.*","originalSince":"182.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.2.13","since":"182.*","until":"232.*","originalSince":"182.*","originalUntil":"253.*"},{"id":"com.github.linrenen.uniappsupport","version":"1.1.22-232","since":"232.1","until":"232.*","originalSince":"232.1","originalUntil":"999.0"},{"id":"org.rri.ijTextmate","version":"0.2","since":"222.*","until":"231.9392.1","originalSince":"222.3345.118","originalUntil":"231.9392.1"},{"id":"com.mallowigi","version":"93.1.0","since":"232.8660","until":"232.*","originalSince":"232.8660","originalUntil":"233.9999"},{"id":"com.github.bobi.aemgroovyconsoleplugin.aem-groovyconsole-plugin","version":"0.9.0","since":"231.0","until":"232.*","originalSince":"231.0","originalUntil":"241.*"},{"id":"FitLang","version":"0.3.6","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.3.7","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.3.8","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.4.0","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"org.example.tool","version":"1.3.4","since":"223.0","until":"299","originalSince":"223.0","originalUntil":"299.*"},{"id":"FitLang","version":"0.4.1","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.gitlab.plugin","version":"0.2.0","since":"232.7754.73","until":"232.9559.*","originalSince":"232.7754.73","originalUntil":"232.*"},{"id":"FitLang","version":"0.4.3","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.videogameaholic.intellij.starcoder","version":"0.230905","since":"212.0","until":"232.*","originalSince":"212.0","originalUntil":"300.*"},{"id":"FitLang","version":"0.4.4","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.yleanlink.template","version":"1.3.0","since":"203","until":"223.*","originalSince":"201.0","originalUntil":"223.*"},{"id":"com.baway.bw-plugin","version":"1.0.1-SNAPSHOT","since":"191.0","until":"232.*","originalSince":"191.0","originalUntil":"251.*"},{"id":"com.baway.bw-plugin","version":"1.0.2-SNAPSHOT","since":"191.0","until":"232.*","originalSince":"191.0","originalUntil":"251.*"},{"id":"FitLang","version":"0.4.5","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.4.6","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"co.bito.bito-intellij","version":"1.1.7","since":"212","until":"","originalSince":"211.0","originalUntil":null},{"id":"FitLang","version":"0.4.7","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.4.8","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.4.10","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.4.11","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.samuraism.plugins.tiger","version":"2023.2.1","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"233.*"},{"id":"com.baway.bw-plugin","version":"1.0.2.1-SNAPSHOT","since":"191.0","until":"232.*","originalSince":"191.0","originalUntil":"251.*"},{"id":"FitLang","version":"0.4.12","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"lekanich.eye-health","version":"2023.2.1","since":"231.0","until":"232.*","originalSince":"231.0","originalUntil":"293.*"},{"id":"lekanich.Race","version":"2023.2.1","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"294.*"},{"id":"NLSExchange","version":"1.4.1","since":"231.1","until":"232.*","originalSince":"223.0","originalUntil":"232.*"},{"id":"ai.codemaker.jetbrains","version":"1.16.0","since":"231.0","until":"232.*","originalSince":"231.0","originalUntil":"241.*"},{"id":"de.beyondco.tldr","version":"1.0.1","since":"213.0","until":"232.*","originalSince":"213.0","originalUntil":"235.*"},{"id":"io.mend.advisecode","version":"23.9.1","since":"231.*","until":"232.*","originalSince":"221.0","originalUntil":"232.*"},{"id":"FitLang","version":"0.4.15","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"liubsyyflymoon","version":"1.8.6","since":"221","until":"","originalSince":"203.0","originalUntil":null},{"id":"dev.huyaro.lang","version":"0.0.8","since":"223","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"dev.huyaro.lang","version":"0.0.9","since":"223","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"FitLang","version":"0.4.18","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.skcc.plugin.corus","version":"0.9.0","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"240.*"},{"id":"com.skcc.plugin.corus","version":"0.9.1","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"240.*"},{"id":"FitLang","version":"0.4.19","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.5.0","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.5.2","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.5.4","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"dev.huyaro.lang","version":"0.1.1","since":"223","until":"232.*","originalSince":"222.0","originalUntil":"232.*"},{"id":"FitLang","version":"0.5.6","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.5.7","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.skcc.plugin.corus","version":"0.9.2","since":"222.0","until":"232.*","originalSince":"222.0","originalUntil":"240.*"},{"id":"FitLang","version":"0.5.8","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"liubsyyflymoon","version":"1.8.7","since":"221","until":"","originalSince":"203.0","originalUntil":null},{"id":"Valkyrie","version":"0.0.6","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"240.*"},{"id":"FitLang","version":"0.5.9","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.luomacode.ChatMoss","version":"1.1.0","since":"203.0","until":"232.*","originalSince":"203.0","originalUntil":"999.*"},{"id":"com.github.beansoft.iscratch","version":"2023.1.5","since":"232","until":"232.*","originalSince":"231.8770.17","originalUntil":null},{"id":"FitLang","version":"0.5.10","since":"182","until":"232.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.timindustries.regexpluginv2","version":"0.0.7","since":"222.*","until":"","originalSince":"231.*","originalUntil":null},{"id":"com.baway.bw-plugin","version":"1.0.3-SNAPSHOT","since":"191.0","until":"232.*","originalSince":"191.0","originalUntil":"251.*"},{"id":"me.panxin.plugin.idea.jumpcontroller","version":"1.3.0","since":"201","until":"","originalSince":"193.0","originalUntil":null},{"id":"IDS","version":"1.2","since":"211.0","until":"233.*","originalSince":"211.0","originalUntil":"250.*"},{"id":"PlantUML integration","version":"7.1.2-IJ2023.2","since":"233.6745.305","until":"","originalSince":"232.6734.9","originalUntil":null},{"id":"com.chrisrm.idea.MaterialThemeUI","version":"8.12.0","since":"232.8660","until":"232.9999","originalSince":"232.8660","originalUntil":"233.9999"},{"id":"FitLang","version":"0.5.11","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"FitLang","version":"0.5.12","since":"182","until":"253.*","originalSince":"161.*","originalUntil":"253.*"},{"id":"com.mesour.intellij.latte","version":"1.1.1","since":"232.0","until":"232.*","originalSince":"232.0","originalUntil":"292.*"}]
diff --git a/pkgs/applications/editors/jetbrains/source/build.nix b/pkgs/applications/editors/jetbrains/source/build.nix
new file mode 100644
index 0000000000000..cba986c610393
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/source/build.nix
@@ -0,0 +1,264 @@
+{ fetchFromGitHub
+, fetchurl
+, lib
+, linkFarm
+, makeWrapper
+, runCommand
+, stdenv
+, stdenvNoCC
+
+, ant
+, cmake
+, glib
+, jetbrains
+, kotlin
+, libdbusmenu
+, maven
+, p7zip
+, pkg-config
+, xorg
+
+, buildVer
+, buildType
+, ideaHash
+, androidHash
+, jpsHash
+, mvnDeps
+}:
+
+let
+
+  jbr = jetbrains.jdk-no-jcef;
+
+  ideaSrc = fetchFromGitHub {
+    owner = "jetbrains";
+    repo = "intellij-community";
+    rev = "${buildType}/${buildVer}";
+    hash = ideaHash;
+  };
+
+  androidSrc = fetchFromGitHub {
+    owner = "jetbrains";
+    repo = "android";
+    rev = "${buildType}/${buildVer}";
+    hash = androidHash;
+  };
+
+  src = runCommand "source" { } ''
+    cp -r ${ideaSrc} $out
+    chmod +w -R $out
+    cp -r ${androidSrc} $out/android
+  '';
+
+  libdbusmenu-jb = libdbusmenu.overrideAttrs (old: {
+    version = "jetbrains-fork";
+    src = fetchFromGitHub {
+      owner = "jetbrains";
+      repo = "libdbusmenu";
+      rev = "d8a49303f908a272e6670b7cee65a2ba7c447875";
+      hash = "sha256-u87ZgbfeCPJ0qG8gsom3gFaZxbS5NcHEodb0EVakk60=";
+    };
+    configureFlags = old.configureFlags ++ [
+      "--enable-static"
+    ];
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/lib
+      cp libdbusmenu-glib/.libs/libdbusmenu-glib.a $out/lib
+
+      runHook postInstall
+    '';
+  });
+
+  libdbm = stdenv.mkDerivation {
+    pname = "libdbm";
+    version = buildVer;
+    nativeBuildInputs = [ cmake pkg-config ];
+    buildInputs = [ glib xorg.libX11 libdbusmenu ];
+    inherit src;
+    sourceRoot = "source/native/LinuxGlobalMenu";
+    patches = [ ../patches/libdbm-headers.patch ];
+    postPatch = "cp ${libdbusmenu-jb}/lib/libdbusmenu-glib.a libdbusmenu-glib.a";
+    passthru.patched-libdbusmenu = libdbusmenu-jb;
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/lib
+      mv libdbm.so $out/lib/libdbm.so
+
+      runHook postInstall
+    '';
+  };
+
+  fsnotifier = stdenv.mkDerivation {
+    pname = "fsnotifier";
+    version = buildVer;
+    inherit src;
+    sourceRoot = "source/native/fsNotifier/linux";
+    buildPhase = ''
+      runHook preBuild
+      cc -O2 -Wall -Wextra -Wpedantic -D "VERSION=\"${buildVer}\"" -std=c11 main.c inotify.c util.c -o fsnotifier
+      runHook postBuild
+    '';
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/bin
+      mv fsnotifier $out/bin
+      runHook postInstall
+    '';
+  };
+
+  jpsRepo = runCommand "jps-bootstrap-repository"
+    {
+      outputHashAlgo = "sha256";
+      outputHashMode = "recursive";
+      outputHash = jpsHash;
+      nativeBuildInputs = [ ant jbr ];
+    } ''
+    ant -Duser.home=$out -Dbuild.dir=/build/tmp -f ${src}/platform/jps-bootstrap/jps-bootstrap-classpath.xml
+    find $out -type f \( \
+      -name \*.lastUpdated \
+      -o -name resolver-status.properties \
+      -o -name _remote.repositories \) \
+      -delete
+  '';
+
+  jps-bootstrap = stdenvNoCC.mkDerivation {
+    pname = "jps-bootstrap";
+    version = buildVer;
+    inherit src;
+    sourceRoot = "source/platform/jps-bootstrap";
+    nativeBuildInputs = [ ant makeWrapper jbr ];
+    patches = [ ../patches/kotlinc-path.patch ];
+    postPatch = "sed -i 's|KOTLIN_PATH_HERE|${kotlin}|' src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt";
+    buildPhase = ''
+      runHook preInstall
+
+      ant -Duser.home=${jpsRepo} -Dbuild.dir=/build/out -f jps-bootstrap-classpath.xml
+
+      runHook postInstall
+    '';
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/share/java/
+      cp /build/out/jps-bootstrap.classes.jar $out/share/java/jps-bootstrap.jar
+      cp -r /build/out/jps-bootstrap.out.lib $out/share/java/jps-bootstrap-classpath
+      makeWrapper ${jbr}/bin/java $out/bin/jps-bootstrap \
+        --add-flags "-cp $out/share/java/jps-bootstrap-classpath/'*' org.jetbrains.jpsBootstrap.JpsBootstrapMain"
+
+      runHook postInstall
+    '';
+  };
+
+  artefactsJson = lib.importJSON mvnDeps;
+  mkRepoEntry = entry: {
+    name = ".m2/repository/" + entry.path;
+    path = fetchurl {
+      urls = [
+        "https://cache-redirector.jetbrains.com/repo1.maven.org/maven2/${entry.url}"
+        "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies/${entry.url}"
+        "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies/${entry.url}"
+        "https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public/${entry.url}"
+        "https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2/${entry.url}"
+        "https://packages.jetbrains.team/maven/p/kpm/public/${entry.url}"
+        "https://packages.jetbrains.team/maven/p/dpgpv/maven/${entry.url}"
+        "https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository/${entry.url}"
+      ];
+      sha256 = entry.hash;
+    };
+  };
+  mvnRepo = linkFarm "intellij-deps" (map mkRepoEntry artefactsJson);
+
+  kotlin-jps-plugin-classpath =
+    let
+      repoUrl = "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies";
+      groupId = builtins.replaceStrings [ "." ] [ "/" ] "org.jetbrains.kotlin";
+      artefactId = "kotlin-jps-plugin-classpath";
+      version = "1.8.20";
+    in
+    fetchurl {
+      url = repoUrl + "/" + groupId + "/" + artefactId + "/" + version + "/" + artefactId + "-" + version + ".jar";
+      hash = "sha256-w+vmEBSXGcyvxHB3byIOFjTeCIC7tkWh9rvOoP0//9A=";
+    };
+
+    targetClass = if buildType == "pycharm" then "intellij.pycharm.community.build" else "intellij.idea.community.build";
+    targetName = if buildType == "pycharm" then "PyCharmCommunityInstallersBuildTarget" else "OpenSourceCommunityInstallersBuildTarget";
+
+in
+stdenvNoCC.mkDerivation rec {
+  pname = "${buildType}-community";
+  version = buildVer;
+  name = "${pname}-${version}.tar.gz";
+  inherit src;
+  nativeBuildInputs = [ p7zip jbr jps-bootstrap ];
+  repo = mvnRepo;
+
+  patches = [
+    ../patches/no-download.patch
+    ../patches/pycharm-build-fix.patch
+  ];
+
+  postPatch = ''
+    cp ${fsnotifier}/bin/fsnotifier bin/linux/amd64/fsnotifier
+    cp ${libdbm}/lib/libdbm.so bin/linux/amd64/libdbm.so
+
+    sed \
+      -e 's|JPS_PLUGIN_CLASSPATH_HERE|${kotlin-jps-plugin-classpath}|' \
+      -e 's|KOTLIN_PATH_HERE|${kotlin}|' \
+      -i platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
+    sed \
+      -e 's|JDK_PATH_HERE|${jbr}/lib/openjdk|' \
+      -i platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
+    sed \
+      -e 's|BROKEN_PLUGINS_HERE|${./brokenPlugins.json}|' \
+      -i platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
+    sed \
+      -e 's|MAVEN_REPO_HERE|${mvnRepo}/.m2/repository/|' \
+      -e 's|MAVEN_PATH_HERE|${maven}/maven|' \
+      -i build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
+    echo '${buildVer}' > build.txt
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+
+    # Will need removing after update
+    cp plugins/devkit/devkit-core/src/run/OpenedPackages.txt platform/platform-impl/resources/META-INF/OpenedPackages.txt
+
+    ln -s "$repo"/.m2 /build/.m2
+    export JPS_BOOTSTRAP_COMMUNITY_HOME=/build/source
+    jps-bootstrap \
+      -Dbuild.number=${buildVer} \
+      -Djps.kotlin.home=${kotlin} \
+      -Dintellij.build.target.os=linux \
+      -Dintellij.build.target.arch=x64 \
+      -Dintellij.build.skip.build.steps=mac_artifacts,mac_dmg,mac_sit,windows_exe_installer,windows_sign,repair_utility_bundle_step \
+      -Dintellij.build.unix.snaps=false \
+      --java-argfile-target=java_argfile \
+      /build/source \
+      ${targetClass} \
+      ${targetName}
+
+    runHook postConfigure
+  '';
+  buildPhase = ''
+    runHook preBuild
+
+    java \
+      -Djps.kotlin.home=${kotlin} \
+      "@java_argfile"
+
+    runHook postBuild
+  '';
+  installPhase = ''
+    runHook preInstall
+    mv out/*/artifacts/*-no-jbr.tar.gz $out
+    runHook postInstall
+  '';
+
+  passthru = {
+    inherit libdbm fsnotifier jps-bootstrap;
+  };
+}
diff --git a/pkgs/applications/editors/jetbrains/source/build_maven.py b/pkgs/applications/editors/jetbrains/source/build_maven.py
new file mode 100755
index 0000000000000..37e051ad8578e
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/source/build_maven.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env nix-shell
+# ! nix-shell -i python3 -p python3 python3.pkgs.xmltodict
+import os
+from argparse import ArgumentParser
+from xmltodict import parse
+from json import dump
+from sys import stdout
+
+def get_args() -> (str, list[str]):
+    parser = ArgumentParser(
+        description="Given the path of a intellij source tree, make a list of urls and hashes of maven artefacts required to build"
+    )
+    parser.add_argument("out", help="File to output json to")
+    parser.add_argument("path", help="Path to the intellij-community source dir")
+    args = parser.parse_args()
+    return args.path, args.out
+
+
+def ensure_is_list(x):
+    if type(x) != list:
+        return [x]
+    return x
+
+def add_entries(sources, targets, hashes):
+    for num, artefact in enumerate(sources):
+        hashes.append({
+            "url": artefact["@url"][26:],
+            "hash": artefact["sha256sum"],
+            "path": targets[num]["@url"][25:-2]
+        })
+
+
+def add_libraries(root_path: str, hashes: list[dict[str, str]], projects_to_process: list[str]):
+    library_paths = os.listdir(root_path + "/libraries/")
+    for path in library_paths:
+        file_contents = parse(open(root_path + "/libraries/" + path).read())
+        if "properties" not in file_contents["component"]["library"]:
+            continue
+        sources = ensure_is_list(file_contents["component"]["library"]["properties"]["verification"]["artifact"])
+        targets = ensure_is_list(file_contents["component"]["library"]["CLASSES"]["root"])
+        add_entries(sources, targets, hashes)
+
+    modules_xml = parse(open(root_path+"/modules.xml").read())
+    for entry in modules_xml["project"]["component"]:
+        if entry["@name"] != "ProjectModuleManager":
+            continue
+        for module in entry["modules"]["module"]:
+            projects_to_process.append(module["@filepath"])
+
+
+def add_iml(path: str, hashes: list[dict[str, str]], projects_to_process: list[str]):
+    try:
+        contents = parse(open(path).read())
+    except FileNotFoundError:
+        print(f"Warning: path {path} does not exist (did you forget the android directory?)")
+        return
+    for manager in ensure_is_list(contents["module"]["component"]):
+        if manager["@name"] != "NewModuleRootManager":
+            continue
+
+        for entry in manager["orderEntry"]:
+            if type(entry) != dict or \
+                entry["@type"] != "module-library" or \
+                "properties" not in entry["library"]:
+                continue
+
+            sources = ensure_is_list(entry["library"]["properties"]["verification"]["artifact"])
+            targets = ensure_is_list(entry["library"]["CLASSES"]["root"])
+            add_entries(sources, targets, hashes)
+
+
+def main():
+    root_path, out = get_args()
+    file_hashes = []
+    projects_to_process: list[str] = [root_path+"/.idea"]
+
+    while projects_to_process:
+        elem = projects_to_process.pop()
+        elem = elem.replace("$PROJECT_DIR$", root_path)
+        if elem.endswith(".iml"):
+            add_iml(elem, file_hashes, projects_to_process)
+        else:
+            add_libraries(elem, file_hashes, projects_to_process)
+
+    if out == "stdout":
+        dump(file_hashes, stdout, indent=4)
+    else:
+        file = open(out, "w")
+        dump(file_hashes, file, indent=4)
+        file.write("\n")
+
+
+if __name__ == '__main__':
+    main()
diff --git a/pkgs/applications/editors/jetbrains/source/default.nix b/pkgs/applications/editors/jetbrains/source/default.nix
new file mode 100644
index 0000000000000..d801af47578e0
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/source/default.nix
@@ -0,0 +1,21 @@
+{ callPackage
+}:
+
+{
+  idea-community = callPackage ./build.nix {
+    buildVer = "232.9921.47";
+    buildType = "idea";
+    ideaHash = "sha256-sibp2Pa+NNHEeHMDRol45XOK0JzEhIZeI7TY04SkIx4=";
+    androidHash = "sha256-bc/UlR0DJQiQ3mdscucHkvzkSQxD0KnDFIM9UIb7Inw=";
+    jpsHash = "sha256-dBz64oATg45BMwd6etncQm84eHQSfSE9kDbuU9IVpmo=";
+    mvnDeps = ./idea_maven_artefacts.json;
+  };
+  pycharm-community = callPackage ./build.nix {
+    buildVer = "232.10072.31";
+    buildType = "pycharm";
+    ideaHash = "sha256-NTQGz5HViQlJQaxcAnsliZS4NCKScVqx25FMILkBjpk=";
+    androidHash = "sha256-bc/UlR0DJQiQ3mdscucHkvzkSQxD0KnDFIM9UIb7Inw=";
+    jpsHash = "sha256-dBz64oATg45BMwd6etncQm84eHQSfSE9kDbuU9IVpmo=";
+    mvnDeps = ./idea_maven_artefacts.json;
+  };
+}
diff --git a/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json b/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json
new file mode 100644
index 0000000000000..ae68b7b354d69
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/source/idea_maven_artefacts.json
@@ -0,0 +1,7107 @@
+[
+    {
+        "url": "org/jetbrains/intellij/deps/asm-all/9.5/asm-all-9.5.jar",
+        "hash": "a1b68c71e5c72ff41fefea29f8d1c2499f2e31278acf8e312249df349b263fbe",
+        "path": "org/jetbrains/intellij/deps/asm-all/9.5/asm-all-9.5.jar"
+    },
+    {
+        "url": "cglib/cglib-nodep/3.3.0/cglib-nodep-3.3.0.jar",
+        "hash": "3366d2c88fb576e486d830f521184e8f1839f8c15dcd2151a3f6e1f62b0b37a0",
+        "path": "cglib/cglib-nodep/3.3.0/cglib-nodep-3.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/gradle-api/8.2/gradle-api-8.2.jar",
+        "hash": "e5ca97fe9991ad7736b9c2c2d44cff72a6fb44e6815a736d9e372bc850c53950",
+        "path": "org/jetbrains/intellij/deps/gradle-api/8.2/gradle-api-8.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/gradle-api-impldep/8.2/gradle-api-impldep-8.2.jar",
+        "hash": "029d9d5b09ece9e5c345fbba0a8643505912ebde3e1d3933d00ea3313f817f6e",
+        "path": "org/jetbrains/intellij/deps/gradle-api-impldep/8.2/gradle-api-impldep-8.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/gradle-wrapper/8.2/gradle-wrapper-8.2.jar",
+        "hash": "a8451eeda314d0568b5340498b36edf147a8f0d692c5ff58082d477abe9146e4",
+        "path": "org/jetbrains/intellij/deps/gradle-wrapper/8.2/gradle-wrapper-8.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/gradle-launcher/8.2/gradle-launcher-8.2.jar",
+        "hash": "8ffd8aa02fd30adf36a6d5fa0b00a3c67e9e26577cb81ea3915853a5bf970ac7",
+        "path": "org/jetbrains/intellij/deps/gradle-launcher/8.2/gradle-launcher-8.2.jar"
+    },
+    {
+        "url": "com/google/guava/guava/31.1-jre/guava-31.1-jre.jar",
+        "hash": "a42edc9cab792e39fe39bb94f3fca655ed157ff87a8af78e1d6ba5b07c4a00ab",
+        "path": "com/google/guava/guava/31.1-jre/guava-31.1-jre.jar"
+    },
+    {
+        "url": "com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+        "hash": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
+        "path": "com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+        "hash": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
+        "path": "com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
+    },
+    {
+        "url": "org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar",
+        "hash": "9b47fbae444feaac4b7e04f0ea294569e4bc282bc69d8c2ce2ac3f23577281e2",
+        "path": "org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar"
+    },
+    {
+        "url": "junit/junit/3.8.1/junit-3.8.1.jar",
+        "hash": "b58e459509e190bed737f3592bc1950485322846cf10e78ded1d065153012d70",
+        "path": "junit/junit/3.8.1/junit-3.8.1.jar"
+    },
+    {
+        "url": "junit/junit/4.13.2/junit-4.13.2.jar",
+        "hash": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3",
+        "path": "junit/junit/4.13.2/junit-4.13.2.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+        "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
+        "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+    },
+    {
+        "url": "org/junit/jupiter/junit-jupiter-api/5.9.1/junit-jupiter-api-5.9.1.jar",
+        "hash": "5d2fe4d719dffb25a95d77e9c7a34893cbbb1b4cc6c86f2726af7e0fb7035b2f",
+        "path": "org/junit/jupiter/junit-jupiter-api/5.9.1/junit-jupiter-api-5.9.1.jar"
+    },
+    {
+        "url": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar",
+        "hash": "58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2",
+        "path": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-commons/1.9.1/junit-platform-commons-1.9.1.jar",
+        "hash": "a8e82d510bbbce5fe1777b2ecf7bc68401e9ae8327009e029b2db5798403d25e",
+        "path": "org/junit/platform/junit-platform-commons/1.9.1/junit-platform-commons-1.9.1.jar"
+    },
+    {
+        "url": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar",
+        "hash": "b509448ac506d607319f182537f0b35d71007582ec741832a1f111e5b5b70b38",
+        "path": "org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar"
+    },
+    {
+        "url": "org/junit/jupiter/junit-jupiter-engine/5.9.1/junit-jupiter-engine-5.9.1.jar",
+        "hash": "8bbc506b4f603ede1f6bafd8eee69a9cc43de0c26a0ee8d40d583d3feeedc2e9",
+        "path": "org/junit/jupiter/junit-jupiter-engine/5.9.1/junit-jupiter-engine-5.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-launcher/1.9.1/junit-platform-launcher-1.9.1.jar",
+        "hash": "5fb50ef56168358892e1bd0a080e2e5bb74dc882b2ecc2a9bad0eadb5a6a449e",
+        "path": "org/junit/platform/junit-platform-launcher/1.9.1/junit-platform-launcher-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-engine/1.9.1/junit-platform-engine-1.9.1.jar",
+        "hash": "f59c3a67087f2b9bbb17a9c06dd416697989b2c53b38843874ebbbbcb0afc23f",
+        "path": "org/junit/platform/junit-platform-engine/1.9.1/junit-platform-engine-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/jupiter/junit-jupiter-params/5.9.1/junit-jupiter-params-5.9.1.jar",
+        "hash": "30157f26d857ba4f84c0d84d156f55f056e80dc09b4281affa8b1ed4d3205c08",
+        "path": "org/junit/jupiter/junit-jupiter-params/5.9.1/junit-jupiter-params-5.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-suite/1.9.1/junit-platform-suite-1.9.1.jar",
+        "hash": "a21d4de7695ecabaff20b21a641d8f1e35bb2f3e57e752fd94f2209d87f06228",
+        "path": "org/junit/platform/junit-platform-suite/1.9.1/junit-platform-suite-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-suite-api/1.9.1/junit-platform-suite-api-1.9.1.jar",
+        "hash": "f49e2a8983a52e2e5566a16828d634a02592ab8bf51d23c5c091214bc15e57b4",
+        "path": "org/junit/platform/junit-platform-suite-api/1.9.1/junit-platform-suite-api-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-suite-engine/1.9.1/junit-platform-suite-engine-1.9.1.jar",
+        "hash": "e7b7ee49332764acaa64f88cfe4c624e4d69b15d04cacbf98103ed91d027e06c",
+        "path": "org/junit/platform/junit-platform-suite-engine/1.9.1/junit-platform-suite-engine-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-suite-commons/1.9.1/junit-platform-suite-commons-1.9.1.jar",
+        "hash": "8279775f6a9b075e394a888b8ab1226307c86fb925b4414270be9518cf07377c",
+        "path": "org/junit/platform/junit-platform-suite-commons/1.9.1/junit-platform-suite-commons-1.9.1.jar"
+    },
+    {
+        "url": "org/junit/vintage/junit-vintage-engine/5.9.1/junit-vintage-engine-5.9.1.jar",
+        "hash": "b97de493877c9ba5e4f03b44bd348a53e5fc9df2df5b1a048923e0204f7d7178",
+        "path": "org/junit/vintage/junit-vintage-engine/5.9.1/junit-vintage-engine-5.9.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/java-compatibility/1.0.1/java-compatibility-1.0.1.jar",
+        "hash": "1f799c9e7691a4dcddb1cb3e28e8517d5e6b27c2ac75093f39714afdc9216950",
+        "path": "org/jetbrains/intellij/deps/java-compatibility/1.0.1/java-compatibility-1.0.1.jar"
+    },
+    {
+        "url": "jaxen/jaxen/1.2.0/jaxen-1.2.0.jar",
+        "hash": "70feef9dd75ad064def05a3ce8975aeba515ee7d1be146d12199c8828a64174c",
+        "path": "jaxen/jaxen/1.2.0/jaxen-1.2.0.jar"
+    },
+    {
+        "url": "com/esotericsoftware/kryo/kryo5/5.5.0/kryo5-5.5.0.jar",
+        "hash": "5dab506f91ab06adad1acb5fe904e587c2781593a7930f003e84f6597622f3b2",
+        "path": "com/esotericsoftware/kryo/kryo5/5.5.0/kryo5-5.5.0.jar"
+    },
+    {
+        "url": "org/slf4j/log4j-over-slf4j/1.7.36/log4j-over-slf4j-1.7.36.jar",
+        "hash": "0a7e032bf5bcdd5b2bf8bf2e5cf02c5646f2aa6fee66933b8150dbe84e651e8a",
+        "path": "org/slf4j/log4j-over-slf4j/1.7.36/log4j-over-slf4j-1.7.36.jar"
+    },
+    {
+        "url": "be/cyberelf/nanoxml/nanoxml/2.2.3/nanoxml-2.2.3.jar",
+        "hash": "76f5f1fb2193f186d699f6cf396505d63e4dc8c14f8e7517f763845fa87a88bf",
+        "path": "be/cyberelf/nanoxml/nanoxml/2.2.3/nanoxml-2.2.3.jar"
+    },
+    {
+        "url": "org/objenesis/objenesis/3.2/objenesis-3.2.jar",
+        "hash": "03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3",
+        "path": "org/objenesis/objenesis/3.2/objenesis-3.2.jar"
+    },
+    {
+        "url": "oro/oro/2.0.8/oro-2.0.8.jar",
+        "hash": "e00ccdad5df7eb43fdee44232ef64602bf63807c2d133a7be83ba09fd49af26e",
+        "path": "oro/oro/2.0.8/oro-2.0.8.jar"
+    },
+    {
+        "url": "com/hierynomus/sshj/0.35.0/sshj-0.35.0.jar",
+        "hash": "d3b3d71f3e834c7e52d022036c2e96c2b21c8ec7baa20270965c4d59e2e4d86e",
+        "path": "com/hierynomus/sshj/0.35.0/sshj-0.35.0.jar"
+    },
+    {
+        "url": "com/hierynomus/asn-one/0.6.0/asn-one-0.6.0.jar",
+        "hash": "e4f70fd92849b52240048b8ebace0c9a17d3bb7b9c882b3c7778cec3458495f5",
+        "path": "com/hierynomus/asn-one/0.6.0/asn-one-0.6.0.jar"
+    },
+    {
+        "url": "net/i2p/crypto/eddsa/0.3.0/eddsa-0.3.0.jar",
+        "hash": "4dda1120db856640dbec04140ed23242215a075fe127bdefa0dcfa29fb31267d",
+        "path": "net/i2p/crypto/eddsa/0.3.0/eddsa-0.3.0.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar",
+        "hash": "d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0",
+        "path": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar"
+    },
+    {
+        "url": "one/util/streamex/0.8.1/streamex-0.8.1.jar",
+        "hash": "84dbfa4730565134504d65cdd823341c8b2ee655e2d1c5f004cf95bff0180655",
+        "path": "one/util/streamex/0.8.1/streamex-0.8.1.jar"
+    },
+    {
+        "url": "org/testng/testng/7.7.0/testng-7.7.0.jar",
+        "hash": "7c686ba8696f8206473b1b78e7e4947191b2aa4891c57b184b44ad4e052d2c08",
+        "path": "org/testng/testng/7.7.0/testng-7.7.0.jar"
+    },
+    {
+        "url": "com/beust/jcommander/1.82/jcommander-1.82.jar",
+        "hash": "deeac157c8de6822878d85d0c7bc8467a19cc8484d37788f7804f039dde280b1",
+        "path": "com/beust/jcommander/1.82/jcommander-1.82.jar"
+    },
+    {
+        "url": "org/webjars/jquery/3.6.1/jquery-3.6.1.jar",
+        "hash": "da2381fbee4799631ba44d1f4d6487b886b22450c7fc85842c5fdfa03429b817",
+        "path": "org/webjars/jquery/3.6.1/jquery-3.6.1.jar"
+    },
+    {
+        "url": "org/apache/velocity/velocity-engine-core/2.3/velocity-engine-core-2.3.jar",
+        "hash": "b086cee8fd8183e240b4afcf54fe38ec33dd8eb0da414636e5bf7aa4d9856629",
+        "path": "org/apache/velocity/velocity-engine-core/2.3/velocity-engine-core-2.3.jar"
+    },
+    {
+        "url": "com/thoughtworks/xstream/xstream/1.4.20/xstream-1.4.20.jar",
+        "hash": "87df0f0be57c92037d0110fbb225a30b651702dc275653d285afcfef31bc2e81",
+        "path": "com/thoughtworks/xstream/xstream/1.4.20/xstream-1.4.20.jar"
+    },
+    {
+        "url": "io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2.jar",
+        "hash": "aeeee23a3303d811bca8790ea7f25b534314861c03cff36dafdcc2180969eb97",
+        "path": "io/github/x-stream/mxparser/1.2.2/mxparser-1.2.2.jar"
+    },
+    {
+        "url": "xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar",
+        "hash": "34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63",
+        "path": "xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar"
+    },
+    {
+        "url": "xerces/xercesImpl/2.12.2/xercesImpl-2.12.2.jar",
+        "hash": "6fc991829af1708d15aea50c66f0beadcd2cfeb6968e0b2f55c1b0909883fe16",
+        "path": "xerces/xercesImpl/2.12.2/xercesImpl-2.12.2.jar"
+    },
+    {
+        "url": "org/apache/ws/xmlrpc/xmlrpc/2.0.1/xmlrpc-2.0.1.jar",
+        "hash": "36efda6efee96e83602c9ba246db19bf4c5e733324390d2fa8213417d6b681e7",
+        "path": "org/apache/ws/xmlrpc/xmlrpc/2.0.1/xmlrpc-2.0.1.jar"
+    },
+    {
+        "url": "com/fasterxml/aalto-xml/1.3.2/aalto-xml-1.3.2.jar",
+        "hash": "dcf2d5f453056c3ce848caff4179021bfb83b5efb3a3d779433c5bd70976068b",
+        "path": "com/fasterxml/aalto-xml/1.3.2/aalto-xml-1.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/woodstox/stax2-api/4.2/stax2-api-4.2.jar",
+        "hash": "badf6081a0bb526fd2c01951dfefad91b6846b6dd0eb0048587e30d1dd334e68",
+        "path": "org/codehaus/woodstox/stax2-api/4.2/stax2-api-4.2.jar"
+    },
+    {
+        "url": "com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar",
+        "hash": "a503219b89b0aaf7b7c6c9b3b17d69e655a6c619072b684a1ea4fbf1d7dc49da",
+        "path": "com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/proto/223.0.1.0/proto-223.0.1.0.jar",
+        "hash": "fc56d0846f53f85b3cb443f3bbf13405b3361ff48cb74ec03d226a7b55e1f90c",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/proto/223.0.1.0/proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-device-info-proto/223.0.1.0/libstudio.android-test-plugin-host-device-info-proto-223.0.1.0.jar",
+        "hash": "b6e1c5f2f773dad73e0b9f3f774db4100d275e818b1a53c1358ec94f881ca605",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-device-info-proto/223.0.1.0/libstudio.android-test-plugin-host-device-info-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "com/jetbrains/fus/reporting/ap-validation/76/ap-validation-76.jar",
+        "hash": "3d2123e0a17edd77776f083d04b2465fdb30d07484be658db0304587bd54ba07",
+        "path": "com/jetbrains/fus/reporting/ap-validation/76/ap-validation-76.jar"
+    },
+    {
+        "url": "com/jetbrains/fus/reporting/model/76/model-76.jar",
+        "hash": "2d931e26e6632f608a6dab0fb60d27fae075260bf4532bb6ba8828d81bd167b3",
+        "path": "com/jetbrains/fus/reporting/model/76/model-76.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar",
+        "hash": "37fd5392bb2cf4c15f202ffefd46d0e92bb34ff848c549f30d426a60d6b29495",
+        "path": "org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar",
+        "hash": "ae629c2609f39681ef8d140a42a23800464a94f2d23e36d8f25cd10d5e4caff4",
+        "path": "org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm/9.3/asm-9.3.jar",
+        "hash": "1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc",
+        "path": "org/ow2/asm/asm/9.3/asm-9.3.jar"
+    },
+    {
+        "url": "org/assertj/assertj-core/3.24.2/assertj-core-3.24.2.jar",
+        "hash": "df3d0b348f1fe806bdddcb10fa4ae63c6679e9888d4bc7055f09848517976aa3",
+        "path": "org/assertj/assertj-core/3.24.2/assertj-core-3.24.2.jar"
+    },
+    {
+        "url": "net/bytebuddy/byte-buddy/1.12.21/byte-buddy-1.12.21.jar",
+        "hash": "f6f45c2237a7f132c16745ad2a52c4cdde58028b11ee80b09f0d422f4930d685",
+        "path": "net/bytebuddy/byte-buddy/1.12.21/byte-buddy-1.12.21.jar"
+    },
+    {
+        "url": "org/assertj/assertj-swing/3.17.1/assertj-swing-3.17.1.jar",
+        "hash": "e36445438d72d83cc48015dcb3f14d9a97eaa42c4663a9826db2bb50e4c7713b",
+        "path": "org/assertj/assertj-swing/3.17.1/assertj-swing-3.17.1.jar"
+    },
+    {
+        "url": "dk/brics/automaton/1.12-1/automaton-1.12-1.jar",
+        "hash": "d75c864362cb9fdb741809c2317a4dcfa7433c9043d773269b4a7b1b1c2234f9",
+        "path": "dk/brics/automaton/1.12-1/automaton-1.12-1.jar"
+    },
+    {
+        "url": "com/android/tools/smali/smali-baksmali/3.0.0/smali-baksmali-3.0.0.jar",
+        "hash": "d74a3c71bc2cd5786a960a546221ad44abd05506067f1aa7ae50f041ff859e1e",
+        "path": "com/android/tools/smali/smali-baksmali/3.0.0/smali-baksmali-3.0.0.jar"
+    },
+    {
+        "url": "com/android/tools/smali/smali-util/3.0.0/smali-util-3.0.0.jar",
+        "hash": "7008f8d3fb63920d044e7d1f387a0ccff6a7e328ff252a90554d7a0e4c7f8014",
+        "path": "com/android/tools/smali/smali-util/3.0.0/smali-util-3.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/blockmap/1.0.7/blockmap-1.0.7.jar",
+        "hash": "7e3f98d3370551fea909ceb952e4797108a3a5ef67a1d7b5fb03a036eab24df9",
+        "path": "org/jetbrains/intellij/blockmap/1.0.7/blockmap-1.0.7.jar"
+    },
+    {
+        "url": "org/bouncycastle/bcpg-jdk18on/1.73/bcpg-jdk18on-1.73.jar",
+        "hash": "dd6efbd826f0d3aed3a1193acf1d81dd6044c585b90ddf88adca4e1fb41a0984",
+        "path": "org/bouncycastle/bcpg-jdk18on/1.73/bcpg-jdk18on-1.73.jar"
+    },
+    {
+        "url": "org/bouncycastle/bcpkix-jdk18on/1.73/bcpkix-jdk18on-1.73.jar",
+        "hash": "9487164ba018f2211fcc0f989d6f4ea25b7d48fc6031501c3c7e3a17b164d860",
+        "path": "org/bouncycastle/bcpkix-jdk18on/1.73/bcpkix-jdk18on-1.73.jar"
+    },
+    {
+        "url": "org/bouncycastle/bcprov-jdk18on/1.73/bcprov-jdk18on-1.73.jar",
+        "hash": "ad3ae628f4459a8fecb5c1a142b5525ce5118817414f97efd92f5448a69180ff",
+        "path": "org/bouncycastle/bcprov-jdk18on/1.73/bcprov-jdk18on-1.73.jar"
+    },
+    {
+        "url": "org/bouncycastle/bcutil-jdk18on/1.73/bcutil-jdk18on-1.73.jar",
+        "hash": "0b70292c36cfe08ac00a71f5cc5af4c412ceedbc8c0f0a22995dbacfaf25dd42",
+        "path": "org/bouncycastle/bcutil-jdk18on/1.73/bcutil-jdk18on-1.73.jar"
+    },
+    {
+        "url": "com/github/ben-manes/caffeine/caffeine/3.1.6/caffeine-3.1.6.jar",
+        "hash": "0311f9d5d9750aa2a1c11cbdba5a5cb7fec91c8870d6f179f324b3f5295b87dd",
+        "path": "com/github/ben-manes/caffeine/caffeine/3.1.6/caffeine-3.1.6.jar"
+    },
+    {
+        "url": "io/github/classgraph/classgraph/4.8.158/classgraph-4.8.158.jar",
+        "hash": "fb99167dc45bf34f9e40141069f68583a53104c45ffca410642255d1ca81343f",
+        "path": "io/github/classgraph/classgraph/4.8.158/classgraph-4.8.158.jar"
+    },
+    {
+        "url": "com/github/spullara/cli-parser/cli-parser/1.1.6/cli-parser-1.1.6.jar",
+        "hash": "436143bc3b925a1af4d0b8c9c7c53ac5c937f0f7aa32e4d97a24ce0a301ede27",
+        "path": "com/github/spullara/cli-parser/cli-parser/1.1.6/cli-parser-1.1.6.jar"
+    },
+    {
+        "url": "com/jetbrains/cloudconfig/cloudconfig/2.2.0/cloudconfig-2.2.0.jar",
+        "hash": "f2246f96f74545e025787f281a8bef2920601d55f7251d9d7a449744083e3265",
+        "path": "com/jetbrains/cloudconfig/cloudconfig/2.2.0/cloudconfig-2.2.0.jar"
+    },
+    {
+        "url": "commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar",
+        "hash": "bc8bb01fc0fad250385706e20f927ddcff6173f6339b387dc879237752567ac6",
+        "path": "commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar"
+    },
+    {
+        "url": "commons-codec/commons-codec/1.15/commons-codec-1.15.jar",
+        "hash": "b3e9f6d63a790109bf0d056611fbed1cf69055826defeb9894a71369d246ed63",
+        "path": "commons-codec/commons-codec/1.15/commons-codec-1.15.jar"
+    },
+    {
+        "url": "commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar",
+        "hash": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8",
+        "path": "commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-compress/1.23.0/commons-compress-1.23.0.jar",
+        "hash": "c267f17160e9ef662b4d78b7f29dca7c82b15c5cff2cb6a9865ef4ab3dd5b787",
+        "path": "org/apache/commons/commons-compress/1.23.0/commons-compress-1.23.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/commons-imaging/1.0-RC-1/commons-imaging-1.0-RC-1.jar",
+        "hash": "ba1cb46e5494286940b016da372ae94a60d2dbc411b6dac5db1e40128725d501",
+        "path": "org/jetbrains/intellij/deps/commons-imaging/1.0-RC-1/commons-imaging-1.0-RC-1.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.11.0/commons-io-2.11.0.jar",
+        "hash": "961b2f6d87dbacc5d54abf45ab7a6e2495f89b75598962d8c723cea9bc210908",
+        "path": "commons-io/commons-io/2.11.0/commons-io-2.11.0.jar"
+    },
+    {
+        "url": "commons-lang/commons-lang/2.6/commons-lang-2.6.jar",
+        "hash": "50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c",
+        "path": "commons-lang/commons-lang/2.6/commons-lang-2.6.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar",
+        "hash": "d919d904486c037f8d193412da0c92e22a9fa24230b9d67a57855c5c31c7e94e",
+        "path": "org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar"
+    },
+    {
+        "url": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+        "hash": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
+        "path": "commons-logging/commons-logging/1.2/commons-logging-1.2.jar"
+    },
+    {
+        "url": "com/google/testing/compile/compile-testing/0.16/compile-testing-0.16.jar",
+        "hash": "55746fa706fb051a53f61d205eb66ee31e33ed1936d92b323c7001df18ad3acb",
+        "path": "com/google/testing/compile/compile-testing/0.16/compile-testing-0.16.jar"
+    },
+    {
+        "url": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar",
+        "hash": "424f81cb5ce84386bd310d572f8edd91723cde58abd52f65db5888e0b38eb8f5",
+        "path": "info/cukes/cucumber-core/1.2.4/cucumber-core-1.2.4.jar"
+    },
+    {
+        "url": "info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar",
+        "hash": "0a5ebc0506ab1e4a08af1ca150f797304ff53b953c5b1f6fcf1f81551d964aad",
+        "path": "info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-core/2.4.0/cucumber-core-2.4.0.jar",
+        "hash": "ac0f343d6fc0dca4c93f8b6a6266b3bf4cb4d61913b8a4cd2b3abf50025268cf",
+        "path": "io/cucumber/cucumber-core/2.4.0/cucumber-core-2.4.0.jar"
+    },
+    {
+        "url": "info/cukes/cucumber-html/0.2.6/cucumber-html-0.2.6.jar",
+        "hash": "e2167e99bdb018576cce9cc0aad154ad995fe67a4b0c36c63344f743865f96e7",
+        "path": "info/cukes/cucumber-html/0.2.6/cucumber-html-0.2.6.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-jvm-deps/1.0.6/cucumber-jvm-deps-1.0.6.jar",
+        "hash": "d1c2cc901dd702eb77a2258c0d1446e4a302d28da0d4b49cd11ff3d5929281fa",
+        "path": "io/cucumber/cucumber-jvm-deps/1.0.6/cucumber-jvm-deps-1.0.6.jar"
+    },
+    {
+        "url": "io/cucumber/gherkin/5.0.0/gherkin-5.0.0.jar",
+        "hash": "e35cfa4a16204bf59fa167bb6d45be0717d6b7cfba1c30f156d8f21cde2f4065",
+        "path": "io/cucumber/gherkin/5.0.0/gherkin-5.0.0.jar"
+    },
+    {
+        "url": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar",
+        "hash": "e5a0a71fb846752900c0e5a99aa13e5a1bbc3ec97e7faf26803648fa45215584",
+        "path": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar"
+    },
+    {
+        "url": "info/cukes/cucumber-jvm-deps/1.0.5/cucumber-jvm-deps-1.0.5.jar",
+        "hash": "2a4e84a51defe9108579b3c0a86bb41e54f04e9042e83adf4348a974dcf1dee6",
+        "path": "info/cukes/cucumber-jvm-deps/1.0.5/cucumber-jvm-deps-1.0.5.jar"
+    },
+    {
+        "url": "de/pdark/decentxml/1.4/decentxml-1.4.jar",
+        "hash": "fe671ff552a8d724710e37fdb224b19c9aaf16ed3ce8dc8bbc694788f79edd41",
+        "path": "de/pdark/decentxml/1.4/decentxml-1.4.jar"
+    },
+    {
+        "url": "com/jetbrains/infra/download-pgp-verifier/1.0.2/download-pgp-verifier-1.0.2.jar",
+        "hash": "81110da550181e2f8d90c7161f71fb8e9f8777632e75c37fbed5fbf3a0feacb4",
+        "path": "com/jetbrains/infra/download-pgp-verifier/1.0.2/download-pgp-verifier-1.0.2.jar"
+    },
+    {
+        "url": "org/easymock/easymock/4.3/easymock-4.3.jar",
+        "hash": "c230864c8b11636aaa6bb49eee00a4342d3e016d860b4f80b89068fd056d1404",
+        "path": "org/easymock/easymock/4.3/easymock-4.3.jar"
+    },
+    {
+        "url": "org/ec4j/core/ec4j-core/0.3.0/ec4j-core-0.3.0.jar",
+        "hash": "cadef0207077074b11a12be442f89ab6cf93fbc2f848702d9371a9611414d558",
+        "path": "org/ec4j/core/ec4j-core/0.3.0/ec4j-core-0.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/emulator_java_proto/223.0.1.0/emulator_java_proto-223.0.1.0.jar",
+        "hash": "3638a1709a24d0a09956257ea10487b12c90dbaba478b2a06b02f1eafab5d467",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/emulator_java_proto/223.0.1.0/emulator_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "nl/jqno/equalsverifier/equalsverifier/3.8.3/equalsverifier-3.8.3.jar",
+        "hash": "23d9184d69c939cfee78981b53e84a257bfd5e9e902c1c0af2cced97f16a2e85",
+        "path": "nl/jqno/equalsverifier/equalsverifier/3.8.3/equalsverifier-3.8.3.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.16/error_prone_annotations-2.16.jar",
+        "hash": "2668536a354cda63d19885fcabdecd8d6298aec4260cdfdf34b722e964d60396",
+        "path": "com/google/errorprone/error_prone_annotations/2.16/error_prone_annotations-2.16.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/fastutil/intellij-deps-fastutil/8.5.11-18/intellij-deps-fastutil-8.5.11-18.jar",
+        "hash": "1d36e528b8fa8e878ec4bf28e7c6acc374a89336b96e9bed7ebf735b1787febd",
+        "path": "org/jetbrains/intellij/deps/fastutil/intellij-deps-fastutil/8.5.11-18/intellij-deps-fastutil-8.5.11-18.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8.jar",
+        "hash": "37d53454b3c704bea04d7b8388b6e4c6789a57152f63cee0c414b3dd730d3464",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8.jar",
+        "hash": "27d5eaf8f4433f6404aae0ad34cdbbfac75174e244c11d38222e0d075af33863",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg-platform/5.1.2-1.5.8/ffmpeg-platform-5.1.2-1.5.8.jar",
+        "hash": "83b925c8dade91b7ae1e6a44f142266bdcc31b30a727cac2d75744cca784efcf",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg-platform/5.1.2-1.5.8/ffmpeg-platform-5.1.2-1.5.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8.jar",
+        "hash": "37d53454b3c704bea04d7b8388b6e4c6789a57152f63cee0c414b3dd730d3464",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-linux-x86_64.jar",
+        "hash": "5761863f13760b5609ff85ce7780dcdb71c8b8256c1c6b817ece4e5c86ea7f5b",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-linux-x86_64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-macosx-arm64.jar",
+        "hash": "64b7c4ccebe0475d0121717fa76218392a77b3c39da77f681d58c48689edddf4",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-macosx-arm64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-macosx-x86_64.jar",
+        "hash": "85f1cb19db3c9c642aed219fed2954390fc368c489f0701b6966207fb3e5dd7c",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-macosx-x86_64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-windows-x86_64.jar",
+        "hash": "ce354e994754311bb590ed38da0289cad55c68948b44d6b313cf32690246c40e",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/ffmpeg/5.1.2-1.5.8/ffmpeg-5.1.2-1.5.8-windows-x86_64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8.jar",
+        "hash": "27d5eaf8f4433f6404aae0ad34cdbbfac75174e244c11d38222e0d075af33863",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-linux-x86_64.jar",
+        "hash": "36b78057cdcc5fa0dc950e29271a58c0a6efc5573bd9bd2845b99cccbb3116a7",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-linux-x86_64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-macosx-arm64.jar",
+        "hash": "c605748036b7158edca0128c3febce6bae7c4b297406563ebae2a0dcbc591261",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-macosx-arm64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-macosx-x86_64.jar",
+        "hash": "6c4f0bf404787c5a374c573b2445d5d6d8ce620f7c9ef41b2c601d1fe3836d6a",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-macosx-x86_64.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-windows-x86_64.jar",
+        "hash": "1bb08194d76780cd885fbfd27ed24dfb1ca088ee0b7a8aea25a836cb1506eedc",
+        "path": "org/jetbrains/intellij/deps/android/tools/ffmpeg-bundle/javacpp/1.5.8/javacpp-1.5.8-windows-x86_64.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-all/0.64.0/flexmark-all-0.64.0.jar",
+        "hash": "6211a32328f27888527c4bfe7809ae9a56cb56008a6173459cee9a91bbad3139",
+        "path": "com/vladsch/flexmark/flexmark-all/0.64.0/flexmark-all-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark/0.64.0/flexmark-0.64.0.jar",
+        "hash": "2eaaa51313ee2f5dce1e04ddbf793496b790a8e5ffb9841d7f52a8520eb6b753",
+        "path": "com/vladsch/flexmark/flexmark/0.64.0/flexmark-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-abbreviation/0.64.0/flexmark-ext-abbreviation-0.64.0.jar",
+        "hash": "00a3a6b59343f71c04b0771a596684f970ad4b6b264875e68d60128fccaebb71",
+        "path": "com/vladsch/flexmark/flexmark-ext-abbreviation/0.64.0/flexmark-ext-abbreviation-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util/0.64.0/flexmark-util-0.64.0.jar",
+        "hash": "29cb23d79b9099f6714377db8c7a3f0ca99cb6c73ec51549692072b6cf0c310b",
+        "path": "com/vladsch/flexmark/flexmark-util/0.64.0/flexmark-util-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-admonition/0.64.0/flexmark-ext-admonition-0.64.0.jar",
+        "hash": "2faf1daeee5f083080861360ec713da200827ba4e8a3a75d4986e25742a74a34",
+        "path": "com/vladsch/flexmark/flexmark-ext-admonition/0.64.0/flexmark-ext-admonition-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-anchorlink/0.64.0/flexmark-ext-anchorlink-0.64.0.jar",
+        "hash": "e8f949d6328c4aa6cb2682f4f41c18cc6ae46d9b9c793e6db1b6db68e136dfdc",
+        "path": "com/vladsch/flexmark/flexmark-ext-anchorlink/0.64.0/flexmark-ext-anchorlink-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-aside/0.64.0/flexmark-ext-aside-0.64.0.jar",
+        "hash": "30196af44231431e129292f51ff1a2871149eef834cc5bdddd5886e0b4c838ad",
+        "path": "com/vladsch/flexmark/flexmark-ext-aside/0.64.0/flexmark-ext-aside-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-attributes/0.64.0/flexmark-ext-attributes-0.64.0.jar",
+        "hash": "768dd44a59df0823d61e2d824403c83ccb85625519ffaa0acb07371f3cbb18cd",
+        "path": "com/vladsch/flexmark/flexmark-ext-attributes/0.64.0/flexmark-ext-attributes-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-autolink/0.64.0/flexmark-ext-autolink-0.64.0.jar",
+        "hash": "9f6e086420030922367bebaeef109bc6814ccdfff032a123a385c882a74a061e",
+        "path": "com/vladsch/flexmark/flexmark-ext-autolink/0.64.0/flexmark-ext-autolink-0.64.0.jar"
+    },
+    {
+        "url": "org/nibor/autolink/autolink/0.6.0/autolink-0.6.0.jar",
+        "hash": "a80be030f6386f18111cad9161c0b6983157352a1b59a59e6002172f0d321c04",
+        "path": "org/nibor/autolink/autolink/0.6.0/autolink-0.6.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-definition/0.64.0/flexmark-ext-definition-0.64.0.jar",
+        "hash": "977629f9065b9a6d84c4cb065f206740cb4be9c112aa9ce369ba5e9103d99391",
+        "path": "com/vladsch/flexmark/flexmark-ext-definition/0.64.0/flexmark-ext-definition-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-emoji/0.64.0/flexmark-ext-emoji-0.64.0.jar",
+        "hash": "40bb90895ce19ceef5b1d9d4402c252cf44a1707454d9e617060ac3d81316702",
+        "path": "com/vladsch/flexmark/flexmark-ext-emoji/0.64.0/flexmark-ext-emoji-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-enumerated-reference/0.64.0/flexmark-ext-enumerated-reference-0.64.0.jar",
+        "hash": "1c25bdccea3f3bcb5f263cdb97e5b471e54d2d5c8130bf3d5daee221b3b52861",
+        "path": "com/vladsch/flexmark/flexmark-ext-enumerated-reference/0.64.0/flexmark-ext-enumerated-reference-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-escaped-character/0.64.0/flexmark-ext-escaped-character-0.64.0.jar",
+        "hash": "3ebdc04e6af19c0a98a4347817fb55d25dd9cec77a280e1aea59efdbce29921d",
+        "path": "com/vladsch/flexmark/flexmark-ext-escaped-character/0.64.0/flexmark-ext-escaped-character-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-footnotes/0.64.0/flexmark-ext-footnotes-0.64.0.jar",
+        "hash": "5308e869da67621d8b2252c192498d545c9c17427ef45603606248fb77744c71",
+        "path": "com/vladsch/flexmark/flexmark-ext-footnotes/0.64.0/flexmark-ext-footnotes-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-gfm-issues/0.64.0/flexmark-ext-gfm-issues-0.64.0.jar",
+        "hash": "7b2a6a4570966b9b651565b57c309f690144d93cb48eb03f02aacd58700dd92b",
+        "path": "com/vladsch/flexmark/flexmark-ext-gfm-issues/0.64.0/flexmark-ext-gfm-issues-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-gfm-strikethrough/0.64.0/flexmark-ext-gfm-strikethrough-0.64.0.jar",
+        "hash": "503a073ab4b1dbd2576497a597eb51f1361902fb7b294c605e898485ab91db2c",
+        "path": "com/vladsch/flexmark/flexmark-ext-gfm-strikethrough/0.64.0/flexmark-ext-gfm-strikethrough-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-gfm-tasklist/0.64.0/flexmark-ext-gfm-tasklist-0.64.0.jar",
+        "hash": "eb469f3b48b4f1b4cbfa127410d9c55120ca761eaa675a03210c6052b9bdcb99",
+        "path": "com/vladsch/flexmark/flexmark-ext-gfm-tasklist/0.64.0/flexmark-ext-gfm-tasklist-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-gfm-users/0.64.0/flexmark-ext-gfm-users-0.64.0.jar",
+        "hash": "43c52ebaf42d1852ced4605c5e8d53e1cdf5bc4a03753816aaebea0b23346fdf",
+        "path": "com/vladsch/flexmark/flexmark-ext-gfm-users/0.64.0/flexmark-ext-gfm-users-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-gitlab/0.64.0/flexmark-ext-gitlab-0.64.0.jar",
+        "hash": "d608dffefafd1c4cdb9cc7cba07be462f72e22c9b0fedc96fd578a42f1fc4e90",
+        "path": "com/vladsch/flexmark/flexmark-ext-gitlab/0.64.0/flexmark-ext-gitlab-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-jekyll-front-matter/0.64.0/flexmark-ext-jekyll-front-matter-0.64.0.jar",
+        "hash": "9205baa5c0851e6a4784aa20ea29aa75c1942c0e1b2448c5925a3769e0c3ad93",
+        "path": "com/vladsch/flexmark/flexmark-ext-jekyll-front-matter/0.64.0/flexmark-ext-jekyll-front-matter-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-jekyll-tag/0.64.0/flexmark-ext-jekyll-tag-0.64.0.jar",
+        "hash": "79209b1ca5cf7b1a9b9940aec061046f957ee661d72b89e2480aaec253cf7e60",
+        "path": "com/vladsch/flexmark/flexmark-ext-jekyll-tag/0.64.0/flexmark-ext-jekyll-tag-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-media-tags/0.64.0/flexmark-ext-media-tags-0.64.0.jar",
+        "hash": "81d563c08d793b10fa72f3001d97a4d8c9d474b17441e496f65e15e969c6faa4",
+        "path": "com/vladsch/flexmark/flexmark-ext-media-tags/0.64.0/flexmark-ext-media-tags-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-resizable-image/0.64.0/flexmark-ext-resizable-image-0.64.0.jar",
+        "hash": "85f569f477b98fd1fbb0c0b5705c7bc4e2ca0434a0a92a7ccd6ec8b2617456af",
+        "path": "com/vladsch/flexmark/flexmark-ext-resizable-image/0.64.0/flexmark-ext-resizable-image-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-macros/0.64.0/flexmark-ext-macros-0.64.0.jar",
+        "hash": "89b482f01fe4c05237d510117c69228c43e8896d1dd4d2fbea148eae04fe6713",
+        "path": "com/vladsch/flexmark/flexmark-ext-macros/0.64.0/flexmark-ext-macros-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-ins/0.64.0/flexmark-ext-ins-0.64.0.jar",
+        "hash": "357eff83842e0a38f64c3c9b3d07d10f88539d7360cfaccd922d5a6a8cbb3e4b",
+        "path": "com/vladsch/flexmark/flexmark-ext-ins/0.64.0/flexmark-ext-ins-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-xwiki-macros/0.64.0/flexmark-ext-xwiki-macros-0.64.0.jar",
+        "hash": "f602762ea5e695b624020c76b97be077932a324ec88babf01fd19b966dd0a750",
+        "path": "com/vladsch/flexmark/flexmark-ext-xwiki-macros/0.64.0/flexmark-ext-xwiki-macros-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-superscript/0.64.0/flexmark-ext-superscript-0.64.0.jar",
+        "hash": "66422167fd4651d11f79aee9ec4e42da89822d817e4574cfd2d333b6fb32833e",
+        "path": "com/vladsch/flexmark/flexmark-ext-superscript/0.64.0/flexmark-ext-superscript-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-tables/0.64.0/flexmark-ext-tables-0.64.0.jar",
+        "hash": "44ebd9975b9a9f6ca3639385012bfd0a25a7e44e81db7d72ceb0023c658cb013",
+        "path": "com/vladsch/flexmark/flexmark-ext-tables/0.64.0/flexmark-ext-tables-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-toc/0.64.0/flexmark-ext-toc-0.64.0.jar",
+        "hash": "7510fb997d81002e953d70579129fd3f492acbd5ea36b6363a29d1a2e26c12eb",
+        "path": "com/vladsch/flexmark/flexmark-ext-toc/0.64.0/flexmark-ext-toc-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-typographic/0.64.0/flexmark-ext-typographic-0.64.0.jar",
+        "hash": "49cd84ea5e07944e895951053272dd67c69a6f10af4a2a77fffea85b0b9289ea",
+        "path": "com/vladsch/flexmark/flexmark-ext-typographic/0.64.0/flexmark-ext-typographic-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-wikilink/0.64.0/flexmark-ext-wikilink-0.64.0.jar",
+        "hash": "6bd7d9d9d6e47f8a1df4b805afb0d0204fa68ec776d349c8d7b5f062a617e6f0",
+        "path": "com/vladsch/flexmark/flexmark-ext-wikilink/0.64.0/flexmark-ext-wikilink-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-yaml-front-matter/0.64.0/flexmark-ext-yaml-front-matter-0.64.0.jar",
+        "hash": "c34a9c0b128c75af842c31f92ba1750f355f3319505f36c428515192d9bc7a74",
+        "path": "com/vladsch/flexmark/flexmark-ext-yaml-front-matter/0.64.0/flexmark-ext-yaml-front-matter-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-ext-youtube-embedded/0.64.0/flexmark-ext-youtube-embedded-0.64.0.jar",
+        "hash": "a66d48a36afd5679cf722445f318cac25bd1ae67d74f5604473f83210f89386e",
+        "path": "com/vladsch/flexmark/flexmark-ext-youtube-embedded/0.64.0/flexmark-ext-youtube-embedded-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-html2md-converter/0.64.0/flexmark-html2md-converter-0.64.0.jar",
+        "hash": "8daa944ae51847913a5ed0e9746fa3c8dfa11379039a91b3f6bbc35f31b36114",
+        "path": "com/vladsch/flexmark/flexmark-html2md-converter/0.64.0/flexmark-html2md-converter-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-jira-converter/0.64.0/flexmark-jira-converter-0.64.0.jar",
+        "hash": "324edeb333d711e3b82a0975164eb35c5ab1f1f8bf084c0c4ed68d51a70402bb",
+        "path": "com/vladsch/flexmark/flexmark-jira-converter/0.64.0/flexmark-jira-converter-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-pdf-converter/0.64.0/flexmark-pdf-converter-0.64.0.jar",
+        "hash": "6b486b6a78717e768b3df56e91df30a7f9257f74366fd870afb204f3bc0970ac",
+        "path": "com/vladsch/flexmark/flexmark-pdf-converter/0.64.0/flexmark-pdf-converter-0.64.0.jar"
+    },
+    {
+        "url": "com/openhtmltopdf/openhtmltopdf-core/1.0.10/openhtmltopdf-core-1.0.10.jar",
+        "hash": "3e6fd2250d833d500b7cd48b7a896700d0c33bd9f77a219e820493b01566eda3",
+        "path": "com/openhtmltopdf/openhtmltopdf-core/1.0.10/openhtmltopdf-core-1.0.10.jar"
+    },
+    {
+        "url": "com/openhtmltopdf/openhtmltopdf-pdfbox/1.0.10/openhtmltopdf-pdfbox-1.0.10.jar",
+        "hash": "7de90df1b3ecf84e6f0daf808d724c11142007a2f22bff1936479bf17251d31a",
+        "path": "com/openhtmltopdf/openhtmltopdf-pdfbox/1.0.10/openhtmltopdf-pdfbox-1.0.10.jar"
+    },
+    {
+        "url": "org/apache/pdfbox/pdfbox/2.0.24/pdfbox-2.0.24.jar",
+        "hash": "3c2c0553ec0e7533c490b4c952e1af113621de5275af6e380e11d0d9a0a4f3d6",
+        "path": "org/apache/pdfbox/pdfbox/2.0.24/pdfbox-2.0.24.jar"
+    },
+    {
+        "url": "org/apache/pdfbox/fontbox/2.0.24/fontbox-2.0.24.jar",
+        "hash": "2e8c0a569a90b04734fbc0c805d77f4ec03f98c11f5705055ccd7718c1953d68",
+        "path": "org/apache/pdfbox/fontbox/2.0.24/fontbox-2.0.24.jar"
+    },
+    {
+        "url": "org/apache/pdfbox/xmpbox/2.0.24/xmpbox-2.0.24.jar",
+        "hash": "27383df2285b9e228c39f2c755adeebbef774793d33c4f20f0dc99e9ebaaf673",
+        "path": "org/apache/pdfbox/xmpbox/2.0.24/xmpbox-2.0.24.jar"
+    },
+    {
+        "url": "de/rototor/pdfbox/graphics2d/0.32/graphics2d-0.32.jar",
+        "hash": "37f8f387395f96c214ac44f7475c7a2e1f832dfc1de289a3610e0ffbf728f679",
+        "path": "de/rototor/pdfbox/graphics2d/0.32/graphics2d-0.32.jar"
+    },
+    {
+        "url": "com/openhtmltopdf/openhtmltopdf-rtl-support/1.0.10/openhtmltopdf-rtl-support-1.0.10.jar",
+        "hash": "5675c0b56d613b15446f9d0922d89781af48f05331326a87bdb3d1775c703215",
+        "path": "com/openhtmltopdf/openhtmltopdf-rtl-support/1.0.10/openhtmltopdf-rtl-support-1.0.10.jar"
+    },
+    {
+        "url": "com/openhtmltopdf/openhtmltopdf-jsoup-dom-converter/1.0.0/openhtmltopdf-jsoup-dom-converter-1.0.0.jar",
+        "hash": "eb7ba2f2d6a59479ae3f04e3b844c9efe5c7a5fb55579602b70232fcd351287b",
+        "path": "com/openhtmltopdf/openhtmltopdf-jsoup-dom-converter/1.0.0/openhtmltopdf-jsoup-dom-converter-1.0.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-profile-pegdown/0.64.0/flexmark-profile-pegdown-0.64.0.jar",
+        "hash": "cbeca04fd93dec035ff4b85deffa976a0a1f25b5c374ad482750b2b8682f211b",
+        "path": "com/vladsch/flexmark/flexmark-profile-pegdown/0.64.0/flexmark-profile-pegdown-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-ast/0.64.0/flexmark-util-ast-0.64.0.jar",
+        "hash": "d7ca1d1f027457a5fecd0b4e0dd360d888f4b335bed809c1046fa75466ae96dc",
+        "path": "com/vladsch/flexmark/flexmark-util-ast/0.64.0/flexmark-util-ast-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-builder/0.64.0/flexmark-util-builder-0.64.0.jar",
+        "hash": "2218cd239254472e73e98fc3f4ee82880419409816bbb5857956da7cc8ea70fe",
+        "path": "com/vladsch/flexmark/flexmark-util-builder/0.64.0/flexmark-util-builder-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-collection/0.64.0/flexmark-util-collection-0.64.0.jar",
+        "hash": "5f68e6da2785071000c9be8e1ea6968f306d8e1457370cc060e9ff7974e5f89f",
+        "path": "com/vladsch/flexmark/flexmark-util-collection/0.64.0/flexmark-util-collection-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-data/0.64.0/flexmark-util-data-0.64.0.jar",
+        "hash": "40613e94469e43d91d3a853f4c63f97e3e1be891cd64bed6e2a7f6338e7f6024",
+        "path": "com/vladsch/flexmark/flexmark-util-data/0.64.0/flexmark-util-data-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-dependency/0.64.0/flexmark-util-dependency-0.64.0.jar",
+        "hash": "94abc1de6ae49473c9397ead4344f55daaed39b3081943451178b789e5eb5650",
+        "path": "com/vladsch/flexmark/flexmark-util-dependency/0.64.0/flexmark-util-dependency-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-format/0.64.0/flexmark-util-format-0.64.0.jar",
+        "hash": "a4cd2efe840a133fe408a2bfabc92a21d84402d9af9e829e052a745102e8f28c",
+        "path": "com/vladsch/flexmark/flexmark-util-format/0.64.0/flexmark-util-format-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-html/0.64.0/flexmark-util-html-0.64.0.jar",
+        "hash": "ae188a5588e18b37256bbaa1b314731ffc07d691704124458465193081da53d7",
+        "path": "com/vladsch/flexmark/flexmark-util-html/0.64.0/flexmark-util-html-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-misc/0.64.0/flexmark-util-misc-0.64.0.jar",
+        "hash": "166fffb18e34b4ae80a1893aad10e1f7bed37a17a93abcef3d2e4177cd666e38",
+        "path": "com/vladsch/flexmark/flexmark-util-misc/0.64.0/flexmark-util-misc-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-options/0.64.0/flexmark-util-options-0.64.0.jar",
+        "hash": "64966403e3b865c7936eb63e7815a19a726b854e45b8173a8a13f7d01bb81b1d",
+        "path": "com/vladsch/flexmark/flexmark-util-options/0.64.0/flexmark-util-options-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-sequence/0.64.0/flexmark-util-sequence-0.64.0.jar",
+        "hash": "55d942bf79d27c1d351c6f54872c734153ccc8952a5dd5256b7cc716c9af875c",
+        "path": "com/vladsch/flexmark/flexmark-util-sequence/0.64.0/flexmark-util-sequence-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-util-visitor/0.64.0/flexmark-util-visitor-0.64.0.jar",
+        "hash": "cb6256b9565a89ed08648547657b0c9b9f28bf37c25c545e431ede10fb5cda35",
+        "path": "com/vladsch/flexmark/flexmark-util-visitor/0.64.0/flexmark-util-visitor-0.64.0.jar"
+    },
+    {
+        "url": "com/vladsch/flexmark/flexmark-youtrack-converter/0.64.0/flexmark-youtrack-converter-0.64.0.jar",
+        "hash": "30ef9467bc9f9dd30b1f5cd9da5989aaf25f32a7bb1ab4ae3d944d391a2a1f9b",
+        "path": "com/vladsch/flexmark/flexmark-youtrack-converter/0.64.0/flexmark-youtrack-converter-0.64.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/ift/git-learning-project/212.0.2/git-learning-project-212.0.2.jar",
+        "hash": "648eaffe833416e2accea4bf82b980f0e91ae51ef065f5bc74fa3481c373e9fd",
+        "path": "org/jetbrains/intellij/deps/ift/git-learning-project/212.0.2/git-learning-project-212.0.2.jar"
+    },
+    {
+        "url": "com/android/tools/smali/smali-dexlib2/3.0.0/smali-dexlib2-3.0.0.jar",
+        "hash": "9a0812a700e617f0d3aeec68aa085ff81fcd18a45597d41f862468dd1b53ae02",
+        "path": "com/android/tools/smali/smali-dexlib2/3.0.0/smali-dexlib2-3.0.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-core/1.53.0/grpc-core-1.53.0.jar",
+        "hash": "0077b9ff9a3b1a6ba3fad2e559c821e8f5176981068a6923647c7486b598aa03",
+        "path": "io/grpc/grpc-core/1.53.0/grpc-core-1.53.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-api/1.53.0/grpc-api-1.53.0.jar",
+        "hash": "a86967728b17b4edf3c02dbd5011b2e7e323c0b7dd1de899925ca06543467625",
+        "path": "io/grpc/grpc-api/1.53.0/grpc-api-1.53.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-context/1.53.0/grpc-context-1.53.0.jar",
+        "hash": "2a6431b5e7bca085b5abd844e30f1270e070c1a179d06b2ea3f83d5f60cc251a",
+        "path": "io/grpc/grpc-context/1.53.0/grpc-context-1.53.0.jar"
+    },
+    {
+        "url": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar",
+        "hash": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15",
+        "path": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar",
+        "hash": "2f25841c937e24959a57b630e2c4b8525b3d0f536f2e511c9b2bed30b1651d54",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar"
+    },
+    {
+        "url": "io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar",
+        "hash": "2044542933fcdf40ad18441bec37646d150c491871157f288847e29cb81de4cb",
+        "path": "io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-kotlin-stub/1.3.0/grpc-kotlin-stub-1.3.0.jar",
+        "hash": "7183d216466b6147cc08f46c6d80ec5764a26cdb2dea2202089ad0912ea74222",
+        "path": "io/grpc/grpc-kotlin-stub/1.3.0/grpc-kotlin-stub-1.3.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-netty-shaded/1.53.0/grpc-netty-shaded-1.53.0.jar",
+        "hash": "516f3879970d5526af4651d220d2b776f370ecdeb0bd9f6badbe4be88692fea2",
+        "path": "io/grpc/grpc-netty-shaded/1.53.0/grpc-netty-shaded-1.53.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.14.0/error_prone_annotations-2.14.0.jar",
+        "hash": "1494e24e7bd5496e7d6f705169dddd46081cefb882ea4fc60b4a58ca50767f34",
+        "path": "com/google/errorprone/error_prone_annotations/2.14.0/error_prone_annotations-2.14.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-protobuf/1.53.0/grpc-protobuf-1.53.0.jar",
+        "hash": "eb3c2107f6a6397d9c09179e814e2c6ebc5ff901d67bbf76588e8ef5bb51ca05",
+        "path": "io/grpc/grpc-protobuf/1.53.0/grpc-protobuf-1.53.0.jar"
+    },
+    {
+        "url": "com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar",
+        "hash": "0d830380ec66bd7e25eee63aa0a5a08578e46ad187fb72d99b44d9ba22827f91",
+        "path": "com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-protobuf-lite/1.53.0/grpc-protobuf-lite-1.53.0.jar",
+        "hash": "0e0b234188894ae282f770f85f717f3a2376b5afb5f80c00d664de22fa6cdaa8",
+        "path": "io/grpc/grpc-protobuf-lite/1.53.0/grpc-protobuf-lite-1.53.0.jar"
+    },
+    {
+        "url": "io/grpc/grpc-stub/1.53.0/grpc-stub-1.53.0.jar",
+        "hash": "f69f8819dd26266e0d8ef62a0f1473894fbdbab9ea459f977037dbc3bc9cf6e4",
+        "path": "io/grpc/grpc-stub/1.53.0/grpc-stub-1.53.0.jar"
+    },
+    {
+        "url": "com/google/code/gson/gson/2.10.1/gson-2.10.1.jar",
+        "hash": "4241c14a7727c34feea6507ec801318a3d4a90f070e4525681079fb94ee4c593",
+        "path": "com/google/code/gson/gson/2.10.1/gson-2.10.1.jar"
+    },
+    {
+        "url": "com/google/guava/guava-testlib/31.1-jre/guava-testlib-31.1-jre.jar",
+        "hash": "aadc71b10d5c3ac474dd16be84cfb18d257e584d1e0a59f8cab64ef4376226ce",
+        "path": "com/google/guava/guava-testlib/31.1-jre/guava-testlib-31.1-jre.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar",
+        "hash": "711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c",
+        "path": "org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar"
+    },
+    {
+        "url": "com/dynatrace/hash4j/hash4j/0.9.0/hash4j-0.9.0.jar",
+        "hash": "d6aa5066620ebf8451cc1f80ccbe30f7c7612bc0084049dd5012159fd93d6670",
+        "path": "com/dynatrace/hash4j/hash4j/0.9.0/hash4j-0.9.0.jar"
+    },
+    {
+        "url": "org/apache/httpcomponents/httpmime/4.5.14/httpmime-4.5.14.jar",
+        "hash": "d401243d5c6eae928a37121b6e819158c8c32ea0584793e7285bb489ab2a3d17",
+        "path": "org/apache/httpcomponents/httpmime/4.5.14/httpmime-4.5.14.jar"
+    },
+    {
+        "url": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar",
+        "hash": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6",
+        "path": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar"
+    },
+    {
+        "url": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar",
+        "hash": "6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f",
+        "path": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar"
+    },
+    {
+        "url": "com/ibm/icu/icu4j/73.1/icu4j-73.1.jar",
+        "hash": "e51fda26a50667aa6e5e7c752301203867dc36bbf82cb9f8f1008aded3798a5e",
+        "path": "com/ibm/icu/icu4j/73.1/icu4j-73.1.jar"
+    },
+    {
+        "url": "org/imgscalr/imgscalr-lib/4.2/imgscalr-lib-4.2.jar",
+        "hash": "6f128a71c5e87a16f810513a73ad3c77d0ee0bb622ee0ce1ead115bccbc76d0a",
+        "path": "org/imgscalr/imgscalr-lib/4.2/imgscalr-lib-4.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/ini4j/0.5.5-2/ini4j-0.5.5-2.jar",
+        "hash": "6d342a8599aed6e2871c638c87e2533647d6a32aec1e0feaa871133ae21517a4",
+        "path": "org/jetbrains/intellij/deps/ini4j/0.5.5-2/ini4j-0.5.5-2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.723/intellij-coverage-agent-1.0.723.jar",
+        "hash": "1aed2e845e76dc04612ffd45aa68ff21ca1131a1ae6ebe0957ef0d22c449a300",
+        "path": "org/jetbrains/intellij/deps/intellij-coverage-agent/1.0.723/intellij-coverage-agent-1.0.723.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/intellij-test-discovery-agent/1.0.723/intellij-test-discovery-agent-1.0.723.jar",
+        "hash": "2e12686a4a5938bd5697141c7bf8abd44da0a33509babf372a4e9b66cab10fd0",
+        "path": "org/jetbrains/intellij/deps/intellij-test-discovery-agent/1.0.723/intellij-test-discovery-agent-1.0.723.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/ion-java/1.8.2-4/ion-java-1.8.2-4.jar",
+        "hash": "d7e6ae22a82bf0c99bb3cfbf5090f112d94acf6bc5353c90414428f4b9b854d9",
+        "path": "org/jetbrains/intellij/deps/ion-java/1.8.2-4/ion-java-1.8.2-4.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/core/jackson-core/2.15.0/jackson-core-2.15.0.jar",
+        "hash": "5b483f68fa9dd6aa37da37d1f79dd5c4b9464238f4f0660a242cb6b5c724950c",
+        "path": "com/fasterxml/jackson/core/jackson-core/2.15.0/jackson-core-2.15.0.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/core/jackson-databind/2.15.0/jackson-databind-2.15.0.jar",
+        "hash": "00c5a5d5ae71ac8e8d5b8da606841e2251c806355939cb5d51c4cdc6b644a0dc",
+        "path": "com/fasterxml/jackson/core/jackson-databind/2.15.0/jackson-databind-2.15.0.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/core/jackson-annotations/2.15.0/jackson-annotations-2.15.0.jar",
+        "hash": "91adcd3dcf5fd9a16499934e7536a23d456692a0093e3d4fd52f138c3936348c",
+        "path": "com/fasterxml/jackson/core/jackson-annotations/2.15.0/jackson-annotations-2.15.0.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.0/jackson-dataformat-yaml-2.15.0.jar",
+        "hash": "691a0a605de15ea610180317331957fe6f7e91f45471ee45cbf9832d74291c31",
+        "path": "com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.0/jackson-dataformat-yaml-2.15.0.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/datatype/jackson-datatype-joda/2.15.0/jackson-datatype-joda-2.15.0.jar",
+        "hash": "294155c0a30238c2d5dd39d6802b33506b349065e2f55985e64d5beeb706e20b",
+        "path": "com/fasterxml/jackson/datatype/jackson-datatype-joda/2.15.0/jackson-datatype-joda-2.15.0.jar"
+    },
+    {
+        "url": "joda-time/joda-time/2.10.14/joda-time-2.10.14.jar",
+        "hash": "d65b4f127d36cf52b9b7b439552db22f3de92b892014512870cb3c98a3cf505e",
+        "path": "joda-time/joda-time/2.10.14/joda-time-2.10.14.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/jr/jackson-jr-objects/2.15.0/jackson-jr-objects-2.15.0.jar",
+        "hash": "a296cc5cba5aa3dbd8c7ce482c2a1f55ef181671cf27ccdfba2c5c3fb47da74a",
+        "path": "com/fasterxml/jackson/jr/jackson-jr-objects/2.15.0/jackson-jr-objects-2.15.0.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/module/jackson-module-kotlin/2.15.0/jackson-module-kotlin-2.15.0.jar",
+        "hash": "a8f728e2b8da5cd679ed940138a684891a165c7fdd95aede85e95aa0a004cb1e",
+        "path": "com/fasterxml/jackson/module/jackson-module-kotlin/2.15.0/jackson-module-kotlin-2.15.0.jar"
+    },
+    {
+        "url": "io/javaslang/javaslang/2.0.6/javaslang-2.0.6.jar",
+        "hash": "b92286634df04984ce524e659fcfc270632ff2997190c48a0f7d671c3300568e",
+        "path": "io/javaslang/javaslang/2.0.6/javaslang-2.0.6.jar"
+    },
+    {
+        "url": "io/javaslang/javaslang-match/2.0.6/javaslang-match-2.0.6.jar",
+        "hash": "15a73eba2858834ad08ca2cd1c39b35b02940fd22a7d5a22de998b8b318d400b",
+        "path": "io/javaslang/javaslang-match/2.0.6/javaslang-match-2.0.6.jar"
+    },
+    {
+        "url": "com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar",
+        "hash": "993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce",
+        "path": "com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar"
+    },
+    {
+        "url": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
+        "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
+        "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar",
+        "hash": "88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06",
+        "path": "javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar"
+    },
+    {
+        "url": "org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar",
+        "hash": "45fecfa5c8217ce1f3652ab95179790ec8cc0dec0384bca51cbeb94a293d9f2f",
+        "path": "org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar"
+    },
+    {
+        "url": "org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar",
+        "hash": "34975dde1c6920f1a39791142235689bc3cd357e24d05edd8ff93b885bd68d60",
+        "path": "org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar"
+    },
+    {
+        "url": "com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar",
+        "hash": "6443e10ba2e259fb821d9b6becf10db5316285fc30c53cec9d7b19a3877e7fdf",
+        "path": "com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar"
+    },
+    {
+        "url": "org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar",
+        "hash": "95b05d9590af4154c6513b9c5dc1fb2e55b539972ba0a9ef28e9a0c01d83ad77",
+        "path": "org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar"
+    },
+    {
+        "url": "com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar",
+        "hash": "785861db11ca1bd0d1956682b974ad73eb19cd3e01a4b3fa82d62eca97210aec",
+        "path": "com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/jb-jdi/2.26/jb-jdi-2.26.jar",
+        "hash": "b924a7f4bae430ca1a07fdb33cd96660033833d99b55bc987080b3babe0a7f13",
+        "path": "org/jetbrains/intellij/deps/jb-jdi/2.26/jb-jdi-2.26.jar"
+    },
+    {
+        "url": "com/jetbrains/jbr-api/17.1.9.0/jbr-api-17.1.9.0.jar",
+        "hash": "e10be02f30a530ec6599d9570912b54d0e426b3c1ebd4902441d9d0b31785251",
+        "path": "com/jetbrains/jbr-api/17.1.9.0/jbr-api-17.1.9.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/jcef/jcef/111.2.1-g870da30-chromium-111.0.5563.64-api-1.12/jcef-111.2.1-g870da30-chromium-111.0.5563.64-api-1.12.jar",
+        "hash": "505a0f8e8ebdb4a05490eb542832ced74eb498d26e47de8309790be7e52c0aa1",
+        "path": "org/jetbrains/intellij/deps/jcef/jcef/111.2.1-g870da30-chromium-111.0.5563.64-api-1.12/jcef-111.2.1-g870da30-chromium-111.0.5563.64-api-1.12.jar"
+    },
+    {
+        "url": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar",
+        "hash": "be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0",
+        "path": "net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/jediterm/jediterm-core/3.23/jediterm-core-3.23.jar",
+        "hash": "8fc55c69a4d54fe6a25f851c59e39cbd776e5c3aa5d38dc5a7614dbe4d01e268",
+        "path": "org/jetbrains/jediterm/jediterm-core/3.23/jediterm-core-3.23.jar"
+    },
+    {
+        "url": "org/jetbrains/jediterm/jediterm-ui/3.23/jediterm-ui-3.23.jar",
+        "hash": "b09e336f5ef493185e5c9bc6a03cdf8aee36bfa58d19f80d3e4f6b9783a1553e",
+        "path": "org/jetbrains/jediterm/jediterm-ui/3.23/jediterm-ui-3.23.jar"
+    },
+    {
+        "url": "org/jetbrains/jetCheck/0.2.2/jetCheck-0.2.2.jar",
+        "hash": "c5f95c97171311066a13eb750a6bb999fa7eeb43c1394705034926336c0b7b0f",
+        "path": "org/jetbrains/jetCheck/0.2.2/jetCheck-0.2.2.jar"
+    },
+    {
+        "url": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar",
+        "hash": "ff112f54ce874b8ae899cfd68f0315d96c9f406a338b8eca80c76d10e2e5a2f7",
+        "path": "org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/annotations-java5/24.0.0/annotations-java5-24.0.0.jar",
+        "hash": "2d033590350f9e936a787bfa407ecae221a80220762c9cf56c0066ff5e52fd10",
+        "path": "org/jetbrains/annotations-java5/24.0.0/annotations-java5-24.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/markdown-jvm/0.4.0/markdown-jvm-0.4.0.jar",
+        "hash": "b2e2430c91c0815d45e52dfd4d1e392d00cde9270cbb3ba865e5ba1b99c9899e",
+        "path": "org/jetbrains/markdown-jvm/0.4.0/markdown-jvm-0.4.0.jar"
+    },
+    {
+        "url": "com/jgoodies/jgoodies-common/1.4.0/jgoodies-common-1.4.0.jar",
+        "hash": "efd986ec851c3a5cd57907e72f27d1af9c1e5b1874b07a8b778588646d71d9fc",
+        "path": "com/jgoodies/jgoodies-common/1.4.0/jgoodies-common-1.4.0.jar"
+    },
+    {
+        "url": "com/jgoodies/forms/1.1-preview/forms-1.1-preview.jar",
+        "hash": "26b0fc745ea051b57462be22a150c7600dbac6716b24cc60a5ecc0e8085c41a0",
+        "path": "com/jgoodies/forms/1.1-preview/forms-1.1-preview.jar"
+    },
+    {
+        "url": "com/google/jimfs/jimfs/1.1/jimfs-1.1.jar",
+        "hash": "c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd",
+        "path": "com/google/jimfs/jimfs/1.1/jimfs-1.1.jar"
+    },
+    {
+        "url": "org/openjdk/jmh/jmh-core/1.36/jmh-core-1.36.jar",
+        "hash": "f90974e37d0da8886b5c05e6e3e7e20556900d747c5a41c1023b47c3301ea73c",
+        "path": "org/openjdk/jmh/jmh-core/1.36/jmh-core-1.36.jar"
+    },
+    {
+        "url": "net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar",
+        "hash": "df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28",
+        "path": "net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar",
+        "hash": "6268a9a0ea3e769fc493a21446664c0ef668e48c93d126791f6f3f757978fee2",
+        "path": "org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar"
+    },
+    {
+        "url": "org/openjdk/jmh/jmh-generator-annprocess/1.36/jmh-generator-annprocess-1.36.jar",
+        "hash": "c2a88cf8be1eb0870732a7b2e669972efc7f33a145998f568096137f16b20d79",
+        "path": "org/openjdk/jmh/jmh-generator-annprocess/1.36/jmh-generator-annprocess-1.36.jar"
+    },
+    {
+        "url": "org/jmock/jmock/2.5.1/jmock-2.5.1.jar",
+        "hash": "d96425f4bab28798162e59fffbe7e16ea6c2aab303ee8dfb0a2ec38a5a4e2f36",
+        "path": "org/jmock/jmock/2.5.1/jmock-2.5.1.jar"
+    },
+    {
+        "url": "org/jmock/jmock-junit4/2.5.1/jmock-junit4-2.5.1.jar",
+        "hash": "c53b16b999d3b2f1aa273bf5c560273d23e1fa21ce493ba7cbf5243118386b88",
+        "path": "org/jmock/jmock-junit4/2.5.1/jmock-junit4-2.5.1.jar"
+    },
+    {
+        "url": "org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar",
+        "hash": "0c8d23755cd08d23c3ea194773a08b2c322d2b70cc8c86ac02b424d8a50c9118",
+        "path": "org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"
+    },
+    {
+        "url": "net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar",
+        "hash": "8ce969116cac95bd61b07a8d5e07174b352e63301473caac72c395e3c08488d2",
+        "path": "net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar"
+    },
+    {
+        "url": "net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar",
+        "hash": "91a814ac4f40d60dee91d842e1a8ad874c62197984403d0e3c30d39e55cf53b3",
+        "path": "net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar"
+    },
+    {
+        "url": "org/jruby/joni/joni/2.1.48/joni-2.1.48.jar",
+        "hash": "41cb16ce177877aae3d98aa2024486973702b66306024c683d89819ee978a529",
+        "path": "org/jruby/joni/joni/2.1.48/joni-2.1.48.jar"
+    },
+    {
+        "url": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar",
+        "hash": "e2f85def67d6848a7a41c648248645689e3990d17ab8f253ab2fd7e69407df67",
+        "path": "org/jruby/jcodings/jcodings/1.0.58/jcodings-1.0.58.jar"
+    },
+    {
+        "url": "org/jetbrains/jps/jps-javac-extension/7/jps-javac-extension-7.jar",
+        "hash": "742fc253d719293c2188adc7ec3dfc3fc6562dea06258ec8b345d23d0d6c24ad",
+        "path": "org/jetbrains/jps/jps-javac-extension/7/jps-javac-extension-7.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar",
+        "hash": "30fffe206fc598b464b255ae0300b1088fb9b47501e0266831c0167d36639884",
+        "path": "com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar",
+        "hash": "0ccda6cd8ec515bee1fef22d7737b52ac52d1c64c075d4d988136b60125a1eff",
+        "path": "com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar",
+        "hash": "a5a0f8d3c1c5fb2df2abc4cb68d79b38e71fb37fc2a84d898d2f775150f43a5f",
+        "path": "com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar",
+        "hash": "eab73aaf832a88c39c7e86559cacc6e7938948ce6f8e8c0e44811ef062ac9e63",
+        "path": "com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar",
+        "hash": "10a27a381f10b5efc33acd4f4200dda9fc9e70d304c8aad52e713064ee6f4655",
+        "path": "com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar",
+        "hash": "737ad86ce82b56152f4f463fc00fb5b4b1dab9dab095e356bcc488c49cfc32a8",
+        "path": "com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar"
+    },
+    {
+        "url": "com/jcraft/jsch.agentproxy.sshj/0.0.9/jsch.agentproxy.sshj-0.0.9.jar",
+        "hash": "9a513fbf41d640df36a105e2e50e0ac6f99a9adf04ed4c72db55dfd93da8ef36",
+        "path": "com/jcraft/jsch.agentproxy.sshj/0.0.9/jsch.agentproxy.sshj-0.0.9.jar"
+    },
+    {
+        "url": "com/networknt/json-schema-validator/1.0.72/json-schema-validator-1.0.72.jar",
+        "hash": "260647c459cc7de269b2a8f576e5693e434df888fd4801e92365fe18b9992cbc",
+        "path": "com/networknt/json-schema-validator/1.0.72/json-schema-validator-1.0.72.jar"
+    },
+    {
+        "url": "com/jayway/jsonpath/json-path/2.8.0/json-path-2.8.0.jar",
+        "hash": "9601707e95cd79fb98570a01ea8cfb857b5cde948744d6e0edf733c11002c95b",
+        "path": "com/jayway/jsonpath/json-path/2.8.0/json-path-2.8.0.jar"
+    },
+    {
+        "url": "net/minidev/json-smart/2.4.10/json-smart-2.4.10.jar",
+        "hash": "70cab5e9488630dc631b1fc6e7fa550d95cddd19ba14db39ceca7cabfbd4e5ae",
+        "path": "net/minidev/json-smart/2.4.10/json-smart-2.4.10.jar"
+    },
+    {
+        "url": "net/minidev/accessors-smart/2.4.9/accessors-smart-2.4.9.jar",
+        "hash": "accdd5c7ac4c49b155890aaea1ffca2a9ccd5826b562dd95a99fc1887003e031",
+        "path": "net/minidev/accessors-smart/2.4.9/accessors-smart-2.4.9.jar"
+    },
+    {
+        "url": "org/jsoup/jsoup/1.16.1/jsoup-1.16.1.jar",
+        "hash": "1f115726540ddf71958c14bc517ebfc49cf481e91cd917b0face84f01272e901",
+        "path": "org/jsoup/jsoup/1.16.1/jsoup-1.16.1.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "com/github/weisj/jsvg/0.1.0-jb.18/jsvg-0.1.0-jb.18.jar",
+        "hash": "9e38c63bab0821e88030db0c9e0f56f90668651a1bd85f10984bf31cfd28b467",
+        "path": "com/github/weisj/jsvg/0.1.0-jb.18/jsvg-0.1.0-jb.18.jar"
+    },
+    {
+        "url": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar",
+        "hash": "9501d16ed256fa0db804e54e4d46732f1dceceae37f8590bec51032d3415496f",
+        "path": "org/jetbrains/nativecerts/jvm-native-trusted-roots/1.0.21/jvm-native-trusted-roots-1.0.21.jar"
+    },
+    {
+        "url": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar",
+        "hash": "89b1360f407381bf61fde411019d8cbd009ebb10cff715f3669017a031027560",
+        "path": "com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.8.20-dev-5742/kotlin-gradle-plugin-idea-1.8.20-dev-5742.jar",
+        "hash": "49c2a0c474dea959fb797c06cbdb6f049d0ef592c8f8256e74b2d38b93bab5e0",
+        "path": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1.8.20-dev-5742/kotlin-gradle-plugin-idea-1.8.20-dev-5742.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.8.20-dev-5742/kotlin-gradle-plugin-idea-proto-1.8.20-dev-5742.jar",
+        "hash": "911f4da2a752a559acf63d96ea2d1a3bdf5e5a175c4fecc69d79cca2d303c62d",
+        "path": "org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1.8.20-dev-5742/kotlin-gradle-plugin-idea-proto-1.8.20-dev-5742.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar",
+        "hash": "38135d3f995fc505d604aed2e82ac5ba858b2a6a3e476899c3b8be47fd222b68",
+        "path": "org/jetbrains/kotlin/kotlin-project-model/1.6.0/kotlin-project-model-1.6.0.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-reflect/1.8.20/kotlin-reflect-1.8.20.jar",
+        "hash": "531e3c3f9b0c45f9a21f1642174453066a1066bec0190254a6331b331814ab8b",
+        "path": "org/jetbrains/kotlin/kotlin-reflect/1.8.20/kotlin-reflect-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-script-runtime/1.8.20/kotlin-script-runtime-1.8.20.jar",
+        "hash": "4bddc06cad20bb843fbd24094b1dc3c31f55508c6918885e8b548f2ebaa8a93e",
+        "path": "org/jetbrains/kotlin/kotlin-script-runtime/1.8.20/kotlin-script-runtime-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib/1.8.20/kotlin-stdlib-1.8.20.jar",
+        "hash": "4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib/1.8.20/kotlin-stdlib-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib-common/1.8.20/kotlin-stdlib-common-1.8.20.jar",
+        "hash": "fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib-common/1.8.20/kotlin-stdlib-common-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-test/1.8.20/kotlin-test-1.8.20.jar",
+        "hash": "bf0f686171c7587c564478c504a58f9c03bac48c29824688328da9ae8fe5caa1",
+        "path": "org/jetbrains/kotlin/kotlin-test/1.8.20/kotlin-test-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-test-junit/1.8.20/kotlin-test-junit-1.8.20.jar",
+        "hash": "ff6b34d504322539d36bea362f7e542e25c5e0770e9f27125b129df430270f0e",
+        "path": "org/jetbrains/kotlin/kotlin-test-junit/1.8.20/kotlin-test-junit-1.8.20.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-tooling-core/1.8.20-dev-5742/kotlin-tooling-core-1.8.20-dev-5742.jar",
+        "hash": "7a412677e73a59588cdad4cb9c7f8e3bb70bae5db66933b4b3f3ece0071b4cad",
+        "path": "org/jetbrains/kotlin/kotlin-tooling-core/1.8.20-dev-5742/kotlin-tooling-core-1.8.20-dev-5742.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.9.20-dev-5606/allopen-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "ddf72df178668a0deab4460fcfd64642f823b9834b8a88102a7bf4145eca0efe",
+        "path": "org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.9.20-dev-5606/allopen-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/analysis-api-providers-for-ide/1.9.20-dev-5606/analysis-api-providers-for-ide-1.9.20-dev-5606.jar",
+        "hash": "fa57d9e567d17165c2c891cdf69e38f3714eb74049977d4a3d4acedf50b05f64",
+        "path": "org/jetbrains/kotlin/analysis-api-providers-for-ide/1.9.20-dev-5606/analysis-api-providers-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/analysis-project-structure-for-ide/1.9.20-dev-5606/analysis-project-structure-for-ide-1.9.20-dev-5606.jar",
+        "hash": "c495bead969c9e0826a25767cd727c58eae35614a695e9458f37916164c2a9ce",
+        "path": "org/jetbrains/kotlin/analysis-project-structure-for-ide/1.9.20-dev-5606/analysis-project-structure-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.9.20-dev-5606/android-extensions-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "a6d474e5abff0109173ea02dc7a27e6ffe89d4d66976a6a5eff602e60df98b9f",
+        "path": "org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.9.20-dev-5606/android-extensions-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/1.9.20-dev-5606/assignment-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "8eda4da851b83c3ed0c2ffaa3c62195a32dc34af49668299d09dd395a976745b",
+        "path": "org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/1.9.20-dev-5606/assignment-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-for-ide/1.9.20-dev-5606/high-level-api-for-ide-1.9.20-dev-5606.jar",
+        "hash": "952fbe203d43801734a47ef61c05e43f5677393f38df50c9974245aaf6ed3148",
+        "path": "org/jetbrains/kotlin/high-level-api-for-ide/1.9.20-dev-5606/high-level-api-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.9.20-dev-5606/high-level-api-fe10-for-ide-1.9.20-dev-5606.jar",
+        "hash": "88f611387d55f8236e8a0e7e569de0e8ccb916d121bfa54741051b997e51d661",
+        "path": "org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.9.20-dev-5606/high-level-api-fe10-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-fir-for-ide/1.9.20-dev-5606/high-level-api-fir-for-ide-1.9.20-dev-5606.jar",
+        "hash": "bcab142658d2fb514c7a5c3cbc25d84fc4cd91c81316b77fa34b51313ecf492b",
+        "path": "org/jetbrains/kotlin/high-level-api-fir-for-ide/1.9.20-dev-5606/high-level-api-fir-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.9.20-dev-5606/high-level-api-fir-tests-for-ide-1.9.20-dev-5606.jar",
+        "hash": "fca3bcb84b84cdc1d9fff61e6fa0aac00657b52516b65d41cc0cc65a9f5c382e",
+        "path": "org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.9.20-dev-5606/high-level-api-fir-tests-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.9.20-dev-5606/high-level-api-impl-base-for-ide-1.9.20-dev-5606.jar",
+        "hash": "126dccc25c976acb54d2d052cfda15de35db633431cee0ef8dbac2caa6f5fe1e",
+        "path": "org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.9.20-dev-5606/high-level-api-impl-base-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.9.20-dev-5606/high-level-api-impl-base-tests-for-ide-1.9.20-dev-5606.jar",
+        "hash": "5f710036f929be799aff56152822b1aebb81a58143c1322e68a80a67066b98ff",
+        "path": "org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.9.20-dev-5606/high-level-api-impl-base-tests-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.9.20-dev-5606/incremental-compilation-impl-tests-for-ide-1.9.20-dev-5606.jar",
+        "hash": "d32d4db10d151501a9608c0fe577643ee5a0fddb212c11b9922355b9a81655d7",
+        "path": "org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.9.20-dev-5606/incremental-compilation-impl-tests-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.9.20-dev-5606/kotlin-build-common-tests-for-ide-1.9.20-dev-5606.jar",
+        "hash": "8b3ed5f34fea8b6b2716c381f9b2294ad793b5796c98bc595a533067c96d2b24",
+        "path": "org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.9.20-dev-5606/kotlin-build-common-tests-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.9.20-dev-5606/kotlin-compiler-cli-for-ide-1.9.20-dev-5606.jar",
+        "hash": "775c510a7d79e2237fa3798a5cccc3befc71355d7bdbf44e24965fb939f86e94",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.9.20-dev-5606/kotlin-compiler-cli-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.9.20-dev-5606/kotlin-compiler-common-for-ide-1.9.20-dev-5606.jar",
+        "hash": "d0e5e3f968385e15cf3ca507295cf9eabb4e409f4b3b847d496cc47db9963064",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.9.20-dev-5606/kotlin-compiler-common-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.9.20-dev-5606/kotlin-compiler-fe10-for-ide-1.9.20-dev-5606.jar",
+        "hash": "85b830c0a539edcb602690babcf979cefb89045293ef67de039f68ae0fc5bb47",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.9.20-dev-5606/kotlin-compiler-fe10-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.9.20-dev-5606/kotlin-compiler-fir-for-ide-1.9.20-dev-5606.jar",
+        "hash": "c8b836a1adfd29156b53610c160acff4be604ca5cc07f5c1eb0aca57395658f6",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.9.20-dev-5606/kotlin-compiler-fir-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.9.20-dev-5606/kotlin-compiler-ir-for-ide-1.9.20-dev-5606.jar",
+        "hash": "c06444b222520bbbbab4daa06e60759054919368b6ebad89d5ce8a3ee65a8d3c",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.9.20-dev-5606/kotlin-compiler-ir-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.9.20-dev-5606/kotlin-compiler-tests-for-ide-1.9.20-dev-5606.jar",
+        "hash": "abed2e2b61f2c147a4a4f20c0bade5e3c141154dd28aa79eced013d5b6d9da2b",
+        "path": "org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.9.20-dev-5606/kotlin-compiler-tests-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-dist-for-ide/1.9.0-release-358/kotlin-dist-for-ide-1.9.0-release-358.jar",
+        "hash": "1b85efa55643f31e348f8388484af2cf3623023c020cb1b6416667f25111e6d2",
+        "path": "org/jetbrains/kotlin/kotlin-dist-for-ide/1.9.0-release-358/kotlin-dist-for-ide-1.9.0-release-358.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.9.20-dev-5606/kotlin-gradle-statistics-for-ide-1.9.20-dev-5606.jar",
+        "hash": "ef0252705e16616de7416052b549a3751776a4afd612f2dfd2aa8b5013c9a75d",
+        "path": "org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.9.20-dev-5606/kotlin-gradle-statistics-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.9.20-dev-5606/kotlin-jps-common-for-ide-1.9.20-dev-5606.jar",
+        "hash": "195ffda17a5d7a4f732a9714dc09f65de8ef1fac6875774caa3cdc3f5d993b44",
+        "path": "org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.9.20-dev-5606/kotlin-jps-common-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/1.9.0-release-358/kotlin-jps-plugin-classpath-1.9.0-release-358.jar",
+        "hash": "e3912443ef09b3f930685cf8e9322f28547f0ef3c63b97078c9766306d2dc438",
+        "path": "org/jetbrains/kotlin/kotlin-jps-plugin-classpath/1.9.0-release-358/kotlin-jps-plugin-classpath-1.9.0-release-358.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/1.9.0-release-358/kotlin-jps-plugin-tests-for-ide-1.9.0-release-358.jar",
+        "hash": "0e570634d9d6358b6a48dcb47ea626eda4c40245c0e6a1023c7e6ab0b2e0f8ca",
+        "path": "org/jetbrains/kotlin/kotlin-jps-plugin-tests-for-ide/1.9.0-release-358/kotlin-jps-plugin-tests-for-ide-1.9.0-release-358.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-script-runtime/1.9.20-dev-5606/kotlin-script-runtime-1.9.20-dev-5606.jar",
+        "hash": "98a629b8f67ae72e46e5356198ed1cd7c46ef51144e0f085fb911aa50e9338fe",
+        "path": "org/jetbrains/kotlin/kotlin-script-runtime/1.9.20-dev-5606/kotlin-script-runtime-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-scripting-common/1.9.20-dev-5606/kotlin-scripting-common-1.9.20-dev-5606.jar",
+        "hash": "dc660c8ecd858668c8b431fcef58578f0ee60d03dafcb540397ef1002f15809c",
+        "path": "org/jetbrains/kotlin/kotlin-scripting-common/1.9.20-dev-5606/kotlin-scripting-common-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.9.20-dev-5606/kotlin-scripting-compiler-impl-1.9.20-dev-5606.jar",
+        "hash": "444594ec2b8b21c9d2202930ae4be55d3ac5a99645e1994a315bf5ccaa67816d",
+        "path": "org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.9.20-dev-5606/kotlin-scripting-compiler-impl-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.20-dev-5606/kotlin-scripting-jvm-1.9.20-dev-5606.jar",
+        "hash": "62f3538d12ec908cdd6446de3ca47ea0e008d0a769f3776f4fd078bc15be0e20",
+        "path": "org/jetbrains/kotlin/kotlin-scripting-jvm/1.9.20-dev-5606/kotlin-scripting-jvm-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.20-dev-5606/kotlin-stdlib-jdk8-1.9.20-dev-5606.jar",
+        "hash": "4314b1f0d409a7b756c6ed569c1ce58ae58363fb63d3232c43a18b575e854340",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.20-dev-5606/kotlin-stdlib-jdk8-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib/1.9.20-dev-5606/kotlin-stdlib-1.9.20-dev-5606.jar",
+        "hash": "3788177db47c19025b42952d129f58938ad9a9171a369a55adce822c3f53b3ef",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib/1.9.20-dev-5606/kotlin-stdlib-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib-common/1.9.20-dev-5606/kotlin-stdlib-common-1.9.20-dev-5606.jar",
+        "hash": "f84d3c2c1435ec7fdfb2ef97f4ed7f2e7e54498a9d46949caa85ef9b71c2a438",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib-common/1.9.20-dev-5606/kotlin-stdlib-common-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.20-dev-5606/kotlin-stdlib-jdk7-1.9.20-dev-5606.jar",
+        "hash": "bef10bdb1b53d6a20e0b87a1b61a54984296021d13cd4405f68133ed7c175b34",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.20-dev-5606/kotlin-stdlib-jdk7-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.9.20-dev-5606/kotlin-stdlib-minimal-for-test-for-ide-1.9.20-dev-5606.jar",
+        "hash": "5bcc880fc12c04486727b1898ed609eff8aabafb2b243dfa8d437d72cd6a7629",
+        "path": "org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.9.20-dev-5606/kotlin-stdlib-minimal-for-test-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.9.20-dev-5606/kotlinx-serialization-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "ee92e2d19740249f8d84a704634c350c60e3137a9ba4cfb789296aeb6d70e1b3",
+        "path": "org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.9.20-dev-5606/kotlinx-serialization-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.9.20-dev-5606/lombok-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "2a70f03e95819dff996ca48911bda9bcf2a46e9181b0a03382dc9856bac79e3d",
+        "path": "org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.9.20-dev-5606/lombok-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/low-level-api-fir-for-ide/1.9.20-dev-5606/low-level-api-fir-for-ide-1.9.20-dev-5606.jar",
+        "hash": "787bbf883555e6497686b6d23285dfe9cac704080e997fc3aaf383f3cc46f97a",
+        "path": "org/jetbrains/kotlin/low-level-api-fir-for-ide/1.9.20-dev-5606/low-level-api-fir-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.9.20-dev-5606/noarg-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "b1ad2c83a8504d0fe4b4827ed45c1f99c2eb2249d2ed05a7cde10a1d698ecdf4",
+        "path": "org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.9.20-dev-5606/noarg-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.9.20-dev-5606/parcelize-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "8d3abb311735c481528dfc03d0350808e55f5a4a76c4d7bea5ea2ca344d377f1",
+        "path": "org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.9.20-dev-5606/parcelize-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.9.20-dev-5606/sam-with-receiver-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "59a4f1fae9b7a4d8c3ea3739f728c6ea6973612554aea0f210eb1543499227f1",
+        "path": "org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.9.20-dev-5606/sam-with-receiver-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/1.9.20-dev-5606/scripting-compiler-plugin-for-ide-1.9.20-dev-5606.jar",
+        "hash": "ee9955a5467cb6617cb618a1e187d4e7154bdb5a088bd43a1d191307ac600966",
+        "path": "org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/1.9.20-dev-5606/scripting-compiler-plugin-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/symbol-light-classes-for-ide/1.9.20-dev-5606/symbol-light-classes-for-ide-1.9.20-dev-5606.jar",
+        "hash": "e38206d069e9740aa969278761fc62791a653a7b30d3582b7b30b1f1711817fd",
+        "path": "org/jetbrains/kotlin/symbol-light-classes-for-ide/1.9.20-dev-5606/symbol-light-classes-for-ide-1.9.20-dev-5606.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.5/kotlinx-collections-immutable-jvm-0.3.5.jar",
+        "hash": "0cc458268187e86241854ae85bfa35accf9bd7a650fbe57015347287bf7e6b66",
+        "path": "org/jetbrains/kotlinx/kotlinx-collections-immutable-jvm/0.3.5/kotlinx-collections-immutable-jvm-0.3.5.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.7.1/kotlinx-coroutines-core-jvm-1.7.1.jar",
+        "hash": "7496cffdd3eb10109acdda1c3212f6ac7815789e09380dc9e2ccdec496dba3fc",
+        "path": "org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.7.1/kotlinx-coroutines-core-jvm-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.7.1/kotlinx-coroutines-debug-1.7.1.jar",
+        "hash": "5333cbb9a17fd45642f3f05ff124006cd6743549413c2f53a35cf9acd1141e91",
+        "path": "org/jetbrains/kotlinx/kotlinx-coroutines-debug/1.7.1/kotlinx-coroutines-debug-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-coroutines-guava/1.7.1/kotlinx-coroutines-guava-1.7.1.jar",
+        "hash": "be7ac4726a9d356d03be71c76ceb083e4f4653e2668c0be4af9198e424d7ffd6",
+        "path": "org/jetbrains/kotlinx/kotlinx-coroutines-guava/1.7.1/kotlinx-coroutines-guava-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-coroutines-slf4j/1.7.1/kotlinx-coroutines-slf4j-1.7.1.jar",
+        "hash": "fbb40ca7e55a78017feac897180be64f562a2eb781c6a3f6c9bb2ff88d92223f",
+        "path": "org/jetbrains/kotlinx/kotlinx-coroutines-slf4j/1.7.1/kotlinx-coroutines-slf4j-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.7.1/kotlinx-coroutines-test-jvm-1.7.1.jar",
+        "hash": "bf88e8f0a8d88033d961d93435a132caf88fe35cee266bf71c48689eceddc72d",
+        "path": "org/jetbrains/kotlinx/kotlinx-coroutines-test-jvm/1.7.1/kotlinx-coroutines-test-jvm-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.4.0/kotlinx-datetime-jvm-0.4.0.jar",
+        "hash": "075ca75a16e356484c07de3cc7bce79da9e4adbc670bbcf23c5e13f4e12ee6e7",
+        "path": "org/jetbrains/kotlinx/kotlinx-datetime-jvm/0.4.0/kotlinx-datetime-jvm-0.4.0.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.8.1/kotlinx-html-jvm-0.8.1.jar",
+        "hash": "98bda1c78a5028a134ceb25b63f5c130c89349730d35fd47ef7490b6bf0b63b3",
+        "path": "org/jetbrains/kotlinx/kotlinx-html-jvm/0.8.1/kotlinx-html-jvm-0.8.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.5.1/kotlinx-serialization-core-jvm-1.5.1.jar",
+        "hash": "a4053a35abeb59bf707d7948245556fe8dc379e9cfed088aec08134c899605d4",
+        "path": "org/jetbrains/kotlinx/kotlinx-serialization-core-jvm/1.5.1/kotlinx-serialization-core-jvm-1.5.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.5.1/kotlinx-serialization-json-jvm-1.5.1.jar",
+        "hash": "6fc10b056e1006963abb2b9fc393dcd4e38425358b6f16285e8f63d3429ffd21",
+        "path": "org/jetbrains/kotlinx/kotlinx-serialization-json-jvm/1.5.1/kotlinx-serialization-json-jvm-1.5.1.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.5.1/kotlinx-serialization-protobuf-jvm-1.5.1.jar",
+        "hash": "3b8d778997709effc92f4d9e95204787b873279c6e145913bbd55065912be58c",
+        "path": "org/jetbrains/kotlinx/kotlinx-serialization-protobuf-jvm/1.5.1/kotlinx-serialization-protobuf-jvm-1.5.1.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar",
+        "hash": "9c8707aac68e30900326933f9044fbedb4797ef18aa127dd2ec9cd74b5100153",
+        "path": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar",
+        "hash": "c0fa2f2829e6ca47ce812a6fe35e65b634673aafcff2170b2cd07cf555981492",
+        "path": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar",
+        "hash": "37f83ea9cab8a2e56c80d0bd0e461b6f4de0a7e4d97c3d26b38b091fbb0d2a49",
+        "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar",
+        "hash": "dbb254d2f1eea8a9f97d77f1c6783b1aedb01563da0aba886bcfa89f973c3783",
+        "path": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-auth-jvm/2.3.0/ktor-client-auth-jvm-2.3.0.jar",
+        "hash": "a33acc9111d4299d2d89ad7a43f5fbfaad1bc5bdade31e10989241c9f97df854",
+        "path": "io/ktor/ktor-client-auth-jvm/2.3.0/ktor-client-auth-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-cio-jvm/2.3.0/ktor-client-cio-jvm-2.3.0.jar",
+        "hash": "78b8897621c0993c0a2358dd79331e35f2d8cd11ef7d6a65e01b9db8d0d26348",
+        "path": "io/ktor/ktor-client-cio-jvm/2.3.0/ktor-client-cio-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar",
+        "hash": "9c8707aac68e30900326933f9044fbedb4797ef18aa127dd2ec9cd74b5100153",
+        "path": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar",
+        "hash": "c0fa2f2829e6ca47ce812a6fe35e65b634673aafcff2170b2cd07cf555981492",
+        "path": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-cio-jvm/2.3.0/ktor-http-cio-jvm-2.3.0.jar",
+        "hash": "258b3fc2ffc4682e826f9604ac52e0e1ec85b07f050e3ce4e3cbe8cc35bea03a",
+        "path": "io/ktor/ktor-http-cio-jvm/2.3.0/ktor-http-cio-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-network-jvm/2.3.0/ktor-network-jvm-2.3.0.jar",
+        "hash": "17b85d910c882b8c33073f7888275b610739ac04faecb4f43f94bf757572c391",
+        "path": "io/ktor/ktor-network-jvm/2.3.0/ktor-network-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-network-tls-jvm/2.3.0/ktor-network-tls-jvm-2.3.0.jar",
+        "hash": "9720bb29ebd4b035e38082dbb11620bdcc8b57e4988d8f3206fb4bf307fdf9f5",
+        "path": "io/ktor/ktor-network-tls-jvm/2.3.0/ktor-network-tls-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-content-negotiation-jvm/2.3.0/ktor-client-content-negotiation-jvm-2.3.0.jar",
+        "hash": "c821b07bbccb3a52ddef83959bd1ff6c0451b71ba9059d549f3e1984613baaf6",
+        "path": "io/ktor/ktor-client-content-negotiation-jvm/2.3.0/ktor-client-content-negotiation-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar",
+        "hash": "9c8707aac68e30900326933f9044fbedb4797ef18aa127dd2ec9cd74b5100153",
+        "path": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar",
+        "hash": "c0fa2f2829e6ca47ce812a6fe35e65b634673aafcff2170b2cd07cf555981492",
+        "path": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar",
+        "hash": "37f83ea9cab8a2e56c80d0bd0e461b6f4de0a7e4d97c3d26b38b091fbb0d2a49",
+        "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar",
+        "hash": "dbb254d2f1eea8a9f97d77f1c6783b1aedb01563da0aba886bcfa89f973c3783",
+        "path": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-encoding-jvm/2.3.0/ktor-client-encoding-jvm-2.3.0.jar",
+        "hash": "d1dce069a7cea7a2aee8c2f3a852aedb6f2b693784819e19b95ae41c2fa6c3cc",
+        "path": "io/ktor/ktor-client-encoding-jvm/2.3.0/ktor-client-encoding-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-logging-jvm/2.3.0/ktor-client-logging-jvm-2.3.0.jar",
+        "hash": "8431bdd42fd24b7f564cd37f44890bc9c2cabf5b20280044dfa4099b9ffd289d",
+        "path": "io/ktor/ktor-client-logging-jvm/2.3.0/ktor-client-logging-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar",
+        "hash": "9c8707aac68e30900326933f9044fbedb4797ef18aa127dd2ec9cd74b5100153",
+        "path": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar",
+        "hash": "c0fa2f2829e6ca47ce812a6fe35e65b634673aafcff2170b2cd07cf555981492",
+        "path": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar",
+        "hash": "37f83ea9cab8a2e56c80d0bd0e461b6f4de0a7e4d97c3d26b38b091fbb0d2a49",
+        "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar",
+        "hash": "dbb254d2f1eea8a9f97d77f1c6783b1aedb01563da0aba886bcfa89f973c3783",
+        "path": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-mock-jvm/2.3.0/ktor-client-mock-jvm-2.3.0.jar",
+        "hash": "a4717dd09bb5b13897c4d3b09406f66eed303d44c84a63d96b82a92c13d047b0",
+        "path": "io/ktor/ktor-client-mock-jvm/2.3.0/ktor-client-mock-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar",
+        "hash": "9c8707aac68e30900326933f9044fbedb4797ef18aa127dd2ec9cd74b5100153",
+        "path": "io/ktor/ktor-client-core-jvm/2.3.0/ktor-client-core-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar",
+        "hash": "c0fa2f2829e6ca47ce812a6fe35e65b634673aafcff2170b2cd07cf555981492",
+        "path": "io/ktor/ktor-events-jvm/2.3.0/ktor-events-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar",
+        "hash": "37f83ea9cab8a2e56c80d0bd0e461b6f4de0a7e4d97c3d26b38b091fbb0d2a49",
+        "path": "io/ktor/ktor-websocket-serialization-jvm/2.3.0/ktor-websocket-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar",
+        "hash": "dbb254d2f1eea8a9f97d77f1c6783b1aedb01563da0aba886bcfa89f973c3783",
+        "path": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-network-tls-jvm/2.3.0/ktor-network-tls-jvm-2.3.0.jar",
+        "hash": "9720bb29ebd4b035e38082dbb11620bdcc8b57e4988d8f3206fb4bf307fdf9f5",
+        "path": "io/ktor/ktor-network-tls-jvm/2.3.0/ktor-network-tls-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-network-jvm/2.3.0/ktor-network-jvm-2.3.0.jar",
+        "hash": "17b85d910c882b8c33073f7888275b610739ac04faecb4f43f94bf757572c391",
+        "path": "io/ktor/ktor-network-jvm/2.3.0/ktor-network-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.0/ktor-serialization-kotlinx-json-jvm-2.3.0.jar",
+        "hash": "34130cfb69365342f4c2a0a192edaf8cc3f0374206b42d97280f59a6a4a2978c",
+        "path": "io/ktor/ktor-serialization-kotlinx-json-jvm/2.3.0/ktor-serialization-kotlinx-json-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar",
+        "hash": "a116d91b9de823384e157c9ddae8c7dd34592253cea03a812cb4c430f941914e",
+        "path": "io/ktor/ktor-http-jvm/2.3.0/ktor-http-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar",
+        "hash": "11f01ec6bc4a139852bec08e2346046a96ae636bb3d7643a14c109332692a447",
+        "path": "io/ktor/ktor-utils-jvm/2.3.0/ktor-utils-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar",
+        "hash": "e4fc6eafdd18cdc95ee7e090b586b932a35d992660ae70fb18ba64b737427bcf",
+        "path": "io/ktor/ktor-io-jvm/2.3.0/ktor-io-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.0/ktor-serialization-kotlinx-jvm-2.3.0.jar",
+        "hash": "f0c870a7cbf616287b76991c7786f655fd7690073b112c0c427eea98e9c10a88",
+        "path": "io/ktor/ktor-serialization-kotlinx-jvm/2.3.0/ktor-serialization-kotlinx-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar",
+        "hash": "dbb254d2f1eea8a9f97d77f1c6783b1aedb01563da0aba886bcfa89f973c3783",
+        "path": "io/ktor/ktor-serialization-jvm/2.3.0/ktor-serialization-jvm-2.3.0.jar"
+    },
+    {
+        "url": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar",
+        "hash": "1412d2331f6951dc0b6c99e0a88fdb56ff50943e720191b25cdcdf715dab5c49",
+        "path": "io/ktor/ktor-websockets-jvm/2.3.0/ktor-websockets-jvm-2.3.0.jar"
+    },
+    {
+        "url": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar",
+        "hash": "f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2",
+        "path": "net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_skia_java_proto/223.0.1.0/layout_inspector_skia_java_proto-223.0.1.0.jar",
+        "hash": "57a5b14934f746e0910e7a69104ce918af769c6ea821a8c193e51661f45ab2a4",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_skia_java_proto/223.0.1.0/layout_inspector_skia_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/layoutinspector-view-proto/223.0.1.0/layoutinspector-view-proto-223.0.1.0.jar",
+        "hash": "646ec119025d94f8f154caaca82433dfdd67f411e1dbac64e791c8221454c9a1",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/layoutinspector-view-proto/223.0.1.0/layoutinspector-view-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_compose_java_proto/223.0.1.0/layout_inspector_compose_java_proto-223.0.1.0.jar",
+        "hash": "e919843d85b1b7d8252fbefd8ef1bb2a838fe112136ae5d23dc56be17a65216b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_compose_java_proto/223.0.1.0/layout_inspector_compose_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_snapshot_java_proto/223.0.1.0/layout_inspector_snapshot_java_proto-223.0.1.0.jar",
+        "hash": "b5acbacd2efe23a13e523e982a4af48ea0e789da9cac4612192edaac80ce3aa7",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_snapshot_java_proto/223.0.1.0/layout_inspector_snapshot_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_view_java_proto/223.0.1.0/layout_inspector_view_java_proto-223.0.1.0.jar",
+        "hash": "124d5d061c4f4e20b2f45e9315f3e2700a4849b25456c4a446ec4432c0be0251",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/layout_inspector_view_java_proto/223.0.1.0/layout_inspector_view_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/jb-layoutlib-jdk11/223.0.1.0/jb-layoutlib-jdk11-223.0.1.0.jar",
+        "hash": "c119161aa752e5a03eca2b64ebf23116169750ad86872e014292d4b83d8c100c",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/jb-layoutlib-jdk11/223.0.1.0/jb-layoutlib-jdk11-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libam-instrumentation-data-proto/223.0.1.0/libam-instrumentation-data-proto-223.0.1.0.jar",
+        "hash": "9e74dde675290902f77b42ebfae08d2f20b1e30e1449098e8f56b8e0d47afc05",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libam-instrumentation-data-proto/223.0.1.0/libam-instrumentation-data-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libapp-processes-proto/223.0.1.0/libapp-processes-proto-223.0.1.0.jar",
+        "hash": "3faf2936c9d2f1da49ec915dc086b98981661084bf52e69b42bc8b0e94115f8e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libapp-processes-proto/223.0.1.0/libapp-processes-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar",
+        "hash": "f261ec1cfb7452e25c584cb4440389dffce59a6d38dfe91d12ec790594629b6e",
+        "path": "org/apache/thrift/libthrift/0.13.0/libthrift-0.13.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-analysis-common/9.6.0/lucene-analysis-common-9.6.0.jar",
+        "hash": "f2f0d724c99440f4ab9304c06e7966653d088e872a2bbd709605dff547e5a494",
+        "path": "org/apache/lucene/lucene-analysis-common/9.6.0/lucene-analysis-common-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-codecs/9.6.0/lucene-codecs-9.6.0.jar",
+        "hash": "371100cb3d39fb47a1f00846fe9114ec643bc41525102aec853b6ecfdf08571e",
+        "path": "org/apache/lucene/lucene-codecs/9.6.0/lucene-codecs-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-core/9.6.0/lucene-core-9.6.0.jar",
+        "hash": "43c3905ecc0c41b77694202b5249e538f3988d1c452bb75decdfb5fdb149dd51",
+        "path": "org/apache/lucene/lucene-core/9.6.0/lucene-core-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-highlighter/9.6.0/lucene-highlighter-9.6.0.jar",
+        "hash": "dd9ddcb93ba9e5c19d4de5b9b77530a0d4eceb5e2e8f31ac17e905e314a349ce",
+        "path": "org/apache/lucene/lucene-highlighter/9.6.0/lucene-highlighter-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-memory/9.6.0/lucene-memory-9.6.0.jar",
+        "hash": "99fd1e7c06867d2f21e2c86143f774df2009222f76e7379902e87577584e63a7",
+        "path": "org/apache/lucene/lucene-memory/9.6.0/lucene-memory-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-queries/9.6.0/lucene-queries-9.6.0.jar",
+        "hash": "7c3d67d2450fabde77e550e11b4ed75a27cf13b3fffe6ec51df4482742107b25",
+        "path": "org/apache/lucene/lucene-queries/9.6.0/lucene-queries-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-queryparser/9.6.0/lucene-queryparser-9.6.0.jar",
+        "hash": "83f4c46f9e5ac7ec3a9aad5fdb05d336c0c4f520528d28a676b65d57508b87f3",
+        "path": "org/apache/lucene/lucene-queryparser/9.6.0/lucene-queryparser-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-sandbox/9.6.0/lucene-sandbox-9.6.0.jar",
+        "hash": "aa240762a4639bf21c599e82c1c6ff16097d6aad619785772db159ed60169b43",
+        "path": "org/apache/lucene/lucene-sandbox/9.6.0/lucene-sandbox-9.6.0.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-suggest/9.6.0/lucene-suggest-9.6.0.jar",
+        "hash": "0ddf5f5b0cf06af1bc5f8ab9c8fc404b6d0006d369eadb15745ad78bb24b38c4",
+        "path": "org/apache/lucene/lucene-suggest/9.6.0/lucene-suggest-9.6.0.jar"
+    },
+    {
+        "url": "org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar",
+        "hash": "d74a3334fb35195009b338a951f918203d6bbca3d1d359033dc33edd1cadc9ef",
+        "path": "org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.8.5/maven-resolver-provider-3.8.5.jar",
+        "hash": "4b9f827efb393696431978dc0354651f1a95d4c52ba07c92d830efe5dc9b1012",
+        "path": "org/apache/maven/maven-resolver-provider/3.8.5/maven-resolver-provider-3.8.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.8.5/maven-model-3.8.5.jar",
+        "hash": "7c9eeb30ac1941ea9bdf76c08c162ed98c005913e5bff66de3f1027a304546dc",
+        "path": "org/apache/maven/maven-model/3.8.5/maven-model-3.8.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.8.5/maven-model-builder-3.8.5.jar",
+        "hash": "6bcd688b4700bc0d9046c531c316e75674f53b345d4432d6a7f62812b2424bef",
+        "path": "org/apache/maven/maven-model-builder/3.8.5/maven-model-builder-3.8.5.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar",
+        "hash": "b3b5412ce17889103ea564bcdfcf9fb3dfa540344ffeac6b538a73c9d7182662",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar",
+        "hash": "91172bc294d6eab02fc9f45f4ea01fd0e418962d128cf489abea7b6957d988ee",
+        "path": "org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.8.5/maven-builder-support-3.8.5.jar",
+        "hash": "a205eaa76609ae0039bf38fe9a9c024c646eded05d176effbef524f04a2c2761",
+        "path": "org/apache/maven/maven-builder-support/3.8.5/maven-builder-support-3.8.5.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar",
+        "hash": "c5994010bcdce1d2bd603a4d50c47191ddbd7875d1157b23aaa26d33c82fda13",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.8.5/maven-repository-metadata-3.8.5.jar",
+        "hash": "24d89a1b23dc0427ac67895a741802fd23897bdf135d87fe586d718b38a3e924",
+        "path": "org/apache/maven/maven-repository-metadata/3.8.5/maven-repository-metadata-3.8.5.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.6.3/maven-resolver-api-1.6.3.jar",
+        "hash": "d0b28ed944058ba4f9be4b54c25d6d5269cc4f3f3c49aa450d4dc2f7e0d552f6",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.6.3/maven-resolver-api-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.6.3/maven-resolver-spi-1.6.3.jar",
+        "hash": "17441a39045ac19bc4a8068fb7284facebf6337754bf2bf8f26a76b5f98ed108",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.6.3/maven-resolver-spi-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.6.3/maven-resolver-util-1.6.3.jar",
+        "hash": "cdcad9355b625743f40e4cead9a96353404e010c39c808d23b044be331afa251",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.6.3/maven-resolver-util-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.6.3/maven-resolver-impl-1.6.3.jar",
+        "hash": "17aaebe6e3e59df8cb5b4ec210196f7084637312b9bc4ff14cb77ad1ae3c381b",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.6.3/maven-resolver-impl-1.6.3.jar"
+    },
+    {
+        "url": "com/github/marschall/memoryfilesystem/2.4.0/memoryfilesystem-2.4.0.jar",
+        "hash": "1e9ed24c5eb43d068a0e5ce5ea19aa75a44ee927024cc7715245e8aca7cd87a5",
+        "path": "com/github/marschall/memoryfilesystem/2.4.0/memoryfilesystem-2.4.0.jar"
+    },
+    {
+        "url": "com/michaelbaranov/microba/microba/0.4.5-jb.1/microba-0.4.5-jb.1.jar",
+        "hash": "dad321d5c6e522ef41f427665b4c5277c8ae72541c7b9df2ba63cb75f2831be1",
+        "path": "com/michaelbaranov/microba/microba/0.4.5-jb.1/microba-0.4.5-jb.1.jar"
+    },
+    {
+        "url": "com/miglayout/miglayout-swing/11.0/miglayout-swing-11.0.jar",
+        "hash": "7aa9da079e0ed628a3672f8ddd1b6b05a5a3ec27639f82370956748943989ba6",
+        "path": "com/miglayout/miglayout-swing/11.0/miglayout-swing-11.0.jar"
+    },
+    {
+        "url": "com/miglayout/miglayout-core/11.0/miglayout-core-11.0.jar",
+        "hash": "812b9c8a8f326098a43eb9550229dd31100c49f81680eecdf6649da423f0be9f",
+        "path": "com/miglayout/miglayout-core/11.0/miglayout-core-11.0.jar"
+    },
+    {
+        "url": "org/mockito/mockito-core/5.3.1/mockito-core-5.3.1.jar",
+        "hash": "37f4dbaed25ffa6bdedaba78746c449e224b105d56fcedee8755936642d992a8",
+        "path": "org/mockito/mockito-core/5.3.1/mockito-core-5.3.1.jar"
+    },
+    {
+        "url": "net/bytebuddy/byte-buddy/1.14.4/byte-buddy-1.14.4.jar",
+        "hash": "7ae2b39ac230be9e3e09ce020406c017ff8ceba06eaf078c62a88c218a0ff2b4",
+        "path": "net/bytebuddy/byte-buddy/1.14.4/byte-buddy-1.14.4.jar"
+    },
+    {
+        "url": "net/bytebuddy/byte-buddy-agent/1.14.4/byte-buddy-agent-1.14.4.jar",
+        "hash": "fbd1ab3db43c6c78b8804908cb95b656517f5c82e7fde8d255d8bdceef412d70",
+        "path": "net/bytebuddy/byte-buddy-agent/1.14.4/byte-buddy-agent-1.14.4.jar"
+    },
+    {
+        "url": "org/objenesis/objenesis/3.3/objenesis-3.3.jar",
+        "hash": "02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb",
+        "path": "org/objenesis/objenesis/3.3/objenesis-3.3.jar"
+    },
+    {
+        "url": "org/mockito/kotlin/mockito-kotlin/4.1.0/mockito-kotlin-4.1.0.jar",
+        "hash": "2d095d500993bf99400dc8ae5d1936f00cf7220dbeda96261c232a258a539f50",
+        "path": "org/mockito/kotlin/mockito-kotlin/4.1.0/mockito-kotlin-4.1.0.jar"
+    },
+    {
+        "url": "io/netty/netty-buffer/4.1.91.Final/netty-buffer-4.1.91.Final.jar",
+        "hash": "cc88941780b833a5fce6f4f203224b4138b6e2260b93d81889c25066af33890f",
+        "path": "io/netty/netty-buffer/4.1.91.Final/netty-buffer-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-common/4.1.91.Final/netty-common-4.1.91.Final.jar",
+        "hash": "ae507ef1c97cb6293c05626777d501146369112fd6ce7ec6b8db6d169bf43390",
+        "path": "io/netty/netty-common/4.1.91.Final/netty-common-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-codec-http2/4.1.91.Final/netty-codec-http2-4.1.91.Final.jar",
+        "hash": "5f29d77c208427a382f3da16f7a98c6fd57e7f4158fa6b172d54abde647ff58f",
+        "path": "io/netty/netty-codec-http2/4.1.91.Final/netty-codec-http2-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-transport/4.1.91.Final/netty-transport-4.1.91.Final.jar",
+        "hash": "9cb5f94745be48c56bce3f3e3729188b62470a3f810ab215d59d567695b2fe10",
+        "path": "io/netty/netty-transport/4.1.91.Final/netty-transport-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-resolver/4.1.91.Final/netty-resolver-4.1.91.Final.jar",
+        "hash": "a6b8bacead85b88c0f423a017760eb0b796e0645ec37770f805158af357f6933",
+        "path": "io/netty/netty-resolver/4.1.91.Final/netty-resolver-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-codec/4.1.91.Final/netty-codec-4.1.91.Final.jar",
+        "hash": "df923f67bbafa986448506fa0c4f456397f6a18be86101c8d75128ff6bb43878",
+        "path": "io/netty/netty-codec/4.1.91.Final/netty-codec-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-handler/4.1.91.Final/netty-handler-4.1.91.Final.jar",
+        "hash": "4ef5e6c419736ec2e24c9d2d29679a53eb6299d56b48e2b28def16d66810dd50",
+        "path": "io/netty/netty-handler/4.1.91.Final/netty-handler-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-transport-native-unix-common/4.1.91.Final/netty-transport-native-unix-common-4.1.91.Final.jar",
+        "hash": "9a58ffe8807d25969cde351f2b8e6ea9f15c06c93ce263a9d75bff2d7866573c",
+        "path": "io/netty/netty-transport-native-unix-common/4.1.91.Final/netty-transport-native-unix-common-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-codec-http/4.1.91.Final/netty-codec-http-4.1.91.Final.jar",
+        "hash": "e1806a0df6e5cdda968ebe34496b8287e100d29e0e3b6c6b8b9c3d462b16162a",
+        "path": "io/netty/netty-codec-http/4.1.91.Final/netty-codec-http-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-handler-proxy/4.1.91.Final/netty-handler-proxy-4.1.91.Final.jar",
+        "hash": "60c736bec98087bc97fcd0097640966c57398d152f9aaa19e1a4618bbf74dbb9",
+        "path": "io/netty/netty-handler-proxy/4.1.91.Final/netty-handler-proxy-4.1.91.Final.jar"
+    },
+    {
+        "url": "io/netty/netty-codec-socks/4.1.91.Final/netty-codec-socks-4.1.91.Final.jar",
+        "hash": "cdd0feff044cbf0f76b6925cb3e5a103f01e3577438538c8c640f069bf8c47e6",
+        "path": "io/netty/netty-codec-socks/4.1.91.Final/netty-codec-socks-4.1.91.Final.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/network_inspector_java_proto/223.0.1.0/network_inspector_java_proto-223.0.1.0.jar",
+        "hash": "a0211d0d4cef5ee99e407f7be1fe65ee708f4188b7e0a9ad42af178a24752fa9",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/network_inspector_java_proto/223.0.1.0/network_inspector_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar",
+        "hash": "4ac10d8fb7e6326e09179fd83e664610a3362dc1d661fb32e5b2a19bcb9fc867",
+        "path": "org/jetbrains/intellij/deps/completion/ngram-slp/0.0.3/ngram-slp-0.0.3.jar"
+    },
+    {
+        "url": "com/squareup/okhttp3/okhttp-jvm/5.0.0-alpha.11/okhttp-jvm-5.0.0-alpha.11.jar",
+        "hash": "506a1d3aba9f99b55570c7f8813cd79a44946531f29050d5b938474efdb4cf80",
+        "path": "com/squareup/okhttp3/okhttp-jvm/5.0.0-alpha.11/okhttp-jvm-5.0.0-alpha.11.jar"
+    },
+    {
+        "url": "com/squareup/okio/okio-jvm/3.2.0/okio-jvm-3.2.0.jar",
+        "hash": "b642baef4c570055de4cb3d1667b2b16dced901ff8066345a063691aa06025a4",
+        "path": "com/squareup/okio/okio-jvm/3.2.0/okio-jvm-3.2.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-sdk/1.26.0/opentelemetry-sdk-1.26.0.jar",
+        "hash": "039640fdc6fd01fdd44312c1677b96366d465e2ca1424be08da0a7bf48e96a8d",
+        "path": "io/opentelemetry/opentelemetry-sdk/1.26.0/opentelemetry-sdk-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-api/1.26.0/opentelemetry-api-1.26.0.jar",
+        "hash": "000bd01ca7d67cb6542f0db8677f281d23ad87521b2afe7320484b54e1b7899b",
+        "path": "io/opentelemetry/opentelemetry-api/1.26.0/opentelemetry-api-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-context/1.26.0/opentelemetry-context-1.26.0.jar",
+        "hash": "9d9888fcfc405efd32aa28ed9eb156d6afbbe21772fff87b215b60ff37e30454",
+        "path": "io/opentelemetry/opentelemetry-context/1.26.0/opentelemetry-context-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-sdk-common/1.26.0/opentelemetry-sdk-common-1.26.0.jar",
+        "hash": "04207cb8d82e01a42386ebe967c53d789eb01ee17e9756c17fdc6460ce502efc",
+        "path": "io/opentelemetry/opentelemetry-sdk-common/1.26.0/opentelemetry-sdk-common-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-semconv/1.26.0-alpha/opentelemetry-semconv-1.26.0-alpha.jar",
+        "hash": "b57721963af36e72f10d7f882bb247b775f8d182777cfe8b1907b40282ff47eb",
+        "path": "io/opentelemetry/opentelemetry-semconv/1.26.0-alpha/opentelemetry-semconv-1.26.0-alpha.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-sdk-trace/1.26.0/opentelemetry-sdk-trace-1.26.0.jar",
+        "hash": "70a518c0f54e416964aaaa0a20f26ce038729fc7300c6e9aabba0a360c9f889d",
+        "path": "io/opentelemetry/opentelemetry-sdk-trace/1.26.0/opentelemetry-sdk-trace-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-sdk-metrics/1.26.0/opentelemetry-sdk-metrics-1.26.0.jar",
+        "hash": "95c0db72d3856553fddc1a313c326ac0b13e284d85660029fc7bc5ba39e5d362",
+        "path": "io/opentelemetry/opentelemetry-sdk-metrics/1.26.0/opentelemetry-sdk-metrics-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-extension-incubator/1.26.0-alpha/opentelemetry-extension-incubator-1.26.0-alpha.jar",
+        "hash": "59ddecd684fd8e009050dc29b5a6d115f49bbcb1270f3076dcf56f378617e91d",
+        "path": "io/opentelemetry/opentelemetry-extension-incubator/1.26.0-alpha/opentelemetry-extension-incubator-1.26.0-alpha.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-sdk-logs/1.26.0-alpha/opentelemetry-sdk-logs-1.26.0-alpha.jar",
+        "hash": "52e0e4d7c8bff90846dc16f77c1a6ab09615234e4291f1597e1da869f4b35dda",
+        "path": "io/opentelemetry/opentelemetry-sdk-logs/1.26.0-alpha/opentelemetry-sdk-logs-1.26.0-alpha.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-api-logs/1.26.0-alpha/opentelemetry-api-logs-1.26.0-alpha.jar",
+        "hash": "2561627dac2620e4ac6c3db01d1324d9db3aac1e089ba3186f4563cda2322f1d",
+        "path": "io/opentelemetry/opentelemetry-api-logs/1.26.0-alpha/opentelemetry-api-logs-1.26.0-alpha.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-api-events/1.26.0-alpha/opentelemetry-api-events-1.26.0-alpha.jar",
+        "hash": "f3e6a91a45fd872471a6f42441b924c196b83f475b759c14eea702da0911a79c",
+        "path": "io/opentelemetry/opentelemetry-api-events/1.26.0-alpha/opentelemetry-api-events-1.26.0-alpha.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.26.0/opentelemetry-exporter-otlp-common-1.26.0.jar",
+        "hash": "bf4cfd6c368ee3837a1431430a67e6a9657df99e74ab3a475cd257f5625f5b00",
+        "path": "io/opentelemetry/opentelemetry-exporter-otlp-common/1.26.0/opentelemetry-exporter-otlp-common-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-exporter-common/1.26.0/opentelemetry-exporter-common-1.26.0.jar",
+        "hash": "330fa4f1ff7a59506ae53b649a8085cca8f9d50f3279857545e871287e17f080",
+        "path": "io/opentelemetry/opentelemetry-exporter-common/1.26.0/opentelemetry-exporter-common-1.26.0.jar"
+    },
+    {
+        "url": "io/opentelemetry/opentelemetry-extension-kotlin/1.26.0/opentelemetry-extension-kotlin-1.26.0.jar",
+        "hash": "9ffcb7ee71f360dca89f6be3acbd9fd4cf39a42283cd4ddee242f32288f53d30",
+        "path": "io/opentelemetry/opentelemetry-extension-kotlin/1.26.0/opentelemetry-extension-kotlin-1.26.0.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy/3.0.13/groovy-3.0.13.jar",
+        "hash": "044569c20b1438263470585627da1b2c9722f1fb8d89f94e78c0ff219abd0146",
+        "path": "org/codehaus/groovy/groovy/3.0.13/groovy-3.0.13.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-ant/3.0.13/groovy-ant-3.0.13.jar",
+        "hash": "6b98dcf1309448d48b5a9762e94073fbee17cc45ff2b91b3d74a34b4945517c7",
+        "path": "org/codehaus/groovy/groovy-ant/3.0.13/groovy-ant-3.0.13.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-json/3.0.13/groovy-json-3.0.13.jar",
+        "hash": "921972defd8a89a5ab442f5ae57b1760755d7fe339dce46fe140e79a6e63e066",
+        "path": "org/codehaus/groovy/groovy-json/3.0.13/groovy-json-3.0.13.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-jsr223/3.0.13/groovy-jsr223-3.0.13.jar",
+        "hash": "d834f8d0e07fa73f5a59f700903180c1d834acde8ca03dd79641ef1460c82a4e",
+        "path": "org/codehaus/groovy/groovy-jsr223/3.0.13/groovy-jsr223-3.0.13.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-templates/3.0.13/groovy-templates-3.0.13.jar",
+        "hash": "abfb7190631a35fc96e023bfcd4658f3f7d4ae76c488ef1b972a54b29809ddc2",
+        "path": "org/codehaus/groovy/groovy-templates/3.0.13/groovy-templates-3.0.13.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-xml/3.0.13/groovy-xml-3.0.13.jar",
+        "hash": "8faea983f0d871bd2d2f28150747edf9047dd4d716700a0276eaa905a5cd0816",
+        "path": "org/codehaus/groovy/groovy-xml/3.0.13/groovy-xml-3.0.13.jar"
+    },
+    {
+        "url": "org/jetbrains/packagesearch/pkgs-api-models/2.5.1/pkgs-api-models-2.5.1.jar",
+        "hash": "5cbd054ec28f66e9ababfc46ed3129cdcdbb0174dfc3d9c50ab8784b1b2dffcb",
+        "path": "org/jetbrains/packagesearch/pkgs-api-models/2.5.1/pkgs-api-models-2.5.1.jar"
+    },
+    {
+        "url": "org/jetbrains/packagesearch/pkgs-version-utils/1.0.1/pkgs-version-utils-1.0.1.jar",
+        "hash": "08e4b76769ca0ab8bbc3f33498eb09df352e467e7cd55606ebc627a387d1c3b8",
+        "path": "org/jetbrains/packagesearch/pkgs-version-utils/1.0.1/pkgs-version-utils-1.0.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/perfetto-protos/223.0.1.0/perfetto-protos-223.0.1.0.jar",
+        "hash": "831d4b76986f36918dee489b1d8b8b9469d6856f2b3abfe70b5c6d374bf34c72",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/perfetto-protos/223.0.1.0/perfetto-protos-223.0.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar",
+        "hash": "86e0255d4c879c61b4833ed7f13124e8bb679df47debb127326e7db7dd49a07b",
+        "path": "org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar"
+    },
+    {
+        "url": "com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar",
+        "hash": "6a9a2dff91dcf71f85be71ae971f6164b5a631dcd34bff08f0618535ca44ad02",
+        "path": "com/google/protobuf/protobuf-java/3.19.6/protobuf-java-3.19.6.jar"
+    },
+    {
+        "url": "org/bidib/com/github/markusbernhardt/proxy-vole/1.0.18/proxy-vole-1.0.18.jar",
+        "hash": "4a5cc62f3430f53cc79596fcd3b81561c3899ae5fbeda1fcd3a7af595aaa8b99",
+        "path": "org/bidib/com/github/markusbernhardt/proxy-vole/1.0.18/proxy-vole-1.0.18.jar"
+    },
+    {
+        "url": "org/javadelight/delight-rhino-sandbox/0.0.15/delight-rhino-sandbox-0.0.15.jar",
+        "hash": "e287824b39907a21ee8dfc5a0c738be110fb256374d5dd87dbd8c0ad6d8ac44d",
+        "path": "org/javadelight/delight-rhino-sandbox/0.0.15/delight-rhino-sandbox-0.0.15.jar"
+    },
+    {
+        "url": "org/jetbrains/pty4j/pty4j/0.12.13/pty4j-0.12.13.jar",
+        "hash": "8cae0b647c734dcd3ed5974bb596518f351d752e335a60084fcebab5da108c0d",
+        "path": "org/jetbrains/pty4j/pty4j/0.12.13/pty4j-0.12.13.jar"
+    },
+    {
+        "url": "org/jetbrains/pty4j/purejavacomm/0.0.11.1/purejavacomm-0.0.11.1.jar",
+        "hash": "31c048a86057e07272429aa26e90713edbde96af9747362f27470d8e86a398a3",
+        "path": "org/jetbrains/pty4j/purejavacomm/0.0.11.1/purejavacomm-0.0.11.1.jar"
+    },
+    {
+        "url": "com/jetbrains/rd/rd-core/2023.2.3/rd-core-2023.2.3.jar",
+        "hash": "b567e85d26b5e243df716bf53e0b837c1a4ec1b980f5142c943e9ecfeb16e5b6",
+        "path": "com/jetbrains/rd/rd-core/2023.2.3/rd-core-2023.2.3.jar"
+    },
+    {
+        "url": "com/jetbrains/rd/rd-framework/2023.2.3/rd-framework-2023.2.3.jar",
+        "hash": "dde367783be76d224fd7532a1a52c1818b76879c9dd32fd35509de311ddcea8a",
+        "path": "com/jetbrains/rd/rd-framework/2023.2.3/rd-framework-2023.2.3.jar"
+    },
+    {
+        "url": "com/jetbrains/rd/rd-gen/2023.2.3/rd-gen-2023.2.3.jar",
+        "hash": "e29a5697327a092fc647a95a9e73907dce089499ffec780428b0715f493ba58c",
+        "path": "com/jetbrains/rd/rd-gen/2023.2.3/rd-gen-2023.2.3.jar"
+    },
+    {
+        "url": "com/jetbrains/rd/rd-swing/2023.2.3/rd-swing-2023.2.3.jar",
+        "hash": "52cc9c1137bd462355be85b450a120738d03b28a45da2d2181619d57a1dcb4bb",
+        "path": "com/jetbrains/rd/rd-swing/2023.2.3/rd-swing-2023.2.3.jar"
+    },
+    {
+        "url": "com/jetbrains/rd/rd-text/2023.2.3/rd-text-2023.2.3.jar",
+        "hash": "1c51b2c8aeeb9c1aadcf0a78516ca045e35785e480dc83af111afcf8e79a467b",
+        "path": "com/jetbrains/rd/rd-text/2023.2.3/rd-text-2023.2.3.jar"
+    },
+    {
+        "url": "org/mozilla/rhino-runtime/1.7.14/rhino-runtime-1.7.14.jar",
+        "hash": "8708d7502734391957d93773fff77914397b69f4302e6ef5a641164c6e9c971d",
+        "path": "org/mozilla/rhino-runtime/1.7.14/rhino-runtime-1.7.14.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar",
+        "hash": "5bf64690af4e59876b8902bb0db3dd39c686a40abfed97d3837eeeec7a2922ac",
+        "path": "org/slf4j/slf4j-jdk14/1.7.36/slf4j-jdk14-1.7.36.jar"
+    },
+    {
+        "url": "org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar",
+        "hash": "880c9d896e4b74a06c549c15ca496450165d6909fa15d7e662bee8f6a66d7afa",
+        "path": "org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar"
+    },
+    {
+        "url": "org/snakeyaml/snakeyaml-engine/2.6/snakeyaml-engine-2.6.jar",
+        "hash": "2652199af40c9aa2f1782400d2dfbbf4e5226208c4e05ddd4059c3d6d9cd1505",
+        "path": "org/snakeyaml/snakeyaml-engine/2.6/snakeyaml-engine-2.6.jar"
+    },
+    {
+        "url": "org/xerial/sqlite-jdbc/3.41.2.2/sqlite-jdbc-3.41.2.2.jar",
+        "hash": "0cdab410947e04b6743df99cf1543267ddd107357d6f76948d145be590fd497d",
+        "path": "org/xerial/sqlite-jdbc/3.41.2.2/sqlite-jdbc-3.41.2.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/sqlite_inspector_proto/223.0.1.0/sqlite_inspector_proto-223.0.1.0.jar",
+        "hash": "1e52e915de03952a6bc72736125da70e0eb8a89583d31a4157bea609c3ebe8b9",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/sqlite_inspector_proto/223.0.1.0/sqlite_inspector_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar",
+        "hash": "491c4ae84a1bad34c85624682a80def4f3a3a0fb9d517121d05c2dfeb94966f8",
+        "path": "org/sqlite/native/3.42.0-jb.1/native-3.42.0-jb.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.proto/223.0.1.0/libstudio.proto-223.0.1.0.jar",
+        "hash": "9d65977b9f93c7dc44f5618eed39217edc40061756f72657f8b17f97010268ca",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.proto/223.0.1.0/libstudio.proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio-grpc/223.0.1.0/studio-grpc-223.0.1.0.jar",
+        "hash": "dafde19d7d30a439291282fa107faf1c74167179eac56cd10373a2d1b5a28cd3",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio-grpc/223.0.1.0/studio-grpc-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio-proto/223.0.1.0/studio-proto-223.0.1.0.jar",
+        "hash": "263170a91b4cddea11a586fbddc290c56a9c8ce19c1e6596430de455d671a032",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio-proto/223.0.1.0/studio-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/swinglabs/swingx-core/1.6.2-2/swingx-core-1.6.2-2.jar",
+        "hash": "0df80935d9bc3b3841bc621c6fef6615c93aaf80393ccaa196db11bf97784f18",
+        "path": "org/swinglabs/swingx-core/1.6.2-2/swingx-core-1.6.2-2.jar"
+    },
+    {
+        "url": "org/jetbrains/teamcity/serviceMessages/2019.1.4/serviceMessages-2019.1.4.jar",
+        "hash": "8bfad3bc663424b7143fde7399e278e6c8202e021863937918314cf6e45a1251",
+        "path": "org/jetbrains/teamcity/serviceMessages/2019.1.4/serviceMessages-2019.1.4.jar"
+    },
+    {
+        "url": "org/jetbrains/testDiscovery/test-discovery-plugin-base/0.1.191/test-discovery-plugin-base-0.1.191.jar",
+        "hash": "5ed74de192bd48546a6bc6e1c9f8f508663d8506ad9ef257aebbd6e829fdea36",
+        "path": "org/jetbrains/testDiscovery/test-discovery-plugin-base/0.1.191/test-discovery-plugin-base-0.1.191.jar"
+    },
+    {
+        "url": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar",
+        "hash": "b87e3bd3d005683ca5dcac70f431b633e407d8f63e3754a867112c631dcf683e",
+        "path": "org/testcontainers/testcontainers/1.17.3/testcontainers-1.17.3.jar"
+    },
+    {
+        "url": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar",
+        "hash": "31cef12ddec979d1f86d7cf708c41a17da523d05c685fd6642e9d0b2addb7240",
+        "path": "org/rnorth/duct-tape/duct-tape/1.0.8/duct-tape-1.0.8.jar"
+    },
+    {
+        "url": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar",
+        "hash": "f810d8c76637991990d17282be226feb7c8d74056147dc79f0d9d2a6e201aecc",
+        "path": "com/github/docker-java/docker-java-api/3.2.13/docker-java-api-3.2.13.jar"
+    },
+    {
+        "url": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar",
+        "hash": "3f76f8eb0332607c145d69f27ad8aa6941b5448e745823641d3867ba3746f0f7",
+        "path": "com/github/docker-java/docker-java-transport-zerodep/3.2.13/docker-java-transport-zerodep-3.2.13.jar"
+    },
+    {
+        "url": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar",
+        "hash": "778c35c0557cd3ba4f1c9f64fb942f77ca7e390c5daae4471854150f4ee8d87d",
+        "path": "com/github/docker-java/docker-java-transport/3.2.13/docker-java-transport-3.2.13.jar"
+    },
+    {
+        "url": "com/jetbrains/intellij/documentation/tips-pycharm-community/232.101/tips-pycharm-community-232.101.jar",
+        "hash": "9d6ba2bb12f36e6f39ae685956140a542c547387bac26c655246485543902a58",
+        "path": "com/jetbrains/intellij/documentation/tips-pycharm-community/232.101/tips-pycharm-community-232.101.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/transport_java_proto/223.0.1.0/transport_java_proto-223.0.1.0.jar",
+        "hash": "a27d48e4ae35e6e22742c0871d180aa9eb5cbc52d6aa004a7d3905ac8cb3a49e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/transport_java_proto/223.0.1.0/transport_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "com/google/truth/truth/0.42/truth-0.42.jar",
+        "hash": "dd652bdf0c4427c59848ac0340fd6b6d20c2cbfaa3c569a8366604dbcda5214c",
+        "path": "com/google/truth/truth/0.42/truth-0.42.jar"
+    },
+    {
+        "url": "com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar",
+        "hash": "61ba4dc49adca95243beaa0569adc2a23aedb5292ae78aa01186fa782ebdc5c2",
+        "path": "com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/utp-core-proto-jarjar/223.0.1.0/utp-core-proto-jarjar-223.0.1.0.jar",
+        "hash": "17106e8b6a1333c0101f4d25d675fa23705c0298c2b5e64d7ebc2942f78445d2",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/utp-core-proto-jarjar/223.0.1.0/utp-core-proto-jarjar-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/winp/winp/1.30.1/winp-1.30.1.jar",
+        "hash": "9e2d7a23a1d3921861939509108606ad1cf6b10c64d65ac91958a62043cfa253",
+        "path": "org/jetbrains/intellij/deps/winp/winp/1.30.1/winp-1.30.1.jar"
+    },
+    {
+        "url": "com/jetbrains/intellij/platform/workspace-model-codegen/0.0.3/workspace-model-codegen-0.0.3.jar",
+        "hash": "46f3dc4e4ecba738122df9868a4d457e750efdb5ff59ee9e1cb4af9f5aa39fc9",
+        "path": "com/jetbrains/intellij/platform/workspace-model-codegen/0.0.3/workspace-model-codegen-0.0.3.jar"
+    },
+    {
+        "url": "xml-resolver/xml-resolver/1.2/xml-resolver-1.2.jar",
+        "hash": "47dcde8986019314ef78ae7280a94973a21d2ed95075a40a000b42da956429e1",
+        "path": "xml-resolver/xml-resolver/1.2/xml-resolver-1.2.jar"
+    },
+    {
+        "url": "org/tukaani/xz/1.9/xz-1.9.jar",
+        "hash": "211b306cfc44f8f96df3a0a3ddaf75ba8c5289eed77d60d72f889bb855f535e5",
+        "path": "org/tukaani/xz/1.9/xz-1.9.jar"
+    },
+    {
+        "url": "org/jetbrains/marketplace-zip-signer/0.1.8/marketplace-zip-signer-0.1.8.jar",
+        "hash": "826d4d3e21b6584dd9a74f12ef35a2285fe9514fa0093618944666c0a3db194a",
+        "path": "org/jetbrains/marketplace-zip-signer/0.1.8/marketplace-zip-signer-0.1.8.jar"
+    },
+    {
+        "url": "com/github/luben/zstd-jni/1.5.2-5/zstd-jni-1.5.2-5.jar",
+        "hash": "0f8e64feaa068b8a02de45e9343f9b2fc401235b81e7fe3f80b2aeba001691b2",
+        "path": "com/github/luben/zstd-jni/1.5.2-5/zstd-jni-1.5.2-5.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/zstd-jni-windows-aarch64/1.5.2-5-25/zstd-jni-windows-aarch64-1.5.2-5-25.jar",
+        "hash": "7d30221c057c04a1005990410677ace7920047e3e7111d036c3809c846c7aab5",
+        "path": "org/jetbrains/intellij/deps/zstd-jni-windows-aarch64/1.5.2-5-25/zstd-jni-windows-aarch64-1.5.2-5-25.jar"
+    },
+    {
+        "url": "com/google/zxing/core/3.5.1/core-3.5.1.jar",
+        "hash": "1ba7c0fbb6c267e2fb74e1497d855adae633ccc98edc8c75163aa64bc08e3059",
+        "path": "com/google/zxing/core/3.5.1/core-3.5.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0.3.5/completion-ranking-kotlin-0.3.5.jar",
+        "hash": "d410d83df200f3b9df5992c2653bbe2bff528a9bc9463cc4cacc644b5274029a",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0.3.5/completion-ranking-kotlin-0.3.5.jar"
+    },
+    {
+        "url": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar",
+        "hash": "58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2",
+        "path": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar"
+    },
+    {
+        "url": "xalan/xalan/2.7.2/xalan-2.7.2.jar",
+        "hash": "a44bd80e82cb0f4cfac0dac8575746223802514e3cec9dc75235bc0de646af14",
+        "path": "xalan/xalan/2.7.2/xalan-2.7.2.jar"
+    },
+    {
+        "url": "xalan/serializer/2.7.2/serializer-2.7.2.jar",
+        "hash": "e8f5b4340d3b12a0cfa44ac2db4be4e0639e479ae847df04c4ed8b521734bb4a",
+        "path": "xalan/serializer/2.7.2/serializer-2.7.2.jar"
+    },
+    {
+        "url": "org/apache/xmlbeans/xmlbeans/5.1.1/xmlbeans-5.1.1.jar",
+        "hash": "5f484a78bed71cbffe3709678b6bdd3463781a7c61c6d9872330aecbf150762a",
+        "path": "org/apache/xmlbeans/xmlbeans/5.1.1/xmlbeans-5.1.1.jar"
+    },
+    {
+        "url": "org/apache/logging/log4j/log4j-to-slf4j/2.20.0/log4j-to-slf4j-2.20.0.jar",
+        "hash": "88e731d7f455da59dfa08769527f87d6c496053a712637df7b999f6977933a2c",
+        "path": "org/apache/logging/log4j/log4j-to-slf4j/2.20.0/log4j-to-slf4j-2.20.0.jar"
+    },
+    {
+        "url": "org/apache/logging/log4j/log4j-api/2.20.0/log4j-api-2.20.0.jar",
+        "hash": "2f43eea679ea66f14ca0f13fec2a8600ac124f5a5231dcb4df8393eddcb97550",
+        "path": "org/apache/logging/log4j/log4j-api/2.20.0/log4j-api-2.20.0.jar"
+    },
+    {
+        "url": "org/jetbrains/research/refactorinsight/kotlin-impl/1.1/kotlin-impl-1.1.jar",
+        "hash": "4f82b5f024ce886685560b3a4f7467d164e707956da0d9a822b03b2df6f53e32",
+        "path": "org/jetbrains/research/refactorinsight/kotlin-impl/1.1/kotlin-impl-1.1.jar"
+    },
+    {
+        "url": "org/jetbrains/research/refactorinsight/common/1.1/common-1.1.jar",
+        "hash": "97ea3971d83a4503799375bd7b33ec590081476f6e2999cf1cb9fec5c6f3411e",
+        "path": "org/jetbrains/research/refactorinsight/common/1.1/common-1.1.jar"
+    },
+    {
+        "url": "org/jetbrains/research/kotlinrminer/kotlinRMiner-ide/1.2.1/kotlinRMiner-ide-1.2.1.jar",
+        "hash": "48c13df97048b3535fe1c044bafa31629f23f9c01259f215127edccc1467aa1b",
+        "path": "org/jetbrains/research/kotlinrminer/kotlinRMiner-ide/1.2.1/kotlinRMiner-ide-1.2.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/changeReminder/prediction/randomForestRegressor/0.0.11/randomForestRegressor-0.0.11.jar",
+        "hash": "a6908f14a17757a20a0d629c5d2f0986826021c679bfb224963ef6a06097aa21",
+        "path": "org/jetbrains/intellij/deps/changeReminder/prediction/randomForestRegressor/0.0.11/randomForestRegressor-0.0.11.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/performance-kotlin/0.0.6/performance-kotlin-0.0.6.jar",
+        "hash": "f8b9b802decae658447475325ae341efd07b2f6e3915312c9b51c5168e158012",
+        "path": "org/jetbrains/intellij/deps/completion/performance-kotlin/0.0.6/performance-kotlin-0.0.6.jar"
+    },
+    {
+        "url": "commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar",
+        "hash": "97d264e2f98821c4cd39eacfd597b4dc7c19d4232cf1f335fc2eab389b2d92fd",
+        "path": "commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar",
+        "hash": "f6f453ba3dc824d16ae0911e403dcde8e18e0ea7406c91e2832e8b6248a1f404",
+        "path": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar",
+        "hash": "f6f453ba3dc824d16ae0911e403dcde8e18e0ea7406c91e2832e8b6248a1f404",
+        "path": "org/jetbrains/intellij/deps/completion/completion-log-events/0.0.3/completion-log-events-0.0.3.jar"
+    },
+    {
+        "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar",
+        "hash": "b968dbbd0794e47c93d9f02a7849171b781cbec97e876703893156b8098d1d67",
+        "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/utils/utils-common-jvm/0.2.181/utils-common-jvm-0.2.181.jar",
+        "hash": "2e7a050c3f089fe826d3ae60548134e13107a9bb7f255aac454eb5e2009d273d",
+        "path": "ai/grazie/utils/utils-common-jvm/0.2.181/utils-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-common-jvm/0.2.181/nlp-common-jvm-0.2.181.jar",
+        "hash": "04f7819509575671eff478c634cb5c82969e85e9bf1d0a6a99d99e76c661b8ab",
+        "path": "ai/grazie/nlp/nlp-common-jvm/0.2.181/nlp-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.2.181/nlp-tokenizer-jvm-0.2.181.jar",
+        "hash": "102375c6ecf3ca204f0b0fc27986355149a76f26ca8e3aded3be4cae61141b3a",
+        "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.2.181/nlp-tokenizer-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-langs-jvm/0.2.181/nlp-langs-jvm-0.2.181.jar",
+        "hash": "807fca2e2cdbbc87e3ef5e140f651898f795f660f952a83ad21efeb829311984",
+        "path": "ai/grazie/nlp/nlp-langs-jvm/0.2.181/nlp-langs-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-similarity-jvm/0.2.181/nlp-similarity-jvm-0.2.181.jar",
+        "hash": "7d21779a19dc3ccb037a1a5b85543162e358dbc656bea4926703315fdc125315",
+        "path": "ai/grazie/nlp/nlp-similarity-jvm/0.2.181/nlp-similarity-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-patterns-jvm/0.2.181/nlp-patterns-jvm-0.2.181.jar",
+        "hash": "f5890877d9a8a7ac801cf0cbdf4df239f44797978620fa943ea99380701e7f41",
+        "path": "ai/grazie/nlp/nlp-patterns-jvm/0.2.181/nlp-patterns-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-phonetics-jvm/0.2.181/nlp-phonetics-jvm-0.2.181.jar",
+        "hash": "4cbf17f5c7049077cc1b8f885cb332b8d2271c7d3cd71d1501cda3e9328936d6",
+        "path": "ai/grazie/nlp/nlp-phonetics-jvm/0.2.181/nlp-phonetics-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-detect-jvm/0.2.181/nlp-detect-jvm-0.2.181.jar",
+        "hash": "a111002943aa5df409448862b89c56a0517b19161ad08e17cbc7a58bb48ccb2e",
+        "path": "ai/grazie/nlp/nlp-detect-jvm/0.2.181/nlp-detect-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/spell/hunspell-en-jvm/0.2.16/hunspell-en-jvm-0.2.16.jar",
+        "hash": "04c678713b197343c44bd744f8a3eebb26ab40067612c5170c14dd0a0f6ed507",
+        "path": "ai/grazie/spell/hunspell-en-jvm/0.2.16/hunspell-en-jvm-0.2.16.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-stemmer-jvm/0.2.181/nlp-stemmer-jvm-0.2.181.jar",
+        "hash": "88ba4475ec92a7f1a40a44dc6f631e4426952f5f943174edcb7be10b9e773166",
+        "path": "ai/grazie/nlp/nlp-stemmer-jvm/0.2.181/nlp-stemmer-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/model/model-gec-jvm/0.2.181/model-gec-jvm-0.2.181.jar",
+        "hash": "f4a8f5f20627be8ed6ad6e96193f332f5054b6be983c446424b5852b118c7ddd",
+        "path": "ai/grazie/model/model-gec-jvm/0.2.181/model-gec-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/model/model-text-jvm/0.2.181/model-text-jvm-0.2.181.jar",
+        "hash": "62cc8ea821d734fef552da80b78c87c92f5e65322530b157c07aaefecf702b99",
+        "path": "ai/grazie/model/model-text-jvm/0.2.181/model-text-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/model/model-common-jvm/0.2.181/model-common-jvm-0.2.181.jar",
+        "hash": "4aff241f00efbe7c17960a3a3efb1ba046586a562b53a25a68d2964fafff48d7",
+        "path": "ai/grazie/model/model-common-jvm/0.2.181/model-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/utils/utils-lucene-lt-compatibility-jvm/0.2.181/utils-lucene-lt-compatibility-jvm-0.2.181.jar",
+        "hash": "cbc2a1339391d3ea1e059b192e7424dfff8593bcc5a1b674359714a817f4b705",
+        "path": "ai/grazie/utils/utils-lucene-lt-compatibility-jvm/0.2.181/utils-lucene-lt-compatibility-jvm-0.2.181.jar"
+    },
+    {
+        "url": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar",
+        "hash": "87675985e637d231b5783d1fea0bd947e71267bf557adc93ce3daec8a519bd22",
+        "path": "info/debatty/java-string-similarity/2.0.0/java-string-similarity-2.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/org.eclipse.jgit/6.5.0.202303070854-r-custom-4/org.eclipse.jgit-6.5.0.202303070854-r-custom-4.jar",
+        "hash": "d9b12a3323f6447a7ca8de3d781166224f11c3505fe43dc0a9dfb1f33eb3cf04",
+        "path": "org/jetbrains/intellij/deps/org.eclipse.jgit/6.5.0.202303070854-r-custom-4/org.eclipse.jgit-6.5.0.202303070854-r-custom-4.jar"
+    },
+    {
+        "url": "com/googlecode/javaewah/JavaEWAH/1.1.13/JavaEWAH-1.1.13.jar",
+        "hash": "4c0fda2b1d317750d7ea324e36c70b2bc48310c0aaae67b98df0915d696d7111",
+        "path": "com/googlecode/javaewah/JavaEWAH/1.1.13/JavaEWAH-1.1.13.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/org.eclipse.jgit/6.5.0.202303070854-r-custom-4/org.eclipse.jgit-6.5.0.202303070854-r-custom-4.jar",
+        "hash": "d9b12a3323f6447a7ca8de3d781166224f11c3505fe43dc0a9dfb1f33eb3cf04",
+        "path": "org/jetbrains/intellij/deps/org.eclipse.jgit/6.5.0.202303070854-r-custom-4/org.eclipse.jgit-6.5.0.202303070854-r-custom-4.jar"
+    },
+    {
+        "url": "com/googlecode/javaewah/JavaEWAH/1.1.13/JavaEWAH-1.1.13.jar",
+        "hash": "4c0fda2b1d317750d7ea324e36c70b2bc48310c0aaae67b98df0915d696d7111",
+        "path": "com/googlecode/javaewah/JavaEWAH/1.1.13/JavaEWAH-1.1.13.jar"
+    },
+    {
+        "url": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar",
+        "hash": "8ab7b5fefc2a42c5156c678148f415ce35ae8d93a8e3127b5426241e965606f6",
+        "path": "org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6.5.0.202303070854-r/org.eclipse.jgit.ssh.jsch-6.5.0.202303070854-r.jar"
+    },
+    {
+        "url": "com/jcraft/jsch/0.1.55/jsch-0.1.55.jar",
+        "hash": "d492b15a6d2ea3f1cc39c422c953c40c12289073dbe8360d98c0f6f9ec74fc44",
+        "path": "com/jcraft/jsch/0.1.55/jsch-0.1.55.jar"
+    },
+    {
+        "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar",
+        "hash": "b968dbbd0794e47c93d9f02a7849171b781cbec97e876703893156b8098d1d67",
+        "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.0.0/find-action-model-231.0.0.jar",
+        "hash": "e0717acecdebc0c23e71a73a16c7a4287fd790a800cc6e2f2213e018a315bfcb",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.0.0/find-action-model-231.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.1.1/find-action-model-231.1.1.jar",
+        "hash": "7411cc9090801d3e8684ca170846de4aa60ce27da70d1b0af2c23e7d3efb1f05",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.1.1/find-action-model-231.1.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/223.1.0/find-file-model-223.1.0.jar",
+        "hash": "36728a93eed083d88318628ecc341a8d0928ec934d9b56e07f81610e7996c74b",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/223.1.0/find-file-model-223.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/232.0.1/find-file-model-232.0.1.jar",
+        "hash": "fc794f0ec27897a11c43075ec94e2fc2df4e5c5b6d50f1e22312efd1d343597b",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/232.0.1/find-file-model-232.0.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/231.0.0/find-classes-model-231.0.0.jar",
+        "hash": "8269c5e164ad03387ef0df89197d9c3444f8a1c039e52ebfbfff37ca69a380f4",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/231.0.0/find-classes-model-231.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/231.4.1/find-classes-model-231.4.1.jar",
+        "hash": "a2ca8c6aeb54677fee7375083901ad157e35db98e81616ceef3049afc1775682",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/231.4.1/find-classes-model-231.4.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/searchEverywhere/model/find-all-model/232.1.1/find-all-model-232.1.1.jar",
+        "hash": "b8de4c4b9d7baf979279f562b094cf85ed106bb00d04535d9dc4206c5625dd59",
+        "path": "org/jetbrains/intellij/deps/searchEverywhere/model/find-all-model/232.1.1/find-all-model-232.1.1.jar"
+    },
+    {
+        "url": "isorelax/isorelax/20030108/isorelax-20030108.jar",
+        "hash": "3427152431cf7f967f92e69e5cac16147c5d8fb4b4e5a8a72f5291788efcff8c",
+        "path": "isorelax/isorelax/20030108/isorelax-20030108.jar"
+    },
+    {
+        "url": "thaiopensource/jing/20030619/jing-20030619.jar",
+        "hash": "600acd9ebd37dd46e3a006bc6e748d68dfeb31cbf4881a84d06e6dc5cc5eed26",
+        "path": "thaiopensource/jing/20030619/jing-20030619.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-python/0.2.3/completion-ranking-python-0.2.3.jar",
+        "hash": "68dc28fcf866c5f7b16aadbc8d1cb6f64a360696b15513f363cf7ed0808402cd",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-python/0.2.3/completion-ranking-python-0.2.3.jar"
+    },
+    {
+        "url": "completion/ml/python/features/ml-completion-prev-exprs-models/1.11/ml-completion-prev-exprs-models-1.11.jar",
+        "hash": "8924b199c8cc52530de2b250670806d8b046fa5ae9d32a9f27a9b224e934a1ad",
+        "path": "completion/ml/python/features/ml-completion-prev-exprs-models/1.11/ml-completion-prev-exprs-models-1.11.jar"
+    },
+    {
+        "url": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar",
+        "hash": "b7331e02e955b6b962a8fa89eb8d7db0960d0b232880bfc60e8602fb3fed36ad",
+        "path": "org/apache/tuweni/tuweni-toml/2.0.0/tuweni-toml-2.0.0.jar"
+    },
+    {
+        "url": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar",
+        "hash": "43516d19beae35909e04d06af6c0c58c17bc94e0070c85e8dc9929ca640dc91d",
+        "path": "org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/trove4j/1.0.20221201/trove4j-1.0.20221201.jar",
+        "hash": "3d1ce86790d123de204215c4b2b8896afaed63abfdece24393e2183df5394c32",
+        "path": "org/jetbrains/intellij/deps/trove4j/1.0.20221201/trove4j-1.0.20221201.jar"
+    },
+    {
+        "url": "com/intellij/remoterobot/remote-fixtures/0.11.16/remote-fixtures-0.11.16.jar",
+        "hash": "f7d51a8bda35e72bb4ef01301916b96a793c9f8ddd26474da54c38fa9e8ec2cc",
+        "path": "com/intellij/remoterobot/remote-fixtures/0.11.16/remote-fixtures-0.11.16.jar"
+    },
+    {
+        "url": "com/intellij/remoterobot/robot-server-core/0.11.16/robot-server-core-0.11.16.jar",
+        "hash": "7a7b77c25d28059eecc73075198eab5d06b23774ab6e0aab10b1fc9e82f0abbd",
+        "path": "com/intellij/remoterobot/robot-server-core/0.11.16/robot-server-core-0.11.16.jar"
+    },
+    {
+        "url": "com/intellij/remoterobot/remote-robot/0.11.16/remote-robot-0.11.16.jar",
+        "hash": "f20be85d7ec4ad921b9d14f116b8661ab9e6a1a1df20bf2101c9c532bdd0a513",
+        "path": "com/intellij/remoterobot/remote-robot/0.11.16/remote-robot-0.11.16.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/2.0.0/slf4j-api-2.0.0.jar",
+        "hash": "a223e6df91b84f19d49c5ebc5f5f97c7f4438419f84a52fa05e1cfc6eed38aa9",
+        "path": "org/slf4j/slf4j-api/2.0.0/slf4j-api-2.0.0.jar"
+    },
+    {
+        "url": "org/jetbrains/kotlin/kotlin-reflect/1.7.10/kotlin-reflect-1.7.10.jar",
+        "hash": "187c5e5a588a6ed18c3a41b54df138a5944121bdb396be1c3fa4abee67397955",
+        "path": "org/jetbrains/kotlin/kotlin-reflect/1.7.10/kotlin-reflect-1.7.10.jar"
+    },
+    {
+        "url": "com/squareup/retrofit2/retrofit/2.9.0/retrofit-2.9.0.jar",
+        "hash": "e6ea1929c46852f5bec66ab3357da383476cef4e8d1deefdbf195b79cc4d6581",
+        "path": "com/squareup/retrofit2/retrofit/2.9.0/retrofit-2.9.0.jar"
+    },
+    {
+        "url": "com/squareup/okhttp3/okhttp/3.14.9/okhttp-3.14.9.jar",
+        "hash": "2570fab55515cbf881d7a4ceef49fc515490bc027057e666776a2832465aeca0",
+        "path": "com/squareup/okhttp3/okhttp/3.14.9/okhttp-3.14.9.jar"
+    },
+    {
+        "url": "com/squareup/okio/okio/1.17.2/okio-1.17.2.jar",
+        "hash": "f80ce42d2ffac47ad4c47e1d6f980d604d247ceb1a886705cf4581ab0c9fe2b8",
+        "path": "com/squareup/okio/okio/1.17.2/okio-1.17.2.jar"
+    },
+    {
+        "url": "com/squareup/retrofit2/converter-gson/2.9.0/converter-gson-2.9.0.jar",
+        "hash": "32aa206b9a29c9df5eda93a092cfb3b0b9133e232c062baa882f0319f0e79f0e",
+        "path": "com/squareup/retrofit2/converter-gson/2.9.0/converter-gson-2.9.0.jar"
+    },
+    {
+        "url": "org/mozilla/rhino/1.7.14/rhino-1.7.14.jar",
+        "hash": "c9290b0d801bf0dbbbc44338e0f769b7650a0c5d04e6bb1aeb85775c0211b003",
+        "path": "org/mozilla/rhino/1.7.14/rhino-1.7.14.jar"
+    },
+    {
+        "url": "org/assertj/assertj-swing-junit/3.17.1/assertj-swing-junit-3.17.1.jar",
+        "hash": "e56fea51b7969240460d027a17f1c704b43e4eeca49a8c57206d573da3e30871",
+        "path": "org/assertj/assertj-swing-junit/3.17.1/assertj-swing-junit-3.17.1.jar"
+    },
+    {
+        "url": "junit/junit/4.12/junit-4.12.jar",
+        "hash": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a",
+        "path": "junit/junit/4.12/junit-4.12.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+        "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
+        "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+    },
+    {
+        "url": "org/assertj/assertj-swing/3.17.1/assertj-swing-3.17.1.jar",
+        "hash": "e36445438d72d83cc48015dcb3f14d9a97eaa42c4663a9826db2bb50e4c7713b",
+        "path": "org/assertj/assertj-swing/3.17.1/assertj-swing-3.17.1.jar"
+    },
+    {
+        "url": "org/assertj/assertj-core/3.17.2/assertj-core-3.17.2.jar",
+        "hash": "d9a978d559d0b52a87f419b3d8f5bb137b97c661f7be2134e0498b454e4b980e",
+        "path": "org/assertj/assertj-core/3.17.2/assertj-core-3.17.2.jar"
+    },
+    {
+        "url": "org/easytesting/fest-util/1.2.5/fest-util-1.2.5.jar",
+        "hash": "7b52f4d3ad41b7ed71f5b6b11833113b7e08326c8ef70d2dedf0b430c7ba5341",
+        "path": "org/easytesting/fest-util/1.2.5/fest-util-1.2.5.jar"
+    },
+    {
+        "url": "org/easytesting/fest-reflect/1.4.1/fest-reflect-1.4.1.jar",
+        "hash": "c1ca19fcf0cd3555baf7c2af147c04ad22b4393ab75e5db0284e5170fb554c16",
+        "path": "org/easytesting/fest-reflect/1.4.1/fest-reflect-1.4.1.jar"
+    },
+    {
+        "url": "com/squareup/okhttp3/mockwebserver/5.0.0-alpha.11/mockwebserver-5.0.0-alpha.11.jar",
+        "hash": "4a30234a911a73ae71f5aec5f98bee243c172665e841f8d532ef77e0b5e81010",
+        "path": "com/squareup/okhttp3/mockwebserver/5.0.0-alpha.11/mockwebserver-5.0.0-alpha.11.jar"
+    },
+    {
+        "url": "com/squareup/okhttp3/mockwebserver3/5.0.0-alpha.11/mockwebserver3-5.0.0-alpha.11.jar",
+        "hash": "9c9e3ef454b514d4a1342faf99c7d4cb41eaae4cb7aefcc93cb7b202bdf4fdfd",
+        "path": "com/squareup/okhttp3/mockwebserver3/5.0.0-alpha.11/mockwebserver3-5.0.0-alpha.11.jar"
+    },
+    {
+        "url": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar",
+        "hash": "c28db4602da9f3817a59de9be137c1f6083a9cb95fa1781f54eda75763a95c67",
+        "path": "com/thoughtworks/qdox/qdox/2.0.1/qdox-2.0.1.jar"
+    },
+    {
+        "url": "com/pngencoder/pngencoder/0.14.0/pngencoder-0.14.0.jar",
+        "hash": "79bf02e8f49833dc3433ae1554999dd375075e5ab13447fc1e558857b51baecc",
+        "path": "com/pngencoder/pngencoder/0.14.0/pngencoder-0.14.0.jar"
+    },
+    {
+        "url": "net/bytebuddy/byte-buddy-agent/1.14.0/byte-buddy-agent-1.14.0.jar",
+        "hash": "4b23cda64beade8b78ec80fd321e017a0cc2413e4d73f323d8e617222a0e5d2c",
+        "path": "net/bytebuddy/byte-buddy-agent/1.14.0/byte-buddy-agent-1.14.0.jar"
+    },
+    {
+        "url": "com/willowtreeapps/assertk/assertk-jvm/0.23/assertk-jvm-0.23.jar",
+        "hash": "424e8f9f9452fa2029ed54f664917b848745e488faaad5eebdb51174683f1db8",
+        "path": "com/willowtreeapps/assertk/assertk-jvm/0.23/assertk-jvm-0.23.jar"
+    },
+    {
+        "url": "com/willowtreeapps/opentest4k/opentest4k-jvm/1.2.1/opentest4k-jvm-1.2.1.jar",
+        "hash": "fab15bbc792057f3762867574b3bb7c993b1ee4f9e82b1c79471891c9b3a7055",
+        "path": "com/willowtreeapps/opentest4k/opentest4k-jvm/1.2.1/opentest4k-jvm-1.2.1.jar"
+    },
+    {
+        "url": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar",
+        "hash": "58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2",
+        "path": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar"
+    },
+    {
+        "url": "com/github/hypfvieh/dbus-java-transport-native-unixsocket/4.2.1/dbus-java-transport-native-unixsocket-4.2.1.jar",
+        "hash": "bb67de9bd08148123b918458efc78055146bd5ae1538487cf4a018dd0f644837",
+        "path": "com/github/hypfvieh/dbus-java-transport-native-unixsocket/4.2.1/dbus-java-transport-native-unixsocket-4.2.1.jar"
+    },
+    {
+        "url": "com/github/hypfvieh/dbus-java-core/4.2.1/dbus-java-core-4.2.1.jar",
+        "hash": "3a7b9fd543a1be94de99009c36ac1803f08d6d12357706c8f5040855315469d1",
+        "path": "com/github/hypfvieh/dbus-java-core/4.2.1/dbus-java-core-4.2.1.jar"
+    },
+    {
+        "url": "com/jetbrains/format-ripper/format-ripper/1.1.1/format-ripper-1.1.1.jar",
+        "hash": "c5edac7046453d487daf26bfce1ebb0ccb2d51e07167d01878a13ffdb9b66b8e",
+        "path": "com/jetbrains/format-ripper/format-ripper/1.1.1/format-ripper-1.1.1.jar"
+    },
+    {
+        "url": "org/jetbrains/apple-notary-api-kotlin-client/1.0.2/apple-notary-api-kotlin-client-1.0.2.jar",
+        "hash": "25ac259e3506b4d80d038131445643d80bffc097488da73a9cbea05a2f14270b",
+        "path": "org/jetbrains/apple-notary-api-kotlin-client/1.0.2/apple-notary-api-kotlin-client-1.0.2.jar"
+    },
+    {
+        "url": "com/amazonaws/aws-java-sdk-s3/1.12.431/aws-java-sdk-s3-1.12.431.jar",
+        "hash": "45b24b098dcaec230fde72b4e0568dab464cf7d8afd8b83fb9ac628778c67df9",
+        "path": "com/amazonaws/aws-java-sdk-s3/1.12.431/aws-java-sdk-s3-1.12.431.jar"
+    },
+    {
+        "url": "com/amazonaws/aws-java-sdk-kms/1.12.431/aws-java-sdk-kms-1.12.431.jar",
+        "hash": "ffc62a11ad6a454d150a28c66c98e0300186faa53ec34d1c58c7dc5e2f7a3011",
+        "path": "com/amazonaws/aws-java-sdk-kms/1.12.431/aws-java-sdk-kms-1.12.431.jar"
+    },
+    {
+        "url": "com/amazonaws/aws-java-sdk-core/1.12.431/aws-java-sdk-core-1.12.431.jar",
+        "hash": "e17a93342d623ecd58449b6142db53c5ec9d1fb7a6a40d6266e56ed796e06fdf",
+        "path": "com/amazonaws/aws-java-sdk-core/1.12.431/aws-java-sdk-core-1.12.431.jar"
+    },
+    {
+        "url": "software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar",
+        "hash": "0d127b205a1fce0abc2a3757a041748651bc66c15cf4c059bac5833b27d471a5",
+        "path": "software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar"
+    },
+    {
+        "url": "com/amazonaws/jmespath-java/1.12.431/jmespath-java-1.12.431.jar",
+        "hash": "238630e244b369b57238bb35e9a23382be65771b04a0f36d85df07b61b4ae2b9",
+        "path": "com/amazonaws/jmespath-java/1.12.431/jmespath-java-1.12.431.jar"
+    },
+    {
+        "url": "com/auth0/java-jwt/4.3.0/java-jwt-4.3.0.jar",
+        "hash": "25a2353a1789870d960c0a9d8878a62eb1873116a2299d74f278451697676a67",
+        "path": "com/auth0/java-jwt/4.3.0/java-jwt-4.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/plugins/structure-intellij/3.247/structure-intellij-3.247.jar",
+        "hash": "92bf25de8508be9d8dc84f65fd1b08c348a3f54a726fae389f0a92797e8816ce",
+        "path": "org/jetbrains/intellij/plugins/structure-intellij/3.247/structure-intellij-3.247.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/plugins/structure-base/3.247/structure-base-3.247.jar",
+        "hash": "80f807bca6b0c01ec2d9c126f65906172698ba67897286574aff17d52cfae792",
+        "path": "org/jetbrains/intellij/plugins/structure-base/3.247/structure-base-3.247.jar"
+    },
+    {
+        "url": "org/atteo/evo-inflector/1.3/evo-inflector-1.3.jar",
+        "hash": "ac0192fd110a0363732b17ea94fd1ce8cfd85790c8e1551e14f866908b5d80e1",
+        "path": "org/atteo/evo-inflector/1.3/evo-inflector-1.3.jar"
+    },
+    {
+        "url": "org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar",
+        "hash": "0b20f45e3a0fd8f0d12cdc5316b06776e902b1365db00118876f9175c60f302c",
+        "path": "org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar"
+    },
+    {
+        "url": "com/fasterxml/jackson/module/jackson-module-kotlin/2.14.1/jackson-module-kotlin-2.14.1.jar",
+        "hash": "8d83e6fe0ee319266dde031126da7c67024151b7c6a56410c3abb065fcd1ee7c",
+        "path": "com/fasterxml/jackson/module/jackson-module-kotlin/2.14.1/jackson-module-kotlin-2.14.1.jar"
+    },
+    {
+        "url": "com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar",
+        "hash": "efbca93df18f3eb16964a92d8342f0674dd5d90da575ef8e04ef2e4eabec6910",
+        "path": "com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar"
+    },
+    {
+        "url": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar",
+        "hash": "164e026e01338638e3433e4f6efbda52ed9a64a94ced649c3d0bbe02a7c61282",
+        "path": "io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-embedder/4.0.0-alpha-7/maven-embedder-4.0.0-alpha-7.jar",
+        "hash": "81a06d512e4a1b68e227464d6d96fe3356518bede58198ad1ef22d8721796ab2",
+        "path": "org/apache/maven/maven-embedder/4.0.0-alpha-7/maven-embedder-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/4.0.0-alpha-7/maven-settings-4.0.0-alpha-7.jar",
+        "hash": "ed63449dad9170c63170f491dfc9fad249acbede944b35fca53f6311f12b8d7c",
+        "path": "org/apache/maven/maven-settings/4.0.0-alpha-7/maven-settings-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-settings/4.0.0-alpha-7/maven-api-settings-4.0.0-alpha-7.jar",
+        "hash": "b6a31e1ea51f06d78062ea4ded5a60618a3544d6b50fb737213532a005340a7b",
+        "path": "org/apache/maven/maven-api-settings/4.0.0-alpha-7/maven-api-settings-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-xml/4.0.0-alpha-7/maven-api-xml-4.0.0-alpha-7.jar",
+        "hash": "3388f4d0465f5a7e9a6264baf506da1b052c51f7cc10b7ce73f09723e6cf1d92",
+        "path": "org/apache/maven/maven-api-xml/4.0.0-alpha-7/maven-api-xml-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-xml-impl/4.0.0-alpha-7/maven-xml-impl-4.0.0-alpha-7.jar",
+        "hash": "c89323b70dd491a3ef21432dba4cad2b74e26caaafd77178b0f15313fe0bd5f0",
+        "path": "org/apache/maven/maven-xml-impl/4.0.0-alpha-7/maven-xml-impl-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-xml/4.0.1/plexus-xml-4.0.1.jar",
+        "hash": "a5b13d1a8efb8e9240d9a32b7a7da87b5dfff563e7737f7005d334af861f1f62",
+        "path": "org/codehaus/plexus/plexus-xml/4.0.1/plexus-xml-4.0.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/4.0.0-alpha-7/maven-settings-builder-4.0.0-alpha-7.jar",
+        "hash": "e1316fb941d660ec92885bcd407b23c2f6cafde2d65f2e20980d61313cce95cb",
+        "path": "org/apache/maven/maven-settings-builder/4.0.0-alpha-7/maven-settings-builder-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.jar",
+        "hash": "270cd703b48c6e5c8c691f1875f22d62d22cfe072c73ae2f5814d83d68c1da0b",
+        "path": "org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-toolchain-builder/4.0.0-alpha-7/maven-toolchain-builder-4.0.0-alpha-7.jar",
+        "hash": "6f7bb4fc853fd6f6bf115d0536862f03c639d43cc379467b31a2910db26a92b4",
+        "path": "org/apache/maven/maven-toolchain-builder/4.0.0-alpha-7/maven-toolchain-builder-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-toolchain-model/4.0.0-alpha-7/maven-toolchain-model-4.0.0-alpha-7.jar",
+        "hash": "0636b12b3fb6924a5ecc9a0290387f00d9bb332b3531aebbd321a386dbbb0db1",
+        "path": "org/apache/maven/maven-toolchain-model/4.0.0-alpha-7/maven-toolchain-model-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-toolchain/4.0.0-alpha-7/maven-api-toolchain-4.0.0-alpha-7.jar",
+        "hash": "60386af2373f63337a778adfb3fee9429bf4c52f46b5f1caa132d5e67468c77f",
+        "path": "org/apache/maven/maven-api-toolchain/4.0.0-alpha-7/maven-api-toolchain-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/4.0.0-alpha-7/maven-core-4.0.0-alpha-7.jar",
+        "hash": "4f5355706da95d9d0eab3cacd8b1d5a653cd44845d80e1c73ef358cf502a5a62",
+        "path": "org/apache/maven/maven-core/4.0.0-alpha-7/maven-core-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/4.0.0-alpha-7/maven-repository-metadata-4.0.0-alpha-7.jar",
+        "hash": "7368f6af6b963d46423ffad099dc645ab4e7ca468999dad50ce5c7333dab43a6",
+        "path": "org/apache/maven/maven-repository-metadata/4.0.0-alpha-7/maven-repository-metadata-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/4.0.0-alpha-7/maven-artifact-4.0.0-alpha-7.jar",
+        "hash": "77277a532f540344c86ca85ef1b478e0ff4248099fb3374ca1d08aa7826ff172",
+        "path": "org/apache/maven/maven-artifact/4.0.0-alpha-7/maven-artifact-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-transform/4.0.0-alpha-7/maven-model-transform-4.0.0-alpha-7.jar",
+        "hash": "1be0bedfcc9fbdb260bb764cb15f9c926bdc7d5457d6994ff0a5bc9ce1dfc908",
+        "path": "org/apache/maven/maven-model-transform/4.0.0-alpha-7/maven-model-transform-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/4.0.0-alpha-7/maven-resolver-provider-4.0.0-alpha-7.jar",
+        "hash": "56e0bbc15b10f7b0b8ee550b8b1f473bfe9d621f63fb0e714f8e2fc25649412b",
+        "path": "org/apache/maven/maven-resolver-provider/4.0.0-alpha-7/maven-resolver-provider-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-core/4.0.0-alpha-7/maven-api-core-4.0.0-alpha-7.jar",
+        "hash": "37a2fd46f515005f5410157f1e98e0fc42900ff8b3fc5b662d5095df1617ce5d",
+        "path": "org/apache/maven/maven-api-core/4.0.0-alpha-7/maven-api-core-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-meta/4.0.0-alpha-7/maven-api-meta-4.0.0-alpha-7.jar",
+        "hash": "c4f6f3868f5b280cc7e268f0f95e1bb1d2a824afe92a8029e861be7ec48b1272",
+        "path": "org/apache/maven/maven-api-meta/4.0.0-alpha-7/maven-api-meta-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.9.13/maven-resolver-impl-1.9.13.jar",
+        "hash": "62a69d27a939ef29fe4a2b0da7d595418aa6057c783987a36b8c1c73e7ad9245",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.9.13/maven-resolver-impl-1.9.13.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-named-locks/1.9.13/maven-resolver-named-locks-1.9.13.jar",
+        "hash": "d73b1c35e6f8d1af61e2bf2e4f4a3ab1866ab06d2e19eefd8556afec9968357c",
+        "path": "org/apache/maven/resolver/maven-resolver-named-locks/1.9.13/maven-resolver-named-locks-1.9.13.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.9.13/maven-resolver-spi-1.9.13.jar",
+        "hash": "bb417eb74dc47fda54f0f94a78dcae0db1d4771fcdc88b0364d2d3e0826622a1",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.9.13/maven-resolver-spi-1.9.13.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2.jar",
+        "hash": "9b62bcfc352a2ec87da8b01e37c952a54d358bbb1af3f212648aeafe7ab2dbb5",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.9.0.M2/org.eclipse.sisu.inject-0.9.0.M2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/4.0.0-alpha-7/maven-plugin-api-4.0.0-alpha-7.jar",
+        "hash": "17fd8e65a16e61bb6dce6937c0cb69d772d7d5d08c30ed7565ea74a568c1222c",
+        "path": "org/apache/maven/maven-plugin-api/4.0.0-alpha-7/maven-plugin-api-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/4.0.0-alpha-7/maven-model-4.0.0-alpha-7.jar",
+        "hash": "37cde0eb7edaea329643ba5a6e95808cdf6678e17327042bfb6679b8f68ab72f",
+        "path": "org/apache/maven/maven-model/4.0.0-alpha-7/maven-model-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-api-model/4.0.0-alpha-7/maven-api-model-4.0.0-alpha-7.jar",
+        "hash": "01b5489914f198da93c66b0c1d159d0e0f948bfc80a2dd36d872b1bc1b6825d8",
+        "path": "org/apache/maven/maven-api-model/4.0.0-alpha-7/maven-api-model-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/4.0.0-alpha-7/maven-model-builder-4.0.0-alpha-7.jar",
+        "hash": "916bf00f01a10233cac87d2abb1b900279147af29e573f2cdde3e25cedd409dd",
+        "path": "org/apache/maven/maven-model-builder/4.0.0-alpha-7/maven-model-builder-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/4.0.0-alpha-7/maven-builder-support-4.0.0-alpha-7.jar",
+        "hash": "12461c417ed4302e03412fcc4f0941bc6d5c26dc1bb0fac4ba2bd4000226d42f",
+        "path": "org/apache/maven/maven-builder-support/4.0.0-alpha-7/maven-builder-support-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.9.13/maven-resolver-api-1.9.13.jar",
+        "hash": "a2c9970ce72afceece098433e5501c4dd332494389353a17d9e48072e32db80f",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.9.13/maven-resolver-api-1.9.13.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.9.13/maven-resolver-util-1.9.13.jar",
+        "hash": "5976b25b1400e35087d6eceb33d77e3f1cd50efd37725b290270f9f68aabbee0",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.9.13/maven-resolver-util-1.9.13.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-slf4j-wrapper/4.0.0-alpha-7/maven-slf4j-wrapper-4.0.0-alpha-7.jar",
+        "hash": "c90964538cfd79a02b77d61db9738c5e04d3844e5f2effb442b8be33622adcd2",
+        "path": "org/apache/maven/maven-slf4j-wrapper/4.0.0-alpha-7/maven-slf4j-wrapper-4.0.0-alpha-7.jar"
+    },
+    {
+        "url": "com/google/inject/guice/5.1.0/guice-5.1.0.jar",
+        "hash": "4130e50bfac48099c860f0d903b91860c81a249c90f38245f8fed58fc817bc26",
+        "path": "com/google/inject/guice/5.1.0/guice-5.1.0.jar"
+    },
+    {
+        "url": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar",
+        "hash": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
+        "path": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
+    },
+    {
+        "url": "com/google/guava/guava/30.1-jre/guava-30.1-jre.jar",
+        "hash": "e6dd072f9d3fe02a4600688380bd422bdac184caf6fe2418cfdd0934f09432aa",
+        "path": "com/google/guava/guava/30.1-jre/guava-30.1-jre.jar"
+    },
+    {
+        "url": "com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+        "hash": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
+        "path": "com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
+        "hash": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
+        "path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar",
+        "hash": "52f77c5ec49f787c9c417ebed5d6efd9922f44a202f217376e4f94c0d74f3549",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2.jar",
+        "hash": "9500d303ce467e26d129dda8559c3f3a91277d41ab49d2c4b4a5779536a62fc1",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M2/org.eclipse.sisu.plexus-0.9.0.M2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar",
+        "hash": "bde3617ce9b5bcf9584126046080043af6a4b3baea40a3b153f02e7bbc32acac",
+        "path": "org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar",
+        "hash": "873139960c4c780176dda580b003a2c4bf82188bdce5bb99234e224ef7acfceb",
+        "path": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar",
+        "hash": "9a7f1b5c5a9effd61eadfd8731452a2f76a8e79111fac391ef75ea801bea203a",
+        "path": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar",
+        "hash": "b3b5412ce17889103ea564bcdfcf9fb3dfa540344ffeac6b538a73c9d7182662",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar",
+        "hash": "d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0",
+        "path": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar"
+    },
+    {
+        "url": "commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar",
+        "hash": "bc8bb01fc0fad250385706e20f927ddcff6173f6339b387dc879237752567ac6",
+        "path": "commons-cli/commons-cli/1.5.0/commons-cli-1.5.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar",
+        "hash": "8f1a5d4daff952dabeb3acaa0aa642903702a1aa8b442fcd7a07a8cf9e3db48b",
+        "path": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar",
+        "hash": "a1bf0c7856afd1f1b9c81c22818328fb7a796b4047010e08f2e859d1896080a9",
+        "path": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar",
+        "hash": "a7295f062b54d0cbd513ffbb6d21c9bc9e21d9904547f299831236a988e50ab3",
+        "path": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar",
+        "hash": "56affafea9c76168bbc5b8ee9d26dd2dbe95b8185b70d6b2a46dd9fc39d0dd53",
+        "path": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar",
+        "hash": "053655dc2890f119cb13ddb90b1888b9cfcf1cea3a374c0656d53595b4f37542",
+        "path": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar",
+        "hash": "271a82555c399d9b06c7751a802c3b919081a06b7c9b839bd70e93ea2df386e3",
+        "path": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar",
+        "hash": "da73e32b58132e64daf12269fd9d011c0b303f234840f179908725a632b6b57c",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar",
+        "hash": "3d5a0e77cde76d386b18c7400db1eb16aacef02e031ecd0d954477aeccc92155",
+        "path": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+        "hash": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+        "path": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar",
+        "hash": "c7611780b8456e2b29284b8c0d37cdd5358facdc1091d64ab46a2feddd2cb6ae",
+        "path": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar",
+        "hash": "0062a08b463314a1b5f8eb1a56207efb830fbdf547c42a3191eb146c4db39b1a",
+        "path": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar",
+        "hash": "d4d15a6d473d78608412818c091b3c01d37bdf4f0e453156a19724af843a03ea",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar",
+        "hash": "3ba9c619893c767db0f9c3e826d5118b57c35229301bcd16d865a89cec16a7e5",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.5/commons-io-2.5.jar",
+        "hash": "a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474",
+        "path": "commons-io/commons-io/2.5/commons-io-2.5.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar",
+        "hash": "c6935e0b7d362ed4ca768c9b71d5d4d98788ff0a79c0d2bb954c221a078b166b",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar",
+        "hash": "3e7d265ef4e9ade0f5de998961c6cac634cbf3fbdb839bb50a3a50b2ffbba7f8",
+        "path": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
+        "hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
+        "path": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar",
+        "hash": "21702a5beccf3731ecdd6ed87f8fd0ae2bb7856b12fe91585b5513840722b0c3",
+        "path": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar",
+        "hash": "6be437d670dffa24bac4187bc1567c34fab04fc569836f8b45b9d79cbfd493ea",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar",
+        "hash": "a7c2d81cd7d6df38e2997bf09507e0bca6fa85dfb635de4bf28a7c501cb574f4",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar",
+        "hash": "aaa41b53ed4fcc13b3d719d85f45b0fba21ee026dd4b625dd82210a28ee8e2fe",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar",
+        "hash": "0ffa0ad084ebff5712540a7b7ea0abda487c53d3a18f78c98d1a3675dab9bf61",
+        "path": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar",
+        "hash": "e003802501574637f7abdc4e83e6d509a31e9ff825d12da6d1e419acf9688705",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar",
+        "hash": "98045f5ecd802d6a96ba00394f8cb61259f9ac781ec2cb51ca0cb7b2c94ac720",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar",
+        "hash": "a7fee9435db716bff593e9fb5622bcf9f25e527196485929b0cd4065c43e61df",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/3.2.0/wagon-provider-api-3.2.0.jar",
+        "hash": "21beff005c5b5754911b85f3a60480341b29a2faf1cf3b56260e6b646081a54f",
+        "path": "org/apache/maven/wagon/wagon-provider-api/3.2.0/wagon-provider-api-3.2.0.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.2.1/guice-4.2.1.jar",
+        "hash": "cb4a9a054a20f5b9fcdd9734e97804779714fa5d62b30a0f5b5e99084f9954b0",
+        "path": "com/google/inject/guice/4.2.1/guice-4.2.1.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "com/google/guava/guava/25.1-android/guava-25.1-android.jar",
+        "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8",
+        "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar",
+        "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b",
+        "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar",
+        "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8",
+        "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar",
+        "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
+        "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar",
+        "hash": "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar",
+        "hash": "c7611780b8456e2b29284b8c0d37cdd5358facdc1091d64ab46a2feddd2cb6ae",
+        "path": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar",
+        "hash": "a1bf0c7856afd1f1b9c81c22818328fb7a796b4047010e08f2e859d1896080a9",
+        "path": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar",
+        "hash": "053655dc2890f119cb13ddb90b1888b9cfcf1cea3a374c0656d53595b4f37542",
+        "path": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar",
+        "hash": "271a82555c399d9b06c7751a802c3b919081a06b7c9b839bd70e93ea2df386e3",
+        "path": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar",
+        "hash": "e003802501574637f7abdc4e83e6d509a31e9ff825d12da6d1e419acf9688705",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar",
+        "hash": "da73e32b58132e64daf12269fd9d011c0b303f234840f179908725a632b6b57c",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar",
+        "hash": "56affafea9c76168bbc5b8ee9d26dd2dbe95b8185b70d6b2a46dd9fc39d0dd53",
+        "path": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar",
+        "hash": "21702a5beccf3731ecdd6ed87f8fd0ae2bb7856b12fe91585b5513840722b0c3",
+        "path": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar",
+        "hash": "3d5a0e77cde76d386b18c7400db1eb16aacef02e031ecd0d954477aeccc92155",
+        "path": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar",
+        "hash": "0062a08b463314a1b5f8eb1a56207efb830fbdf547c42a3191eb146c4db39b1a",
+        "path": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar",
+        "hash": "a7295f062b54d0cbd513ffbb6d21c9bc9e21d9904547f299831236a988e50ab3",
+        "path": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar",
+        "hash": "3e7d265ef4e9ade0f5de998961c6cac634cbf3fbdb839bb50a3a50b2ffbba7f8",
+        "path": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
+        "hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
+        "path": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar",
+        "hash": "aaa41b53ed4fcc13b3d719d85f45b0fba21ee026dd4b625dd82210a28ee8e2fe",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar",
+        "hash": "6be437d670dffa24bac4187bc1567c34fab04fc569836f8b45b9d79cbfd493ea",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar",
+        "hash": "d4d15a6d473d78608412818c091b3c01d37bdf4f0e453156a19724af843a03ea",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar",
+        "hash": "a7c2d81cd7d6df38e2997bf09507e0bca6fa85dfb635de4bf28a7c501cb574f4",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar",
+        "hash": "3ba9c619893c767db0f9c3e826d5118b57c35229301bcd16d865a89cec16a7e5",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.5/commons-io-2.5.jar",
+        "hash": "a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474",
+        "path": "commons-io/commons-io/2.5/commons-io-2.5.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar",
+        "hash": "98045f5ecd802d6a96ba00394f8cb61259f9ac781ec2cb51ca0cb7b2c94ac720",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar",
+        "hash": "c6935e0b7d362ed4ca768c9b71d5d4d98788ff0a79c0d2bb954c221a078b166b",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.2.1/guice-4.2.1-no_aop.jar",
+        "hash": "158fd8f52d2a4b4ce4293ac2b833bb2427f5ddfe30df4ae0fd4675a1038a3b79",
+        "path": "com/google/inject/guice/4.2.1/guice-4.2.1-no_aop.jar"
+    },
+    {
+        "url": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar",
+        "hash": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
+        "path": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
+    },
+    {
+        "url": "com/google/guava/guava/25.1-android/guava-25.1-android.jar",
+        "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8",
+        "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar",
+        "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b",
+        "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar",
+        "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8",
+        "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar",
+        "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
+        "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar",
+        "hash": "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar",
+        "hash": "0ffa0ad084ebff5712540a7b7ea0abda487c53d3a18f78c98d1a3675dab9bf61",
+        "path": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar",
+        "hash": "a7fee9435db716bff593e9fb5622bcf9f25e527196485929b0cd4065c43e61df",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+        "hash": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+        "path": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-embedder/3.6.0/maven-embedder-3.6.0.jar",
+        "hash": "e41b031c1e5bc23dc94b67f678644d549b15461361789d592c54cc3939829945",
+        "path": "org/apache/maven/maven-embedder/3.6.0/maven-embedder-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar",
+        "hash": "053655dc2890f119cb13ddb90b1888b9cfcf1cea3a374c0656d53595b4f37542",
+        "path": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar",
+        "hash": "271a82555c399d9b06c7751a802c3b919081a06b7c9b839bd70e93ea2df386e3",
+        "path": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar",
+        "hash": "e003802501574637f7abdc4e83e6d509a31e9ff825d12da6d1e419acf9688705",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar",
+        "hash": "c7611780b8456e2b29284b8c0d37cdd5358facdc1091d64ab46a2feddd2cb6ae",
+        "path": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar",
+        "hash": "21702a5beccf3731ecdd6ed87f8fd0ae2bb7856b12fe91585b5513840722b0c3",
+        "path": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar",
+        "hash": "3d5a0e77cde76d386b18c7400db1eb16aacef02e031ecd0d954477aeccc92155",
+        "path": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar",
+        "hash": "3e7d265ef4e9ade0f5de998961c6cac634cbf3fbdb839bb50a3a50b2ffbba7f8",
+        "path": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar",
+        "hash": "aaa41b53ed4fcc13b3d719d85f45b0fba21ee026dd4b625dd82210a28ee8e2fe",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar",
+        "hash": "d4d15a6d473d78608412818c091b3c01d37bdf4f0e453156a19724af843a03ea",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar",
+        "hash": "c6935e0b7d362ed4ca768c9b71d5d4d98788ff0a79c0d2bb954c221a078b166b",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar",
+        "hash": "0062a08b463314a1b5f8eb1a56207efb830fbdf547c42a3191eb146c4db39b1a",
+        "path": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar",
+        "hash": "a1bf0c7856afd1f1b9c81c22818328fb7a796b4047010e08f2e859d1896080a9",
+        "path": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar",
+        "hash": "a7295f062b54d0cbd513ffbb6d21c9bc9e21d9904547f299831236a988e50ab3",
+        "path": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar",
+        "hash": "56affafea9c76168bbc5b8ee9d26dd2dbe95b8185b70d6b2a46dd9fc39d0dd53",
+        "path": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar",
+        "hash": "6be437d670dffa24bac4187bc1567c34fab04fc569836f8b45b9d79cbfd493ea",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar",
+        "hash": "a7c2d81cd7d6df38e2997bf09507e0bca6fa85dfb635de4bf28a7c501cb574f4",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar",
+        "hash": "3ba9c619893c767db0f9c3e826d5118b57c35229301bcd16d865a89cec16a7e5",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.5/commons-io-2.5.jar",
+        "hash": "a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474",
+        "path": "commons-io/commons-io/2.5/commons-io-2.5.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.2.1/guice-4.2.1-no_aop.jar",
+        "hash": "158fd8f52d2a4b4ce4293ac2b833bb2427f5ddfe30df4ae0fd4675a1038a3b79",
+        "path": "com/google/inject/guice/4.2.1/guice-4.2.1-no_aop.jar"
+    },
+    {
+        "url": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar",
+        "hash": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
+        "path": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
+    },
+    {
+        "url": "com/google/guava/guava/25.1-android/guava-25.1-android.jar",
+        "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8",
+        "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar",
+        "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b",
+        "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar",
+        "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8",
+        "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar",
+        "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
+        "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar",
+        "hash": "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar",
+        "hash": "0ffa0ad084ebff5712540a7b7ea0abda487c53d3a18f78c98d1a3675dab9bf61",
+        "path": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar",
+        "hash": "98045f5ecd802d6a96ba00394f8cb61259f9ac781ec2cb51ca0cb7b2c94ac720",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar",
+        "hash": "a7fee9435db716bff593e9fb5622bcf9f25e527196485929b0cd4065c43e61df",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar",
+        "hash": "da73e32b58132e64daf12269fd9d011c0b303f234840f179908725a632b6b57c",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar",
+        "hash": "114859861ff10f987b880d6f34e3215274af3cc92b3a73831c84d596e37c6511",
+        "path": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
+        "hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
+        "path": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
+    },
+    {
+        "url": "commons-cli/commons-cli/1.4/commons-cli-1.4.jar",
+        "hash": "fd3c7c9545a9cdb2051d1f9155c4f76b1e4ac5a57304404a6eedb578ffba7328",
+        "path": "commons-cli/commons-cli/1.4/commons-cli-1.4.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+        "hash": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+        "path": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar",
+        "hash": "dbb8c53ccc0b16a9dd8370d6e7de63102468caedac1e5fa2eb418319a6875293",
+        "path": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar",
+        "hash": "ac8e617f951ecde3c4f6bca4922fdd7861500fe7d58289f26ad5adac443075bc",
+        "path": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar",
+        "hash": "876a76b663db6c7326ad234afe430c473d3261a06b3284f31d5eb4889d1c3084",
+        "path": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar",
+        "hash": "d8f9f237afc21d8202eedffa29cbf6e9d46c78b3c22b217d16267216988221b9",
+        "path": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar",
+        "hash": "ac0e62e26b7f690e265ba75667531973b8a2da12b3b0ff102a612f05b42b6faf",
+        "path": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar",
+        "hash": "c867b4e075a4548bf27422542f96b159f94c4e7ffaaf6427b10433afd6a3a38c",
+        "path": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar",
+        "hash": "469505f75b8526a338cfd7e0ec841655ae52ddbcc1b36482e97d72f52ce7d890",
+        "path": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar",
+        "hash": "45a2c6ff76e12678eaf576bd7a68d028c5a5ba85fdc216a381ea86e9187e1b51",
+        "path": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar",
+        "hash": "c74327cd5d7b137c8be3591c766271ac8ace1a617518f0410b8a95579f9839b0",
+        "path": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar",
+        "hash": "d5de4e299be5a79feb1dbe8ff3814034c6e44314b4c00b92ffa8d97576ded5b3",
+        "path": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar",
+        "hash": "865511994805827e88f327944a089142bb7f3d88cde271ba3dceb732cb137a93",
+        "path": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar",
+        "hash": "687799a0ce988bee9e8eb9ae0ba870300adc0114248ad4a4327bdb625d27e010",
+        "path": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar",
+        "hash": "bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar",
+        "hash": "75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2",
+        "path": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar",
+        "hash": "259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.0.5/maven-compat-3.0.5.jar",
+        "hash": "1e821ef210f502d541741e950399bf7db385dfbb07d6b09ab9d65ff3ff0567fc",
+        "path": "org/apache/maven/maven-compat/3.0.5/maven-compat-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar",
+        "hash": "876a76b663db6c7326ad234afe430c473d3261a06b3284f31d5eb4889d1c3084",
+        "path": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar",
+        "hash": "45a2c6ff76e12678eaf576bd7a68d028c5a5ba85fdc216a381ea86e9187e1b51",
+        "path": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar",
+        "hash": "d8f9f237afc21d8202eedffa29cbf6e9d46c78b3c22b217d16267216988221b9",
+        "path": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar",
+        "hash": "ac8e617f951ecde3c4f6bca4922fdd7861500fe7d58289f26ad5adac443075bc",
+        "path": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar",
+        "hash": "ac0e62e26b7f690e265ba75667531973b8a2da12b3b0ff102a612f05b42b6faf",
+        "path": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar",
+        "hash": "c867b4e075a4548bf27422542f96b159f94c4e7ffaaf6427b10433afd6a3a38c",
+        "path": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar",
+        "hash": "469505f75b8526a338cfd7e0ec841655ae52ddbcc1b36482e97d72f52ce7d890",
+        "path": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar",
+        "hash": "c74327cd5d7b137c8be3591c766271ac8ace1a617518f0410b8a95579f9839b0",
+        "path": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar",
+        "hash": "d5de4e299be5a79feb1dbe8ff3814034c6e44314b4c00b92ffa8d97576ded5b3",
+        "path": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar",
+        "hash": "865511994805827e88f327944a089142bb7f3d88cde271ba3dceb732cb137a93",
+        "path": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar",
+        "hash": "687799a0ce988bee9e8eb9ae0ba870300adc0114248ad4a4327bdb625d27e010",
+        "path": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar",
+        "hash": "259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar",
+        "hash": "bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar",
+        "hash": "75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2",
+        "path": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/2.4/wagon-provider-api-2.4.jar",
+        "hash": "f65d8d59d71bca18ffa259b5a6de67697bc65b9ff1142c7bb4417ab4b1cacd92",
+        "path": "org/apache/maven/wagon/wagon-provider-api/2.4/wagon-provider-api-2.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-embedder/3.0.5/maven-embedder-3.0.5.jar",
+        "hash": "020cdfeff9bc0f1eaba30ce87ecbe51ab25ceda5aba77d0f5aa560e35f3d55ce",
+        "path": "org/apache/maven/maven-embedder/3.0.5/maven-embedder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar",
+        "hash": "d8f9f237afc21d8202eedffa29cbf6e9d46c78b3c22b217d16267216988221b9",
+        "path": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar",
+        "hash": "ac8e617f951ecde3c4f6bca4922fdd7861500fe7d58289f26ad5adac443075bc",
+        "path": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar",
+        "hash": "876a76b663db6c7326ad234afe430c473d3261a06b3284f31d5eb4889d1c3084",
+        "path": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar",
+        "hash": "ac0e62e26b7f690e265ba75667531973b8a2da12b3b0ff102a612f05b42b6faf",
+        "path": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar",
+        "hash": "c867b4e075a4548bf27422542f96b159f94c4e7ffaaf6427b10433afd6a3a38c",
+        "path": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar",
+        "hash": "c74327cd5d7b137c8be3591c766271ac8ace1a617518f0410b8a95579f9839b0",
+        "path": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar",
+        "hash": "d5de4e299be5a79feb1dbe8ff3814034c6e44314b4c00b92ffa8d97576ded5b3",
+        "path": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar",
+        "hash": "865511994805827e88f327944a089142bb7f3d88cde271ba3dceb732cb137a93",
+        "path": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar",
+        "hash": "687799a0ce988bee9e8eb9ae0ba870300adc0114248ad4a4327bdb625d27e010",
+        "path": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar",
+        "hash": "469505f75b8526a338cfd7e0ec841655ae52ddbcc1b36482e97d72f52ce7d890",
+        "path": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar",
+        "hash": "45a2c6ff76e12678eaf576bd7a68d028c5a5ba85fdc216a381ea86e9187e1b51",
+        "path": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.0.5/maven-compat-3.0.5.jar",
+        "hash": "1e821ef210f502d541741e950399bf7db385dfbb07d6b09ab9d65ff3ff0567fc",
+        "path": "org/apache/maven/maven-compat/3.0.5/maven-compat-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/2.4/wagon-provider-api-2.4.jar",
+        "hash": "f65d8d59d71bca18ffa259b5a6de67697bc65b9ff1142c7bb4417ab4b1cacd92",
+        "path": "org/apache/maven/wagon/wagon-provider-api/2.4/wagon-provider-api-2.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar",
+        "hash": "259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar",
+        "hash": "bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar",
+        "hash": "75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2",
+        "path": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar",
+        "hash": "114859861ff10f987b880d6f34e3215274af3cc92b3a73831c84d596e37c6511",
+        "path": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar"
+    },
+    {
+        "url": "commons-cli/commons-cli/1.2/commons-cli-1.2.jar",
+        "hash": "e7cd8951956d349b568b7ccfd4f5b2529a8c113e67c32b028f52ffda371259d9",
+        "path": "commons-cli/commons-cli/1.2/commons-cli-1.2.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar",
+        "hash": "a263933f43e9c273161e0b99f553c33a80a0416ec0bd5dca17d54cf38ae5956f",
+        "path": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar",
+        "hash": "9897e80ff6c08fc45b5b5ebd81d9e943a1087bdf0ad50cda457d616abbdaacd9",
+        "path": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar",
+        "hash": "dbb8c53ccc0b16a9dd8370d6e7de63102468caedac1e5fa2eb418319a6875293",
+        "path": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.3.9/maven-compat-3.3.9.jar",
+        "hash": "2653f603b4aa7b521d8ad850c88a34dafd64aa79d7650399daa719de71cd1329",
+        "path": "org/apache/maven/maven-compat/3.3.9/maven-compat-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar",
+        "hash": "15abde67fa7ea1e573e1f68c34921e995f0971351aaf1fb96790688ff510efcd",
+        "path": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar",
+        "hash": "734c8356420cc8e30c795d64fd1fcd5d44ea9d90342a2cc3262c5158fbc6d98b",
+        "path": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar",
+        "hash": "6909cb229489e693df7960678528800a1759625835a1cb939c37b051c22193c3",
+        "path": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar",
+        "hash": "462a0d711a979c44791b97422ec4e91300ae555a598f684f116d725a2b9d297b",
+        "path": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar"
+    },
+    {
+        "url": "com/google/guava/guava/18.0/guava-18.0.jar",
+        "hash": "d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99",
+        "path": "com/google/guava/guava/18.0/guava-18.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar",
+        "hash": "e4f569be53a076424e784222e7088f1827fcb2ef18d409132b3cda2fd92799e2",
+        "path": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar",
+        "hash": "1f702928f2233c6ecdf308fbd8f2932ea287c7062183d3c8364b0db7e9c4445d",
+        "path": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar",
+        "hash": "070d55ec5a6f3e4a785564283a9704bb39a93f1a2f89cdf60a3b899fde563bf9",
+        "path": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar",
+        "hash": "b4da54d52e2996a8a77c4db1ca8e98fc31792f07eeff695776f00ecffc3d5b60",
+        "path": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar",
+        "hash": "6dbcc3d3d1dfb34df46c1ddb080fdd09fb899c80207016419cf13236c6b10399",
+        "path": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar",
+        "hash": "14cae18fd7125901b12fc914e30ea26ad9bd43dbd399dd6e8fcbc6c754ef2c9c",
+        "path": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar",
+        "hash": "f46962583d812cd4459a4cc963113b9c52f1f9b169172354693bc9efa0b3e3cb",
+        "path": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar",
+        "hash": "2cafa2629da49edd54eb4df6d15f628c2d80eec293f37cd561f1fe78e7bcff9d",
+        "path": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar",
+        "hash": "9a84f5863407acf2bf9cf280cd02f5a518952a386de61df3b8c5db8cfdec725d",
+        "path": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar",
+        "hash": "3f74c7c7b9c924769cf3c5b4d52d21aa63e9a2ccbf16f5d26c30ebb31b99699d",
+        "path": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar",
+        "hash": "9e9a57439a98034732e94d841bb7065b56e3a065654361ca9cc07135e9fbe17c",
+        "path": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar",
+        "hash": "0f31c44b275f87e56d46a582ce96d03b9e2ab344cf87c4e268b34d3ad046beab",
+        "path": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar",
+        "hash": "aba7980581027ad5fc74a27ee4d64aad74932fdb32694967242d03fc50290d1f",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar",
+        "hash": "f5cfe0d88e8276971db4ecff0e4186d5f2ec5fdb1b6bb8c2f359fdc4b43eb8b2",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar",
+        "hash": "66e87705a818da44eb080a7bb1fc431de987754b4f92aa85f69991bfc677d40d",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar",
+        "hash": "2b3a6ca5f19a9ad490bc233f45e68d3093c8c01b4acc3c1d14bad4ca7c7ff438",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar",
+        "hash": "930b2e409513be03864d7a66e22dfdf5c086725e22ba3cf57ad45ed8af02996d",
+        "path": "org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar",
+        "hash": "dbb8c53ccc0b16a9dd8370d6e7de63102468caedac1e5fa2eb418319a6875293",
+        "path": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar",
+        "hash": "070d55ec5a6f3e4a785564283a9704bb39a93f1a2f89cdf60a3b899fde563bf9",
+        "path": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar",
+        "hash": "15abde67fa7ea1e573e1f68c34921e995f0971351aaf1fb96790688ff510efcd",
+        "path": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar",
+        "hash": "e4f569be53a076424e784222e7088f1827fcb2ef18d409132b3cda2fd92799e2",
+        "path": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar",
+        "hash": "b4da54d52e2996a8a77c4db1ca8e98fc31792f07eeff695776f00ecffc3d5b60",
+        "path": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar",
+        "hash": "462a0d711a979c44791b97422ec4e91300ae555a598f684f116d725a2b9d297b",
+        "path": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar",
+        "hash": "6dbcc3d3d1dfb34df46c1ddb080fdd09fb899c80207016419cf13236c6b10399",
+        "path": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar",
+        "hash": "1f702928f2233c6ecdf308fbd8f2932ea287c7062183d3c8364b0db7e9c4445d",
+        "path": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar",
+        "hash": "14cae18fd7125901b12fc914e30ea26ad9bd43dbd399dd6e8fcbc6c754ef2c9c",
+        "path": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar",
+        "hash": "6909cb229489e693df7960678528800a1759625835a1cb939c37b051c22193c3",
+        "path": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar"
+    },
+    {
+        "url": "com/google/guava/guava/18.0/guava-18.0.jar",
+        "hash": "d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99",
+        "path": "com/google/guava/guava/18.0/guava-18.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar",
+        "hash": "f46962583d812cd4459a4cc963113b9c52f1f9b169172354693bc9efa0b3e3cb",
+        "path": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar",
+        "hash": "2cafa2629da49edd54eb4df6d15f628c2d80eec293f37cd561f1fe78e7bcff9d",
+        "path": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar",
+        "hash": "9a84f5863407acf2bf9cf280cd02f5a518952a386de61df3b8c5db8cfdec725d",
+        "path": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar",
+        "hash": "3f74c7c7b9c924769cf3c5b4d52d21aa63e9a2ccbf16f5d26c30ebb31b99699d",
+        "path": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar",
+        "hash": "9e9a57439a98034732e94d841bb7065b56e3a065654361ca9cc07135e9fbe17c",
+        "path": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar",
+        "hash": "f5cfe0d88e8276971db4ecff0e4186d5f2ec5fdb1b6bb8c2f359fdc4b43eb8b2",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar",
+        "hash": "66e87705a818da44eb080a7bb1fc431de987754b4f92aa85f69991bfc677d40d",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar",
+        "hash": "aba7980581027ad5fc74a27ee4d64aad74932fdb32694967242d03fc50290d1f",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar",
+        "hash": "0f31c44b275f87e56d46a582ce96d03b9e2ab344cf87c4e268b34d3ad046beab",
+        "path": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar",
+        "hash": "2b3a6ca5f19a9ad490bc233f45e68d3093c8c01b4acc3c1d14bad4ca7c7ff438",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar",
+        "hash": "734c8356420cc8e30c795d64fd1fcd5d44ea9d90342a2cc3262c5158fbc6d98b",
+        "path": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-embedder/3.3.9/maven-embedder-3.3.9.jar",
+        "hash": "6e1736c08f9798ed74efcdcdc435c640aca08af9b8c268dd7ea8ee8a3fef30a6",
+        "path": "org/apache/maven/maven-embedder/3.3.9/maven-embedder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar",
+        "hash": "e4f569be53a076424e784222e7088f1827fcb2ef18d409132b3cda2fd92799e2",
+        "path": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar",
+        "hash": "070d55ec5a6f3e4a785564283a9704bb39a93f1a2f89cdf60a3b899fde563bf9",
+        "path": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar",
+        "hash": "15abde67fa7ea1e573e1f68c34921e995f0971351aaf1fb96790688ff510efcd",
+        "path": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar",
+        "hash": "b4da54d52e2996a8a77c4db1ca8e98fc31792f07eeff695776f00ecffc3d5b60",
+        "path": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar",
+        "hash": "6dbcc3d3d1dfb34df46c1ddb080fdd09fb899c80207016419cf13236c6b10399",
+        "path": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar",
+        "hash": "1f702928f2233c6ecdf308fbd8f2932ea287c7062183d3c8364b0db7e9c4445d",
+        "path": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar",
+        "hash": "f46962583d812cd4459a4cc963113b9c52f1f9b169172354693bc9efa0b3e3cb",
+        "path": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar",
+        "hash": "2cafa2629da49edd54eb4df6d15f628c2d80eec293f37cd561f1fe78e7bcff9d",
+        "path": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar",
+        "hash": "9a84f5863407acf2bf9cf280cd02f5a518952a386de61df3b8c5db8cfdec725d",
+        "path": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar",
+        "hash": "3f74c7c7b9c924769cf3c5b4d52d21aa63e9a2ccbf16f5d26c30ebb31b99699d",
+        "path": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar",
+        "hash": "9e9a57439a98034732e94d841bb7065b56e3a065654361ca9cc07135e9fbe17c",
+        "path": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.0/guice-4.0-no_aop.jar",
+        "hash": "19393891be59b6feaf7e308bd8a3843b4e552c10cdb687ebffd7695634a250a8",
+        "path": "com/google/inject/guice/4.0/guice-4.0-no_aop.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar",
+        "hash": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
+        "path": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar",
+        "hash": "aba7980581027ad5fc74a27ee4d64aad74932fdb32694967242d03fc50290d1f",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar",
+        "hash": "14cae18fd7125901b12fc914e30ea26ad9bd43dbd399dd6e8fcbc6c754ef2c9c",
+        "path": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar",
+        "hash": "6909cb229489e693df7960678528800a1759625835a1cb939c37b051c22193c3",
+        "path": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar",
+        "hash": "462a0d711a979c44791b97422ec4e91300ae555a598f684f116d725a2b9d297b",
+        "path": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar"
+    },
+    {
+        "url": "com/google/guava/guava/18.0/guava-18.0.jar",
+        "hash": "d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99",
+        "path": "com/google/guava/guava/18.0/guava-18.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.3.9/maven-compat-3.3.9.jar",
+        "hash": "2653f603b4aa7b521d8ad850c88a34dafd64aa79d7650399daa719de71cd1329",
+        "path": "org/apache/maven/maven-compat/3.3.9/maven-compat-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar",
+        "hash": "930b2e409513be03864d7a66e22dfdf5c086725e22ba3cf57ad45ed8af02996d",
+        "path": "org/apache/maven/wagon/wagon-provider-api/2.10/wagon-provider-api-2.10.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar",
+        "hash": "0f31c44b275f87e56d46a582ce96d03b9e2ab344cf87c4e268b34d3ad046beab",
+        "path": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar",
+        "hash": "f5cfe0d88e8276971db4ecff0e4186d5f2ec5fdb1b6bb8c2f359fdc4b43eb8b2",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar",
+        "hash": "66e87705a818da44eb080a7bb1fc431de987754b4f92aa85f69991bfc677d40d",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar",
+        "hash": "2b3a6ca5f19a9ad490bc233f45e68d3093c8c01b4acc3c1d14bad4ca7c7ff438",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar",
+        "hash": "114859861ff10f987b880d6f34e3215274af3cc92b3a73831c84d596e37c6511",
+        "path": "org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar",
+        "hash": "fe30825245d2336c859dc38d60c0fc5f3668dbf29cd586828d2b5667ec355b91",
+        "path": "org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar"
+    },
+    {
+        "url": "commons-cli/commons-cli/1.2/commons-cli-1.2.jar",
+        "hash": "e7cd8951956d349b568b7ccfd4f5b2529a8c113e67c32b028f52ffda371259d9",
+        "path": "commons-cli/commons-cli/1.2/commons-cli-1.2.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar",
+        "hash": "734c8356420cc8e30c795d64fd1fcd5d44ea9d90342a2cc3262c5158fbc6d98b",
+        "path": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.0/guice-4.0.jar",
+        "hash": "b378ffc35e7f7125b3c5f3a461d4591ae1685e3c781392f0c854ed7b7581d6d2",
+        "path": "com/google/inject/guice/4.0/guice-4.0.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar",
+        "hash": "112e06e6acc1405ad3ba518442e835d1d42758ef31f0bbbdb32aa1e15a17d10f",
+        "path": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar",
+        "hash": "b7554a41499282e3b2226a22aff3ebe984f7e159798c461d917c1b829b130cd1",
+        "path": "org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-common/2.2/archetype-common-2.2.jar",
+        "hash": "3a00a78157a82fff778334764255642585127443e0b3da56bcdb6f8a0f910220",
+        "path": "org/apache/maven/archetype/archetype-common/2.2/archetype-common-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar",
+        "hash": "112e06e6acc1405ad3ba518442e835d1d42758ef31f0bbbdb32aa1e15a17d10f",
+        "path": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-descriptor/2.2/archetype-descriptor-2.2.jar",
+        "hash": "162ff0cc80445307de05f5e0ce9c014e8cd22cfbd2ed610ae39806e4592c5255",
+        "path": "org/apache/maven/archetype/archetype-descriptor/2.2/archetype-descriptor-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-registry/2.2/archetype-registry-2.2.jar",
+        "hash": "cf9bb9e523696557c20bd4c7f41b6adda6074c4da85a7070af2facbab28afaca",
+        "path": "org/apache/maven/archetype/archetype-registry/2.2/archetype-registry-2.2.jar"
+    },
+    {
+        "url": "org/sonatype/nexus/nexus-indexer-artifact/1.0.1/nexus-indexer-artifact-1.0.1.jar",
+        "hash": "171035740322f96bd8c155cfb6050962dd61d7976a494c0aac6d46b3c83174c4",
+        "path": "org/sonatype/nexus/nexus-indexer-artifact/1.0.1/nexus-indexer-artifact-1.0.1.jar"
+    },
+    {
+        "url": "org/sonatype/nexus/nexus-indexer/3.0.4/nexus-indexer-3.0.4.jar",
+        "hash": "9d43a28d0758914fdcea28a436601ac26d06a3b55d283bb6be0321ccd3631a58",
+        "path": "org/sonatype/nexus/nexus-indexer/3.0.4/nexus-indexer-3.0.4.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar",
+        "hash": "dbb8c53ccc0b16a9dd8370d6e7de63102468caedac1e5fa2eb418319a6875293",
+        "path": "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-common/2.2/archetype-common-2.2.jar",
+        "hash": "3a00a78157a82fff778334764255642585127443e0b3da56bcdb6f8a0f910220",
+        "path": "org/apache/maven/archetype/archetype-common/2.2/archetype-common-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar",
+        "hash": "112e06e6acc1405ad3ba518442e835d1d42758ef31f0bbbdb32aa1e15a17d10f",
+        "path": "org/apache/maven/archetype/archetype-catalog/2.2/archetype-catalog-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-descriptor/2.2/archetype-descriptor-2.2.jar",
+        "hash": "162ff0cc80445307de05f5e0ce9c014e8cd22cfbd2ed610ae39806e4592c5255",
+        "path": "org/apache/maven/archetype/archetype-descriptor/2.2/archetype-descriptor-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-registry/2.2/archetype-registry-2.2.jar",
+        "hash": "cf9bb9e523696557c20bd4c7f41b6adda6074c4da85a7070af2facbab28afaca",
+        "path": "org/apache/maven/archetype/archetype-registry/2.2/archetype-registry-2.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar",
+        "hash": "8f1a5d4daff952dabeb3acaa0aa642903702a1aa8b442fcd7a07a8cf9e3db48b",
+        "path": "org/apache/maven/maven-compat/3.6.0/maven-compat-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar",
+        "hash": "a1bf0c7856afd1f1b9c81c22818328fb7a796b4047010e08f2e859d1896080a9",
+        "path": "org/apache/maven/maven-model/3.6.0/maven-model-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar",
+        "hash": "a7295f062b54d0cbd513ffbb6d21c9bc9e21d9904547f299831236a988e50ab3",
+        "path": "org/apache/maven/maven-model-builder/3.6.0/maven-model-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar",
+        "hash": "56affafea9c76168bbc5b8ee9d26dd2dbe95b8185b70d6b2a46dd9fc39d0dd53",
+        "path": "org/apache/maven/maven-builder-support/3.6.0/maven-builder-support-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar",
+        "hash": "053655dc2890f119cb13ddb90b1888b9cfcf1cea3a374c0656d53595b4f37542",
+        "path": "org/apache/maven/maven-settings/3.6.0/maven-settings-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar",
+        "hash": "271a82555c399d9b06c7751a802c3b919081a06b7c9b839bd70e93ea2df386e3",
+        "path": "org/apache/maven/maven-settings-builder/3.6.0/maven-settings-builder-3.6.0.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar",
+        "hash": "da73e32b58132e64daf12269fd9d011c0b303f234840f179908725a632b6b57c",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar",
+        "hash": "3d5a0e77cde76d386b18c7400db1eb16aacef02e031ecd0d954477aeccc92155",
+        "path": "org/apache/maven/maven-artifact/3.6.0/maven-artifact-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+        "hash": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+        "path": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar",
+        "hash": "c7611780b8456e2b29284b8c0d37cdd5358facdc1091d64ab46a2feddd2cb6ae",
+        "path": "org/apache/maven/maven-core/3.6.0/maven-core-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar",
+        "hash": "0062a08b463314a1b5f8eb1a56207efb830fbdf547c42a3191eb146c4db39b1a",
+        "path": "org/apache/maven/maven-plugin-api/3.6.0/maven-plugin-api-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar",
+        "hash": "d4d15a6d473d78608412818c091b3c01d37bdf4f0e453156a19724af843a03ea",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.3.1/maven-resolver-spi-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar",
+        "hash": "3ba9c619893c767db0f9c3e826d5118b57c35229301bcd16d865a89cec16a7e5",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.5/commons-io-2.5.jar",
+        "hash": "a10418348d234968600ccb1d988efcbbd08716e1d96936ccc1880e7d22513474",
+        "path": "commons-io/commons-io/2.5/commons-io-2.5.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar",
+        "hash": "c6935e0b7d362ed4ca768c9b71d5d4d98788ff0a79c0d2bb954c221a078b166b",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar",
+        "hash": "3e7d265ef4e9ade0f5de998961c6cac634cbf3fbdb839bb50a3a50b2ffbba7f8",
+        "path": "org/apache/maven/maven-resolver-provider/3.6.0/maven-resolver-provider-3.6.0.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar",
+        "hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
+        "path": "org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar",
+        "hash": "21702a5beccf3731ecdd6ed87f8fd0ae2bb7856b12fe91585b5513840722b0c3",
+        "path": "org/apache/maven/maven-repository-metadata/3.6.0/maven-repository-metadata-3.6.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar",
+        "hash": "6be437d670dffa24bac4187bc1567c34fab04fc569836f8b45b9d79cbfd493ea",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.3.1/maven-resolver-api-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar",
+        "hash": "a7c2d81cd7d6df38e2997bf09507e0bca6fa85dfb635de4bf28a7c501cb574f4",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.3.1/maven-resolver-util-1.3.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar",
+        "hash": "aaa41b53ed4fcc13b3d719d85f45b0fba21ee026dd4b625dd82210a28ee8e2fe",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.3.1/maven-resolver-impl-1.3.1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar",
+        "hash": "0ffa0ad084ebff5712540a7b7ea0abda487c53d3a18f78c98d1a3675dab9bf61",
+        "path": "org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar",
+        "hash": "e003802501574637f7abdc4e83e6d509a31e9ff825d12da6d1e419acf9688705",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.25/plexus-interpolation-1.25.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar",
+        "hash": "98045f5ecd802d6a96ba00394f8cb61259f9ac781ec2cb51ca0cb7b2c94ac720",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar",
+        "hash": "a7fee9435db716bff593e9fb5622bcf9f25e527196485929b0cd4065c43e61df",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/3.2.0/wagon-provider-api-3.2.0.jar",
+        "hash": "21beff005c5b5754911b85f3a60480341b29a2faf1cf3b56260e6b646081a54f",
+        "path": "org/apache/maven/wagon/wagon-provider-api/3.2.0/wagon-provider-api-3.2.0.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.2.1/guice-4.2.1.jar",
+        "hash": "cb4a9a054a20f5b9fcdd9734e97804779714fa5d62b30a0f5b5e99084f9954b0",
+        "path": "com/google/inject/guice/4.2.1/guice-4.2.1.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "com/google/guava/guava/25.1-android/guava-25.1-android.jar",
+        "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8",
+        "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar",
+        "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b",
+        "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar",
+        "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8",
+        "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar",
+        "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
+        "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar",
+        "hash": "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-core/2.4.1/lucene-core-2.4.1.jar",
+        "hash": "b85d6c2a6b4c29e90fa7c5d94b21fe796f9c6857870268b56904765126bae718",
+        "path": "org/apache/lucene/lucene-core/2.4.1/lucene-core-2.4.1.jar"
+    },
+    {
+        "url": "org/apache/maven/indexer/indexer-core/6.2.2/indexer-core-6.2.2.jar",
+        "hash": "7f69b1b75cc171ec37a9377cf590077c10b6153337236a7a766df70eb9ec7786",
+        "path": "org/apache/maven/indexer/indexer-core/6.2.2/indexer-core-6.2.2.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar",
+        "hash": "d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0",
+        "path": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-core/8.11.1/lucene-core-8.11.1.jar",
+        "hash": "78a61d0b843c1cf1fe5be380a4d3a4c1602d3fbba4ca1185da8797c9bb115483",
+        "path": "org/apache/lucene/lucene-core/8.11.1/lucene-core-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-queryparser/8.11.1/lucene-queryparser-8.11.1.jar",
+        "hash": "23abf022a19e609fe3ca421ab6b6868a3250974d31c5b92f9879d97c127a77b8",
+        "path": "org/apache/lucene/lucene-queryparser/8.11.1/lucene-queryparser-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-queries/8.11.1/lucene-queries-8.11.1.jar",
+        "hash": "11fb2e90da5b4e6a6c26120bb80a2937a20a585d32236ed7c277048ba65f07ca",
+        "path": "org/apache/lucene/lucene-queries/8.11.1/lucene-queries-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-sandbox/8.11.1/lucene-sandbox-8.11.1.jar",
+        "hash": "28bee2711947cf3a9957f3f77132ce37457894c1fb468b0a20e9a95788b11c87",
+        "path": "org/apache/lucene/lucene-sandbox/8.11.1/lucene-sandbox-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-analyzers-common/8.11.1/lucene-analyzers-common-8.11.1.jar",
+        "hash": "1cdcc5a2d9cf4ffaf12fbf24bc2a18f2469cd295b60470ae8b97d1aa85dbad6f",
+        "path": "org/apache/lucene/lucene-analyzers-common/8.11.1/lucene-analyzers-common-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-backward-codecs/8.11.1/lucene-backward-codecs-8.11.1.jar",
+        "hash": "38e72688eef81efffb9c5ea68918f4d1adb2eb0de64ce6a8222abee036eb63cf",
+        "path": "org/apache/lucene/lucene-backward-codecs/8.11.1/lucene-backward-codecs-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-highlighter/8.11.1/lucene-highlighter-8.11.1.jar",
+        "hash": "c8e92e01b7443b2fd1698ac7b260b632197175143e13f0364b6f7258b9447307",
+        "path": "org/apache/lucene/lucene-highlighter/8.11.1/lucene-highlighter-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/lucene/lucene-memory/8.11.1/lucene-memory-8.11.1.jar",
+        "hash": "b948478fe2e8e7f94fa7f533a14a526720701fe98627214c93d924faa4be78de",
+        "path": "org/apache/lucene/lucene-memory/8.11.1/lucene-memory-8.11.1.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.8.0/maven-resolver-api-1.8.0.jar",
+        "hash": "5c9df7e7f6122172d5d27ce3efb2bc58fc7f423c2fb7468bf75315d742ebb181",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.8.0/maven-resolver-api-1.8.0.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.8.0/maven-resolver-util-1.8.0.jar",
+        "hash": "3468ec7ca9ee97878e61f26905546cdd709de778b8884777516a1af2d4a32e4e",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.8.0/maven-resolver-util-1.8.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.8.5/maven-model-3.8.5.jar",
+        "hash": "7c9eeb30ac1941ea9bdf76c08c162ed98c005913e5bff66de3f1027a304546dc",
+        "path": "org/apache/maven/maven-model/3.8.5/maven-model-3.8.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.8.3/maven-core-3.8.3.jar",
+        "hash": "4b518631aa5bda90a90ef122fba5288438bbf160fcd628246638092fe3050e10",
+        "path": "org/apache/maven/maven-core/3.8.3/maven-core-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.8.3/maven-model-3.8.3.jar",
+        "hash": "a5ce7648e89403e3b45a951648ee10d934b869001048ef05327be412860b50c5",
+        "path": "org/apache/maven/maven-model/3.8.3/maven-model-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.8.3/maven-settings-3.8.3.jar",
+        "hash": "5a80a24569a0eb383b4da05ea1d306b37753ae111e833bef3a2585c78555e0e0",
+        "path": "org/apache/maven/maven-settings/3.8.3/maven-settings-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.8.3/maven-settings-builder-3.8.3.jar",
+        "hash": "6c93c6336365e59841f4b879d08e027ba8f853f83889e2b374ced4de9c667749",
+        "path": "org/apache/maven/maven-settings-builder/3.8.3/maven-settings-builder-3.8.3.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar",
+        "hash": "873139960c4c780176dda580b003a2c4bf82188bdce5bb99234e224ef7acfceb",
+        "path": "org/codehaus/plexus/plexus-sec-dispatcher/2.0/plexus-sec-dispatcher-2.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar",
+        "hash": "9a7f1b5c5a9effd61eadfd8731452a2f76a8e79111fac391ef75ea801bea203a",
+        "path": "org/codehaus/plexus/plexus-cipher/2.0/plexus-cipher-2.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.8.3/maven-builder-support-3.8.3.jar",
+        "hash": "b2e17c30158bcabad967c29ccc4f2c4e10065b03eedefdb1d8f901ddd3d12ca5",
+        "path": "org/apache/maven/maven-builder-support/3.8.3/maven-builder-support-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.8.3/maven-repository-metadata-3.8.3.jar",
+        "hash": "bb01f1d30929db0d8ab4bbce0e3ed3a924fa1c22dd0dc26b0ff7e39a067c2f8d",
+        "path": "org/apache/maven/maven-repository-metadata/3.8.3/maven-repository-metadata-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.8.3/maven-artifact-3.8.3.jar",
+        "hash": "be0e20f86b22835a49a355de8912260dff0a7cd47c4605506cd286ed25a34508",
+        "path": "org/apache/maven/maven-artifact/3.8.3/maven-artifact-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.8.3/maven-plugin-api-3.8.3.jar",
+        "hash": "be2e329e86e7547d66d18fb206a2f8e06363774647aaf7da776cc19f589a0d4d",
+        "path": "org/apache/maven/maven-plugin-api/3.8.3/maven-plugin-api-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.8.3/maven-model-builder-3.8.3.jar",
+        "hash": "bb2baf84e3d6c584681220947160e6d53c2bca34208c0295bdc74ab4233d396c",
+        "path": "org/apache/maven/maven-model-builder/3.8.3/maven-model-builder-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-resolver-provider/3.8.3/maven-resolver-provider-3.8.3.jar",
+        "hash": "9f7a733bc6a8c91265c669e8a268e7800578cd43e1435088e07d73a9b067d1be",
+        "path": "org/apache/maven/maven-resolver-provider/3.8.3/maven-resolver-provider-3.8.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-impl/1.6.3/maven-resolver-impl-1.6.3.jar",
+        "hash": "17aaebe6e3e59df8cb5b4ec210196f7084637312b9bc4ff14cb77ad1ae3c381b",
+        "path": "org/apache/maven/resolver/maven-resolver-impl/1.6.3/maven-resolver-impl-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-api/1.6.3/maven-resolver-api-1.6.3.jar",
+        "hash": "d0b28ed944058ba4f9be4b54c25d6d5269cc4f3f3c49aa450d4dc2f7e0d552f6",
+        "path": "org/apache/maven/resolver/maven-resolver-api/1.6.3/maven-resolver-api-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-spi/1.6.3/maven-resolver-spi-1.6.3.jar",
+        "hash": "17441a39045ac19bc4a8068fb7284facebf6337754bf2bf8f26a76b5f98ed108",
+        "path": "org/apache/maven/resolver/maven-resolver-spi/1.6.3/maven-resolver-spi-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-util/1.6.3/maven-resolver-util-1.6.3.jar",
+        "hash": "cdcad9355b625743f40e4cead9a96353404e010c39c808d23b044be331afa251",
+        "path": "org/apache/maven/resolver/maven-resolver-util/1.6.3/maven-resolver-util-1.6.3.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar",
+        "hash": "7925d9c5a0e2040d24b8fae3f612eb399cbffe5838b33ba368777dc7bddf6dda",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.3.4/maven-shared-utils-3.3.4.jar"
+    },
+    {
+        "url": "commons-io/commons-io/2.6/commons-io-2.6.jar",
+        "hash": "f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513",
+        "path": "commons-io/commons-io/2.6/commons-io-2.6.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.5/org.eclipse.sisu.plexus-0.3.5.jar",
+        "hash": "7e4c61096d70826f20f7a7d55c59a5528e7aa5ad247ee2dfe544e4dd25f6a784",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.5/org.eclipse.sisu.plexus-0.3.5.jar"
+    },
+    {
+        "url": "javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar",
+        "hash": "5909b396ca3a2be10d0eea32c74ef78d816e1b4ead21de1d78de1f890d033e04",
+        "path": "javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar",
+        "hash": "c5994010bcdce1d2bd603a4d50c47191ddbd7875d1157b23aaa26d33c82fda13",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.5/org.eclipse.sisu.inject-0.3.5.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.2.2/guice-4.2.2-no_aop.jar",
+        "hash": "0f4f5fb28609a4d2b38b7f7128be7cf9b541f25283d71b4e56066d99683aafff",
+        "path": "com/google/inject/guice/4.2.2/guice-4.2.2-no_aop.jar"
+    },
+    {
+        "url": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar",
+        "hash": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08",
+        "path": "aopalliance/aopalliance/1.0/aopalliance-1.0.jar"
+    },
+    {
+        "url": "com/google/guava/guava/25.1-android/guava-25.1-android.jar",
+        "hash": "f7b8f8fed176b9cf6831b98cb07320d7fbe91d99b29999f752c3821dfe45bdc8",
+        "path": "com/google/guava/guava/25.1-android/guava-25.1-android.jar"
+    },
+    {
+        "url": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+        "hash": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+        "path": "com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+    },
+    {
+        "url": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar",
+        "hash": "a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b",
+        "path": "org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar"
+    },
+    {
+        "url": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar",
+        "hash": "03d0329547c13da9e17c634d1049ea2ead093925e290567e1a364fd6b1fc7ff8",
+        "path": "com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar"
+    },
+    {
+        "url": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar",
+        "hash": "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
+        "path": "com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"
+    },
+    {
+        "url": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar",
+        "hash": "2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d",
+        "path": "org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar",
+        "hash": "76d174792540e2775af94d03d10fb2d3c776e2cd0ac0ebf427d3e570072bb9ce",
+        "path": "org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar",
+        "hash": "52f77c5ec49f787c9c417ebed5d6efd9922f44a202f217376e4f94c0d74f3549",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar",
+        "hash": "b3b5412ce17889103ea564bcdfcf9fb3dfa540344ffeac6b538a73c9d7182662",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.26/plexus-interpolation-1.26.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar",
+        "hash": "bde3617ce9b5bcf9584126046080043af6a4b3baea40a3b153f02e7bbc32acac",
+        "path": "org/codehaus/plexus/plexus-component-annotations/2.1.0/plexus-component-annotations-2.1.0.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+        "hash": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+        "path": "org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar",
+        "hash": "3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be",
+        "path": "org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar"
+    },
+    {
+        "url": "org/apache/maven/wagon/wagon-provider-api/3.5.2/wagon-provider-api-3.5.2.jar",
+        "hash": "c7daff38f15c754f609854a01365ced5ad182b5e12d88a6f6ad534c030147cca",
+        "path": "org/apache/maven/wagon/wagon-provider-api/3.5.2/wagon-provider-api-3.5.2.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-common/3.2.1/archetype-common-3.2.1.jar",
+        "hash": "7816a7d7c9a5c64b77a7fd1ebe203a1ce92b924638dd2216f81ea5bcebea6abc",
+        "path": "org/apache/maven/archetype/archetype-common/3.2.1/archetype-common-3.2.1.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-catalog/3.2.1/archetype-catalog-3.2.1.jar",
+        "hash": "2aa061856e5e124facf7bf16831069015f98406969a7ba534e1ee557950d6680",
+        "path": "org/apache/maven/archetype/archetype-catalog/3.2.1/archetype-catalog-3.2.1.jar"
+    },
+    {
+        "url": "org/apache/maven/archetype/archetype-descriptor/3.2.1/archetype-descriptor-3.2.1.jar",
+        "hash": "a20edcd3b38675827209068c544426f2ef03ed506d226f1d4c99a734948f8e36",
+        "path": "org/apache/maven/archetype/archetype-descriptor/3.2.1/archetype-descriptor-3.2.1.jar"
+    },
+    {
+        "url": "org/codehaus/groovy/groovy-all/2.4.16/groovy-all-2.4.16.jar",
+        "hash": "42106c60e08eb147c294722b9c26bad26a148636ef244ab8d6092f5a09fa409e",
+        "path": "org/codehaus/groovy/groovy-all/2.4.16/groovy-all-2.4.16.jar"
+    },
+    {
+        "url": "org/apache/ivy/ivy/2.5.0/ivy-2.5.0.jar",
+        "hash": "2f4c835b52311df922f8a8eb057843de5485088b234ccd03e478b9066b5e6bfc",
+        "path": "org/apache/ivy/ivy/2.5.0/ivy-2.5.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.jar",
+        "hash": "405eef6fc9188241ec88579c3e473f5c8997455c69bcd62e142492aca15106bc",
+        "path": "org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.jar"
+    },
+    {
+        "url": "org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar",
+        "hash": "1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5",
+        "path": "org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-invoker/3.0.1/maven-invoker-3.0.1.jar",
+        "hash": "d20e5d26c19c04199c73fd4f0b6caebf4bbdc6b872a4504c5e71a192751d9464",
+        "path": "org/apache/maven/shared/maven-invoker/3.0.1/maven-invoker-3.0.1.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar",
+        "hash": "3ba9c619893c767db0f9c3e826d5118b57c35229301bcd16d865a89cec16a7e5",
+        "path": "org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar",
+        "hash": "1205a1f229999170dcadcfb885a278ad0bc2295540a251f4c438f887ead7bbd9",
+        "path": "org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar",
+        "hash": "1c98a4ec9eb0cb86ecf01710aa75c0346ee3f96edc6edeabcb21ed984120e154",
+        "path": "org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0/maven-model-3.0.jar",
+        "hash": "27e426d73f8662b47f60df0e43439b3dec2909c42b89175a6e4431dfed3edafd",
+        "path": "org/apache/maven/maven-model/3.0/maven-model-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar",
+        "hash": "c938e4d8cdf0674496749a87e6d3b29aa41b1b35a39898a1ade2bc9eae214c17",
+        "path": "org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar",
+        "hash": "1c5c5ac5e8f29aefc8faa051ffa14eccd85b9e20f4bb35dc82fba7d5da50d326",
+        "path": "org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar",
+        "hash": "ff690ffc550b7ada3a4b79ef4ca89bf002b24f43a13a35d10195c3bba63d7654",
+        "path": "org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar",
+        "hash": "288149850d8d131763df4151f7e443fd2739e48510a6e4cfe49ca082c76130fa",
+        "path": "org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar",
+        "hash": "f54a0a28ce3d62af0e1cfe41dde616f645c28e452e77f77b78bc36e74d5e1a69",
+        "path": "org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.jar",
+        "hash": "1ac88accde99ed71e65253bd130868c0e654f940f01ade073b895eb2f817cf06",
+        "path": "org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0/maven-core-3.0.jar",
+        "hash": "ba03294ee53e7ba31838e4950f280d033c7744c6c7b31253afc75aa351fbd989",
+        "path": "org/apache/maven/maven-core/3.0/maven-core-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar",
+        "hash": "3b1a46b4bc26a0176acaf99312ff2f3a631faf3224b0996af546aa48bd73c647",
+        "path": "org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar",
+        "hash": "e17e706c6f03c453f6000599cab607c2af5f1cc6e3a3b1e6fce27e5ef4999eab",
+        "path": "org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar",
+        "hash": "f5ecc6eaa4a32ee0c115d31525f588f491b2cc75fdeb4ed3c0c662c12ac0c32f",
+        "path": "org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar",
+        "hash": "a65e27aefbe74102d73cd7e3c5c7637021d294a9e7f33132f3c782a76714d0a3",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar",
+        "hash": "fb3160e1e3a7852b441016dbcc97a34e3cf4eeb8ceb9e82edf2729439858f080",
+        "path": "org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar",
+        "hash": "240113a2f22fd1f0b182b32baecf0e7876b3a8e41f3c4da3335eeb9ffb24b9f4",
+        "path": "org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar",
+        "hash": "7d95ad21733b060bfda2142b62439a196bde7644f9f127c299ae86d92179b518",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar",
+        "hash": "759079b9cf0cddae5ba06c96fd72347d82d0bc1d903c95d398c96522b139e470",
+        "path": "org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar"
+    },
+    {
+        "url": "org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar",
+        "hash": "82a584c58bd6a1b13861e2d4cc194b5afc09ca0adad9fda741f16337dcda2e96",
+        "path": "org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar"
+    },
+    {
+        "url": "org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar",
+        "hash": "fe30825245d2336c859dc38d60c0fc5f3668dbf29cd586828d2b5667ec355b91",
+        "path": "org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar"
+    },
+    {
+        "url": "commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar",
+        "hash": "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8",
+        "path": "commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.jar",
+        "hash": "b4c4a0dbeacad54306a1ae230eff5ab45d58e3ab88c86ab7245d3a0772be57ab",
+        "path": "org/codehaus/plexus/plexus-velocity/1.2/plexus-velocity-1.2.jar"
+    },
+    {
+        "url": "org/apache/velocity/velocity/1.7/velocity-1.7.jar",
+        "hash": "ec92dae810034f4b46dbb16ef4364a4013b0efb24a8c5dd67435cae46a290d8e",
+        "path": "org/apache/velocity/velocity/1.7/velocity-1.7.jar"
+    },
+    {
+        "url": "commons-lang/commons-lang/2.4/commons-lang-2.4.jar",
+        "hash": "2c73b940c91250bc98346926270f13a6a10bb6e29d2c9316a70d134e382c873e",
+        "path": "commons-lang/commons-lang/2.4/commons-lang-2.4.jar"
+    },
+    {
+        "url": "com/ibm/icu/icu4j/70.1/icu4j-70.1.jar",
+        "hash": "2b4d8d4e098e86aa5f905ec81c46751d218b16afd3f7fc02b64f80dd20fffa20",
+        "path": "com/ibm/icu/icu4j/70.1/icu4j-70.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar",
+        "hash": "070d55ec5a6f3e4a785564283a9704bb39a93f1a2f89cdf60a3b899fde563bf9",
+        "path": "org/apache/maven/maven-core/3.3.9/maven-core-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar",
+        "hash": "15abde67fa7ea1e573e1f68c34921e995f0971351aaf1fb96790688ff510efcd",
+        "path": "org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar",
+        "hash": "e4f569be53a076424e784222e7088f1827fcb2ef18d409132b3cda2fd92799e2",
+        "path": "org/apache/maven/maven-settings/3.3.9/maven-settings-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar",
+        "hash": "b4da54d52e2996a8a77c4db1ca8e98fc31792f07eeff695776f00ecffc3d5b60",
+        "path": "org/apache/maven/maven-settings-builder/3.3.9/maven-settings-builder-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar",
+        "hash": "462a0d711a979c44791b97422ec4e91300ae555a598f684f116d725a2b9d297b",
+        "path": "org/apache/maven/maven-builder-support/3.3.9/maven-builder-support-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar",
+        "hash": "6dbcc3d3d1dfb34df46c1ddb080fdd09fb899c80207016419cf13236c6b10399",
+        "path": "org/apache/maven/maven-repository-metadata/3.3.9/maven-repository-metadata-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar",
+        "hash": "1f702928f2233c6ecdf308fbd8f2932ea287c7062183d3c8364b0db7e9c4445d",
+        "path": "org/apache/maven/maven-artifact/3.3.9/maven-artifact-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar",
+        "hash": "14cae18fd7125901b12fc914e30ea26ad9bd43dbd399dd6e8fcbc6c754ef2c9c",
+        "path": "org/apache/maven/maven-plugin-api/3.3.9/maven-plugin-api-3.3.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar",
+        "hash": "6909cb229489e693df7960678528800a1759625835a1cb939c37b051c22193c3",
+        "path": "org/apache/maven/maven-model-builder/3.3.9/maven-model-builder-3.3.9.jar"
+    },
+    {
+        "url": "com/google/guava/guava/18.0/guava-18.0.jar",
+        "hash": "d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99",
+        "path": "com/google/guava/guava/18.0/guava-18.0.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar",
+        "hash": "f46962583d812cd4459a4cc963113b9c52f1f9b169172354693bc9efa0b3e3cb",
+        "path": "org/apache/maven/maven-aether-provider/3.3.9/maven-aether-provider-3.3.9.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar",
+        "hash": "2cafa2629da49edd54eb4df6d15f628c2d80eec293f37cd561f1fe78e7bcff9d",
+        "path": "org/eclipse/aether/aether-spi/1.0.2.v20150114/aether-spi-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar",
+        "hash": "9a84f5863407acf2bf9cf280cd02f5a518952a386de61df3b8c5db8cfdec725d",
+        "path": "org/eclipse/aether/aether-impl/1.0.2.v20150114/aether-impl-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar",
+        "hash": "3f74c7c7b9c924769cf3c5b4d52d21aa63e9a2ccbf16f5d26c30ebb31b99699d",
+        "path": "org/eclipse/aether/aether-api/1.0.2.v20150114/aether-api-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar",
+        "hash": "9e9a57439a98034732e94d841bb7065b56e3a065654361ca9cc07135e9fbe17c",
+        "path": "org/eclipse/aether/aether-util/1.0.2.v20150114/aether-util-1.0.2.v20150114.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar",
+        "hash": "f5cfe0d88e8276971db4ecff0e4186d5f2ec5fdb1b6bb8c2f359fdc4b43eb8b2",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.2/org.eclipse.sisu.plexus-0.3.2.jar"
+    },
+    {
+        "url": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar",
+        "hash": "1f10b2204cc77c919301f20ff90461c3df1b6e6cb148be1c2d22107f4851d423",
+        "path": "javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar"
+    },
+    {
+        "url": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar",
+        "hash": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f",
+        "path": "javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar"
+    },
+    {
+        "url": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar",
+        "hash": "66e87705a818da44eb080a7bb1fc431de987754b4f92aa85f69991bfc677d40d",
+        "path": "org/eclipse/sisu/org.eclipse.sisu.inject/0.3.2/org.eclipse.sisu.inject-0.3.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar",
+        "hash": "aba7980581027ad5fc74a27ee4d64aad74932fdb32694967242d03fc50290d1f",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar",
+        "hash": "0f31c44b275f87e56d46a582ce96d03b9e2ab344cf87c4e268b34d3ad046beab",
+        "path": "org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar",
+        "hash": "b2931d41740490a8d931cbe0cfe9ac20deb66cca606e679f52522f7f534c9fd7",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar",
+        "hash": "2b3a6ca5f19a9ad490bc233f45e68d3093c8c01b4acc3c1d14bad4ca7c7ff438",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.6/plexus-component-annotations-1.6.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar",
+        "hash": "734c8356420cc8e30c795d64fd1fcd5d44ea9d90342a2cc3262c5158fbc6d98b",
+        "path": "org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar"
+    },
+    {
+        "url": "com/google/inject/guice/4.0/guice-4.0.jar",
+        "hash": "b378ffc35e7f7125b3c5f3a461d4591ae1685e3c781392f0c854ed7b7581d6d2",
+        "path": "com/google/inject/guice/4.0/guice-4.0.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar",
+        "hash": "ac8e617f951ecde3c4f6bca4922fdd7861500fe7d58289f26ad5adac443075bc",
+        "path": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar",
+        "hash": "876a76b663db6c7326ad234afe430c473d3261a06b3284f31d5eb4889d1c3084",
+        "path": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar",
+        "hash": "d8f9f237afc21d8202eedffa29cbf6e9d46c78b3c22b217d16267216988221b9",
+        "path": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar",
+        "hash": "ac0e62e26b7f690e265ba75667531973b8a2da12b3b0ff102a612f05b42b6faf",
+        "path": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar",
+        "hash": "c867b4e075a4548bf27422542f96b159f94c4e7ffaaf6427b10433afd6a3a38c",
+        "path": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar",
+        "hash": "469505f75b8526a338cfd7e0ec841655ae52ddbcc1b36482e97d72f52ce7d890",
+        "path": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar",
+        "hash": "45a2c6ff76e12678eaf576bd7a68d028c5a5ba85fdc216a381ea86e9187e1b51",
+        "path": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar",
+        "hash": "c74327cd5d7b137c8be3591c766271ac8ace1a617518f0410b8a95579f9839b0",
+        "path": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar",
+        "hash": "d5de4e299be5a79feb1dbe8ff3814034c6e44314b4c00b92ffa8d97576ded5b3",
+        "path": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar",
+        "hash": "865511994805827e88f327944a089142bb7f3d88cde271ba3dceb732cb137a93",
+        "path": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar",
+        "hash": "687799a0ce988bee9e8eb9ae0ba870300adc0114248ad4a4327bdb625d27e010",
+        "path": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar",
+        "hash": "bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar",
+        "hash": "75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2",
+        "path": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar",
+        "hash": "259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar",
+        "hash": "a263933f43e9c273161e0b99f553c33a80a0416ec0bd5dca17d54cf38ae5956f",
+        "path": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar",
+        "hash": "9897e80ff6c08fc45b5b5ebd81d9e943a1087bdf0ad50cda457d616abbdaacd9",
+        "path": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar",
+        "hash": "e220097cffad96c2963ab12652ff8833ec6f40143d509f0a2ea59d22209b6ecd",
+        "path": "org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar",
+        "hash": "ac8e617f951ecde3c4f6bca4922fdd7861500fe7d58289f26ad5adac443075bc",
+        "path": "org/apache/maven/maven-core/3.0.5/maven-core-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar",
+        "hash": "876a76b663db6c7326ad234afe430c473d3261a06b3284f31d5eb4889d1c3084",
+        "path": "org/apache/maven/maven-model/3.0.5/maven-model-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar",
+        "hash": "d8f9f237afc21d8202eedffa29cbf6e9d46c78b3c22b217d16267216988221b9",
+        "path": "org/apache/maven/maven-settings/3.0.5/maven-settings-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar",
+        "hash": "ac0e62e26b7f690e265ba75667531973b8a2da12b3b0ff102a612f05b42b6faf",
+        "path": "org/apache/maven/maven-settings-builder/3.0.5/maven-settings-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar",
+        "hash": "c867b4e075a4548bf27422542f96b159f94c4e7ffaaf6427b10433afd6a3a38c",
+        "path": "org/apache/maven/maven-repository-metadata/3.0.5/maven-repository-metadata-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar",
+        "hash": "469505f75b8526a338cfd7e0ec841655ae52ddbcc1b36482e97d72f52ce7d890",
+        "path": "org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar",
+        "hash": "45a2c6ff76e12678eaf576bd7a68d028c5a5ba85fdc216a381ea86e9187e1b51",
+        "path": "org/apache/maven/maven-model-builder/3.0.5/maven-model-builder-3.0.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar",
+        "hash": "c74327cd5d7b137c8be3591c766271ac8ace1a617518f0410b8a95579f9839b0",
+        "path": "org/apache/maven/maven-aether-provider/3.0.5/maven-aether-provider-3.0.5.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar",
+        "hash": "d5de4e299be5a79feb1dbe8ff3814034c6e44314b4c00b92ffa8d97576ded5b3",
+        "path": "org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar",
+        "hash": "865511994805827e88f327944a089142bb7f3d88cde271ba3dceb732cb137a93",
+        "path": "org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar",
+        "hash": "ae8dc80232771f8913febfa410c5719e9ba8ded81fb99788e214fd676dbbe13f",
+        "path": "org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar",
+        "hash": "687799a0ce988bee9e8eb9ae0ba870300adc0114248ad4a4327bdb625d27e010",
+        "path": "org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar",
+        "hash": "bf9083fb846993689409b2bdbc735048e53bac6cc32707cde7ef84817b6e9365",
+        "path": "org/sonatype/sisu/sisu-inject-plexus/2.3.0/sisu-inject-plexus-2.3.0.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar",
+        "hash": "75819b29737c2bee1bfbda1011d455c7036738e0ef32ffbf85ba1d8fa157ceb2",
+        "path": "org/sonatype/sisu/sisu-inject-bean/2.3.0/sisu-inject-bean-2.3.0.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar",
+        "hash": "7fc63378d3e84663619b9bedace9f9fe78b276c2be3c62ca2245449294c84176",
+        "path": "org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar",
+        "hash": "259d528a29722cab6349d7e7d432e3fd4877c087ffcb04985a6612e97023bba8",
+        "path": "org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar",
+        "hash": "3b0559bb8432f28937efe6ca193ef54a8506d0075d73fd7406b9b116c6a11063",
+        "path": "org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar"
+    },
+    {
+        "url": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar",
+        "hash": "5a15fdba22669e0fdd06e10dcce6320879e1f7398fbc910cd0677b50672a78c4",
+        "path": "org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar",
+        "hash": "a263933f43e9c273161e0b99f553c33a80a0416ec0bd5dca17d54cf38ae5956f",
+        "path": "org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0.jar"
+    },
+    {
+        "url": "javax/inject/javax.inject/1/javax.inject-1.jar",
+        "hash": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff",
+        "path": "javax/inject/javax.inject/1/javax.inject-1.jar"
+    },
+    {
+        "url": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar",
+        "hash": "9897e80ff6c08fc45b5b5ebd81d9e943a1087bdf0ad50cda457d616abbdaacd9",
+        "path": "org/sonatype/sisu/sisu-guava/0.9.9/sisu-guava-0.9.9.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar",
+        "hash": "4df7a6a7be64b35bbccf60b5c115697f9ea3421d22674ae67135dde375fcca1f",
+        "path": "org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar"
+    },
+    {
+        "url": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar",
+        "hash": "c6d5e244dd2329971f91b8df666ffe9e0b00a7dd014d6ee073b6f6cb82877f5c",
+        "path": "org/apache/maven/maven-artifact/3.0.5/maven-artifact-3.0.5.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar",
+        "hash": "8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33",
+        "path": "org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar"
+    },
+    {
+        "url": "org/codehaus/plexus/plexus-archiver/3.0.3/plexus-archiver-3.0.3.jar",
+        "hash": "779d4a6878026fdaae6786683e33883d58f77df245fe38a7b444da12772190fc",
+        "path": "org/codehaus/plexus/plexus-archiver/3.0.3/plexus-archiver-3.0.3.jar"
+    },
+    {
+        "url": "org/jetbrains/idea/maven/maven-indexer-api-rt/2023.2/maven-indexer-api-rt-2023.2.jar",
+        "hash": "b9e8bb167267aa21219d9319d568d3e48198dde3756368e6102879d638248931",
+        "path": "org/jetbrains/idea/maven/maven-indexer-api-rt/2023.2/maven-indexer-api-rt-2023.2.jar"
+    },
+    {
+        "url": "com/google/apis/google-api-services-drive/v3-rev20230306-2.0.0/google-api-services-drive-v3-rev20230306-2.0.0.jar",
+        "hash": "a606dcd52e961402296c9774e92e998becccc5eee0fba79d5d9f9df6862c4718",
+        "path": "com/google/apis/google-api-services-drive/v3-rev20230306-2.0.0/google-api-services-drive-v3-rev20230306-2.0.0.jar"
+    },
+    {
+        "url": "com/google/api-client/google-api-client/2.2.0/google-api-client-2.2.0.jar",
+        "hash": "58eca9fb0a869391689ffc828b3bd0b19ac76042ff9fab4881eddf7fde76903f",
+        "path": "com/google/api-client/google-api-client/2.2.0/google-api-client-2.2.0.jar"
+    },
+    {
+        "url": "com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar",
+        "hash": "193edf97aefa28b93c5892bdc598bac34fa4c396588030084f290b1440e8b98a",
+        "path": "com/google/oauth-client/google-oauth-client/1.34.1/google-oauth-client-1.34.1.jar"
+    },
+    {
+        "url": "com/google/http-client/google-http-client-gson/1.42.3/google-http-client-gson-1.42.3.jar",
+        "hash": "8196efaa89c5f73b00b2b48edad02fcd78524259407c37ab1860737988545cee",
+        "path": "com/google/http-client/google-http-client-gson/1.42.3/google-http-client-gson-1.42.3.jar"
+    },
+    {
+        "url": "com/google/http-client/google-http-client/1.42.3/google-http-client-1.42.3.jar",
+        "hash": "e395dd1765e3e6bceb0c610706bcf4128de84bd6e65cf1d4adbf998b4114161c",
+        "path": "com/google/http-client/google-http-client/1.42.3/google-http-client-1.42.3.jar"
+    },
+    {
+        "url": "io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar",
+        "hash": "f1474d47f4b6b001558ad27b952e35eda5cc7146788877fc52938c6eba24b382",
+        "path": "io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar"
+    },
+    {
+        "url": "io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar",
+        "hash": "3ea995b55a4068be22989b70cc29a4d788c2d328d1d50613a7a9afd13fdd2d0a",
+        "path": "io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/scenebuilderkit/11.0.5/scenebuilderkit-11.0.5.jar",
+        "hash": "36cd8f5bc933bcf726fadfc5276f0efcc7873d3a532e4e164674d2e8919f4781",
+        "path": "org/jetbrains/intellij/deps/scenebuilderkit/11.0.5/scenebuilderkit-11.0.5.jar"
+    },
+    {
+        "url": "org/apache/ant/ant/1.7.1/ant-1.7.1.jar",
+        "hash": "ebe592c9af9fdb6c55f0e6c6fabc76f6e0eec8efdec535398e86c3a883687ebf",
+        "path": "org/apache/ant/ant/1.7.1/ant-1.7.1.jar"
+    },
+    {
+        "url": "org/apache/ant/ant-launcher/1.7.1/ant-launcher-1.7.1.jar",
+        "hash": "25eb5926c975ac6f4126feeb9d004f53f9ebf07dc117f5db9958a6bfb3110783",
+        "path": "org/apache/ant/ant-launcher/1.7.1/ant-launcher-1.7.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.9.3/completion-ranking-java-0.9.3.jar",
+        "hash": "e3dcfee71eb13467139a1385152bd28554c79c677738cb617a91a772ea6e9f87",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.9.3/completion-ranking-java-0.9.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/debugger-memory-agent/1.0.43/debugger-memory-agent-1.0.43.jar",
+        "hash": "8915bdd1d6afc9df4eb1003069f40b7d24794b869c7dd1c849e45c1eb98269d8",
+        "path": "org/jetbrains/intellij/deps/debugger-memory-agent/1.0.43/debugger-memory-agent-1.0.43.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar",
+        "hash": "eaee1397eb553601c29954945e6dafbd7b9a17983704da4088db4da65a156b21",
+        "path": "org/jetbrains/intellij/deps/sa-jdwp/1.22/sa-jdwp-1.22.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/debugger-agent/1.2/debugger-agent-1.2.jar",
+        "hash": "b724610d5798f5dad9c86d7fd3771ce155a0601b6153741e75c4d86fab100d84",
+        "path": "org/jetbrains/intellij/deps/debugger-agent/1.2/debugger-agent-1.2.jar"
+    },
+    {
+        "url": "org/jacoco/org.jacoco.ant/0.8.8/org.jacoco.ant-0.8.8.jar",
+        "hash": "02e33bd2c48dc0be67c2fea84d43beececfd400da6797c58153253d4c30aca15",
+        "path": "org/jacoco/org.jacoco.ant/0.8.8/org.jacoco.ant-0.8.8.jar"
+    },
+    {
+        "url": "org/jacoco/org.jacoco.core/0.8.8/org.jacoco.core-0.8.8.jar",
+        "hash": "474c782f809d88924713dfdbf0acb79d330f904be576484803463d0465611643",
+        "path": "org/jacoco/org.jacoco.core/0.8.8/org.jacoco.core-0.8.8.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm/9.2/asm-9.2.jar",
+        "hash": "b9d4fe4d71938df38839f0eca42aaaa64cf8b313d678da036f0cb3ca199b47f5",
+        "path": "org/ow2/asm/asm/9.2/asm-9.2.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar",
+        "hash": "be4ce53138a238bb522cd781cf91f3ba5ce2f6ca93ec62d46a162a127225e0a6",
+        "path": "org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar",
+        "hash": "878fbe521731c072d14d2d65b983b1beae6ad06fda0007b6a8bae81f73f433c4",
+        "path": "org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar"
+    },
+    {
+        "url": "org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar",
+        "hash": "aabf9bd23091a4ebfc109c1f3ee7cf3e4b89f6ba2d3f51c5243f16b3cffae011",
+        "path": "org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar"
+    },
+    {
+        "url": "org/jacoco/org.jacoco.report/0.8.8/org.jacoco.report-0.8.8.jar",
+        "hash": "2c129110f3e3fcaa1f8179578ea3894586199cb0826be5c7790278084c9622a9",
+        "path": "org/jacoco/org.jacoco.report/0.8.8/org.jacoco.report-0.8.8.jar"
+    },
+    {
+        "url": "org/jacoco/org.jacoco.agent/0.8.8/org.jacoco.agent-0.8.8.jar",
+        "hash": "072ecbd496896623899a696fff12c01c1615f737616d2792e6d0e10cdf8a610d",
+        "path": "org/jacoco/org.jacoco.agent/0.8.8/org.jacoco.agent-0.8.8.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/coverage-report/1.0.20/coverage-report-1.0.20.jar",
+        "hash": "5959f0aa7f33c74c8cde6babb2d9b92638f0e143461d2c37f6859f731c275c59",
+        "path": "org/jetbrains/intellij/deps/coverage-report/1.0.20/coverage-report-1.0.20.jar"
+    },
+    {
+        "url": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar",
+        "hash": "04d65ec1bde6cea20e3495d5e78ef96ab774d9936434861d3254bd88e7e94f92",
+        "path": "org/freemarker/freemarker/2.3.32/freemarker-2.3.32.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-transport-file/1.3.3/maven-resolver-transport-file-1.3.3.jar",
+        "hash": "e6842c1a2c9080e60fed7747d2375fedf7e51277a995b7c053426f68537bc9c3",
+        "path": "org/apache/maven/resolver/maven-resolver-transport-file/1.3.3/maven-resolver-transport-file-1.3.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-transport-http/1.3.3/maven-resolver-transport-http-1.3.3.jar",
+        "hash": "efe8d834e7b55c30e1e17a1a9171ffcf67915eb00c3b0f8a9b8f2bc8aa4752f8",
+        "path": "org/apache/maven/resolver/maven-resolver-transport-http/1.3.3/maven-resolver-transport-http-1.3.3.jar"
+    },
+    {
+        "url": "org/apache/maven/resolver/maven-resolver-connector-basic/1.3.3/maven-resolver-connector-basic-1.3.3.jar",
+        "hash": "273d2fe6bfe65986949d6e827794cf3ec43295af6dafe1d4186b6f3dd83c75a3",
+        "path": "org/apache/maven/resolver/maven-resolver-connector-basic/1.3.3/maven-resolver-connector-basic-1.3.3.jar"
+    },
+    {
+        "url": "com/jetbrains/intellij/documentation/tips-intellij-idea-community/223.48/tips-intellij-idea-community-223.48.jar",
+        "hash": "7bb5d2980f547b6c868abcbbfc50b4076b6675e0b1be7a888139242aaecaa83b",
+        "path": "com/jetbrains/intellij/documentation/tips-intellij-idea-community/223.48/tips-intellij-idea-community-223.48.jar"
+    },
+    {
+        "url": "org/spockframework/spock-core/2.1-groovy-3.0/spock-core-2.1-groovy-3.0.jar",
+        "hash": "fa8ff7446df04c51b3ccbc2a1bbc71f9c280878afe2d53be44d59d00b1b9828c",
+        "path": "org/spockframework/spock-core/2.1-groovy-3.0/spock-core-2.1-groovy-3.0.jar"
+    },
+    {
+        "url": "org/junit/platform/junit-platform-engine/1.8.1/junit-platform-engine-1.8.1.jar",
+        "hash": "702868ed7e86b9b4672ede0f1e185e905baca9afab57746a7c650be3c7bca047",
+        "path": "org/junit/platform/junit-platform-engine/1.8.1/junit-platform-engine-1.8.1.jar"
+    },
+    {
+        "url": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar",
+        "hash": "58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2",
+        "path": "org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar"
+    },
+    {
+        "url": "org/languagetool/languagetool-core/6.1/languagetool-core-6.1.jar",
+        "hash": "0214cac9c32594e6754023069dbc9715ef1cf1662e0142cada300d1e8ff3eded",
+        "path": "org/languagetool/languagetool-core/6.1/languagetool-core-6.1.jar"
+    },
+    {
+        "url": "org/languagetool/language-ru/6.1/language-ru-6.1.jar",
+        "hash": "79070a899b8d63acfde91f1f4f0772cc4f20a4c3f3d6d3dd5067821cb9215e70",
+        "path": "org/languagetool/language-ru/6.1/language-ru-6.1.jar"
+    },
+    {
+        "url": "org/languagetool/language-de/6.1/language-de-6.1.jar",
+        "hash": "6ab71360ab27c94a0098cdd746e00a81605883c30c0d651b10fc17fe513f7215",
+        "path": "org/languagetool/language-de/6.1/language-de-6.1.jar"
+    },
+    {
+        "url": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar",
+        "hash": "56f0b00adb704cbc1e86776b45f6890efe90685ab370a34b5b299593cdcaae22",
+        "path": "de/danielnaber/german-pos-dict/1.2.4/german-pos-dict-1.2.4.jar"
+    },
+    {
+        "url": "de/danielnaber/jwordsplitter/4.5/jwordsplitter-4.5.jar",
+        "hash": "5904e500073c3ed1dadcf56c9bf2712f7b222762d3072421b1c2d83e04795f43",
+        "path": "de/danielnaber/jwordsplitter/4.5/jwordsplitter-4.5.jar"
+    },
+    {
+        "url": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar",
+        "hash": "33021c9cca70c6292d53ff7dac5d1832d422e986aba52ec998532a5f47f921f8",
+        "path": "edu/washington/cs/knowitall/openregex/1.1.1/openregex-1.1.1.jar"
+    },
+    {
+        "url": "org/languagetool/language-it/6.1/language-it-6.1.jar",
+        "hash": "f2489582ada5e325870aa0904a8ba53701854b05e85d9896d7ae3d09d00a5a2b",
+        "path": "org/languagetool/language-it/6.1/language-it-6.1.jar"
+    },
+    {
+        "url": "org/apache/commons/commons-text/1.10.0/commons-text-1.10.0.jar",
+        "hash": "770cd903fa7b604d1f7ef7ba17f84108667294b2b478be8ed1af3bffb4ae0018",
+        "path": "org/apache/commons/commons-text/1.10.0/commons-text-1.10.0.jar"
+    },
+    {
+        "url": "org/languagetool/languagetool-core/6.1/languagetool-core-6.1.jar",
+        "hash": "0214cac9c32594e6754023069dbc9715ef1cf1662e0142cada300d1e8ff3eded",
+        "path": "org/languagetool/languagetool-core/6.1/languagetool-core-6.1.jar"
+    },
+    {
+        "url": "org/languagetool/language-en/6.1/language-en-6.1.jar",
+        "hash": "59a7c525cd3c4227c1e61bcf15912c792835c1616ff26c7aa7f583c47cbdd95e",
+        "path": "org/languagetool/language-en/6.1/language-en-6.1.jar"
+    },
+    {
+        "url": "net/loomchild/segment/2.0.1/segment-2.0.1.jar",
+        "hash": "00ffa85bb3aaf252ecfab4f97f8b49a8894aced02229529ff5c2a7ad31f94070",
+        "path": "net/loomchild/segment/2.0.1/segment-2.0.1.jar"
+    },
+    {
+        "url": "org/carrot2/morfologik-stemming/2.1.9/morfologik-stemming-2.1.9.jar",
+        "hash": "6170895b2315b697f4da5630caf57c6c441f1cb419d89d1cb5326b0673293e8a",
+        "path": "org/carrot2/morfologik-stemming/2.1.9/morfologik-stemming-2.1.9.jar"
+    },
+    {
+        "url": "org/carrot2/morfologik-speller/2.1.9/morfologik-speller-2.1.9.jar",
+        "hash": "8d2566a216f401380878f25196f84bd351b807b11f18bc71acd1417e04a1ec29",
+        "path": "org/carrot2/morfologik-speller/2.1.9/morfologik-speller-2.1.9.jar"
+    },
+    {
+        "url": "com/carrotsearch/hppc/0.9.1/hppc-0.9.1.jar",
+        "hash": "d58706a2be60c972452550cdba79870bf481447c50eb718308e33a6ba45c65ec",
+        "path": "com/carrotsearch/hppc/0.9.1/hppc-0.9.1.jar"
+    },
+    {
+        "url": "org/carrot2/morfologik-fsa-builders/2.1.9/morfologik-fsa-builders-2.1.9.jar",
+        "hash": "f418c519b49470c2ec7024086bf210ba370ff158732368005d3b8cef964d3fff",
+        "path": "org/carrot2/morfologik-fsa-builders/2.1.9/morfologik-fsa-builders-2.1.9.jar"
+    },
+    {
+        "url": "org/carrot2/morfologik-fsa/2.1.9/morfologik-fsa-2.1.9.jar",
+        "hash": "1bfefce937df14cc94d32a98ce59c33f4d5b6c0eddbb436b6bfe27ff2120a23d",
+        "path": "org/carrot2/morfologik-fsa/2.1.9/morfologik-fsa-2.1.9.jar"
+    },
+    {
+        "url": "tech/uom/lib/uom-lib-common/1.1/uom-lib-common-1.1.jar",
+        "hash": "4add5fbcb7f548b79230ed7e01cb9fd4f9e2524bd1598dbcbfd8150563fe27f7",
+        "path": "tech/uom/lib/uom-lib-common/1.1/uom-lib-common-1.1.jar"
+    },
+    {
+        "url": "tech/units/indriya/1.3/indriya-1.3.jar",
+        "hash": "7cbaa6f42e2c8412ef13cd0fb7f81936d64a1c3ea7c4f69cf75bb4e9410cb76b",
+        "path": "tech/units/indriya/1.3/indriya-1.3.jar"
+    },
+    {
+        "url": "javax/measure/unit-api/1.0/unit-api-1.0.jar",
+        "hash": "35da65fdbd3f9c1fe79cfc8399db975fd97660d8a219febfda9fd1a5fc058f10",
+        "path": "javax/measure/unit-api/1.0/unit-api-1.0.jar"
+    },
+    {
+        "url": "com/hankcs/aho-corasick-double-array-trie/1.2.3/aho-corasick-double-array-trie-1.2.3.jar",
+        "hash": "564f0fc690d50702a313510b9a72e9505ace6e81108e84f65de4feb0da244eb8",
+        "path": "com/hankcs/aho-corasick-double-array-trie/1.2.3/aho-corasick-double-array-trie-1.2.3.jar"
+    },
+    {
+        "url": "com/vdurmont/emoji-java/5.1.1/emoji-java-5.1.1.jar",
+        "hash": "537fae02b7b09de5e47de8f21df20c81af3cd373f369f61e20e00d54827539fb",
+        "path": "com/vdurmont/emoji-java/5.1.1/emoji-java-5.1.1.jar"
+    },
+    {
+        "url": "org/json/json/20170516/json-20170516.jar",
+        "hash": "813f37e4820f1854e8a4eb4f80df94bf1b1f2ec6c3b72692f23ab9a556256af6",
+        "path": "org/json/json/20170516/json-20170516.jar"
+    },
+    {
+        "url": "ai/grazie/utils/utils-lucene-lt-compatibility-jvm/0.2.181/utils-lucene-lt-compatibility-jvm-0.2.181.jar",
+        "hash": "cbc2a1339391d3ea1e059b192e7424dfff8593bcc5a1b674359714a817f4b705",
+        "path": "ai/grazie/utils/utils-lucene-lt-compatibility-jvm/0.2.181/utils-lucene-lt-compatibility-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar",
+        "hash": "b968dbbd0794e47c93d9f02a7849171b781cbec97e876703893156b8098d1d67",
+        "path": "ai/grazie/spell/gec-spell-engine-local-jvm/0.2.181/gec-spell-engine-local-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/utils/utils-common-jvm/0.2.181/utils-common-jvm-0.2.181.jar",
+        "hash": "2e7a050c3f089fe826d3ae60548134e13107a9bb7f255aac454eb5e2009d273d",
+        "path": "ai/grazie/utils/utils-common-jvm/0.2.181/utils-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/utils/utils-json-jvm/0.2.181/utils-json-jvm-0.2.181.jar",
+        "hash": "d309e93ded5d557273d3a6b0c19e30497f8e464d127d77077ba73d9420327bf7",
+        "path": "ai/grazie/utils/utils-json-jvm/0.2.181/utils-json-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-common-jvm/0.2.181/nlp-common-jvm-0.2.181.jar",
+        "hash": "04f7819509575671eff478c634cb5c82969e85e9bf1d0a6a99d99e76c661b8ab",
+        "path": "ai/grazie/nlp/nlp-common-jvm/0.2.181/nlp-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-tokenizer-jvm/0.2.181/nlp-tokenizer-jvm-0.2.181.jar",
+        "hash": "102375c6ecf3ca204f0b0fc27986355149a76f26ca8e3aded3be4cae61141b3a",
+        "path": "ai/grazie/nlp/nlp-tokenizer-jvm/0.2.181/nlp-tokenizer-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-langs-jvm/0.2.181/nlp-langs-jvm-0.2.181.jar",
+        "hash": "807fca2e2cdbbc87e3ef5e140f651898f795f660f952a83ad21efeb829311984",
+        "path": "ai/grazie/nlp/nlp-langs-jvm/0.2.181/nlp-langs-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-patterns-jvm/0.2.181/nlp-patterns-jvm-0.2.181.jar",
+        "hash": "f5890877d9a8a7ac801cf0cbdf4df239f44797978620fa943ea99380701e7f41",
+        "path": "ai/grazie/nlp/nlp-patterns-jvm/0.2.181/nlp-patterns-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/nlp/nlp-detect-jvm/0.2.181/nlp-detect-jvm-0.2.181.jar",
+        "hash": "a111002943aa5df409448862b89c56a0517b19161ad08e17cbc7a58bb48ccb2e",
+        "path": "ai/grazie/nlp/nlp-detect-jvm/0.2.181/nlp-detect-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/model/model-text-jvm/0.2.181/model-text-jvm-0.2.181.jar",
+        "hash": "62cc8ea821d734fef552da80b78c87c92f5e65322530b157c07aaefecf702b99",
+        "path": "ai/grazie/model/model-text-jvm/0.2.181/model-text-jvm-0.2.181.jar"
+    },
+    {
+        "url": "ai/grazie/model/model-common-jvm/0.2.181/model-common-jvm-0.2.181.jar",
+        "hash": "4aff241f00efbe7c17960a3a3efb1ba046586a562b53a25a68d2964fafff48d7",
+        "path": "ai/grazie/model/model-common-jvm/0.2.181/model-common-jvm-0.2.181.jar"
+    },
+    {
+        "url": "io/github/classgraph/classgraph/4.8.87/classgraph-4.8.87.jar",
+        "hash": "91d2a2b6048c5cfe19f3982ee84eb5c19cab1d741a45ae1b4360c068331f89e6",
+        "path": "io/github/classgraph/classgraph/4.8.87/classgraph-4.8.87.jar"
+    },
+    {
+        "url": "org/jeasy/easy-random-core/4.2.0/easy-random-core-4.2.0.jar",
+        "hash": "e37f9fd2680da69e6e4e0fef6472b53240a935a18804e957ef60ef20f36281de",
+        "path": "org/jeasy/easy-random-core/4.2.0/easy-random-core-4.2.0.jar"
+    },
+    {
+        "url": "org/objenesis/objenesis/3.1/objenesis-3.1.jar",
+        "hash": "cdb3d038c188de6f46ffd5cd930be2d5e5dba59c53b26437995d534e3db2fb80",
+        "path": "org/objenesis/objenesis/3.1/objenesis-3.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/filePrediction/model/file-prediction-model/0.3.0/file-prediction-model-0.3.0.jar",
+        "hash": "e506fd77462afcdb16f0ccfe7c96c1549443580a3be240c5dcff1ae2bfac0555",
+        "path": "org/jetbrains/intellij/deps/filePrediction/model/file-prediction-model/0.3.0/file-prediction-model-0.3.0.jar"
+    },
+    {
+        "url": "com/github/ajalt/clikt/2.2.0/clikt-2.2.0.jar",
+        "hash": "beb3136d06764ec8ce0810a8fd6c8b7b49d04287d1deef3a07c016e43a458d33",
+        "path": "com/github/ajalt/clikt/2.2.0/clikt-2.2.0.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-java/5.0.0-RC1/cucumber-java-5.0.0-RC1.jar",
+        "hash": "789e598804155bcca83a01071382af90d0e9e1f6c686c881800b07fc0c1ea3c4",
+        "path": "io/cucumber/cucumber-java/5.0.0-RC1/cucumber-java-5.0.0-RC1.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-core/5.0.0-RC1/cucumber-core-5.0.0-RC1.jar",
+        "hash": "ada4315573c505d9dbb03cb0624f4a4e9fe9af92f4d278c4d7eb0422cdf299ff",
+        "path": "io/cucumber/cucumber-core/5.0.0-RC1/cucumber-core-5.0.0-RC1.jar"
+    },
+    {
+        "url": "io/cucumber/gherkin/5.2.0/gherkin-5.2.0.jar",
+        "hash": "ab8af6e8e1f5bea8cf04aeb6e87a96121d554132615c35d1d0d0bb8aac6ebe05",
+        "path": "io/cucumber/gherkin/5.2.0/gherkin-5.2.0.jar"
+    },
+    {
+        "url": "io/cucumber/gherkin-jvm-deps/1.0.6/gherkin-jvm-deps-1.0.6.jar",
+        "hash": "6ac4b12c6b694ac9ee4eecc8949cf7976d1bd892871cf816298de404bde44bb2",
+        "path": "io/cucumber/gherkin-jvm-deps/1.0.6/gherkin-jvm-deps-1.0.6.jar"
+    },
+    {
+        "url": "io/cucumber/tag-expressions/2.0.2/tag-expressions-2.0.2.jar",
+        "hash": "2c0fd9f293b2ca0ce22531b8769dc2aef37eb704f1212030513a90f6eb975476",
+        "path": "io/cucumber/tag-expressions/2.0.2/tag-expressions-2.0.2.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-expressions/8.0.0/cucumber-expressions-8.0.0.jar",
+        "hash": "81ad14ebf1a885ab4a201f0e48695eb60d8c55265c8323d49b98a0e34093e30b",
+        "path": "io/cucumber/cucumber-expressions/8.0.0/cucumber-expressions-8.0.0.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-core/2.1/hamcrest-core-2.1.jar",
+        "hash": "e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9",
+        "path": "org/hamcrest/hamcrest-core/2.1/hamcrest-core-2.1.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest/2.1/hamcrest-2.1.jar",
+        "hash": "ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050",
+        "path": "org/hamcrest/hamcrest/2.1/hamcrest-2.1.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-library/2.1/hamcrest-library-2.1.jar",
+        "hash": "b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21",
+        "path": "org/hamcrest/hamcrest-library/2.1/hamcrest-library-2.1.jar"
+    },
+    {
+        "url": "io/cucumber/datatable/3.0.0/datatable-3.0.0.jar",
+        "hash": "c021f59d4d914edc42cb4c40dc440dca05f36902e0eb36c0307ed2d192ae0860",
+        "path": "io/cucumber/datatable/3.0.0/datatable-3.0.0.jar"
+    },
+    {
+        "url": "io/cucumber/datatable-dependencies/3.0.0/datatable-dependencies-3.0.0.jar",
+        "hash": "0348ab1b354dbaa327ee3bead884cf6d7b4cb23c086d803012dbb7cc319277b0",
+        "path": "io/cucumber/datatable-dependencies/3.0.0/datatable-dependencies-3.0.0.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-plugin/5.0.0-RC1/cucumber-plugin-5.0.0-RC1.jar",
+        "hash": "4d4cc28f9c73f5137db7b0ecd371d33696f5eac18db6c1ef65b65dd16275b3f3",
+        "path": "io/cucumber/cucumber-plugin/5.0.0-RC1/cucumber-plugin-5.0.0-RC1.jar"
+    },
+    {
+        "url": "io/cucumber/docstring/5.0.0-RC1/docstring-5.0.0-RC1.jar",
+        "hash": "90049802a975fde907069eea511687871b53824027ba54d2b7d7f447502e5d59",
+        "path": "io/cucumber/docstring/5.0.0-RC1/docstring-5.0.0-RC1.jar"
+    },
+    {
+        "url": "org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar",
+        "hash": "a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4",
+        "path": "org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-core/4.0.1/cucumber-core-4.0.1.jar",
+        "hash": "25c52c0401f0786f66be90e384e765dbe0358b73fddd8874f7029da5f1b3c259",
+        "path": "io/cucumber/cucumber-core/4.0.1/cucumber-core-4.0.1.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-html/0.2.7/cucumber-html-0.2.7.jar",
+        "hash": "c2413a16c107a137f7a9d73f24af17211ef9580eef5fc2fab589610166781099",
+        "path": "io/cucumber/cucumber-html/0.2.7/cucumber-html-0.2.7.jar"
+    },
+    {
+        "url": "io/cucumber/gherkin/5.1.0/gherkin-5.1.0.jar",
+        "hash": "67f1cedeb8e85e6af84f89a8fe70bafaf6216dfad7a46b76fe10c5ee814e51e3",
+        "path": "io/cucumber/gherkin/5.1.0/gherkin-5.1.0.jar"
+    },
+    {
+        "url": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar",
+        "hash": "e5a0a71fb846752900c0e5a99aa13e5a1bbc3ec97e7faf26803648fa45215584",
+        "path": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-expressions/6.1.0/cucumber-expressions-6.1.0.jar",
+        "hash": "660ba952417b95cfb22dda2e8be6fba46f521188e4f8a47ae9614f675bdb9bb8",
+        "path": "io/cucumber/cucumber-expressions/6.1.0/cucumber-expressions-6.1.0.jar"
+    },
+    {
+        "url": "io/cucumber/datatable/1.1.3/datatable-1.1.3.jar",
+        "hash": "487db14bc5471639a5b05e66f3b5f60ca3f73f9d984088ba88c64078709f38aa",
+        "path": "io/cucumber/datatable/1.1.3/datatable-1.1.3.jar"
+    },
+    {
+        "url": "io/cucumber/datatable-dependencies/1.1.3/datatable-dependencies-1.1.3.jar",
+        "hash": "33b9c48799b681328ec865756a0eb9c8ade946052ef1409a4d882e438956692c",
+        "path": "io/cucumber/datatable-dependencies/1.1.3/datatable-dependencies-1.1.3.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-core/3.0.2/cucumber-core-3.0.2.jar",
+        "hash": "d3fc5dce5cd26a8a71a94b932395b9588c1c6abbd40c49c2281da74e5e48f6a4",
+        "path": "io/cucumber/cucumber-core/3.0.2/cucumber-core-3.0.2.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-html/0.2.7/cucumber-html-0.2.7.jar",
+        "hash": "c2413a16c107a137f7a9d73f24af17211ef9580eef5fc2fab589610166781099",
+        "path": "io/cucumber/cucumber-html/0.2.7/cucumber-html-0.2.7.jar"
+    },
+    {
+        "url": "io/cucumber/gherkin/5.0.0/gherkin-5.0.0.jar",
+        "hash": "e35cfa4a16204bf59fa167bb6d45be0717d6b7cfba1c30f156d8f21cde2f4065",
+        "path": "io/cucumber/gherkin/5.0.0/gherkin-5.0.0.jar"
+    },
+    {
+        "url": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar",
+        "hash": "e5a0a71fb846752900c0e5a99aa13e5a1bbc3ec97e7faf26803648fa45215584",
+        "path": "io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar"
+    },
+    {
+        "url": "io/cucumber/cucumber-expressions/5.0.19/cucumber-expressions-5.0.19.jar",
+        "hash": "e7e296e57f911d4f3827df55753611446c427fc46f41ecb94d5e9f9dacda872a",
+        "path": "io/cucumber/cucumber-expressions/5.0.19/cucumber-expressions-5.0.19.jar"
+    },
+    {
+        "url": "io/cucumber/datatable/1.0.3/datatable-1.0.3.jar",
+        "hash": "0d7fa64225d159ee9d29554ea6fa2bd0891319e5c06a3b0b58db2decf72fd6f2",
+        "path": "io/cucumber/datatable/1.0.3/datatable-1.0.3.jar"
+    },
+    {
+        "url": "io/cucumber/datatable-dependencies/1.0.3/datatable-dependencies-1.0.3.jar",
+        "hash": "ec82d25da10509aab64430406fbcdc9a376f1c55a0081cf1326429ff691fc99d",
+        "path": "io/cucumber/datatable-dependencies/1.0.3/datatable-dependencies-1.0.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.8.2/completion-ranking-java-0.8.2.jar",
+        "hash": "c1686a3bfa4f29059b39ec51c6d6774fe11933d11aebd95bdb0d94e3ad9d3905",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.8.2/completion-ranking-java-0.8.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.9.2/completion-ranking-java-0.9.2.jar",
+        "hash": "2492dead3c2800e114634681b25b6e718df17005107ed4f1d30403e3aedffeb9",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-java/0.9.2/completion-ranking-java-0.9.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0.3.4/completion-ranking-kotlin-0.3.4.jar",
+        "hash": "c4aed95367eeff94afb97ccf969bc65adee1292e24b61170838cfd0b732384c9",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0.3.4/completion-ranking-kotlin-0.3.4.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-scala/0.4.1/completion-ranking-scala-0.4.1.jar",
+        "hash": "2bbdd2aeaa31dc35180490ba20ee3096097e8ca4bcecdd1b80a1c162487d3c15",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-scala/0.4.1/completion-ranking-scala-0.4.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-rust/0.4.0/completion-ranking-rust-0.4.0.jar",
+        "hash": "1a220f42926fc3ac2bfce50c521aced95821ef8e8e7478a00e884acbbdc98248",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-rust/0.4.0/completion-ranking-rust-0.4.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-python/0.3.2/completion-ranking-python-0.3.2.jar",
+        "hash": "f8f253b40454960df2f9b744b98ba5a08b490db4227fb2e97cfa1d18d103321a",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-python/0.3.2/completion-ranking-python-0.3.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-php/0.2.4/completion-ranking-php-0.2.4.jar",
+        "hash": "b73ea2290e95b8f8350a3bcf1c1ab260aed8a249049501f4b175c8dda0f04a78",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-php/0.2.4/completion-ranking-php-0.2.4.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-ruby/0.2.4/completion-ranking-ruby-0.2.4.jar",
+        "hash": "10392061789cf7c0101931dbfe851355b3fd33c9249947586d855a9180c439a7",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-ruby/0.2.4/completion-ranking-ruby-0.2.4.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-go/0.2.4/completion-ranking-go-0.2.4.jar",
+        "hash": "a5b09d91c7633fa4dede7c640f189dce258c69aa65874f4eaca0a799a5fc35f9",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-go/0.2.4/completion-ranking-go-0.2.4.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-js/0.3.0/completion-ranking-js-0.3.0.jar",
+        "hash": "e73816d0b63fa701e916b89f44559f6b8f104501f8b4f2feb300ac513e7a3850",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-js/0.3.0/completion-ranking-js-0.3.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-typescript/0.4.0/completion-ranking-typescript-0.4.0.jar",
+        "hash": "1ad40bce28263d3e4ff3e140949211d8812b05a6a0f121e92cb23980832838fc",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-typescript/0.4.0/completion-ranking-typescript-0.4.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-dart/0.0.2/completion-ranking-dart-0.0.2.jar",
+        "hash": "024322c6d09f72f9bddeb94d52e803d235a9afc284bc3efe7dfbc9de58d4fa6f",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-dart/0.0.2/completion-ranking-dart-0.0.2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-swift/0.1.3/completion-ranking-swift-0.1.3.jar",
+        "hash": "c1d511070b2900ced87e03443091640ff7758f5064ff14d3503d6c8f50d28c1b",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-swift/0.1.3/completion-ranking-swift-0.1.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/completion/completion-ranking-cpp/0.1.5/completion-ranking-cpp-0.1.5.jar",
+        "hash": "2c09237e1e0e76d571b77c4f43371d8cd828903ffa442f0e3593894bce3021c3",
+        "path": "org/jetbrains/intellij/deps/completion/completion-ranking-cpp/0.1.5/completion-ranking-cpp-0.1.5.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-result-listener-gradle-proto/223.0.1.0/libstudio.android-test-plugin-result-listener-gradle-proto-223.0.1.0.jar",
+        "hash": "66ef739fbba469adaf5a156521ad31299f409e536fe45a19f6b4b48a015e9a43",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-result-listener-gradle-proto/223.0.1.0/libstudio.android-test-plugin-result-listener-gradle-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libserver-flag-test-proto/223.0.1.0/libserver-flag-test-proto-223.0.1.0.jar",
+        "hash": "f2aff0fdc4b9eeb19459b71b2d0258cfac15000a2d22bf37b6d2502f71d0782e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libserver-flag-test-proto/223.0.1.0/libserver-flag-test-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar",
+        "hash": "5c2211d1d24ebc87df24fd0929c2b3f24e2ca54dadaeb347630be88036dbee97",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar"
+    },
+    {
+        "url": "androidx/tracing/tracing-perfetto-common/1.0.0-alpha01/tracing-perfetto-common-1.0.0-alpha01.jar",
+        "hash": "d2b985280c57c9f5d03cce09650ee60a450021865a6f5d42780cc898e99f0c91",
+        "path": "androidx/tracing/tracing-perfetto-common/1.0.0-alpha01/tracing-perfetto-common-1.0.0-alpha01.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar",
+        "hash": "5c2211d1d24ebc87df24fd0929c2b3f24e2ca54dadaeb347630be88036dbee97",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar",
+        "hash": "5c2211d1d24ebc87df24fd0929c2b3f24e2ca54dadaeb347630be88036dbee97",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/traceprocessor_protos/223.0.1.0/traceprocessor_protos-223.0.1.0.jar"
+    },
+    {
+        "url": "org/eclipse/elk/org.eclipse.elk.alg.layered/0.3.0/org.eclipse.elk.alg.layered-0.3.0.jar",
+        "hash": "08267d824581f81af8a196d4551decae1256a454e618409a363e3e1574b06520",
+        "path": "org/eclipse/elk/org.eclipse.elk.alg.layered/0.3.0/org.eclipse.elk.alg.layered-0.3.0.jar"
+    },
+    {
+        "url": "org/eclipse/elk/org.eclipse.elk.core/0.3.0/org.eclipse.elk.core-0.3.0.jar",
+        "hash": "7ec333e41fb3924fb85f50c54b6aff0587c3b19935447f1c35c95e10752a7bdc",
+        "path": "org/eclipse/elk/org.eclipse.elk.core/0.3.0/org.eclipse.elk.core-0.3.0.jar"
+    },
+    {
+        "url": "org/eclipse/elk/org.eclipse.elk.graph/0.3.0/org.eclipse.elk.graph-0.3.0.jar",
+        "hash": "3d8d9bf2df6e72c8a2dfd42adf79e3b8b417cd76958b3912a7dd62dfef816ca3",
+        "path": "org/eclipse/elk/org.eclipse.elk.graph/0.3.0/org.eclipse.elk.graph-0.3.0.jar"
+    },
+    {
+        "url": "org/eclipse/emf/org.eclipse.emf.common/2.12.0/org.eclipse.emf.common-2.12.0.jar",
+        "hash": "80b9ddd0174bbc5623767ed9f4c96b17ae98ffaefb8edbcc780d59b0d7efef83",
+        "path": "org/eclipse/emf/org.eclipse.emf.common/2.12.0/org.eclipse.emf.common-2.12.0.jar"
+    },
+    {
+        "url": "org/eclipse/emf/org.eclipse.emf.ecore/2.12.0/org.eclipse.emf.ecore-2.12.0.jar",
+        "hash": "2ac691cc4fa09fdf18beef6bdd457b7bdfe4d301f9707a8c89c6cb209139f4f9",
+        "path": "org/eclipse/emf/org.eclipse.emf.ecore/2.12.0/org.eclipse.emf.ecore-2.12.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar",
+        "hash": "1c237d8045d2eff0c093363d8e22cd29014c8c4ec540185656cfb4eb3007b6f8",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libjava_sites/223.0.1.0/libjava_sites-223.0.1.0.jar",
+        "hash": "13b71bbf5023496373c78235f720324a6f304c95605bdecbec672d73a8bfcd2e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libjava_sites/223.0.1.0/libjava_sites-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/223.0.1.0/libandroid-core-proto-223.0.1.0.jar",
+        "hash": "e2cf0b8d5402b75827be7b44c195041f543586a185c21dad1422500623b5391a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/223.0.1.0/libandroid-core-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/223.0.1.0/libandroid-core-proto-test-223.0.1.0.jar",
+        "hash": "0fcb7d4212ea7581921e640297fa17d0f3bfa25cd511c49e1246041ccfa12ad8",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto-test/223.0.1.0/libandroid-core-proto-test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/223.0.1.0/libstudio.android-test-plugin-host-retention-proto-223.0.1.0.jar",
+        "hash": "787fa80e8668b468e7372edf252333cd2d909383b1b43596339be4701f396e33",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/223.0.1.0/libstudio.android-test-plugin-host-retention-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/223.0.1.0/libandroid-core-proto-223.0.1.0.jar",
+        "hash": "e2cf0b8d5402b75827be7b44c195041f543586a185c21dad1422500623b5391a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libandroid-core-proto/223.0.1.0/libandroid-core-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/223.0.1.0/libstudio.android-test-plugin-host-retention-proto-223.0.1.0.jar",
+        "hash": "787fa80e8668b468e7372edf252333cd2d909383b1b43596339be4701f396e33",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libstudio.android-test-plugin-host-retention-proto/223.0.1.0/libstudio.android-test-plugin-host-retention-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar",
+        "hash": "1c237d8045d2eff0c093363d8e22cd29014c8c4ec540185656cfb4eb3007b6f8",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar"
+    },
+    {
+        "url": "com/android/tools/build/apkzlib/7.3.1/apkzlib-7.3.1.jar",
+        "hash": "415c5d5adff68b0ebd700e27c04c150683e65d5731d47fdb018eae391f70768c",
+        "path": "com/android/tools/build/apkzlib/7.3.1/apkzlib-7.3.1.jar"
+    },
+    {
+        "url": "com/android/tools/build/apksig/7.3.1/apksig-7.3.1.jar",
+        "hash": "6d6a13a51ac3806c11af5f0967092055e35a67df6a74bff1544d9f5518c5ad55",
+        "path": "com/android/tools/build/apksig/7.3.1/apksig-7.3.1.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/build-analysis-results-proto/223.0.1.0/build-analysis-results-proto-223.0.1.0.jar",
+        "hash": "99bb80fcc279a81838095ffe321d106316d1bf2f18086cfa8b31d0f55846f2e6",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/build-analysis-results-proto/223.0.1.0/build-analysis-results-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/build-analysis-results-proto/223.0.1.0/build-analysis-results-proto-223.0.1.0.jar",
+        "hash": "99bb80fcc279a81838095ffe321d106316d1bf2f18086cfa8b31d0f55846f2e6",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/build-analysis-results-proto/223.0.1.0/build-analysis-results-proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/asdriver_proto/223.0.1.0/asdriver_proto-223.0.1.0.jar",
+        "hash": "cbd08c3bd4cac45e3a7aac804332f2b75ca46b5aeb64c1eba55f0f26b83f59f2",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/asdriver_proto/223.0.1.0/asdriver_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/asdriver_proto/223.0.1.0/asdriver_proto-223.0.1.0.jar",
+        "hash": "cbd08c3bd4cac45e3a7aac804332f2b75ca46b5aeb64c1eba55f0f26b83f59f2",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/asdriver_proto/223.0.1.0/asdriver_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar",
+        "hash": "93a35166e8da6e10456325dcf7fe10717db203c48688a3e42ce3f912d7a59a57",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar",
+        "hash": "270cf0afdecbc1eabbbd70008300bc108ce86141b50accd4ba80e70bf1cec506",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar",
+        "hash": "93a35166e8da6e10456325dcf7fe10717db203c48688a3e42ce3f912d7a59a57",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar",
+        "hash": "270cf0afdecbc1eabbbd70008300bc108ce86141b50accd4ba80e70bf1cec506",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar",
+        "hash": "93a35166e8da6e10456325dcf7fe10717db203c48688a3e42ce3f912d7a59a57",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/backgroundtask_inspector_java_proto/223.0.1.0/backgroundtask_inspector_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar",
+        "hash": "270cf0afdecbc1eabbbd70008300bc108ce86141b50accd4ba80e70bf1cec506",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/workmanager_inspector_proto/223.0.1.0/workmanager_inspector_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations/223.0.1.0/studio.android.sdktools.android-annotations-223.0.1.0.jar",
+        "hash": "4013a7184f41205bb08169bd3080fe757aeffe684e886ffb6428eb24a220ce23",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations/223.0.1.0/studio.android.sdktools.android-annotations-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common/223.0.1.0/studio.android.sdktools.common-223.0.1.0.jar",
+        "hash": "732fcd5f6d3387ab5d137d575cb582b6ee4f76bcd3b1770bc1cf14780c98f471",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common/223.0.1.0/studio.android.sdktools.common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.zipflinger/223.0.1.0/studio.android.sdktools.zipflinger-223.0.1.0.jar",
+        "hash": "806b72297242c889e402bcefe01e39a3641dc3372c2d6e650fbbd5e4e88dc1b1",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.zipflinger/223.0.1.0/studio.android.sdktools.zipflinger-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.zipflinger_test/223.0.1.0/studio.android.sdktools.zipflinger_test-223.0.1.0.jar",
+        "hash": "db1e307f8d935b22e45650a49c863a9292c436bc0e1064b3a93679cd5a20268f",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.zipflinger_test/223.0.1.0/studio.android.sdktools.zipflinger_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.plugin/223.0.1.0/studio.intellij.android.wizardTemplate.plugin-223.0.1.0.jar",
+        "hash": "ff81f3d216cfcf6944352655608cb1b372f42513ba87bf907ffb4ad7754dad6a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.plugin/223.0.1.0/studio.intellij.android.wizardTemplate.plugin-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.plugin_test/223.0.1.0/studio.intellij.android.wizardTemplate.plugin_test-223.0.1.0.jar",
+        "hash": "a7191af31a7dcec5ce17b87f45024fc692c515b2c149dded2777dc2c123a1edd",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.plugin_test/223.0.1.0/studio.intellij.android.wizardTemplate.plugin_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.impl/223.0.1.0/studio.intellij.android.wizardTemplate.impl-223.0.1.0.jar",
+        "hash": "367b77279f1ba4387d206972f772c732c2f1ca6e017a1ff86868e68bb9269a43",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.impl/223.0.1.0/studio.intellij.android.wizardTemplate.impl-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.impl_test/223.0.1.0/studio.intellij.android.wizardTemplate.impl_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.intellij.android.wizardTemplate.impl_test/223.0.1.0/studio.intellij.android.wizardTemplate.impl_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.usb-devices/223.0.1.0/studio.usb-devices-223.0.1.0.jar",
+        "hash": "6865cdb827ee09c51dbf19c0e7ae2b81504f64fa20250f77c48b181df8f5a5d1",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.usb-devices/223.0.1.0/studio.usb-devices-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.usb-devices_test/223.0.1.0/studio.usb-devices_test-223.0.1.0.jar",
+        "hash": "6d38e62192abe7b7a52c12f49ccf8afa4986d0d5097517094d9d9d9a9543a536",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.usb-devices_test/223.0.1.0/studio.usb-devices_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.tracer/223.0.1.0/studio.android.sdktools.tracer-223.0.1.0.jar",
+        "hash": "a599465ec7d5f0da9e736b65c47a746c41021194b08ef4047e402130b40eac97",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.tracer/223.0.1.0/studio.android.sdktools.tracer-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.tracer_test/223.0.1.0/studio.android.sdktools.tracer_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.tracer_test/223.0.1.0/studio.android.sdktools.tracer_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.threading-agent-callback/223.0.1.0/studio.android.sdktools.threading-agent-callback-223.0.1.0.jar",
+        "hash": "070323e55f9bc05d20cdf8e1281c4a9909a72404707ebc45395c1d96de4f9fb3",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.threading-agent-callback/223.0.1.0/studio.android.sdktools.threading-agent-callback-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.threading-agent-callback_test/223.0.1.0/studio.android.sdktools.threading-agent-callback_test-223.0.1.0.jar",
+        "hash": "a6b62dafc4b4d2febfd2e79761c4454bd6e76d7a11b5c3ec8994c56f79241790",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.threading-agent-callback_test/223.0.1.0/studio.android.sdktools.threading-agent-callback_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.testutils/223.0.1.0/studio.android.sdktools.testutils-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.testutils/223.0.1.0/studio.android.sdktools.testutils-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.testutils_test/223.0.1.0/studio.android.sdktools.testutils_test-223.0.1.0.jar",
+        "hash": "4eb627a9e819c9dfb860a96e3710292605e0510c3bc303d1abbde4f4bcba9552",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.testutils_test/223.0.1.0/studio.android.sdktools.testutils_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdklib/223.0.1.0/studio.android.sdktools.sdklib-223.0.1.0.jar",
+        "hash": "8a72f4169f7d18c04ef8e88511bdabcbe24f10c4b47029d5869884e5223e63c2",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdklib/223.0.1.0/studio.android.sdktools.sdklib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdklib_test/223.0.1.0/studio.android.sdktools.sdklib_test-223.0.1.0.jar",
+        "hash": "e01efdfc45171529c356ea9c327bb2b15ee412d459a4f34a99b8855edf6b53b4",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdklib_test/223.0.1.0/studio.android.sdktools.sdklib_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdk-common/223.0.1.0/studio.android.sdktools.sdk-common-223.0.1.0.jar",
+        "hash": "fe8f08431c9edb25eaa528fe12aa876417beac2cdb6fdc60d5bf0e1b71edbffb",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdk-common/223.0.1.0/studio.android.sdktools.sdk-common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdk-common_test/223.0.1.0/studio.android.sdktools.sdk-common_test-223.0.1.0.jar",
+        "hash": "61e76755f7a33f32510703fd3454489bb853fc9d1152057f159e08a4f92c8d1d",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.sdk-common_test/223.0.1.0/studio.android.sdktools.sdk-common_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.resource-repository/223.0.1.0/studio.android.sdktools.resource-repository-223.0.1.0.jar",
+        "hash": "33db8f323b286f737a5e44238ec2090cefe073a20c73c52560748406cbfe72e6",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.resource-repository/223.0.1.0/studio.android.sdktools.resource-repository-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.resource-repository_test/223.0.1.0/studio.android.sdktools.resource-repository_test-223.0.1.0.jar",
+        "hash": "41f55b51ed5c1bdd387000c3d15e30914605886ce6891f0dc98dbf744f2a5b74",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.resource-repository_test/223.0.1.0/studio.android.sdktools.resource-repository_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.repository/223.0.1.0/studio.android.sdktools.repository-223.0.1.0.jar",
+        "hash": "242d96ced9bdf7532d10d27f1be938b199d94c56392f8770ccde1442dae5250e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.repository/223.0.1.0/studio.android.sdktools.repository-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.repository_test/223.0.1.0/studio.android.sdktools.repository_test-223.0.1.0.jar",
+        "hash": "9ed9dcd20a199f557d961d9eb7ae9f5ee43ff43c32886b89cf834edf3c76a894",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.repository_test/223.0.1.0/studio.android.sdktools.repository_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.profgen/223.0.1.0/studio.android.sdktools.profgen-223.0.1.0.jar",
+        "hash": "6d43a3448e3b9c383480cfc012d7441fb244aac95c7016fcd76cfab50c9b2c59",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.profgen/223.0.1.0/studio.android.sdktools.profgen-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.profgen_test/223.0.1.0/studio.android.sdktools.profgen_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.profgen_test/223.0.1.0/studio.android.sdktools.profgen_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.process-monitor/223.0.1.0/studio.android.sdktools.process-monitor-223.0.1.0.jar",
+        "hash": "03dd0355077f9d638586fa978630bcd716ca211211c739edc7147c5869cca3bf",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.process-monitor/223.0.1.0/studio.android.sdktools.process-monitor-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.process-monitor_test/223.0.1.0/studio.android.sdktools.process-monitor_test-223.0.1.0.jar",
+        "hash": "529bb00ddb144df6bd915f859d05b5b62046d88119a1d6fb2d9683a4621196e6",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.process-monitor_test/223.0.1.0/studio.android.sdktools.process-monitor_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.pixelprobe/223.0.1.0/studio.android.sdktools.pixelprobe-223.0.1.0.jar",
+        "hash": "aa879ff4482de9f41c25081598c1000bb551de587a611caec82cae2e5be89182",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.pixelprobe/223.0.1.0/studio.android.sdktools.pixelprobe-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.pixelprobe_test/223.0.1.0/studio.android.sdktools.pixelprobe_test-223.0.1.0.jar",
+        "hash": "6255807e8284beccd3dfb31d82f76f4092a449a9d7965b258fff2918e8473313",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.pixelprobe_test/223.0.1.0/studio.android.sdktools.pixelprobe_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.perflib/223.0.1.0/studio.android.sdktools.perflib-223.0.1.0.jar",
+        "hash": "012564a6d57589e4e0f0f08147fede6a041b504c3f69b7959a988dece55fa7a0",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.perflib/223.0.1.0/studio.android.sdktools.perflib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.perflib_test/223.0.1.0/studio.android.sdktools.perflib_test-223.0.1.0.jar",
+        "hash": "1799fd58ded92ca4a08101d3f9ee9f23b5e2d8370f8bb76a5b22a83ebdb94bfb",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.perflib_test/223.0.1.0/studio.android.sdktools.perflib_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.perf-logger/223.0.1.0/studio.perf-logger-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.perf-logger/223.0.1.0/studio.perf-logger-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.perf-logger_test/223.0.1.0/studio.perf-logger_test-223.0.1.0.jar",
+        "hash": "5d6113bbd791886f0b37844db564faa7a891bed8903d67250332341e7f112058",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.perf-logger_test/223.0.1.0/studio.perf-logger_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ninepatch/223.0.1.0/studio.android.sdktools.ninepatch-223.0.1.0.jar",
+        "hash": "17141301fd0ac926b8db4178bdc217ea910f046f1a11e60b4bc5e866233ef8a5",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ninepatch/223.0.1.0/studio.android.sdktools.ninepatch-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ninepatch_test/223.0.1.0/studio.android.sdktools.ninepatch_test-223.0.1.0.jar",
+        "hash": "3759b7498daa277a7d2f5fe9fb99827bc7f29c10d00f24374aa9e53e741c49b4",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ninepatch_test/223.0.1.0/studio.android.sdktools.ninepatch_test-223.0.1.0.jar"
+    },
+    {
+        "url": "com/google/flatbuffers/flatbuffers-java/1.12.0/flatbuffers-java-1.12.0.jar",
+        "hash": "3f8c088b4dd04a9858721f2e162508c94db0dd86f961e306ee63ef2eda871bf7",
+        "path": "com/google/flatbuffers/flatbuffers-java/1.12.0/flatbuffers-java-1.12.0.jar"
+    },
+    {
+        "url": "org/tensorflow/tensorflow-lite-metadata/0.1.0-rc2/tensorflow-lite-metadata-0.1.0-rc2.jar",
+        "hash": "2c2a264f842498c36d34d2a7b91342490d9a962862c85baac1acd54ec2fca6d9",
+        "path": "org/tensorflow/tensorflow-lite-metadata/0.1.0-rc2/tensorflow-lite-metadata-0.1.0-rc2.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.mlkit-common/223.0.1.0/studio.android.sdktools.mlkit-common-223.0.1.0.jar",
+        "hash": "13037533713eb65cd8e61ca2ed0ead9935ae9343f95ac17ad83e2161410ab4ec",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.mlkit-common/223.0.1.0/studio.android.sdktools.mlkit-common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.mlkit-common_test/223.0.1.0/studio.android.sdktools.mlkit-common_test-223.0.1.0.jar",
+        "hash": "3f01a7fd0293eca1c0d2aacaaee44763a9ba8f448bd9e623734b820fae0c2c0b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.mlkit-common_test/223.0.1.0/studio.android.sdktools.mlkit-common_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-parser/223.0.1.0/studio.android.sdktools.manifest-parser-223.0.1.0.jar",
+        "hash": "e2c4f914385ea52727c47846d47a16f47ea573481366ecac51016f17bb2b5125",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-parser/223.0.1.0/studio.android.sdktools.manifest-parser-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-parser_test/223.0.1.0/studio.android.sdktools.manifest-parser_test-223.0.1.0.jar",
+        "hash": "2f3dd637969ab7d4fea77acadfce8a7aedf3b205e3ac90d07f1af4a543c24cd7",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-parser_test/223.0.1.0/studio.android.sdktools.manifest-parser_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-merger/223.0.1.0/studio.android.sdktools.manifest-merger-223.0.1.0.jar",
+        "hash": "a978b36f09d3194967eeab1aced19a0f7108f1084ebc8d7a6e83c9c2f55e22d5",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-merger/223.0.1.0/studio.android.sdktools.manifest-merger-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-merger_test/223.0.1.0/studio.android.sdktools.manifest-merger_test-223.0.1.0.jar",
+        "hash": "9b74aebd08e9b28024c93ec8327d14c3ea173f134fc2a960832ee828e50ca815",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.manifest-merger_test/223.0.1.0/studio.android.sdktools.manifest-merger_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.testinfrastructure/223.0.1.0/studio.android.sdktools.lint.testinfrastructure-223.0.1.0.jar",
+        "hash": "c4e6ef2a35c98dd68a7e76e09a4e5ad696ea5055194fdbbb37e72396ef5e7885",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.testinfrastructure/223.0.1.0/studio.android.sdktools.lint.testinfrastructure-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.testinfrastructure_test/223.0.1.0/studio.android.sdktools.lint.testinfrastructure_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.testinfrastructure_test/223.0.1.0/studio.android.sdktools.lint.testinfrastructure_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.cli/223.0.1.0/studio.android.sdktools.lint.cli-223.0.1.0.jar",
+        "hash": "b8813101a1d883a647c0724095914f8612ea7496e2eb430407b019c92ad13c4b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.cli/223.0.1.0/studio.android.sdktools.lint.cli-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.cli_test/223.0.1.0/studio.android.sdktools.lint.cli_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint.cli_test/223.0.1.0/studio.android.sdktools.lint.cli_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-model/223.0.1.0/studio.android.sdktools.lint-model-223.0.1.0.jar",
+        "hash": "15cd889fae9693ce6b827085ee4dc56fc9007127e01c1e0aae6af38ae880973b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-model/223.0.1.0/studio.android.sdktools.lint-model-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-model_test/223.0.1.0/studio.android.sdktools.lint-model_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-model_test/223.0.1.0/studio.android.sdktools.lint-model_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/223.0.1.0/liblint-checks-proto.lib-223.0.1.0.jar",
+        "hash": "45d2ea7affbb9b6628189f02186fbb06411e49407b4153b48566c27fc236f46b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/liblint-checks-proto.lib/223.0.1.0/liblint-checks-proto.lib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-checks/223.0.1.0/studio.android.sdktools.lint-checks-223.0.1.0.jar",
+        "hash": "ec845145016270a7bd44c28c82af221f03b75cfe3a2f7e6ef68a346a1e0cada6",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-checks/223.0.1.0/studio.android.sdktools.lint-checks-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-checks_test/223.0.1.0/studio.android.sdktools.lint-checks_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-checks_test/223.0.1.0/studio.android.sdktools.lint-checks_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-api/223.0.1.0/studio.android.sdktools.lint-api-223.0.1.0.jar",
+        "hash": "f11e2babeea224309d8bca187d941df4b7c9f7192eb10a2144fab96f5497e7ed",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-api/223.0.1.0/studio.android.sdktools.lint-api-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-api_test/223.0.1.0/studio.android.sdktools.lint-api_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.lint-api_test/223.0.1.0/studio.android.sdktools.lint-api_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.layoutlib-api/223.0.1.0/studio.android.sdktools.layoutlib-api-223.0.1.0.jar",
+        "hash": "b6397b5f9af4818d94fc7bb0131689addda212395b2a9cd38e9c4960bf3444df",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.layoutlib-api/223.0.1.0/studio.android.sdktools.layoutlib-api-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.layoutlib-api_test/223.0.1.0/studio.android.sdktools.layoutlib-api_test-223.0.1.0.jar",
+        "hash": "cd50c91bd68029783d8c8469694f001c223f6e0ddc7b172d2815426381a34b0b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.layoutlib-api_test/223.0.1.0/studio.android.sdktools.layoutlib-api_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwptracer/223.0.1.0/studio.android.sdktools.jdwptracer-223.0.1.0.jar",
+        "hash": "3f12f4f727082b90fb0d8e8a07d901e116433477db8f6bbf42ed92f4d0ca9fdc",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwptracer/223.0.1.0/studio.android.sdktools.jdwptracer-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwptracer_test/223.0.1.0/studio.android.sdktools.jdwptracer_test-223.0.1.0.jar",
+        "hash": "80543c09a0954de41172bfb44b102abde8c95ea24e996ac5564688f3a7d2af91",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwptracer_test/223.0.1.0/studio.android.sdktools.jdwptracer_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwppacket/223.0.1.0/studio.android.sdktools.jdwppacket-223.0.1.0.jar",
+        "hash": "c2005cf66d44e63a6d07879b726ebbb77018bd99d360111ad60772654a6e094c",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwppacket/223.0.1.0/studio.android.sdktools.jdwppacket-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwppacket_test/223.0.1.0/studio.android.sdktools.jdwppacket_test-223.0.1.0.jar",
+        "hash": "47f1a0dc9182cc656959e1677b36a289157ecc3221301423505e15cdcadb9cff",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.jdwppacket_test/223.0.1.0/studio.android.sdktools.jdwppacket_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.flags/223.0.1.0/studio.android.sdktools.flags-223.0.1.0.jar",
+        "hash": "76438a9516e06421bf345012533de4964d09d3af921f2486b10dc1c4edfb6f85",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.flags/223.0.1.0/studio.android.sdktools.flags-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.flags_test/223.0.1.0/studio.android.sdktools.flags_test-223.0.1.0.jar",
+        "hash": "be56761d7bb6d78bc973ed8b279242322eebe94b1edd74bc9d0ea40c0fa6da2c",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.flags_test/223.0.1.0/studio.android.sdktools.flags_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.fakeadbserver/223.0.1.0/studio.android.sdktools.fakeadbserver-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.fakeadbserver/223.0.1.0/studio.android.sdktools.fakeadbserver-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.fakeadbserver_test/223.0.1.0/studio.android.sdktools.fakeadbserver_test-223.0.1.0.jar",
+        "hash": "4e9e00041a5c05c76f1830103317a0d111a4f65ac37124dab140e49e8053fd0a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.fakeadbserver_test/223.0.1.0/studio.android.sdktools.fakeadbserver_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.dynamic-layout-inspector.common/223.0.1.0/studio.dynamic-layout-inspector.common-223.0.1.0.jar",
+        "hash": "b1dba673549b98333fdc0896ea12710b11f811d142ef5532ed5de47fc4a5fc28",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.dynamic-layout-inspector.common/223.0.1.0/studio.dynamic-layout-inspector.common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.dynamic-layout-inspector.common_test/223.0.1.0/studio.dynamic-layout-inspector.common_test-223.0.1.0.jar",
+        "hash": "f584be339b837510f6bcd17a0e04fa6707af5f7902a85150f4449b18af9d7a42",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.dynamic-layout-inspector.common_test/223.0.1.0/studio.dynamic-layout-inspector.common_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.dvlib/223.0.1.0/studio.android.sdktools.dvlib-223.0.1.0.jar",
+        "hash": "91424b5cbb9c329360a01964a5bf01570117731143f2e6f65c1992896982354a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.dvlib/223.0.1.0/studio.android.sdktools.dvlib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.dvlib_test/223.0.1.0/studio.android.sdktools.dvlib_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.dvlib_test/223.0.1.0/studio.android.sdktools.dvlib_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.draw9patch/223.0.1.0/studio.android.sdktools.draw9patch-223.0.1.0.jar",
+        "hash": "1a0d1d234d12583d9a9af4e58f30943ce3ae3934279deecc0536fec48734e186",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.draw9patch/223.0.1.0/studio.android.sdktools.draw9patch-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.draw9patch_test/223.0.1.0/studio.android.sdktools.draw9patch_test-223.0.1.0.jar",
+        "hash": "3d569804e4d8c8487688dd81e3b689bcf14335da73cba0fc3cfba771e6790b6f",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.draw9patch_test/223.0.1.0/studio.android.sdktools.draw9patch_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.device-provisioner/223.0.1.0/studio.android.sdktools.device-provisioner-223.0.1.0.jar",
+        "hash": "7fbcd1d7d7a9d2de6330a870fb226c94f4812c9dbb285e50229135323a676501",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.device-provisioner/223.0.1.0/studio.android.sdktools.device-provisioner-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.device-provisioner_test/223.0.1.0/studio.android.sdktools.device-provisioner_test-223.0.1.0.jar",
+        "hash": "02d3c416fa19eae26aff551cc63bed519c651876cb4600273520cf29d23ad47a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.device-provisioner_test/223.0.1.0/studio.android.sdktools.device-provisioner_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/deploy_java_proto/223.0.1.0/deploy_java_proto-223.0.1.0.jar",
+        "hash": "200df958778ff640d7209c23576917695ad88535c8030c55af3d6038f34d860e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/deploy_java_proto/223.0.1.0/deploy_java_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar",
+        "hash": "1c237d8045d2eff0c093363d8e22cd29014c8c4ec540185656cfb4eb3007b6f8",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/jb-r8/223.0.1.0/jb-r8-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libjava_version/223.0.1.0/libjava_version-223.0.1.0.jar",
+        "hash": "db56095dcf902e33d10d40727b0a47532e7f193104368d253c730beac518dc45",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libjava_version/223.0.1.0/libjava_version-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/fake_device_proto/223.0.1.0/fake_device_proto-223.0.1.0.jar",
+        "hash": "3550728814f22db276c018904d3e501921912edbeb45701d762217d4c6f26dbf",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/fake_device_proto/223.0.1.0/fake_device_proto-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libjava_sites/223.0.1.0/libjava_sites-223.0.1.0.jar",
+        "hash": "13b71bbf5023496373c78235f720324a6f304c95605bdecbec672d73a8bfcd2e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libjava_sites/223.0.1.0/libjava_sites-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.deployer/223.0.1.0/studio.android.sdktools.deployer-223.0.1.0.jar",
+        "hash": "b9b72a093ce2534b078689109e47d76053ce8e366c822b7565541336e3e3fea9",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.deployer/223.0.1.0/studio.android.sdktools.deployer-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.deployer_test/223.0.1.0/studio.android.sdktools.deployer_test-223.0.1.0.jar",
+        "hash": "d9e4eaf08140d2249be996c7689873bcb80fceb8c612169cac997571fb61a923",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.deployer_test/223.0.1.0/studio.android.sdktools.deployer_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ddmlib/223.0.1.0/studio.android.sdktools.ddmlib-223.0.1.0.jar",
+        "hash": "98e57eff90dff3cd6df8244a54a8e30ea1837b358a1339d67cbbcd407b3ef4fe",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ddmlib/223.0.1.0/studio.android.sdktools.ddmlib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ddmlib_test/223.0.1.0/studio.android.sdktools.ddmlib_test-223.0.1.0.jar",
+        "hash": "e9efde44df5bf99de00aa6ceb28f43bead3a6c809d9aa9521e868ef078cb283e",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.ddmlib_test/223.0.1.0/studio.android.sdktools.ddmlib_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr_runtime.shaded_jar/223.0.1.0/compilerCommon.antlr_runtime.shaded_jar-223.0.1.0.jar",
+        "hash": "f4d89fb56ed9582984e5323802ca4891795577542c8d0c03ec75bfea5378bc36",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr_runtime.shaded_jar/223.0.1.0/compilerCommon.antlr_runtime.shaded_jar-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr.shaded_jar/223.0.1.0/compilerCommon.antlr.shaded_jar-223.0.1.0.jar",
+        "hash": "aef79cb486e1960725923d36409b3c19f71a842fd949e73cf420c8762a9c415a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr.shaded_jar/223.0.1.0/compilerCommon.antlr.shaded_jar-223.0.1.0.jar"
+    },
+    {
+        "url": "com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar",
+        "hash": "757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76",
+        "path": "com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar"
+    },
+    {
+        "url": "com/squareup/javapoet/1.10.0/javapoet-1.10.0.jar",
+        "hash": "20ef4b82e43ff7c652281a21313cf3b941092467add3fa73509c26f6969efdab",
+        "path": "com/squareup/javapoet/1.10.0/javapoet-1.10.0.jar"
+    },
+    {
+        "url": "com/android/tools/build/jetifier/jetifier-core/1.0.0-beta10/jetifier-core-1.0.0-beta10.jar",
+        "hash": "26abb4a13927d9062169c504c9e94fe80e9ae3a4f7b5ab8875ab007536a91f5e",
+        "path": "com/android/tools/build/jetifier/jetifier-core/1.0.0-beta10/jetifier-core-1.0.0-beta10.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.compilerCommon/223.0.1.0/studio.compilerCommon-223.0.1.0.jar",
+        "hash": "ce6a63764e683fce12e029cd326e067f8602e8819308b9715848b994d1e368d3",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.compilerCommon/223.0.1.0/studio.compilerCommon-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.compilerCommon_test/223.0.1.0/studio.compilerCommon_test-223.0.1.0.jar",
+        "hash": "a9646496dbc6f00fca28bf65399e19e0c02a768fdc0b23356fa9c9b7c08e7021",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.compilerCommon_test/223.0.1.0/studio.compilerCommon_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr_runtime.shaded_jar/223.0.1.0/compilerCommon.antlr_runtime.shaded_jar-223.0.1.0.jar",
+        "hash": "f4d89fb56ed9582984e5323802ca4891795577542c8d0c03ec75bfea5378bc36",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr_runtime.shaded_jar/223.0.1.0/compilerCommon.antlr_runtime.shaded_jar-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr.shaded_jar/223.0.1.0/compilerCommon.antlr.shaded_jar-223.0.1.0.jar",
+        "hash": "aef79cb486e1960725923d36409b3c19f71a842fd949e73cf420c8762a9c415a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/compilerCommon.antlr.shaded_jar/223.0.1.0/compilerCommon.antlr.shaded_jar-223.0.1.0.jar"
+    },
+    {
+        "url": "com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar",
+        "hash": "757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76",
+        "path": "com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar"
+    },
+    {
+        "url": "com/squareup/javapoet/1.10.0/javapoet-1.10.0.jar",
+        "hash": "20ef4b82e43ff7c652281a21313cf3b941092467add3fa73509c26f6969efdab",
+        "path": "com/squareup/javapoet/1.10.0/javapoet-1.10.0.jar"
+    },
+    {
+        "url": "com/google/auto/auto-common/0.10/auto-common-0.10.jar",
+        "hash": "b876b5fddaceeba7d359667f6c4fb8c6f8658da1ab902ffb79ec9a415deede5f",
+        "path": "com/google/auto/auto-common/0.10/auto-common-0.10.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.compiler/223.0.1.0/studio.compiler-223.0.1.0.jar",
+        "hash": "d30efda307988f6a83199c349904ffcbad5f5f6433bd8f5726d5883e04abf8f2",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.compiler/223.0.1.0/studio.compiler-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.compiler_test/223.0.1.0/studio.compiler_test-223.0.1.0.jar",
+        "hash": "eeb3a37d14df27694438a639c950f78b041e327d3b921a6dd3ae811751124426",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.compiler_test/223.0.1.0/studio.compiler_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+        "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
+        "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrarySupport/223.0.1.0/studio.baseLibrarySupport-223.0.1.0.jar",
+        "hash": "3fd6683938f24ff2532a2c742f3e74829745d20aef3950414a768e649ddf1d77",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrarySupport/223.0.1.0/studio.baseLibrarySupport-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrarySupport_test/223.0.1.0/studio.baseLibrarySupport_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrarySupport_test/223.0.1.0/studio.baseLibrarySupport_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+        "hash": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
+        "path": "org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrary/223.0.1.0/studio.baseLibrary-223.0.1.0.jar",
+        "hash": "4f07ede9cc3b42701328ec1c561c53f3afba5e846348b0a2baf8e63be2fc56ea",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrary/223.0.1.0/studio.baseLibrary-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrary_test/223.0.1.0/studio.baseLibrary_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.baseLibrary_test/223.0.1.0/studio.baseLibrary_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common.testfixtures/223.0.1.0/studio.android.sdktools.common.testfixtures-223.0.1.0.jar",
+        "hash": "c26c81708f4c2b0077eba363fa6f5bccc883f28e3a010a374686b82b2117681f",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common.testfixtures/223.0.1.0/studio.android.sdktools.common.testfixtures-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common.testfixtures_test/223.0.1.0/studio.android.sdktools.common.testfixtures_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common.testfixtures_test/223.0.1.0/studio.android.sdktools.common.testfixtures_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/libversion/223.0.1.3/libversion-223.0.1.3.jar",
+        "hash": "81dfd360c41f9e57ae0c53805d31e44ea79d914f8caba593f0c393f421d7bcc1",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/libversion/223.0.1.3/libversion-223.0.1.3.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common/223.0.1.0/studio.android.sdktools.common-223.0.1.0.jar",
+        "hash": "732fcd5f6d3387ab5d137d575cb582b6ee4f76bcd3b1770bc1cf14780c98f471",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common/223.0.1.0/studio.android.sdktools.common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common_test/223.0.1.0/studio.android.sdktools.common_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.common_test/223.0.1.0/studio.android.sdktools.common_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.chunkio/223.0.1.0/studio.android.sdktools.chunkio-223.0.1.0.jar",
+        "hash": "26c169520e529ad6e125e743fc1aab1a8b6444612df68460a0ab48a1871a757a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.chunkio/223.0.1.0/studio.android.sdktools.chunkio-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.chunkio_test/223.0.1.0/studio.android.sdktools.chunkio_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.chunkio_test/223.0.1.0/studio.android.sdktools.chunkio_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.builder-model/223.0.1.0/studio.android.sdktools.builder-model-223.0.1.0.jar",
+        "hash": "5ced709f1591de9f415a0978a96886ce4233e6e5957dbdaaab09f347df925928",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.builder-model/223.0.1.0/studio.android.sdktools.builder-model-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.builder-model_test/223.0.1.0/studio.android.sdktools.builder-model_test-223.0.1.0.jar",
+        "hash": "029bf48c044a462746249db1d30fa2ecc22e45b430fe00486c534cae79fbf16b",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.builder-model_test/223.0.1.0/studio.android.sdktools.builder-model_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.binary-resources/223.0.1.0/studio.android.sdktools.binary-resources-223.0.1.0.jar",
+        "hash": "92ddc3cc96b38ebf07d9b76f599e365eefcfae8573e9b70f7cefde8abf391a3a",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.binary-resources/223.0.1.0/studio.android.sdktools.binary-resources-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.binary-resources_test/223.0.1.0/studio.android.sdktools.binary-resources_test-223.0.1.0.jar",
+        "hash": "3a1a9b57fb4cec5a8af5563edfa9b908010a5dd83814e9f292cfae9ae6b83390",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.binary-resources_test/223.0.1.0/studio.android.sdktools.binary-resources_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.build-analyzer.common/223.0.1.0/studio.android.build-analyzer.common-223.0.1.0.jar",
+        "hash": "3340296a57c0a6ad663e83cce8228551f431abc3523a1ad9b74706f388dc4495",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.build-analyzer.common/223.0.1.0/studio.android.build-analyzer.common-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.build-analyzer.common_test/223.0.1.0/studio.android.build-analyzer.common_test-223.0.1.0.jar",
+        "hash": "4c5cd4e6cbde04e2f87389e21b0475e99ecb79a7a82c288db3d1f32a373d8951",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.build-analyzer.common_test/223.0.1.0/studio.android.build-analyzer.common_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations/223.0.1.0/studio.android.sdktools.android-annotations-223.0.1.0.jar",
+        "hash": "4013a7184f41205bb08169bd3080fe757aeffe684e886ffb6428eb24a220ce23",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations/223.0.1.0/studio.android.sdktools.android-annotations-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations_test/223.0.1.0/studio.android.sdktools.android-annotations_test-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.android-annotations_test/223.0.1.0/studio.android.sdktools.android-annotations_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/explainer/223.0.1.0/explainer-223.0.1.0.jar",
+        "hash": "297bc50d4f61f8bc09caa91f8ee143cfdf18aa3f4208d716f5a53afd79a0f9bd",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/explainer/223.0.1.0/explainer-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/generator/223.0.1.0/generator-223.0.1.0.jar",
+        "hash": "e6e14814df390b4d714db66bf84dafbaa1951d643e0ae91aa8c6ab368c3967c5",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/generator/223.0.1.0/generator-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/shared/223.0.1.0/shared-223.0.1.0.jar",
+        "hash": "391caef69ac366ddc46c1c77ec7f41fcfda8ba27cdb0678ed17ca34abe949665",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/shared/223.0.1.0/shared-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.analyzer/223.0.1.0/studio.android.sdktools.analyzer-223.0.1.0.jar",
+        "hash": "efec9d4d966f7167048a7405ce2fa8fc0c1ad32a686b9d1fdf477ec00b8d2eb0",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.analyzer/223.0.1.0/studio.android.sdktools.analyzer-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.analyzer_test/223.0.1.0/studio.android.sdktools.analyzer_test-223.0.1.0.jar",
+        "hash": "647f6f0f9e384d3fc7f087c813aabe8dc1096c97cf7e966809237a8b38a3dba1",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.analyzer_test/223.0.1.0/studio.android.sdktools.analyzer_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-tracker/223.0.1.0/analytics-tracker-223.0.1.0.jar",
+        "hash": "fcdc0ce7e941ecd867c7d25be0a9a25367440c551f1d61d8d81f297f7eef12b3",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-tracker/223.0.1.0/analytics-tracker-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-tracker_test/223.0.1.0/analytics-tracker_test-223.0.1.0.jar",
+        "hash": "e9d765445baeb4abbc6cecabdbf99d3f9b2e8989bd9eafa4e045b6555753b9d8",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-tracker_test/223.0.1.0/analytics-tracker_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/android.sdktools.analytics-testing/223.0.1.0/android.sdktools.analytics-testing-223.0.1.0.jar",
+        "hash": "c4ed2e61a0d749743fcd7c647714f0ec3f2c948e2c681bdfe663628e8db09638",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/android.sdktools.analytics-testing/223.0.1.0/android.sdktools.analytics-testing-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/android.sdktools.analytics-testing_test/223.0.1.0/android.sdktools.analytics-testing_test-223.0.1.0.jar",
+        "hash": "30e9c4447977bd781d4d7fc452140bcc50eed0d3da2301d95977ee8054f4162d",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/android.sdktools.analytics-testing_test/223.0.1.0/android.sdktools.analytics-testing_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-shared/223.0.1.0/analytics-shared-223.0.1.0.jar",
+        "hash": "d923fcb7eda661dc3aaa7c2c9a32a3d8816e076ef9a318fb6d8d1a90528192f5",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-shared/223.0.1.0/analytics-shared-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-shared_test/223.0.1.0/analytics-shared_test-223.0.1.0.jar",
+        "hash": "72df3b7691589be37242564e92ace57d6ac88c13126978f5bdaa4e263949ec5c",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-shared_test/223.0.1.0/analytics-shared_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-crash/223.0.1.0/analytics-crash-223.0.1.0.jar",
+        "hash": "7b96a4621926e4b0de5d157dbb2849795fb4121b83275ad5fce14957aab59278",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-crash/223.0.1.0/analytics-crash-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/analytics-crash_test/223.0.1.0/analytics-crash_test-223.0.1.0.jar",
+        "hash": "7b4b25d989eacd204c17124a13142757a36b37789cf3c934597a866d1051884d",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/analytics-crash_test/223.0.1.0/analytics-crash_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.tools/223.0.1.0/studio.android.sdktools.adblib.tools-223.0.1.0.jar",
+        "hash": "b2cc4d2cc59ecc73a0c6264b386bd715f3d86aa7b847a6de8d704ca84336383f",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.tools/223.0.1.0/studio.android.sdktools.adblib.tools-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.tools_test/223.0.1.0/studio.android.sdktools.adblib.tools_test-223.0.1.0.jar",
+        "hash": "9e67b90b17ccdaf127873854a0a95a15956d6efe2c81e08e8d6ceaf34ec51533",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.tools_test/223.0.1.0/studio.android.sdktools.adblib.tools_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.ddmlibcompatibility/223.0.1.0/studio.android.sdktools.adblib.ddmlibcompatibility-223.0.1.0.jar",
+        "hash": "dd74ada9d28b213300dc9af06790320ce36b6bd8e6e587b7640552af6a3d36bb",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.ddmlibcompatibility/223.0.1.0/studio.android.sdktools.adblib.ddmlibcompatibility-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.ddmlibcompatibility_test/223.0.1.0/studio.android.sdktools.adblib.ddmlibcompatibility_test-223.0.1.0.jar",
+        "hash": "b905728e199164f6f97bd7adbb3fc90926b28b4ca1aa6f89cc33251580610d43",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib.ddmlibcompatibility_test/223.0.1.0/studio.android.sdktools.adblib.ddmlibcompatibility_test-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib/223.0.1.0/studio.android.sdktools.adblib-223.0.1.0.jar",
+        "hash": "42ec90012dc0650774f8f50d4346d4a5cd47062ab4f8608a8a006a4ed3a60bf7",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib/223.0.1.0/studio.android.sdktools.adblib-223.0.1.0.jar"
+    },
+    {
+        "url": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib_test/223.0.1.0/studio.android.sdktools.adblib_test-223.0.1.0.jar",
+        "hash": "da8b96b4aaf470dd2d980d9117e90df8078b38716b5d94b4e67c99f7f1b27980",
+        "path": "org/jetbrains/intellij/deps/android/tools/base/studio.android.sdktools.adblib_test/223.0.1.0/studio.android.sdktools.adblib_test-223.0.1.0.jar"
+    }
+]
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index a2d7f13338a96..2159a60c0323d 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "19";
+  version = "20";
   desktopItem = makeDesktopItem {
     name = "netbeans";
     exec = "netbeans";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
-    hash = "sha256-jfcO3WMH0Ir1+VfpZhaRcykTIoTmxA5DK8ZO8orP1Jg=";
+    hash = "sha256-hseSusJiUqdnhIyOBtELProeMjrGdKa22h0VkbML80E=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 179d90c7199b9..63fbdcfd19b3b 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -173,24 +173,24 @@ final: prev:
 
   LazyVim = buildVimPlugin {
     pname = "LazyVim";
-    version = "2023-11-04";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "LazyVim";
       repo = "LazyVim";
-      rev = "68ff818a5bb7549f90b05e412b76fe448f605ffb";
-      sha256 = "075zvc5d088m7zvjmap6c3g1kfnamg7sjjf5s4fcvwg20dn1zp9q";
+      rev = "879e29504d43e9f178d967ecc34d482f902e5a91";
+      sha256 = "0qvfvcfldrcinmrqvicsxrqa130b4xpgcwz390ai7xripqzqzrbz";
     };
     meta.homepage = "https://github.com/LazyVim/LazyVim/";
   };
 
   LeaderF = buildVimPlugin {
     pname = "LeaderF";
-    version = "2023-10-30";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "59bf3ccc33bcf7010a06521fd3ac9be912261bd3";
-      sha256 = "14hnfva8mp9dy0bw5hsm5dj2axkpvhn9qa3w5h51aljkgcn6r7nb";
+      rev = "ee827173e5a3977ef764302083a4df07b4568cf3";
+      sha256 = "1w7m48h27h5dk5swy8ibynl74f11xrv704cyafgdbg9a3w5qv15l";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2023-11-21";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "6316dc88db89d97d190f24547adddd13569fb746";
-      sha256 = "0ql6hikqn57gkq88fyqvh4lylsvfkk835s53wplwirz30nbsxwhd";
+      rev = "c4f2d408542f07592a34c3a68171d36c612741b9";
+      sha256 = "0j1qng5sp5h9b478ajjx9fcx88k8sfj26s19lxi76g7a00yzm0b6";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -526,8 +526,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "712802e73107883a445b36f4197376eb60691b85";
-      sha256 = "1ibsa8n2m9xyzp6air0j2rky69cs1v0pjzd9ni3p7zwh3dnixgh3";
+      rev = "88764566f96bf900a64b3dcd6d178cfb69b1c8ce";
+      sha256 = "1mr3p7lwhh9dgjmk6lrnibixj1lwssn9kbkva3hwlmh0zw4n5mdd";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -607,12 +607,12 @@ final: prev:
 
   alpha-nvim = buildVimPlugin {
     pname = "alpha-nvim";
-    version = "2023-09-14";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "goolord";
       repo = "alpha-nvim";
-      rev = "234822140b265ec4ba3203e3e0be0e0bb826dff5";
-      sha256 = "15iq6wkcij0sxngs3y221nffk3rk215frifklxzc2db5s9na4w5d";
+      rev = "29074eeb869a6cbac9ce1fbbd04f5f5940311b32";
+      sha256 = "13my49r11s0mm7q7cri7c0ymmasippp9wcfplsg1pmg73j9a6i27";
     };
     meta.homepage = "https://github.com/goolord/alpha-nvim/";
   };
@@ -691,12 +691,12 @@ final: prev:
 
   asyncomplete-buffer-vim = buildVimPlugin {
     pname = "asyncomplete-buffer.vim";
-    version = "2020-06-26";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete-buffer.vim";
-      rev = "018bcf0f712ce0fde3f1f2eaabd7004fccb2d34a";
-      sha256 = "0ixc37gzgsf93sl52fa3ywz6bw7cn1406fgimmy5rz0d62b0y8yi";
+      rev = "a7afcf4f1f0ee8beaec4b3a20d814160ab097d8d";
+      sha256 = "0x9rr9v2b6zc2ch1v11vmqd65iyq33vi28f4s3xg1q7y5358ksd1";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete-buffer.vim/";
   };
@@ -739,12 +739,12 @@ final: prev:
 
   asyncomplete-tags-vim = buildVimPlugin {
     pname = "asyncomplete-tags.vim";
-    version = "2021-04-29";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete-tags.vim";
-      rev = "041af0565f2c16634277cd29d2429c573af1dac4";
-      sha256 = "0i1ahg96j1ixyps0lfzl7w7skd64y6br1zn3bms447341zw4lc0k";
+      rev = "e458dc448b40d69eb1d4722fa30ce848521bd3d0";
+      sha256 = "1n74m1s0npnih1mdpxw1c0x7jhqkzrkncjb0zpa7r1ibl1ij0gwj";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete-tags.vim/";
   };
@@ -811,12 +811,12 @@ final: prev:
 
   aurora = buildVimPlugin {
     pname = "aurora";
-    version = "2023-11-15";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "41ab08a3c56b2543263873e0f1a7d1f3267180fc";
-      sha256 = "1d0d9c89i56qh6rks1sp8fzw6a09jyvqclya70vwxdyayz48mspc";
+      rev = "6157dffe86f20d891df723c0c6734676295b01e0";
+      sha256 = "0svr1p604ffybm0wwpn8in8nb3clcf28c2iwjvlw1zwvj3a0ldjr";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
@@ -943,12 +943,12 @@ final: prev:
 
   b64-nvim = buildVimPlugin {
     pname = "b64.nvim";
-    version = "2023-04-12";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "taybart";
       repo = "b64.nvim";
-      rev = "0efc9f2d5baf546298c3ef936434fe5783d7ecb3";
-      sha256 = "1sb24ydihp01qkrvfr1pc2wf5yjl9sb8b893x5hm6l8q8a70pr5h";
+      rev = "e93d1a7e065f6eaf5d3bae9efb9bc2c30907f471";
+      sha256 = "16gsvwqsj043b3jsmydfavj7ypipdsz84hxzv019hyzrj8ryvdc5";
     };
     meta.homepage = "https://github.com/taybart/b64.nvim/";
   };
@@ -1171,12 +1171,12 @@ final: prev:
 
   bufferline-nvim = buildVimPlugin {
     pname = "bufferline.nvim";
-    version = "2023-11-01";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "9e8d2f695dd50ab6821a6a53a840c32d2067a78a";
-      sha256 = "08k2b8i269c50gq3nl2s08izwl2p454xshl3yslcwwi3hsg25blm";
+      rev = "1a3397556d194bb1f2cc530b07124ccc512c5501";
+      sha256 = "0da8kyg229n658dcybnxr2ckcaz8lmwphdmr83ajvqh3dj92rmx6";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -2047,12 +2047,12 @@ final: prev:
 
   codeium-vim = buildVimPlugin {
     pname = "codeium.vim";
-    version = "2023-11-08";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.vim";
-      rev = "1efe2a2cdf516094bdb211aa8a1d45ef01836207";
-      sha256 = "0kn0vrcn1ixa1lw5nchl7ahzmysx80lv6zf1dgqzrmk94miar15k";
+      rev = "2a0c0b7fecee38a52fe750563ff70cff45f768b0";
+      sha256 = "0a8j82lf4vhjwlghggm724m5lnd74ajjv6p77vdpyhg2b0xd756n";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.vim/";
   };
@@ -2143,12 +2143,12 @@ final: prev:
 
   committia-vim = buildVimPlugin {
     pname = "committia.vim";
-    version = "2021-11-24";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "committia.vim";
-      rev = "0b4df1a7f48ffbc23b009bd14d58ee1be541917c";
-      sha256 = "1scz52n6y2qrqd74kcsgvjkmxd37wmgzx2wail4sz88h3cks8w39";
+      rev = "a187b8633694027ab5ef8a834527d33093282f95";
+      sha256 = "1ncvpsa83g665yh3qxrwigsvpxpwm3586198zp6rlmq719d3yh3g";
     };
     meta.homepage = "https://github.com/rhysd/committia.vim/";
   };
@@ -2287,12 +2287,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2023-11-24";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "fd32ed2dc192ec656a0536699336cd2fe3eb543f";
-      sha256 = "0n9klkkmqcvh03dy6kyv3d2k1f5aj8bbqwh23z16wsk43cgayl9m";
+      rev = "e8ac7f1a9a3973ecce6942b2f26d16e65902aa70";
+      sha256 = "127shx9vzq9rkjk44xpr24w76b51fywwrni6nvrdq29swqdpk9yw";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2348,12 +2348,12 @@ final: prev:
 
   copilot-lua = buildVimPlugin {
     pname = "copilot.lua";
-    version = "2023-11-04";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "zbirenbaum";
       repo = "copilot.lua";
-      rev = "73047082d72fcfdde1f73b7f17ad495cffcbafaa";
-      sha256 = "159ghjskc2gydxvxsiijgz4swgad0njkmppalkj685wv5kl46pyg";
+      rev = "38a41d0d78f8823cc144c99784528b9a68bdd608";
+      sha256 = "05v2cxa10s98pk7w0g3g8p440bz6n2r2k4ygxz9vkbcjf39kgjaj";
     };
     meta.homepage = "https://github.com/zbirenbaum/copilot.lua/";
   };
@@ -2444,12 +2444,12 @@ final: prev:
 
   crates-nvim = buildVimPlugin {
     pname = "crates.nvim";
-    version = "2023-11-18";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "406295abeb7eedae3bcee3f0db690ada605c629c";
-      sha256 = "1kiw5vkx3kqd5niyjnpimihd0cb5w8fz8pyq6sfh5am7ycvg5nfj";
+      rev = "a8b8f60c33b16c8ef22f8064166daa29a47fca4a";
+      sha256 = "0r86h7lpcicbh4453vigryi238kmsx149ffs6n53n898wlkla6pi";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2480,12 +2480,12 @@ final: prev:
 
   csv-vim = buildVimPlugin {
     pname = "csv.vim";
-    version = "2023-09-28";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "4fd88346aed02123aa5daa1a363868a576c6fdcf";
-      sha256 = "10c2hgzhnv1zr461hvp4cnxpfs0aja43whjimdsb5sjd4xk5x7cc";
+      rev = "962f88787ec6873eba1c7dbbd81d2723f1ee3c4b";
+      sha256 = "11gwamrqqmcy5jvbmnmyvx94pknlx3ppvyk4b6vhm4dghwmhq9nb";
     };
     meta.homepage = "https://github.com/chrisbra/csv.vim/";
   };
@@ -2574,6 +2574,18 @@ final: prev:
     meta.homepage = "https://github.com/nvimdev/dashboard-nvim/";
   };
 
+  debugprint-nvim = buildVimPlugin {
+    pname = "debugprint.nvim";
+    version = "2023-11-28";
+    src = fetchFromGitHub {
+      owner = "andrewferrier";
+      repo = "debugprint.nvim";
+      rev = "8a6d66bd6162e9c49804e9286a7d4ceba60355d5";
+      sha256 = "0ykxdjsffx1fz82ayl5mb0j1syqk3b6cjw7a6qcfcgh2w4dmijvm";
+    };
+    meta.homepage = "https://github.com/andrewferrier/debugprint.nvim/";
+  };
+
   defx-git = buildVimPlugin {
     pname = "defx-git";
     version = "2021-01-01";
@@ -2660,12 +2672,12 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2023-11-08";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "8b53173370d3c2285abb34569b8d00b73d06eaa3";
-      sha256 = "0qwalcsp7r1yk0mx8agsy2hpg3qia4nla3prkygdvybhk42jvxfi";
+      rev = "6c7ebef6f71b948a152c09bd844fba00f8fee3d6";
+      sha256 = "1qsfxw6yq6rpgmfmisqj4n30p5llb469zfg7iy4ri1r046pjv8yb";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
@@ -2950,12 +2962,12 @@ final: prev:
 
   dial-nvim = buildVimPlugin {
     pname = "dial.nvim";
-    version = "2023-10-05";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "monaqa";
       repo = "dial.nvim";
-      rev = "019bbe9daea397c93a99adc747f8f071379fee5c";
-      sha256 = "1ihgmg2kws57wypiyzibdh50gccxk7gl1iah84fcbyzm0lfdvk5p";
+      rev = "27eb570085db2ef44bff4f620d3806039184651c";
+      sha256 = "1f7ycdn9y27lz6925aqcjfhdyp1rab845dnc665cyzl5rai3kpsj";
     };
     meta.homepage = "https://github.com/monaqa/dial.nvim/";
   };
@@ -2986,12 +2998,12 @@ final: prev:
 
   direnv-vim = buildVimPlugin {
     pname = "direnv.vim";
-    version = "2023-06-26";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "direnv";
       repo = "direnv.vim";
-      rev = "165031fa2c8dbb1e78dfd7054fe064ea926384cb";
-      sha256 = "0g8k839x7588azm29iacvvqlgvznfziw8gwcdc251q9ra3z59ynh";
+      rev = "ab2a7e08dd630060cd81d7946739ac7442a4f269";
+      sha256 = "1hhwfnaj9ibz17ggxvhzrkinghfy51fqfa0bs482z484jpvjc31g";
     };
     meta.homepage = "https://github.com/direnv/direnv.vim/";
   };
@@ -3034,24 +3046,24 @@ final: prev:
 
   dressing-nvim = buildVimPlugin {
     pname = "dressing.nvim";
-    version = "2023-11-07";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "fe3071330a0720ce3695ac915820c8134b22d1b0";
-      sha256 = "0a76mkvgya5hygfjbk2wbha18fhwhv6kmkxgvda053z325505mc6";
+      rev = "8b7ae53d7f04f33be3439a441db8071c96092d19";
+      sha256 = "1gj3apvif9bfz1vqrxr6xmj5p7byjq5qdjv159lnm09hca3vfdnb";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2023-11-18";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "d308748aa5ea44e9df35d2f5333cd2de148fcf3c";
-      sha256 = "0zymllwlf4kvrg3ns9ygsxj44z3yvvcdb8srigx2ffhjgqnri0kw";
+      rev = "2b7c2d53363cb3d93376904dac3ea6d52dd900c5";
+      sha256 = "0kwsdil034a1cqy0ccyhy7hpzn4pnxcb0b4g0p3y09wk935mwdrk";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3106,12 +3118,12 @@ final: prev:
 
   editorconfig-vim = buildVimPlugin {
     pname = "editorconfig-vim";
-    version = "2023-09-23";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "0d54ea863089fb13be423b4aed6cca35f3a5d778";
-      sha256 = "1d5r480njjgvn5w5ldhrj5gi38lqhnlyi1f7fvpjgl0lbyyqwp9s";
+      rev = "95cb75e21d11206dad4bd3895c99459bdaa13dd1";
+      sha256 = "19nqk6hw0w29a14dwykqpcfahcjnkyjafha01fa82i967hrg3dj6";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
@@ -3131,12 +3143,12 @@ final: prev:
 
   efmls-configs-nvim = buildVimPlugin {
     pname = "efmls-configs-nvim";
-    version = "2023-11-24";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "creativenull";
       repo = "efmls-configs-nvim";
-      rev = "a9e9711fc2165c98b3bf6366c4bf020de4a072b4";
-      sha256 = "1clr87r0ipwv2l4vjhw0qh95abag1j0f94n0k74q1ymbdc2jp0qb";
+      rev = "ff84e0402907f9557778bd6cb32f9d5b1552ffaf";
+      sha256 = "01f3al8hncjj043q6490gzxz38sjv7if49148116yfdbipj1lf60";
     };
     meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
   };
@@ -3228,12 +3240,12 @@ final: prev:
 
   executor-nvim = buildVimPlugin {
     pname = "executor.nvim";
-    version = "2023-11-18";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "google";
       repo = "executor.nvim";
-      rev = "50d018b1ccf6b21b5a76ab2a5c3cac4685b90174";
-      sha256 = "1cgs05sk0r5bs96lybp5qm1wz4flddfxdcz7x55g1xz99xyinz16";
+      rev = "2af6072829562922e047ed644fc83749c4b10d92";
+      sha256 = "0v2bk4nyrkc7qkrh6sb16dif382b26gjix83sfnyk973g07v43in";
     };
     meta.homepage = "https://github.com/google/executor.nvim/";
   };
@@ -3300,12 +3312,12 @@ final: prev:
 
   feline-nvim = buildVimPlugin {
     pname = "feline.nvim";
-    version = "2023-11-20";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "freddiehaddad";
       repo = "feline.nvim";
-      rev = "c97f2819db356c3b3b727a3a31c164acabeb1c81";
-      sha256 = "03vim8dqpybf34q16zvsqpzmqvwrkcqkz3wgyrzfiw2qdc075fhd";
+      rev = "a6bebd903e84d5ce0e97c597e0ca85cd24109002";
+      sha256 = "0jkrn0ndrjangbis18q7h57pj04sgbm4b69hmcrwp65w1fs7ciha";
     };
     meta.homepage = "https://github.com/freddiehaddad/feline.nvim/";
   };
@@ -3348,12 +3360,12 @@ final: prev:
 
   fidget-nvim = buildVimPlugin {
     pname = "fidget.nvim";
-    version = "2023-11-20";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "a1493d94ecb3464ab3ae4d5855765310566dace4";
-      sha256 = "sha256-701UBfmtSH/XyEq80EfoGlukLpAVdwRGHpIs4AcVGSY=";
+      rev = "785efc604f6ffe3c3fdd2ea86262804d48863ee1";
+      sha256 = "01c0pcfvr2acpc70ljmr2dcmg6mvfyvsr9inxgwxv347pdi8phll";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -3409,12 +3421,12 @@ final: prev:
 
   flatten-nvim = buildVimPlugin {
     pname = "flatten.nvim";
-    version = "2023-10-11";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "flatten.nvim";
-      rev = "f75bd1eae9aa826dda5ddc3a8cf5a0efa6df046b";
-      sha256 = "094cmx9k03lh0ak8wnfc70s2ca81r0qddgcraja8px04c2fm5ln1";
+      rev = "51dd9a0a83138aee3bd9fc402ce79f9db50af7fa";
+      sha256 = "17mg19d7n1bcmkv6q4fx60v1pmq7ll2qxqycybfrd82458wcbc6z";
     };
     meta.homepage = "https://github.com/willothy/flatten.nvim/";
   };
@@ -3505,12 +3517,12 @@ final: prev:
 
   formatter-nvim = buildVimPlugin {
     pname = "formatter.nvim";
-    version = "2023-11-13";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "91651e6afaf6f73b0ffb8b433c06cd4e06f90403";
-      sha256 = "1dsxlhsfhdd37l8z9pg2f5s0r4rafk6jl92wz1zcbhf6iswa6vy7";
+      rev = "cb4778b8432f1ae86dae4634c0b611cb269a4c2f";
+      sha256 = "07mr1sl8gwxcwkazgjv6zpbk2r0nv51al2ksmcd740bb4g1xgr0b";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -3529,12 +3541,12 @@ final: prev:
 
   friendly-snippets = buildVimPlugin {
     pname = "friendly-snippets";
-    version = "2023-10-01";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "43727c2ff84240e55d4069ec3e6158d74cb534b6";
-      sha256 = "1sjk17gn919aa84dkjfagwwjsas9zfkbrk840bjf580k8m83d9m8";
+      rev = "53d3df271d031c405255e99410628c26a8f0d2b0";
+      sha256 = "07zggsby7v2migmc314nd1dsga9ixwp89ibwlsl3lrm2dwqlkbg9";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3637,12 +3649,12 @@ final: prev:
 
   fzf-lua = buildVimPlugin {
     pname = "fzf-lua";
-    version = "2023-11-23";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "1e3308669ce77c86242d3ba5d75df0027a15391c";
-      sha256 = "1jfg21z7j93x2q6iqg30cx8hd9qnx35lp3s0x81fiyhdg8v0gdf7";
+      rev = "a1a2d0f42eaec400cc6918a8e898fc1f9c4dbc5f";
+      sha256 = "14pdspy8932fh5w247vqs0fyywb6mwg1af9sk5irgxfsv7c0xlg2";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
@@ -3805,12 +3817,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2023-11-23";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "5fc573f2d2a49aec74dd6dc977e8b137429d1897";
-      sha256 = "0ijwyxw9w4idd1qczd1d8bs8454i83s6vxny39r9vn4ykhxm9v10";
+      rev = "6ef8c54fb526bf3a0bc4efb0b2fe8e6d9a7daed2";
+      sha256 = "086jmhzgpavwjvp7ssd8ga0wxgnz480zzjiv84h4ivva2nv3lnvi";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -3865,12 +3877,12 @@ final: prev:
 
   go-nvim = buildVimPlugin {
     pname = "go.nvim";
-    version = "2023-11-24";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "ad5db6a907160e0d78671acf93d0ebfccd2fae30";
-      sha256 = "1q934rbz3h3pi938jazl4s116kcyfn5n654fpq72xq6qiaq3y6rl";
+      rev = "7b7c20029a817ef51f6b498388488e9850fe45ac";
+      sha256 = "0qbgmg9kvhxz4akmxd56lwr2zjxrayccgiynkcfnqakvya271jji";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -3997,12 +4009,12 @@ final: prev:
 
   gruvbox-nvim = buildVimPlugin {
     pname = "gruvbox.nvim";
-    version = "2023-11-11";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "517b012757fbe7a4d6e507baf5cc75837e62734f";
-      sha256 = "1ndbd6mn19g3wiqshw9wckkl976kjvgy2dc3lmb92cyxjni8a507";
+      rev = "0940564208a490c173216c3b7d2188b0a5ad3491";
+      sha256 = "15vlr7wh9grfn2s4vhmi5a2pap00366irvyglc1g0wvj3w7n520z";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -4068,24 +4080,24 @@ final: prev:
 
   harpoon = buildVimPlugin {
     pname = "harpoon";
-    version = "2023-10-10";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "c1aebbad9e3d13f20bedb8f2ce8b3a94e39e424a";
-      sha256 = "0wqxg31z7gi7ap8r0057lpadywx3d245ghlljr6mkmp0jz3waad5";
+      rev = "581da797f9d66485f841525af596255270c2bcf5";
+      sha256 = "1fnxjwsrsm0qdf9a20nfxy58dy1dv8l70w4ipqn4lh0hd36ziacr";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2023-11-23";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "ea1ab0d19d10d514dc0740b5255405d9ac1a3a3f";
-      sha256 = "113x7vx7jga8silcyh0xf4ssnplyq83md2y1izzf1wz58y7s2ln0";
+      rev = "b345179204a3c4fd38b8d7699989d51d7d6febfe";
+      sha256 = "1yzcap9drf9nl2ygmwl8b8napfx8fkx4wmrrhazb1p25921srs0m";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4140,12 +4152,12 @@ final: prev:
 
   heirline-nvim = buildVimPlugin {
     pname = "heirline.nvim";
-    version = "2023-09-03";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "heirline.nvim";
-      rev = "7f1e805dfc001d5dbb7d894105063f463f6c7dcc";
-      sha256 = "1hy5a30pb0cv93dh796lh08p5k43b4b732sr4ka0pwj4n4a3q82r";
+      rev = "170e1b1fd7c11db00e46d802165fb277db601ae7";
+      sha256 = "04dlwis61di60pv11xl2i1sllqmrhq077svqga8sxfh557hspr04";
     };
     meta.homepage = "https://github.com/rebelot/heirline.nvim/";
   };
@@ -4259,12 +4271,12 @@ final: prev:
 
   hotpot-nvim = buildVimPlugin {
     pname = "hotpot.nvim";
-    version = "2023-10-20";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "eb5531b5f6285656408d1ed07b4d9bcc8067bad4";
-      sha256 = "0yl1l11dp58mg3bfk42ydcc7s2fxnnz6nlkkc09kxmdf4gxwr3wc";
+      rev = "05d9325e14ee1af9114b5c4586d1b200e75ccac9";
+      sha256 = "1ffhx1i9p7a13k6qmpry507ypk45sff6api5nnnc709bd7360743";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
@@ -4355,12 +4367,12 @@ final: prev:
 
   image-nvim = buildVimPlugin {
     pname = "image.nvim";
-    version = "2023-11-22";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "3rd";
       repo = "image.nvim";
-      rev = "0ed70e2d054fe6c6a055fec330a6c4e79812c37a";
-      sha256 = "0d2qg4asy71jhfaxhnkq76l6d1gjp7ckcpqli2wfzhg09b1s384q";
+      rev = "41f0f2643a09631bc0d8e2837b514667d423e440";
+      sha256 = "02fzgynv02fgj8ayyjdhkh290pzii0nllxpzmraa5z5w0rrs3s9y";
     };
     meta.homepage = "https://github.com/3rd/image.nvim/";
   };
@@ -4379,12 +4391,12 @@ final: prev:
 
   inc-rename-nvim = buildVimPlugin {
     pname = "inc-rename.nvim";
-    version = "2023-06-03";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "smjonas";
       repo = "inc-rename.nvim";
-      rev = "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e";
-      sha256 = "088l7xkr7sqmfdm786vavg36z9lpapn79zbr2gxrqwisbysmamcb";
+      rev = "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2";
+      sha256 = "08qwjv7dwgs03dvv7dxgm4hqrcsvvbn1r3f4xkj1g3ppr9pzqhva";
     };
     meta.homepage = "https://github.com/smjonas/inc-rename.nvim/";
   };
@@ -4427,12 +4439,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPlugin {
     pname = "indent-blankline.nvim";
-    version = "2023-10-30";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "29be0919b91fb59eca9e90690d76014233392bef";
-      sha256 = "0z8n9d6f4qiq8m4ai1r2xz90955cp6cikqprq74ivfch3icrzdi1";
+      rev = "dbd90bb689ff10d21fee6792eb8928f0584b5860";
+      sha256 = "1fbx8l5m09qyis4d767gmmwa9rgify6vwjvj3b1jqfzhlz1fmd24";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -4716,12 +4728,12 @@ final: prev:
 
   kommentary = buildVimPlugin {
     pname = "kommentary";
-    version = "2023-01-06";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "b3nj5m1n";
       repo = "kommentary";
-      rev = "3a80117148c6798972bb69414423311ab151d368";
-      sha256 = "0d98hijynmdys7pyh9alk30lsp6ihsbbgzhi8gzjbms16fvgk29p";
+      rev = "d5a111a3bc4109a8f913a5863c9092b3b3801482";
+      sha256 = "0zdcfj19i3b069575rqwmaiar9860x7hk6fgm95fb2d3inivg5ln";
     };
     meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
   };
@@ -4812,12 +4824,12 @@ final: prev:
 
   lean-nvim = buildVimPlugin {
     pname = "lean.nvim";
-    version = "2023-11-17";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "47ff75ce2fcc319fe7d8e031bc42a75473919b93";
-      sha256 = "17ab2q4xq1phhn2pxci0qjib1fjr5yl9lqpwf2sy49plhg7ix4zp";
+      rev = "73e9844702f7b80344e89e3fb465fc1550dd3658";
+      sha256 = "0xq48hdv3hh52rs561m359ccvr7qpv867agxql9qh4yf9v3kw764";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4848,12 +4860,12 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2023-10-22";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "b6ae80f8fc9993638608fc1a51c6ab0eeb12618c";
-      sha256 = "19nffffmczlqfsgjs10hqs9abgbygiv0ns64apk7gzf5anjaj0z1";
+      rev = "d55acc28ecc1f3ab3c396afd1f8b11a239285d9b";
+      sha256 = "0g4savdihdh15lddh5yj8vq5py9flzl59dqc93w6yx2kvj1r9ad2";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
@@ -4956,12 +4968,12 @@ final: prev:
 
   lightline-bufferline = buildVimPlugin {
     pname = "lightline-bufferline";
-    version = "2023-11-02";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "d65e4d1220a35f1f19441116e0f1dab641e1cc51";
-      sha256 = "0xx64dwfnra335kadr2p6a8hyv0bxpfcix7k3f0qbd1hvzf0pihc";
+      rev = "8206632c2e399c6bbf348fa2f8de22788a960629";
+      sha256 = "1nfy7jjadlfpdaqskf4wfk2sm9h255dl8zmwq5nrbnfx2drfj8fn";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -5004,12 +5016,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPlugin {
     pname = "lightspeed.nvim";
-    version = "2022-10-21";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "299eefa6a9e2d881f1194587c573dad619fdb96f";
-      sha256 = "1697plp2f6r5vmayi4xw23lj69pc31r3zh3p07rzxgl2ir4zrj1z";
+      rev = "fcc72d8a4d5f4ebba62d8a3a0660f88f1b5c3b05";
+      sha256 = "1006047i88h1sad2xdi6h26vy13wnh4mnsdqqp4gpvh2sg6avnd5";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -5196,12 +5208,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPlugin {
     pname = "lsp-zero.nvim";
-    version = "2023-11-13";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "8a9ee4e11a3e23101d1d1d11aaac3159ad925cc9";
-      sha256 = "0snk9as2m5dz3m0iki4mrs8j5kd3zr0bfpwxi0i70y4hzxaqlwm1";
+      rev = "98fe58a00c69f709b6b65e53aed56d86da92a4b7";
+      sha256 = "1sacv394xy4i5y63r7pyv5xgkmlwjjwxvml0rsasgiwnsrmgagw7";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5231,12 +5243,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPlugin {
     pname = "lsp_signature.nvim";
-    version = "2023-11-19";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "eb7ae6508fc22f4a6d57bd8de7a09f7549086793";
-      sha256 = "1jaigsjqjbzvmq1c1p8rf1hcgqk3p0y7s0j03jwnvfs4w4ilb753";
+      rev = "fed2c8389c148ff1dfdcdca63c2b48d08a50dea0";
+      sha256 = "18cwrdww4yxl597d95yixhwxlavmkl37nslpida9cincxrz16rz0";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -5267,12 +5279,12 @@ final: prev:
 
   lspsaga-nvim = buildVimPlugin {
     pname = "lspsaga.nvim";
-    version = "2023-11-21";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "d3dfaea0125315110ea720c337ab88aa451d75e7";
-      sha256 = "07bm8gvzx68cdy7jkhva3caqjqazrh5hnhr3yi1qa6g1vlmnb0f7";
+      rev = "e9f08958e5f8410cadaa6388844788aedec5f78a";
+      sha256 = "1rhrjh36nlwrms9ikd3vfmvf1lh5m8wqx79n82g68lkaxch6g8v1";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
@@ -5313,14 +5325,14 @@ final: prev:
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
-  luasnip = buildVimPlugin {
+  luasnip = buildNeovimPlugin {
     pname = "luasnip";
-    version = "2023-11-20";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "cab667e2674881001a86a7478fff7dc7791c63f5";
-      sha256 = "1mlyfj3afb7kqam160hglxq0xfrvjll214dha3zwml1nlbwv4mcr";
+      rev = "f03089854a8e15594a01562fa7192d0009a6fbe7";
+      sha256 = "1ghr6h14004gydf5gjxny4szb0v9brydv1j8rd3x1z87m0jp7hk6";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -5424,24 +5436,24 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2023-11-23";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "a5476087db0a20c05bd1163e1cd4a29b795e73a7";
-      sha256 = "1wqlqadprsh59xmfzw73fkyvn727vp451d21rd5ndmy558d814pv";
+      rev = "4eb8e15e3c0757303d4c6dea64d2981fc679e990";
+      sha256 = "0ng3zhxcxdkpwd4zy17yl51h7bhknd3qv8j6rkbq1js237zv027p";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
 
   mason-tool-installer-nvim = buildVimPlugin {
     pname = "mason-tool-installer.nvim";
-    version = "2023-10-10";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "WhoIsSethDaniel";
       repo = "mason-tool-installer.nvim";
-      rev = "e4f34741daa9cf95de68a603d3e7a6844a69fdf0";
-      sha256 = "1pk19mlssn6f4pqm2j0kf9841nmxd0scphhrrd02w81gmsr912zh";
+      rev = "8b70e7f1e0a4119c1234c3bde4a01c241cabcc74";
+      sha256 = "1jxk8hz4p84f725f35hdkqnk6dnkanly86k89n7p551qwjs21mv0";
     };
     meta.homepage = "https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/";
   };
@@ -5544,12 +5556,12 @@ final: prev:
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2023-11-24";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "baf17e6472b0968661dce5daa372251e934da39f";
-      sha256 = "1icagypgcdqsiz1p4m8kan8wdbjgxcz4qa415rplyrx9rxbpp4rl";
+      rev = "6d1cbcaec421b3768088b4047e78ce22e5503b99";
+      sha256 = "1924d432sym9qbp2q9h9gj5ky81vnxq1y4zzfrg5ay76clplaa95";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5580,12 +5592,12 @@ final: prev:
 
   mkdnflow-nvim = buildVimPlugin {
     pname = "mkdnflow.nvim";
-    version = "2023-11-21";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "jakewvincent";
       repo = "mkdnflow.nvim";
-      rev = "198d4246042f21331415a3e41836fa12322b8536";
-      sha256 = "1g68v86l7im05npp1s5967fz3nwx2xl69n306myggqsqg9admihd";
+      rev = "f23b219b11bf2ac242db80809186241f944410cf";
+      sha256 = "1yclcdmw6r7fr7zx7rzjnf6h20n7y1nlfnz932yjnc233dq9kdsy";
     };
     meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/";
   };
@@ -5614,6 +5626,18 @@ final: prev:
     meta.homepage = "https://github.com/mawkler/modicator.nvim/";
   };
 
+  modus-themes-nvim = buildVimPlugin {
+    pname = "modus-themes.nvim";
+    version = "2023-11-07";
+    src = fetchFromGitHub {
+      owner = "miikanissi";
+      repo = "modus-themes.nvim";
+      rev = "bd5c541f13ee77c6df5d6a5d5c321ab907aa5e11";
+      sha256 = "1xm691bghn9618czifsrymcxmqjhamk8vj8g790r2bm42lgwcs84";
+    };
+    meta.homepage = "https://github.com/miikanissi/modus-themes.nvim/";
+  };
+
   molokai = buildVimPlugin {
     pname = "molokai";
     version = "2015-11-11";
@@ -5628,12 +5652,12 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2023-11-22";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "b24dbb52d573918a3356efb05870398c7dbeb6dd";
-      sha256 = "1wvsd99z53hxal7idbg9kicmn2sqp66ysd2mkjirmnh0gnd2qbz5";
+      rev = "93f2f168e77cbd82a881e07030cdbd45a48ed070";
+      sha256 = "0rvzxd2y3lrmwc0q2vrz5fr42qy682jkrqr3iwydxbwipp6ky7s2";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
@@ -5676,12 +5700,12 @@ final: prev:
 
   multicursors-nvim = buildVimPlugin {
     pname = "multicursors.nvim";
-    version = "2023-11-22";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "smoka7";
       repo = "multicursors.nvim";
-      rev = "496ad2b8f8a563ca01df2974bff246e90c600513";
-      sha256 = "0mdrd572l753iy6q604p7gc76cbbb8ayqpczwyd9qhll9ssz9pi4";
+      rev = "8e876fe9db46c1b76c151202b418df21eca07bad";
+      sha256 = "0jva5l38ikzgy0nw2il6yfpm9z7ibi99ijfqnwcy7zq9kryysnmy";
     };
     meta.homepage = "https://github.com/smoka7/multicursors.nvim/";
   };
@@ -5988,12 +6012,12 @@ final: prev:
 
   neodev-nvim = buildVimPlugin {
     pname = "neodev.nvim";
-    version = "2023-11-23";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "f972d7e6cd21b691199565cfe3e6487e774a4e8f";
-      sha256 = "0crhdfs767jprhaz6mq7k9fb97ahy1vqx5n74wii1rvh2cmnwb68";
+      rev = "1676d2c24186fc30005317e0306d20c639b2351b";
+      sha256 = "1iv3nkzn2p7dbyzdzir0iw3yzvczj6mskz01yiwv9jgq0dpl9rzc";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
@@ -6024,12 +6048,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2023-11-24";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "3be926866a6fdee86f53c13455c9b106f85ca3dc";
-      sha256 = "05wvjzia28wrivvh2a8p145lfiwq46mqamy5s6zay9k5qkn7wmz1";
+      rev = "d0e87541130b2cf62d7f8a54487ef99560232fb6";
+      sha256 = "16mmrhn83k8jrjavxbzq5ql32q2c9jqdgfx3a6hd2iv810y664qi";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6096,12 +6120,12 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2023-11-22";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "3f531c362d07d52c4956520e3798e9cfb5aeabdf";
-      sha256 = "0m112x9v84479f8ynmj0cprgk29s3hxqas6wv6mch39smdshz1bc";
+      rev = "bf3daa2229c60f92f48ac6d7db3049b65fd01371";
+      sha256 = "0si90zng5x0p6qcrzzib8gifbxxw3m3sqbh22jiwwdjxwr3vhy9d";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -6216,12 +6240,12 @@ final: prev:
 
   neotest-elixir = buildVimPlugin {
     pname = "neotest-elixir";
-    version = "2023-11-14";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "jfpedroza";
       repo = "neotest-elixir";
-      rev = "0e85312566c6ef0aa7456503e4038cc5541e7df4";
-      sha256 = "0jcbmh0w8zvhdkk111cvsb56j67bc2l0vf7dcyswn50p96djq5g0";
+      rev = "3117ca5442c02998847131c39551b76a6ceac9d7";
+      sha256 = "1apbn6awihmjxqj465h0aik6nhd2lh00k7vbpl3mrrh9pxifyglr";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/jfpedroza/neotest-elixir/";
@@ -6229,24 +6253,24 @@ final: prev:
 
   neotest-go = buildVimPlugin {
     pname = "neotest-go";
-    version = "2023-09-10";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-go";
-      rev = "1a15e1136db43775214a3e7a598f8930c29c94b7";
-      sha256 = "06j4d0ii46556hwx4ygjajr2mm2wdb3vgjrq4hldfjfb2033wnxg";
+      rev = "d29d20d912aca81a07c50022d880cc66f0d26542";
+      sha256 = "0dhmkh2k18klhlv3cpjsi23ym0isrsf59dr0da2m9528pjzf1qi6";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-go/";
   };
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2023-11-19";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "9bb7981e4753daaf705350b3d98305a488b82dff";
-      sha256 = "1q229xqsv9in0n78hpi0sj6apqyzs9iqbhwnh57swd0v4x85ync6";
+      rev = "51729f549b048890bb9d76b502c63a0a2ba29556";
+      sha256 = "0myx63bpb23wai2fc8zcjx9dsq8l1jysgp1al2wxgqmn8k3b26vl";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
@@ -6277,12 +6301,12 @@ final: prev:
 
   neotest-phpunit = buildVimPlugin {
     pname = "neotest-phpunit";
-    version = "2023-06-04";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "neotest-phpunit";
-      rev = "4e23b92d85a09b9731458ff7058ece4113c5d736";
-      sha256 = "0a53p993vkqgfjssydkq9n6mhhz7rdh8cbljxzx74rw4jam7acyz";
+      rev = "77f348ff9a3288c67c37fbb99efc1731d4f7c55c";
+      sha256 = "0d2r6fq4qnjx55jdaq4jqsp6dhajfsd0g7kmhzvqjnfz64cz97zp";
     };
     meta.homepage = "https://github.com/olimorris/neotest-phpunit/";
   };
@@ -6325,12 +6349,12 @@ final: prev:
 
   neotest-rust = buildVimPlugin {
     pname = "neotest-rust";
-    version = "2023-11-21";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "rouge8";
       repo = "neotest-rust";
-      rev = "46428d9013023f516a61274a78b0cee87fb7e8bc";
-      sha256 = "0k6fqifyxa0m01jrxv9yxv6rzval36j1dps2awbccna0mxjjgjhp";
+      rev = "48c1e146ed0eb775fef6aca75903baf3cedadc01";
+      sha256 = "1dsxhs05qcrq8kwz9y34a3vx5mvpd2j4k40qj9lcnfz0y2171h2z";
     };
     meta.homepage = "https://github.com/rouge8/neotest-rust/";
   };
@@ -6361,12 +6385,12 @@ final: prev:
 
   neotest-vitest = buildVimPlugin {
     pname = "neotest-vitest";
-    version = "2023-06-23";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "marilari88";
       repo = "neotest-vitest";
-      rev = "41bf2f6b743f2ac5c5e9bd0949cee77ca7f2372c";
-      sha256 = "0bz6h0mh8cyjf2xdnykyiijwmw9vgwvlb9nfzzjvxba8nqzgb4rq";
+      rev = "15972c4791b3d47df82311047835803a072c1da6";
+      sha256 = "0l6x6b2flzr4591002srin58bls26gk58p3rqr8mjcjrm3znbsya";
     };
     meta.homepage = "https://github.com/marilari88/neotest-vitest/";
   };
@@ -6385,12 +6409,12 @@ final: prev:
 
   neovim-fuzzy = buildVimPlugin {
     pname = "neovim-fuzzy";
-    version = "2023-01-25";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "cloudhead";
       repo = "neovim-fuzzy";
-      rev = "f6a1429bd0ac9953eb1d838ba800e69685fbcac1";
-      sha256 = "0d2r8dx9sicf4fjf87ksclsvdvx2f7npjqpscyvycn04wrzvjsaq";
+      rev = "16ee769bb459e8173a2ef9f515905c8f879ff7c6";
+      sha256 = "0ibdg66fri1r0scqvxvs52bcr2h246kc52x2g2n3agr5c38hz9sc";
     };
     meta.homepage = "https://github.com/cloudhead/neovim-fuzzy/";
   };
@@ -6433,12 +6457,12 @@ final: prev:
 
   nerdtree = buildVimPlugin {
     pname = "nerdtree";
-    version = "2023-11-15";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "0cb04e9245b000daf32f04aae5f606011a6aa3b5";
-      sha256 = "1rws27wc2l3qahvbfd5b2i1js9kwldxxsfsn0abah96q2m1i3q85";
+      rev = "9ec27d45a863aeb82fea56cebcb8a75a4e369fc9";
+      sha256 = "17j2q0vdplxz4qjkx140mgxjcj1dghzkz1ijb3vc3i2hl5qfmba1";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
@@ -6493,12 +6517,12 @@ final: prev:
 
   nginx-vim = buildVimPlugin {
     pname = "nginx.vim";
-    version = "2023-01-25";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "chr4";
       repo = "nginx.vim";
-      rev = "8a42e93c9f004fbc5b32bb2e4940107fb7b70a42";
-      sha256 = "12dhzglvmpv1b0ynwig224dnilakqkwh4npidmgh5njy2rrqvy9m";
+      rev = "cffaec54f0c7f9518de053634413a20e90eac825";
+      sha256 = "04m5firsdi5dy4w6s8fw1vlpgnzr8dgx4fgx348kvxg1iky9l4hs";
     };
     meta.homepage = "https://github.com/chr4/nginx.vim/";
   };
@@ -6577,12 +6601,12 @@ final: prev:
 
   no-neck-pain-nvim = buildVimPlugin {
     pname = "no-neck-pain.nvim";
-    version = "2023-11-10";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "shortcuts";
       repo = "no-neck-pain.nvim";
-      rev = "2bcb6b761a34c69739da9aab642839b59236b801";
-      sha256 = "1pd2qzc3gvrbwhxd5i2bc5jd1ll762m23qsjpbhc4xm5dyq66i89";
+      rev = "968ad52ee472e950d104303c4c0bfcd3de664fe1";
+      sha256 = "0lqhi74fjvsflx642g04k2zf8i8dxfycmgd7hh0nkc6012b1ma3x";
     };
     meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
   };
@@ -6601,12 +6625,12 @@ final: prev:
 
   none-ls-nvim = buildVimPlugin {
     pname = "none-ls.nvim";
-    version = "2023-11-24";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "nvimtools";
       repo = "none-ls.nvim";
-      rev = "358dd357a753f81412397b8a4cc01a2f41a1b594";
-      sha256 = "0pwlhsqkkq9d1i9rgrlf82xqlis48czz2arghjd0xs8vgf5aqypl";
+      rev = "7bf88cd3b37a411fdacfdca1745408a77a420493";
+      sha256 = "0ynlhj5vskv6laixs79lh334fxxkm0yx1vcgc9vyk9cr19v5109n";
     };
     meta.homepage = "https://github.com/nvimtools/none-ls.nvim/";
   };
@@ -6661,12 +6685,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2023-10-09";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32";
-      sha256 = "0x3bf63d4xblpvjirnhsk4ifb58rw6wprmj86dsfqjzls37fw6m5";
+      rev = "1d044afde83e73c56de8e176615a4a6e7c8cf0e3";
+      sha256 = "08s5anr34vkc8zcac3v7f6rgyankcr0k34y8hkrmc554ak4f1cqq";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -6913,12 +6937,12 @@ final: prev:
 
   nvim-coverage = buildVimPlugin {
     pname = "nvim-coverage";
-    version = "2023-10-25";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "andythigpen";
       repo = "nvim-coverage";
-      rev = "13e357d4a2a230070c64ede61252225f0b7d3b5e";
-      sha256 = "11pw7izbb9yim3vcijxljhp3l7z39ycscjgqrl5wxaj4j2jvaldw";
+      rev = "cf4b5c61dfac977026a51a2bcad9173c272986ce";
+      sha256 = "08lnmizw9jsncmqs1fl1ilmlh3gq0v0bdal1v30i7qhfigr5wsgc";
     };
     meta.homepage = "https://github.com/andythigpen/nvim-coverage/";
   };
@@ -6937,12 +6961,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2023-11-17";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "e154fdb6d70b3765d71f296e718b29d8b7026a63";
-      sha256 = "156hp1i8vm0fpy5vbcx0ihazblnly72vjsiy8bf9f30i9rvq9knv";
+      rev = "d7749eb3d9933a75d2244820308ce442f646c7ae";
+      sha256 = "0plpvvzbhvs9yhjb7413zcypzdmr9437vkn3mybnd93k8rfwsly9";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7081,12 +7105,12 @@ final: prev:
 
   nvim-hlslens = buildVimPlugin {
     pname = "nvim-hlslens";
-    version = "2023-08-06";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "f0281591a59e95400babf61a96e59ba20e5c9533";
-      sha256 = "1ih4zkb025wvns0bgk3g9ps9krwj5jfzi49qqvg5v3v707ypq2kj";
+      rev = "9bd8d6b155fafc59da18291858c39f115464287c";
+      sha256 = "0d3dxc0v347z6dz7zmnf845kzv6j2yca94pgakaac4x6m3lcy5xl";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -7105,12 +7129,12 @@ final: prev:
 
   nvim-jdtls = buildVimPlugin {
     pname = "nvim-jdtls";
-    version = "2023-11-21";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "44403b2ef6c6285cfd9a3b4fa9a0d746ddae4b45";
-      sha256 = "0d6icxcy9rx7dcdx821apwz1mrdl3vr3s547y9xw1m7idljij1cv";
+      rev = "66b5ace68a5d1c45fdfb1afa8d847e87af2aa1f8";
+      sha256 = "1cycasjvms1m58vcb3sk01dp4dzjjchds20yq0c6vq1s98wir0y6";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -7176,24 +7200,24 @@ final: prev:
 
   nvim-lilypond-suite = buildVimPlugin {
     pname = "nvim-lilypond-suite";
-    version = "2023-11-23";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "martineausimon";
       repo = "nvim-lilypond-suite";
-      rev = "a3462e76fc3841c0eddae6c10ce917206eb42e31";
-      sha256 = "0wsvlgz36q4a606lh9mlaagbazj67hx2lsqq0yqi67bkw0hwgvgr";
+      rev = "463b8190db2455d3bc764d234076b8b42e405c28";
+      sha256 = "1v024pi0xanax2q3blmq7cz8cl1vnb7shpzk4agda823qxm9kc3i";
     };
     meta.homepage = "https://github.com/martineausimon/nvim-lilypond-suite/";
   };
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2023-11-19";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "3a7c15331a57ba40a56f00f29173700af853fa03";
-      sha256 = "13h8s0cpgv2l6y1p54c9a4hncqh64zlrx07zy7k18xhqsz461c69";
+      rev = "f20f35756e74b91c0b4340d01fee22422bdffefa";
+      sha256 = "1whq19qifw8w6bkm8sl80h0krjyrpsd9zyyq0skfl3bbsn31vlsv";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7224,12 +7248,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2023-11-22";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "553c4e0e667167640c5398573f6f3a488ff8047a";
-      sha256 = "0jm03jrsy1yj293hyimakhxcsak45f55zjc1ch1smy0h0qgr23fm";
+      rev = "694aaec65733e2d54d393abf80e526f86726c988";
+      sha256 = "16nrq7gxnk33qgpmcnjd8yq738vd7qpr2x77v7xf84qp2443nbkx";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7288,8 +7312,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "1a008b324d4f272ed628e5f354f0df61db5cbfbd";
-      sha256 = "0nfv1yw50pgi29wfazapyqkkws50nxh862n586dy3ya2g7b00knf";
+      rev = "826b7542b8bccf9a120d1c613481fb0496f93724";
+      sha256 = "03hifwc01nc3s4hlbfhfpcw7as0l6sfgsrh0flmqpxhdix52gljm";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -7320,12 +7344,12 @@ final: prev:
 
   nvim-navic = buildVimPlugin {
     pname = "nvim-navic";
-    version = "2023-09-18";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-navic";
-      rev = "0ffa7ffe6588f3417e680439872f5049e38a24db";
-      sha256 = "04fd7gcs6hhc44pya1k8ds332hm1jpg44w3ri14g3r2850b8b02z";
+      rev = "8649f694d3e76ee10c19255dece6411c29206a54";
+      sha256 = "0964wgwh6i4nm637vx36bshkpd5i63ipwzqmrdbkz5h9bzyng7nj";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-navic/";
   };
@@ -7452,12 +7476,12 @@ final: prev:
 
   nvim-scrollview = buildVimPlugin {
     pname = "nvim-scrollview";
-    version = "2023-11-16";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "74ab63b598cca206888e83090ed6312aac324b4c";
-      sha256 = "0habi91wq7q6i49x20ipli9kd84iflpz0wb2lfwnmhii1dfvmifh";
+      rev = "7eb9030662fad8bfbc1df2c6cfc165aa4a8904b2";
+      sha256 = "1245qk1s00svnh57ijamziam8lm3d419a5vf3wry9fdf2lm01j1g";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -7572,24 +7596,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2023-11-22";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "fa00b57873008700a83c1387f02ef2c6fc183b53";
-      sha256 = "0kvnx36q2dbr6rid9awgrkhj12i7hl4qagv9dsy5brah57sx3ssy";
+      rev = "05f55c1fd6470b31627655c528245794e3cd4b2c";
+      sha256 = "1kjagblw41981h4lzx8mpaksb2c5jdz2icq4ccf5sxd8f6fprhbw";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2023-11-24";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "649d137371e9214d30b20565e0574824fa3a3670";
-      sha256 = "0i9vjhxg97wbl9mwh914fyv9blbsdmcjhxh3hiji15mmlba73n4d";
+      rev = "0791b5ebb590a2d44e20640c52679df1fc42e8ab";
+      sha256 = "1a6sy62hwb1kclm6czbi1m9vv2xcp7pswgsafrxff96ahkqnbrrm";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -7644,12 +7668,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPlugin {
     pname = "nvim-treesitter-textobjects";
-    version = "2023-11-10";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "dbcd9388e3b119a87c785e10a00d62876077d23d";
-      sha256 = "0qprl987ljj9ki24n75g5fvpj8h4rqzx7n6sdicpmw9d91bn169b";
+      rev = "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a";
+      sha256 = "1kdfwihk8ci827aq4w6xv7vn2740qpmh6dk892cd6yi0ab4zxvxn";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -7680,12 +7704,12 @@ final: prev:
 
   nvim-ts-context-commentstring = buildVimPlugin {
     pname = "nvim-ts-context-commentstring";
-    version = "2023-11-20";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "bdd2a3293340465a516b126d10894f6d5cb5213c";
-      sha256 = "1pg2myk6k19z33yiqnjah6yb6hxhimv2qx15amhs9h9avyjmnlx0";
+      rev = "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee";
+      sha256 = "0363gb837rm66127z7b7q20ak4dgby3q1r0wvz5sqbkw8d704jgb";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
@@ -7715,36 +7739,36 @@ final: prev:
 
   nvim-ufo = buildVimPlugin {
     pname = "nvim-ufo";
-    version = "2023-11-23";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-ufo";
-      rev = "ad8d336cdde8f1f925bd4eaf8a00b67885deb25e";
-      sha256 = "1cxhncglmd4c41a3l6dk9m5d00vlvd7q6xl1aafwmn4lx878qxxa";
+      rev = "9fa77fb7e4365a053a5303b773aaf5eaf806d1f4";
+      sha256 = "07idni9j2yzv5wxc1amg8w3sbrmn07kqsdm4wza5pz6j444fjksm";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/";
   };
 
   nvim-unception = buildVimPlugin {
     pname = "nvim-unception";
-    version = "2023-04-11";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "samjwill";
       repo = "nvim-unception";
-      rev = "0cbf11a6c5c4314e88245b69d460f85f30885d2e";
-      sha256 = "12fy3nchbg7w8yyhk1ym5amx8kvvx73wmlqgi8ss2ikywc7n5d0c";
+      rev = "23085504347a710e43d7921ccb839fda8f1a70c1";
+      sha256 = "0lprrkgm1plnw28vfpq550gakyw3ngxw930lr72wcx82r029i51g";
     };
     meta.homepage = "https://github.com/samjwill/nvim-unception/";
   };
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2023-11-20";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "cdbcca210cf3655aa9b31ebf2422763ecd85ee5c";
-      sha256 = "18bxb2zg55ccjzj7q2kyv3bhyxagf3pm89zqhmwy45n0ng9vmn89";
+      rev = "5efb8bd06841f91f97c90e16de85e96d57e9c862";
+      sha256 = "1vxc1b51h6ss6h7fcihl6v01v8a8df1i6hz11hq2m46dyqw2n5p9";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -7847,24 +7871,24 @@ final: prev:
 
   octo-nvim = buildVimPlugin {
     pname = "octo.nvim";
-    version = "2023-11-13";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "5d6bed660ff18878a9096b3acef9c444b85021ac";
-      sha256 = "1y1d1fa5m5wch2daskshmwm934qgbaca9s1340y36bhysbdd7ifj";
+      rev = "1ce62d9a29b5eca2c63fb955359f5212e4d1bc7b";
+      sha256 = "12yykcj8g1xrl7xlyvfb6jkqyxd17ixnfsrqym0y3lva01gs44zl";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
 
   oil-nvim = buildVimPlugin {
     pname = "oil.nvim";
-    version = "2023-11-20";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "oil.nvim";
-      rev = "05cb8257cb9257144e63f41ccfe5a41ba3d1003c";
-      sha256 = "0y2lfdx75d418jdypp1yg3sdmr88csb4z3p1dnxnggx4xk1yghrx";
+      rev = "58340545c6a01e5e9f7966df448714a156db137a";
+      sha256 = "0s3yd9336yqk8s8f07lf0195pn5q0ij1qphp0yaisrpxbfarl63p";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/oil.nvim/";
@@ -8028,12 +8052,12 @@ final: prev:
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2023-10-25";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "b25537cc5c836f1a485176757da954b775a5b914";
-      sha256 = "0vccwqhhsr4qqwf9jkv0pv1s06qf3mxsgzn67lkwimjsg58ksz9p";
+      rev = "9a3db06bf3abadafb93279648317984ca789b888";
+      sha256 = "16pgvzb2xyak2zxmi0r65w979jzim4m595ag0lcsgr4wvm0vz8j2";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
@@ -8053,12 +8077,12 @@ final: prev:
 
   oxocarbon-nvim = buildVimPlugin {
     pname = "oxocarbon.nvim";
-    version = "2023-09-23";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "nyoom-engineering";
       repo = "oxocarbon.nvim";
-      rev = "b47c0ecab3a4270815afb3b05e03423b04cca8f2";
-      sha256 = "1hkjc7x5ma8pmz5vi93ygqmbdfammikpvjjxkw9axlh5wh8ys48y";
+      rev = "c5846d10cbe4131cc5e32c6d00beaf59cb60f6a2";
+      sha256 = "1789b010h8yz0yg60xjssl6fz02dbpkq90ldalyqk5p4ncn41qpv";
     };
     meta.homepage = "https://github.com/nyoom-engineering/oxocarbon.nvim/";
   };
@@ -8233,12 +8257,12 @@ final: prev:
 
   plenary-nvim = buildNeovimPlugin {
     pname = "plenary.nvim";
-    version = "2023-10-11";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "50012918b2fc8357b87cff2a7f7f0446e47da174";
-      sha256 = "1sn7vpsbwpyndsjyxb4af8fvz4sfhlbavvw6jjsv3h18sdvkh7nd";
+      rev = "55d9fe89e33efd26f532ef20223e5f9430c8b0c0";
+      sha256 = "1f6vqqafk78njpl47xgsf8p199mmvw4h4b9axab9rl86fdlibikz";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -8366,12 +8390,12 @@ final: prev:
 
   promise-async = buildVimPlugin {
     pname = "promise-async";
-    version = "2023-04-09";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "promise-async";
-      rev = "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e";
-      sha256 = "0cavxw5v3nhnrs26r7cqxirq2ydk5g1ymcd3m4gf4rjjw9n067sd";
+      rev = "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6";
+      sha256 = "0davvjhc5pxa8j3l7njqk9dqc7m9f4hg037xcz0nr23ihhs2ja96";
     };
     meta.homepage = "https://github.com/kevinhwang91/promise-async/";
   };
@@ -8439,12 +8463,12 @@ final: prev:
 
   quarto-nvim = buildVimPlugin {
     pname = "quarto-nvim";
-    version = "2023-11-20";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "quarto-dev";
       repo = "quarto-nvim";
-      rev = "d341a9e4ee4ca2b361e7b1abfae5846508be3173";
-      sha256 = "1sd34ynkbvaa3rs4mm84na6dgqr4fjf4iaxyj1a6iqj08gch90bb";
+      rev = "0a35b3890e9d723b730506d7d8b3ba3d0d6aae2e";
+      sha256 = "1pkyr1pqq9dfk0s7f8rfqkg5zqhi9ss818wv54v9gnhvmwnw30mk";
     };
     meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
   };
@@ -8511,11 +8535,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2023-11-23";
+    version = "2023-11-26";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "a2da59bdacb5e3a28873ac7039a16271ac16b224";
-      sha256 = "0s9pd19fbmcy13r9bji4cyzf60vcrc3x7gxj9ayav0pxxh161sj7";
+      rev = "47404636a34580db1636dc0cf35027bdf77abba5";
+      sha256 = "0li17i97h8iyk4pa79n1jgzi3firnjmz88vxx0aadd3x33p45d2r";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -8654,12 +8678,12 @@ final: prev:
 
   rest-nvim = buildNeovimPlugin {
     pname = "rest.nvim";
-    version = "2023-11-19";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "c186d3e5bc5f962fd026daf087fec8364101db57";
-      sha256 = "19a2i0ki5dm93bbwafq85kwrskk2p9x0fz0139dahw1pmh6nlkyp";
+      rev = "84e81a19ab24ccf05c9233d34d4dfce61c233abe";
+      sha256 = "1z6wkszd84xnqfhb1s59rggcipl9dmyxw21yrksg1q7hhcgq1abb";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -8762,12 +8786,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2023-11-21";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "e0853ead50e6327c037a4ab3e3c54fdb140536c2";
-      sha256 = "0aqyhrxacxdd3l6xkz5gnyw8x3lsqrrsn2byicyxi7kai46kplmk";
+      rev = "7c1089ad1e35198911992c09cfd24dc15a225985";
+      sha256 = "1lillfkjq0jhq7d5w12brj4x8l88vj168ypihjigngm4gabwrr8f";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -9003,12 +9027,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2023-10-17";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "c8a9173d70cbbd1f6e4a414e49e31df2b32a1362";
-      sha256 = "0hxy3fv6qp7shwh9wgf20q5i8ba2pzng2dd1dvw27aabibk43ba3";
+      rev = "c970c7a3cc7ba635fd73d43c81b40f04c00f5058";
+      sha256 = "0ri4b6q4qqy1cwyhknysnldbrg2yx4cfi2ddgvnn6snq8jhkmjbw";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -9051,12 +9075,12 @@ final: prev:
 
   snap = buildVimPlugin {
     pname = "snap";
-    version = "2023-11-24";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "camspiers";
       repo = "snap";
-      rev = "18f337ebe1c5b792f19233071bd95ebd529082b2";
-      sha256 = "1m4iw0zyd3npm8cw9np8qn92gcn3lnybjqdm2n4v5m2ws2g6zmr7";
+      rev = "09fa206b460050b96bc9b3a283377c8c11fb32fe";
+      sha256 = "02c12bar3xr4xkg835r0bkxcyp3n5pf1zgrbx58hl61fx4f1z7df";
     };
     meta.homepage = "https://github.com/camspiers/snap/";
   };
@@ -9244,12 +9268,12 @@ final: prev:
 
   srcery-vim = buildVimPlugin {
     pname = "srcery-vim";
-    version = "2023-11-13";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "ffe6b8e975bb2f218cbeb3e785d2f12d9f88b37d";
-      sha256 = "0nwk81y9j5ljjm3k19kf1zmscdxiis4mwan026wv7cqp7f9qhxlr";
+      rev = "e605292319d9c964281d840ac87d3deddfc06559";
+      sha256 = "0b5zj2ilvhkv01n480gd6zylnhc3yhq9p7gcj0f12fn9yfihqdnf";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9679,12 +9703,12 @@ final: prev:
 
   telescope-cheat-nvim = buildVimPlugin {
     pname = "telescope-cheat.nvim";
-    version = "2023-02-19";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-cheat.nvim";
-      rev = "5549dfe9207b06eb28bff74af977f078376f9762";
-      sha256 = "0wxdv266fn83yh1dy05pw5xgd0j7gndngk3s3g7lljbj7y0nzy5m";
+      rev = "93f4af8240819833ba9c81c0947ee9fc94c93490";
+      sha256 = "1wlhy52kjhvvhg6cmq5r60rqhma09zdz084fybcx3z3gfsgym4c7";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-cheat.nvim/";
   };
@@ -9715,24 +9739,24 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPlugin {
     pname = "telescope-file-browser.nvim";
-    version = "2023-11-16";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "f41675fddb1ea9003187d07ecc627a8bf8292633";
-      sha256 = "05qvb1fsnby5c5x5my601lavbk3m9w10dnq6i55yp42ksrk8zjki";
+      rev = "98101b22402cd6d1c7e9a7e0c4718bfc98cb1625";
+      sha256 = "13bnzdsmahk8phcxzm8d343mzmbxahrr34fkn8ylxy1shxbw6mw6";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
 
   telescope-frecency-nvim = buildVimPlugin {
     pname = "telescope-frecency.nvim";
-    version = "2023-11-24";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "ca5fa5326fc2b2ebd3269176594c4341ad720ac5";
-      sha256 = "16pqbn4i23j3ynzii5cszfqwrbz54cd8d99hqkqamvsm36q9m5b7";
+      rev = "de410701811f4142315ce89183256a969a08ff9d";
+      sha256 = "1wcbkqlwy6k8jsz0sqk0mqhlm6d0j8l3rdxw8vlwby00fbscs0is";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -9836,12 +9860,12 @@ final: prev:
 
   telescope-project-nvim = buildVimPlugin {
     pname = "telescope-project.nvim";
-    version = "2023-11-06";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-project.nvim";
-      rev = "5460c6c60d48618c5c746e5b1cad4c3e8262fdae";
-      sha256 = "0mj5sg698idk6lsaw6fd56j206vf0djv5sgaszjm4vffgc7666sb";
+      rev = "1aaf16580a614601a7f7077d9639aeb457dc5559";
+      sha256 = "1g03lnl79245d0vn7ydda4aixd2qbv9kcxc584msk7jwbc58r2xn";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-project.nvim/";
   };
@@ -9860,24 +9884,24 @@ final: prev:
 
   telescope-symbols-nvim = buildVimPlugin {
     pname = "telescope-symbols.nvim";
-    version = "2023-02-19";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-symbols.nvim";
-      rev = "f2060117d965df4a626f068a4ebbd8ee051aa076";
-      sha256 = "1g9pj2g8l2rkz6szrijw56l1hd7lfac8i3g4fyvhi3x4xqjnml3h";
+      rev = "a6d0127a53d39b9fc2af75bd169d288166118aec";
+      sha256 = "07y1qhiv1qc5ip91l7w1dg59pkzchhz2qxcxm7ghhby47pvqv0yd";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-symbols.nvim/";
   };
 
   telescope-ui-select-nvim = buildVimPlugin {
     pname = "telescope-ui-select.nvim";
-    version = "2023-11-08";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-ui-select.nvim";
-      rev = "0fc69ebbf178631b8ab76745459fade062156ec5";
-      sha256 = "16ri6gxy4pgjf2rxxnd6p0i1ibaz08sd31n2v40n6y84is2nywrd";
+      rev = "c261d903a78c2cda47a5e44488621f10f9dd7fcf";
+      sha256 = "13clvq5zhhf6msawjsf42bja0avhngzzq0c0v5jfv2qzpdgbl5k2";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-ui-select.nvim/";
   };
@@ -9957,12 +9981,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2023-11-16";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "18774ec7929c8a8003a91e9e1f69f6c32258bbfe";
-      sha256 = "1vihb6l5xiqbrs1g4c1blpkd0c995hwv2w6sr5b86zzmk70g0c7k";
+      rev = "3f5f165447d797576206e3b9bd555ea8db85b6f2";
+      sha256 = "0y9b69cah627dd3298gyizim8qfgq3wp9ajlz1pah0m43xcylkfm";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10005,12 +10029,12 @@ final: prev:
 
   term-edit-nvim = buildVimPlugin {
     pname = "term-edit.nvim";
-    version = "2023-11-12";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "chomosuke";
       repo = "term-edit.nvim";
-      rev = "aa3369a562b816ff0cec4fa6eddc9c32ac472710";
-      sha256 = "07fd9xqg2ykqnsqb9w6jqypzzl8klih5d67gi42jdawj3n4ijvcs";
+      rev = "e04f69d5828c6e6a4d81c34f75f18762fad50372";
+      sha256 = "1kh70ivd6p9f3xsf09iwyy94gvkzprv08ln52sh44n90s1yr4ql4";
     };
     meta.homepage = "https://github.com/chomosuke/term-edit.nvim/";
   };
@@ -10065,12 +10089,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2023-11-24";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "f3a6cb7116c3eaa60cc7f6a3648f1dd5b9f6500b";
-      sha256 = "0f30di446zisc1hj4cyfs8n4cyxlnxqr9njx84liff1q5p8h9pj6";
+      rev = "ebe3650101a3505044559f71ec4ea4c789292164";
+      sha256 = "01lqj5x0976lpik80i7riy5r8q498ki1nkkmc716xgnbl7021b0g";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -10198,12 +10222,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPlugin {
     pname = "toggleterm.nvim";
-    version = "2023-11-22";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "fb0c365534e7ee327b30205beff3f3a708dcba33";
-      sha256 = "08mn5xn2mbpy7b976a196958x8kfa2ik349lbmi15si8p6szfizv";
+      rev = "6b334b9d1266b0f58ab1b6965c1e5b7eb5c34523";
+      sha256 = "1fcgvgr2aaprmkw5jxd79c75i1azj8al4cmnswxkiqj0024q4bpb";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -10342,12 +10366,12 @@ final: prev:
 
   typescript-tools-nvim = buildVimPlugin {
     pname = "typescript-tools.nvim";
-    version = "2023-11-22";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "pmizio";
       repo = "typescript-tools.nvim";
-      rev = "89675239daee17ea9cdd369d56e9622dc841ef88";
-      sha256 = "1h7qygc1c4kk8jnxfd56n949vn473jc12zqnr1z3gf8jf12lw2qk";
+      rev = "7911a0aa27e472bff986f1d3ce38ebad3b635b28";
+      sha256 = "1sfsi7fxilws81svc8c0y2a1r6ky99xw9pfpnn5hfhvh9q16ar8i";
     };
     meta.homepage = "https://github.com/pmizio/typescript-tools.nvim/";
   };
@@ -10378,12 +10402,12 @@ final: prev:
 
   typst-vim = buildVimPlugin {
     pname = "typst.vim";
-    version = "2023-11-12";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "kaarmu";
       repo = "typst.vim";
-      rev = "e72561f0023860eb83bd7680573b05ecfc016c55";
-      sha256 = "1i9ydjr9fzhwxf55451p4i0l4mnflp9gziyxz7z5w06qa1ya7cvd";
+      rev = "8b1d2962875b8701c830199f042b74663b6a3a7f";
+      sha256 = "0yws4pfzzbz49shk99r4hblxqqxfjbqj2sh52ssjff2hk6is804c";
     };
     meta.homepage = "https://github.com/kaarmu/typst.vim/";
   };
@@ -10426,12 +10450,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2023-11-22";
+    version = "2023-12-01";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "79eeee732f7272a476e9df042efc4df473feeda7";
-      sha256 = "1a2hmqzn60l5hs0fsklbvxmd3a3hrr40x5d0m8jw1f3hdnlm0355";
+      rev = "ebf9874e64a8c96041af727d2aa17033a8718f03";
+      sha256 = "1ndm54q3qg2hhcnh1bncjpmknczmngy9n6jgbr2wrxsvrsq8mb06";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -11378,8 +11402,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "22e551acedcd97425d831ecbc881b2012d919e1f";
-      sha256 = "1k30m7yc03i7dcpdz8xisjjm3chnk80cp155jnyahcfkr346ipza";
+      rev = "c6730fb9c0d17060ea0caf5b9bd3090e86f6a14d";
+      sha256 = "0gn779c2z44gcxygjsb2spcsa9dkfxii6b27i1irnllmzkys18p4";
     };
     meta.homepage = "https://github.com/google/vim-codefmt/";
   };
@@ -11602,12 +11626,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPlugin {
     pname = "vim-dadbod-ui";
-    version = "2023-09-29";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "95fd22469507e86b78aa55d868c14108adee2881";
-      sha256 = "049bqzh61rj3xril9mxb8h75jr074126pgvq65c90h4rm9ddk4ql";
+      rev = "9ddb0623e69d696b7a8355b93e3950a8dc6e00a0";
+      sha256 = "1ihfxy0diqhbcaxj23pqmnfh1wshx2s4id5r574vb27k929han2s";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -11926,12 +11950,12 @@ final: prev:
 
   vim-erlang-tags = buildVimPlugin {
     pname = "vim-erlang-tags";
-    version = "2022-04-02";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-tags";
-      rev = "cf6e9319818a6737dc9b79b7fa53fe4cdfc65139";
-      sha256 = "1sk3z35svv2dznmvw9cgjm1731lgq34gai92c5vy6sxdbn6h1sbw";
+      rev = "a7b106215f05e7dd4cd20cf5fc29071cceb5fca0";
+      sha256 = "1gc5nprzwi6alxk7wclvvdxllwdzrwbmc6zdbhpa33igygvws4gw";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-tags/";
   };
@@ -12876,24 +12900,24 @@ final: prev:
 
   vim-just = buildVimPlugin {
     pname = "vim-just";
-    version = "2023-11-16";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "fda7259fc3b16af1d16e467c1482aac3bcc4df9a";
-      sha256 = "0rfj8hknzwjp59x51wf99j4ymda4gnc2ly1rl3185dw4p3v7n4ph";
+      rev = "4e3c322be764cde80eab73c8e03c7ac410eb0e19";
+      sha256 = "0ypbbk72h5l9j89i2hsjkcr95is1jd9gsnhchqw6zy8ip7qqa6sb";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
 
   vim-kitty-navigator = buildVimPlugin {
     pname = "vim-kitty-navigator";
-    version = "2023-05-25";
+    version = "2023-11-30";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "c3d8aaaa61717b2c142ff39553fcab709fd606a7";
-      sha256 = "0p6bp1p1vmm5ps29dvhvmq7dc56zqnkmzzfbb6fyk58nf7cr58v9";
+      rev = "2aafc20a0a4eb3efa757db51868a2ab181e88690";
+      sha256 = "0f298z3mcisja1h6z1f1smj9b3kq232bkvjwj9xyavhr0fpq6h9f";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -12912,12 +12936,12 @@ final: prev:
 
   vim-lastplace = buildVimPlugin {
     pname = "vim-lastplace";
-    version = "2023-08-24";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "farmergreg";
       repo = "vim-lastplace";
-      rev = "bb3191b134ade9d1f01014e17c3df91e8911dd5c";
-      sha256 = "0sv05v6q1lkc4xklqly0hf2p4w4schan3gvcf1s6493697hvcc4h";
+      rev = "aaaf3dc8bbe496c3242a4b4635154ccc9414d357";
+      sha256 = "0wz59f6hmkdnv8hfgws20z0qrlpvfkxmdx4943fm1i3hmcdhyi1g";
     };
     meta.homepage = "https://github.com/farmergreg/vim-lastplace/";
   };
@@ -13104,12 +13128,12 @@ final: prev:
 
   vim-lsp = buildVimPlugin {
     pname = "vim-lsp";
-    version = "2023-11-20";
+    version = "2023-11-25";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "dbe8b17c0926ab1155fa54ddddc4d692c19292bd";
-      sha256 = "1qydmzc2qqqg8dmgn26fyf4wz10h6glfc67pz3pxi6rsqf5549hj";
+      rev = "3af8f3b38effc4a631a15bb283a4b701c251275d";
+      sha256 = "1qca60s39q0w7l4zhj63jarh26dkqik8pw8ncwlbkinvfv5h3dbi";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -13261,12 +13285,12 @@ final: prev:
 
   vim-matchup = buildVimPlugin {
     pname = "vim-matchup";
-    version = "2023-11-05";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "d30b72d20f01478a8486f15a57c89fe3177373db";
-      sha256 = "0zlficdwybcz8mvzv70vp4mkzrwpmvp3v0dq88fyimyajyxi1aqp";
+      rev = "269f9bea87e20a01438085eb13df539929a12727";
+      sha256 = "0ca3fhdr6pp77z72lxlhlkzi1ng713nfzvyywmq8a31z8j2vkh87";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -13585,12 +13609,12 @@ final: prev:
 
   vim-ocaml = buildVimPlugin {
     pname = "vim-ocaml";
-    version = "2023-07-04";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "e3d4d3225f58d43131c5934bf010598a76ea100e";
-      sha256 = "0a8409j5690a21ld02rgpmlf3qgnp0nz3wsabf9fsi9r3caz7chm";
+      rev = "21453ca6a7bbf7e189a62e72ced5d440bc7fd625";
+      sha256 = "1qlnj55qvxw8q8s66za9nj2fr19i284a74p72i60ywn1pp4kk64r";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -13777,12 +13801,12 @@ final: prev:
 
   vim-pandoc-syntax = buildVimPlugin {
     pname = "vim-pandoc-syntax";
-    version = "2023-01-10";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "4268535e1d33117a680a91160d845cd3833dfe28";
-      sha256 = "0wd6fxv3l19rh7a6zfqi7ylcd1wjk8haiix7cq3zzyvq3zfidp0z";
+      rev = "16939cda184ff555938cc895cc62477c172997f9";
+      sha256 = "1rk3iqqzckrni1qznv1rmi63lf2h2qcis6z7priqn7zi2v41jgpa";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc-syntax/";
   };
@@ -14029,12 +14053,12 @@ final: prev:
 
   vim-ps1 = buildVimPlugin {
     pname = "vim-ps1";
-    version = "2023-10-13";
+    version = "2023-11-28";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "7d0c8581e774cab8198bafa936e231b6f4c634e6";
-      sha256 = "07ac71a09qcl1flavkwazd4df6n8v56cqj3phff3f12p5sfkmy1y";
+      rev = "308aac5449ccce54d09a669afc41326ae848d731";
+      sha256 = "0akpwjpm66zyjx9vzlzy98dsxv556maz4pbk1grv14bxzz84m4vi";
     };
     meta.homepage = "https://github.com/PProvost/vim-ps1/";
   };
@@ -14449,12 +14473,12 @@ final: prev:
 
   vim-slime = buildVimPlugin {
     pname = "vim-slime";
-    version = "2023-11-04";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "ce6ffa7d5f3d5faf739c07c0409b5e2035c279cc";
-      sha256 = "04w9ybcfc4cyb5ipp8ccpr35r4ja45xasgn149bkqxv747j9hvhp";
+      rev = "a532203bcd7af7f5e571c07b60bba7287076dc19";
+      sha256 = "0jfzah18mzh0iszi6k86k4y571j6jjhg3cyy9ivxcybacppaf2id";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -14557,12 +14581,12 @@ final: prev:
 
   vim-snippets = buildVimPlugin {
     pname = "vim-snippets";
-    version = "2023-11-01";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "b039190177d97a968d80518470910aae7faf182a";
-      sha256 = "18yanygh3an4vak8zdj242pvqf557pg7ybfcnzrl0052vr7s3pf8";
+      rev = "ec4ff7e9c9b274e93295924e59c82b4f51e2ae42";
+      sha256 = "04gsma772cf6rxig2b3d37pvmv3y7sg7qjczkr5fjahsxafr4rpg";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -15278,12 +15302,12 @@ final: prev:
 
   vim-wayland-clipboard = buildVimPlugin {
     pname = "vim-wayland-clipboard";
-    version = "2023-09-08";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "jasonccox";
       repo = "vim-wayland-clipboard";
-      rev = "6d0c9f8e7deac8a90c51d4c1e69068cb86361933";
-      sha256 = "15h2zij39zd10m16g7vmy60y718mldmchnwlvfp9pb8x2q9y8yv2";
+      rev = "8d13283a15b077e64ff41081792b998154df76ef";
+      sha256 = "05ivzp08fhl6agcmiwclpf5mlq8s4cf4jsh8z5v5sjmahdvh45mk";
     };
     meta.homepage = "https://github.com/jasonccox/vim-wayland-clipboard/";
   };
@@ -15566,12 +15590,12 @@ final: prev:
 
   vimspector = buildVimPlugin {
     pname = "vimspector";
-    version = "2023-11-08";
+    version = "2023-11-26";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "66617adda22d29c60ec2ee9bcb854329352ada80";
-      sha256 = "01sxg72xbvakdzc73ilkziyl8vl5qxkahfb293vlhy37hx3gbbzi";
+      rev = "c03345e5adb171e4bfa9fca530dc01216e2819aa";
+      sha256 = "1z6xy63fhdvaiwv4ay3njrwfarg8a2rxingnl9knwrni7q26gw4p";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -15579,12 +15603,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2023-11-22";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "283252ffe38bbd79dfa08366552abada824cbdda";
-      sha256 = "029x2j6aj1r5di96kzs9kd5qq85jiqid1j9r9mwydvvfy6bny40c";
+      rev = "911987d8d65ade51311d512ac98cf39f89a309ea";
+      sha256 = "025qbjs685s0yf9vddwyxz0vc2h1j33mj5s7w2xm8f10a8j5skfz";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15865,6 +15889,18 @@ final: prev:
     meta.homepage = "https://github.com/tweekmonster/wstrip.vim/";
   };
 
+  wtf-nvim = buildVimPlugin {
+    pname = "wtf.nvim";
+    version = "2023-11-11";
+    src = fetchFromGitHub {
+      owner = "piersolenski";
+      repo = "wtf.nvim";
+      rev = "03775272c9ba88cbaae1d1802078a3f751969350";
+      sha256 = "04xknhrmjvywdxfmng35i8cibxkcdjmz4wz1nmsr3gc09rddfrr3";
+    };
+    meta.homepage = "https://github.com/piersolenski/wtf.nvim/";
+  };
+
   xptemplate = buildVimPlugin {
     pname = "xptemplate";
     version = "2022-09-08";
@@ -16036,12 +16072,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2023-11-22";
+    version = "2023-11-29";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "a2107df4379d66e72a36a89792603151cebec1bf";
-      sha256 = "06wgz8v8h1x8sh8l8j94njp8hfrw54axc0mzhgnczz9wn07rl4sc";
+      rev = "919d1f786338ebeced798afbf28cd085cd54542a";
+      sha256 = "1lwd4kvz52zkrn6wyh9k58pvcg4aas99c5ddzhsi76g31fg2ix8n";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -16072,12 +16108,12 @@ final: prev:
 
   embark-vim = buildVimPlugin {
     pname = "embark-vim";
-    version = "2023-04-21";
+    version = "2023-11-27";
     src = fetchFromGitHub {
       owner = "embark-theme";
       repo = "vim";
-      rev = "0e2c7d36b766dcebba2d8a3a0639784446dea086";
-      sha256 = "1q3a6ix01wmw0qkir0v246gjp5dxr30ih0h0q28gv3s2hfk75a4w";
+      rev = "7efd788d2e7b2d0a923cb6dabad7e2c11ab7aa95";
+      sha256 = "0pnqx6jli9pwqs6h2dsvh7q05gchama7zcpr91zp2jabacbanycf";
     };
     meta.homepage = "https://github.com/embark-theme/vim/";
   };
@@ -16132,12 +16168,12 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2023-11-22";
+    version = "2023-11-24";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "e61df0bf5978bebedf20c964b194de60b69c7a80";
-      sha256 = "0gypz85mhsnjwlwis8slm9y401wvw6pqyk0rmln1xcfqn0f8029d";
+      rev = "f50f9834e522b62ea89a84775091c1cf89af57a4";
+      sha256 = "0fcc0h2xk8gjb7jy0xbql2vjv8ik7rfzbakxbcz860xjbcblpsqq";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index ca2006cfb8d91..f2122db806eb1 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -25,6 +25,18 @@
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-agda";
   };
+  angular = buildGrammar {
+    language = "angular";
+    version = "0.0.0+rev=624ff10";
+    src = fetchFromGitHub {
+      owner = "steelsojka";
+      repo = "tree-sitter-angular";
+      rev = "624ff108fe949727217cddb302f20e4f16997b1c";
+      hash = "sha256-ROmM6GEhKLtNPUK3W4BOTRdxS2VcIpuRqdF18nrSsXk=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/steelsojka/tree-sitter-angular";
+  };
   apex = buildGrammar {
     language = "apex";
     version = "0.0.0+rev=82ee140";
@@ -171,12 +183,12 @@
   };
   c_sharp = buildGrammar {
     language = "c_sharp";
-    version = "0.0.0+rev=1648e21";
+    version = "0.0.0+rev=dd5e597";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c-sharp";
-      rev = "1648e21b4f087963abf0101ee5221bb413107b07";
-      hash = "sha256-WvkHtw8t14UNqiJvmS9dbGYQSVVzHS9mcWzxq+KLMnU=";
+      rev = "dd5e59721a5f8dae34604060833902b882023aaf";
+      hash = "sha256-DlnGIky33CuRKkVVS+tOTBLVOVzASXqdaUrZawh6LZc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
   };
@@ -303,12 +315,12 @@
   };
   css = buildGrammar {
     language = "css";
-    version = "0.0.0+rev=fec7d37";
+    version = "0.0.0+rev=98c7b3d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-css";
-      rev = "fec7d3757ab8f46a0ffe298be99b16ad5b9fa229";
-      hash = "sha256-f3+pvJtULuJ6SHcmrMYyvreSAeEsq3L2+5V3dhloaj8=";
+      rev = "98c7b3dceb24f1ee17f1322f3947e55638251c37";
+      hash = "sha256-+30AJq3L30QmLXvTnePGW39crd7mLBUJ+sGsF7Wd9qI=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
   };
@@ -437,12 +449,12 @@
   };
   dtd = buildGrammar {
     language = "dtd";
-    version = "0.0.0+rev=a3bfa1a";
+    version = "0.0.0+rev=dd7ef38";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-xml";
-      rev = "a3bfa1ae7e8400ab81a6358f5e8d2983f5dd0697";
-      hash = "sha256-01zkVlkLGAlMV4bKlxwypvMizQ13FSRSuiLZCSuJy3Q=";
+      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
+      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
     };
     location = "tree-sitter-dtd";
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
@@ -494,12 +506,12 @@
   };
   elm = buildGrammar {
     language = "elm";
-    version = "0.0.0+rev=debe14f";
+    version = "0.0.0+rev=0ae8d47";
     src = fetchFromGitHub {
       owner = "elm-tooling";
       repo = "tree-sitter-elm";
-      rev = "debe14fad40a8100c679d95c66f599b48111742c";
-      hash = "sha256-tB03/AqoYIMyWFGv3nKlGY/EjNV1/IQyXQsC+0M51V8=";
+      rev = "0ae8d475281a25e9d7ab1068a952ff9a1615c0df";
+      hash = "sha256-MCvzk5sJiA/JgQqI6fyVnjy5mA7bwmZvzWwdKS0PDQc=";
     };
     meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
   };
@@ -538,15 +550,26 @@
   };
   erlang = buildGrammar {
     language = "erlang";
-    version = "0.0.0+rev=b7969b5";
+    version = "0.0.0+rev=5694277";
     src = fetchFromGitHub {
       owner = "WhatsApp";
       repo = "tree-sitter-erlang";
-      rev = "b7969b5f12c44038379901a6f2094c31afa2ec2f";
-      hash = "sha256-wfzfUGulZ3d7En5b/DiTrMcBNi4JHT723nSOS055v6w=";
+      rev = "56942778b5791d07949e6c7b6093e01aba5b7ab4";
+      hash = "sha256-0a36KKjacSbVb8zXaq2SHPw8njkZLb5rRWoaEUdsYyA=";
     };
     meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
   };
+  facility = buildGrammar {
+    language = "facility";
+    version = "0.0.0+rev=a525796";
+    src = fetchFromGitHub {
+      owner = "FacilityApi";
+      repo = "tree-sitter-facility";
+      rev = "a52579670e2b14ec03d410c3c980fafaf6d659c4";
+      hash = "sha256-YHtKuR3AysJXV1JDEBmPCSPOpUxJSnxkbX3/y/tX8ws=";
+    };
+    meta.homepage = "https://github.com/FacilityApi/tree-sitter-facility";
+  };
   fennel = buildGrammar {
     language = "fennel";
     version = "0.0.0+rev=5171959";
@@ -582,12 +605,12 @@
   };
   foam = buildGrammar {
     language = "foam";
-    version = "0.0.0+rev=09e0344";
+    version = "0.0.0+rev=04664b4";
     src = fetchFromGitHub {
       owner = "FoamScience";
       repo = "tree-sitter-foam";
-      rev = "09e03445f49290450589c5d293610ab39434e3e4";
-      hash = "sha256-+ZNLgv0LbXET0WoalAaxo2WjVy0ranPtdOw1CCseqcM=";
+      rev = "04664b40c0dadb7ef37028acf3422c63271d377b";
+      hash = "sha256-cIeYuYti/rzMivwRU//zzhMXJsTOMBveLK2zB4qRWGI=";
     };
     meta.homepage = "https://github.com/FoamScience/tree-sitter-foam";
   };
@@ -1896,6 +1919,17 @@
     };
     meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
   };
+  rbs = buildGrammar {
+    language = "rbs";
+    version = "0.0.0+rev=23c69a4";
+    src = fetchFromGitHub {
+      owner = "joker1007";
+      repo = "tree-sitter-rbs";
+      rev = "23c69a4fa9803abc9d87b235ca88d52418250041";
+      hash = "sha256-tdxx+feI0UIHkk1eS5VrIuYvOZWpuWF3NEioqrnZ+30=";
+    };
+    meta.homepage = "https://github.com/joker1007/tree-sitter-rbs";
+  };
   re2c = buildGrammar {
     language = "re2c";
     version = "0.0.0+rev=47aa19c";
@@ -2051,6 +2085,17 @@
     };
     meta.homepage = "https://github.com/serenadeai/tree-sitter-scss";
   };
+  slang = buildGrammar {
+    language = "slang";
+    version = "0.0.0+rev=11526ab";
+    src = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-slang";
+      rev = "11526ab1a2514c7302f3c4af60b0ebc992cee086";
+      hash = "sha256-iDj2H1ScR478eE/ppxIDiLOx1Bb8e2KsWcWrKhlHACM=";
+    };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
+  };
   slint = buildGrammar {
     language = "slint";
     version = "0.0.0+rev=00c8a2d";
@@ -2165,12 +2210,12 @@
   };
   ssh_config = buildGrammar {
     language = "ssh_config";
-    version = "0.0.0+rev=9ff3cab";
+    version = "0.0.0+rev=0969813";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-ssh-config";
-      rev = "9ff3cabeb738f94bfc3c2de4d3857133ad717e3f";
-      hash = "sha256-uEm3Egz2/37TxmF24YklfVaxboQsbh5f9+TVcPAdpd0=";
+      rev = "096981397385f49833dfd66037fa98081bbd9ef9";
+      hash = "sha256-WpgIir4V4X2XUTceBwZyNFQE3ePDBqjlBRS57pF8ZO4=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config";
   };
@@ -2231,12 +2276,12 @@
   };
   swift = buildGrammar {
     language = "swift";
-    version = "0.0.0+rev=b3bfaad";
+    version = "0.0.0+rev=f1a48a3";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "b3bfaad89426a062c2a5d971cfebb7262f8cff62";
-      hash = "sha256-8rPtZmxfg1jHGqD4oKWfJpsVtk3cPPuwylJOWGXhtB0=";
+      rev = "f1a48a33a7ceaf8817f7a340ea4ef1b549ffa176";
+      hash = "sha256-koMsIPFCvmJ/zIPOcv/ZSyXQSBjbFhGBq8r3IXCPWdQ=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -2513,12 +2558,12 @@
   };
   v = buildGrammar {
     language = "v";
-    version = "0.0.0+rev=20433e0";
+    version = "0.0.0+rev=165ed9f";
     src = fetchFromGitHub {
       owner = "v-analyzer";
       repo = "v-analyzer";
-      rev = "20433e0d8ff5bb6e7bb28d12948773be2bdd983d";
-      hash = "sha256-QdcGwVw8NNgdL1F+cytA6L1uzoAXGEcedTp16fLkS+o=";
+      rev = "165ed9fda0be82ff26639dd8cf5d93fe7f7432a0";
+      hash = "sha256-iH4k/begatiLc0BoAezWkhbdIjG5BHlduPMRUx/dNaI=";
     };
     location = "tree_sitter_v";
     meta.homepage = "https://github.com/v-analyzer/v-analyzer";
@@ -2613,12 +2658,12 @@
   };
   wing = buildGrammar {
     language = "wing";
-    version = "0.0.0+rev=d483d21";
+    version = "0.0.0+rev=9573195";
     src = fetchFromGitHub {
       owner = "winglang";
       repo = "wing";
-      rev = "d483d21ad212bc9641e88deee0db2dad670eaaf3";
-      hash = "sha256-EmK4xFO1WlIw3zebshrvBqJeEa/C9d2ACCzeKd4EAyM=";
+      rev = "9573195e753fa0d303e65d8237d3902159708457";
+      hash = "sha256-DS0PJU9OlER+izTZTyiSGRIs0tGgEKImrEyFbj2b1wM=";
     };
     location = "libs/tree-sitter-wing";
     generate = true;
@@ -2637,12 +2682,12 @@
   };
   xml = buildGrammar {
     language = "xml";
-    version = "0.0.0+rev=a3bfa1a";
+    version = "0.0.0+rev=dd7ef38";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-xml";
-      rev = "a3bfa1ae7e8400ab81a6358f5e8d2983f5dd0697";
-      hash = "sha256-01zkVlkLGAlMV4bKlxwypvMizQ13FSRSuiLZCSuJy3Q=";
+      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
+      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
     };
     location = "tree-sitter-xml";
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index ce74644b951ea..0b1832494c2df 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -1637,6 +1637,10 @@ self: super: {
     dependencies = with self; [ vimwiki fzf-vim ];
   };
 
+  wtf-nvim = super.wtf-nvim.overrideAttrs {
+    dependencies = with self; [ nui-nvim ];
+  };
+
   YankRing-vim = super.YankRing-vim.overrideAttrs {
     sourceRoot = ".";
   };
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 4f7d3b2396338..6f61a45fff757 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -214,6 +214,7 @@ https://github.com/ctrlpvim/ctrlp.vim/,,
 https://github.com/dart-lang/dart-vim-plugin/,,
 https://github.com/rizzatti/dash.vim/,HEAD,
 https://github.com/glepnir/dashboard-nvim/,,
+https://github.com/andrewferrier/debugprint.nvim/,HEAD,
 https://github.com/kristijanhusak/defx-git/,,
 https://github.com/kristijanhusak/defx-icons/,,
 https://github.com/Shougo/defx.nvim/,,
@@ -469,6 +470,7 @@ https://github.com/jghauser/mkdir.nvim/,main,
 https://github.com/jakewvincent/mkdnflow.nvim/,HEAD,
 https://github.com/SidOfc/mkdx/,,
 https://github.com/mawkler/modicator.nvim/,HEAD,
+https://github.com/miikanissi/modus-themes.nvim/,HEAD,
 https://github.com/tomasr/molokai/,,
 https://github.com/benlubas/molten-nvim/,HEAD,
 https://github.com/loctvl842/monokai-pro.nvim/,HEAD,
@@ -1335,6 +1337,7 @@ https://github.com/vim-scripts/wombat256.vim/,,
 https://github.com/lukaszkorecki/workflowish/,,
 https://github.com/andrewferrier/wrapping.nvim/,HEAD,
 https://github.com/tweekmonster/wstrip.vim/,,
+https://github.com/piersolenski/wtf.nvim/,HEAD,
 https://github.com/drmingdrmer/xptemplate/,,
 https://github.com/guns/xterm-color-table.vim/,,
 https://github.com/HerringtonDarkholme/yats.vim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index fbd6f6ec183f6..12a7c1768aed7 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -906,8 +906,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.52.0";
-          sha256 = "sha256-Y8qkcNEvJ/yzT8PDeErRzKGxYBNKKfbNNsJVaFDeIV4=";
+          version = "0.53.0";
+          sha256 = "sha256-ApCX636M51zN9obFqrUHmaJB3YoFmJPQfjKEWf9bosk=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -1234,8 +1234,8 @@ let
         mktplcRef = {
           name = "elixir-ls";
           publisher = "JakeBecker";
-          version = "0.17.5";
-          sha256 = "sha256-2iOyLNLMQ6Snm0gvv7Yl6von/A9UTfLYrH5l1PoJwUc=";
+          version = "0.17.10";
+          sha256 = "sha256-4/B70DyNlImz60PSTSL5CKihlOJen/tR1/dXGc3s1ZY=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
@@ -2123,19 +2123,19 @@ let
 
       kddejong.vscode-cfn-lint =
         let
-          inherit (python3Packages) cfn-lint;
+          inherit (python3Packages) cfn-lint pydot;
         in
         buildVscodeMarketplaceExtension {
           mktplcRef = {
             name = "vscode-cfn-lint";
             publisher = "kddejong";
-            version = "0.21.0";
+            version = "0.25.1";
             sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ=";
           };
 
           nativeBuildInputs = [ jq moreutils ];
 
-          buildInputs = [ cfn-lint ];
+          buildInputs = [ cfn-lint pydot ];
 
           postInstall = ''
             cd "$out/$installPrefix"
@@ -3136,15 +3136,17 @@ let
         mktplcRef = {
           publisher = "shd101wyy";
           name = "markdown-preview-enhanced";
-          version = "0.6.10";
-          sha256 = "sha256-nCsl7ZYwuTvNZSTUMR6jEywClmcPm8xW6ABu9220wJI=";
+          version = "0.8.10";
+          sha256 = "sha256-BjTV2uH9QqCS1VJ94XXgzNMJb4FB4Ee+t/5uAQfJCuM=";
         };
         meta = {
           description = "Provides a live preview of markdown using either markdown-it or pandoc";
           longDescription = ''
-            Markdown Preview Enhanced provides you with many useful functionalities
-            such as automatic scroll sync, math typesetting, mermaid, PlantUML,
-            pandoc, PDF export, code chunk, presentation writer, etc.
+            Markdown Preview Enhanced is an extension that provides you with
+            many useful functionalities such as automatic scroll sync, math
+            typesetting, mermaid, PlantUML, pandoc, PDF export, code chunk,
+            presentation writer, etc. A lot of its ideas are inspired by
+            Markdown Preview Plus and RStudio Markdown.
           '';
           homepage = "https://github.com/shd101wyy/vscode-markdown-preview-enhanced";
           license = lib.licenses.ncsa;
@@ -3555,8 +3557,8 @@ let
         mktplcRef = {
           name = "uiua-vscode";
           publisher = "uiua-lang";
-          version = "0.0.24";
-          sha256 = "sha256-/MLeBsnUdzcDB4nUrugEF05HKqC30G9muYKvmlnLM7U=";
+          version = "0.0.25";
+          sha256 = "sha256-qM+CLV8jWYkJWXZyELnR1H9pSWFifAOGqH+LgHr7nNA=";
         };
         meta = {
           description = "VSCode language extension for Uiua";
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 ef1a5a4d49ec8..9d157bb7b2e0f 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
@@ -28,6 +28,9 @@ vscode-utils.buildVscodeMarketplaceExtension {
     EOF
     }
     jq "$(print_jq_query)" ./package.json | sponge ./package.json
+    # Add a link from temp to /tmp so that the extension gets a writable
+    # directory to write to.
+    ln -s /tmp temp
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
index c994e53f37ef2..3b2ab09d1b534 100644
--- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
@@ -5,7 +5,7 @@ assert lib.versionAtLeast python3.version "3.5";
 let
   publisher = "vadimcn";
   pname = "vscode-lldb";
-  version = "1.9.2";
+  version = "1.10.0";
 
   vscodeExtUniqueId = "${publisher}.${pname}";
   vscodeExtPublisher = publisher;
@@ -15,7 +15,7 @@ let
     owner = "vadimcn";
     repo = "vscode-lldb";
     rev = "v${version}";
-    hash = "sha256-6QmYRlSv8jY3OE3RcYuZt+c3z6GhFc8ESETVfCfF5RI=";
+    hash = "sha256-ExSS5HxDmJJtYypRYJNz7nY0D50gjoDBc4CnJMfgVw8=";
   };
 
   # need to build a custom version of lldb and llvm for enhanced rust support
@@ -25,7 +25,7 @@ let
     pname = "${pname}-adapter";
     inherit version src;
 
-    cargoHash = "sha256-Qq2igtH1XIB+NAEES6hdNZcMbEmaFN69qIJ+gTYupvQ=";
+    cargoHash = "sha256-e/Jki/4pCs0qzaBVR4iiUhdBFmWlTZYREQkuFSoWYFo=";
 
     nativeBuildInputs = [ makeWrapper ];
 
@@ -84,6 +84,12 @@ in stdenv.mkDerivation {
 
   patches = [ ./cmake-build-extension-only.patch ];
 
+  postPatch = ''
+    # temporary patch for forgotten version updates
+    substituteInPlace CMakeLists.txt \
+      --replace "1.9.2" ${version}
+  '';
+
   postConfigure = ''
     cp -r ${nodeDeps}/lib/node_modules .
   '';
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 693ffb4e94412..5000393913c14 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -247,7 +247,11 @@ in
   );
 
   postFixup = lib.optionalString stdenv.isLinux ''
-    patchelf --add-needed ${libglvnd}/lib/libGLESv2.so.2 $out/lib/vscode/${executableName}
+    patchelf \
+      --add-needed ${libglvnd}/lib/libGLESv2.so.2 \
+      --add-needed ${libglvnd}/lib/libGL.so.1 \
+      --add-needed ${libglvnd}/lib/libEGL.so.1 \
+      $out/lib/vscode/${executableName}
   '';
 
   inherit meta;
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index 6013f8a699fe5..a99eae639f029 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xed-editor";
-  version = "3.4.3";
+  version = "3.4.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xed";
     rev = version;
-    sha256 = "sha256-nc8YS1PcmtM37TJpGl691SlxJliyI2gSGJtNzkWbk9A=";
+    sha256 = "sha256-IpUBB7Viwc/nRfwzFllRiWoOmUxRZzS2BcxyM7W3oHI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/emulators/dosbox-x/default.nix b/pkgs/applications/emulators/dosbox-x/default.nix
index 3c0805e270b46..f26a128842221 100644
--- a/pkgs/applications/emulators/dosbox-x/default.nix
+++ b/pkgs/applications/emulators/dosbox-x/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , alsa-lib
 , AudioUnit
 , autoreconfHook
@@ -36,6 +37,21 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-YNYtYqcpTOx4xS/LXI53h3S+na8JVpn4w8Dhf4fWNBQ=";
   };
 
+  patches = [
+    # 2 patches which fix stack smashing when launching Windows 3.0
+    # Remove when version > 2023.10.06
+    (fetchpatch {
+      name = "0001-dosbox-x-Attempt-to-fix-graphical-palette-issues-added-by-TTF-fix.patch";
+      url = "https://github.com/joncampbell123/dosbox-x/commit/40bf135f70376b5c3944fe2e972bdb7143439bcc.patch";
+      hash = "sha256-9whtqBkivYVYaPObyTODtwcfjaoK+rLqhCNZ7zVoiGI=";
+    })
+    (fetchpatch {
+      name = "0002-dosbox-x-Fix-Sid-Meiers-Civ-crash.patch";
+      url = "https://github.com/joncampbell123/dosbox-x/compare/cdcfb554999572e758b81edf85a007d398626b78..ac91760d9353c301e1da382f93e596238cf6d336.patch";
+      hash = "sha256-G7HbUhYEi6JJklN1z3JiOTnWLuWb27bMDyB/iGwywuY=";
+    })
+  ];
+
   strictDeps = true;
 
   nativeBuildInputs = [
@@ -66,6 +82,9 @@ stdenv.mkDerivation (finalAttrs: {
     Cocoa
   ];
 
+  # Tests for SDL_net.h for modem & IPX support, not automatically picked up due to being in SDL2 subdirectory
+  env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2_net}/include/SDL2";
+
   configureFlags = [ "--enable-sdl2" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/emulators/dosbox/default.nix b/pkgs/applications/emulators/dosbox/default.nix
index d0c9d8450e2b4..f17d3a783ba9d 100644
--- a/pkgs/applications/emulators/dosbox/default.nix
+++ b/pkgs/applications/emulators/dosbox/default.nix
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
     libGLU
   ]);
 
+  # Tests for SDL_net.h for modem & IPX support, not automatically picked up due to being in SDL subdirectory
+  env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL_net}/include/SDL";
+
   hardeningDisable = [ "format" ];
 
   configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
diff --git a/pkgs/applications/emulators/yuzu/sources.nix b/pkgs/applications/emulators/yuzu/sources.nix
index 24997cbdcdc40..640bbcd50acd1 100644
--- a/pkgs/applications/emulators/yuzu/sources.nix
+++ b/pkgs/applications/emulators/yuzu/sources.nix
@@ -1,19 +1,19 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-11-05
+# Last updated: 2023-12-02
 {
   compatList = {
-    rev = "e9c4e5da6e5e88e889c87582dfd826d204ca8782";
+    rev = "3447075b5b565adcef1de0b47dd32c33f3c52e75";
     hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
   };
 
   mainline = {
-    version = "1611";
-    hash = "sha256:18rrw63j2zjwakbn99wbzprb1rpmlznl6gb09ay9sq8brxy7zjsv";
+    version = "1639";
+    hash = "sha256:10wj8yrk4q3sq0fqj6qqd45sjsv0ch3ldbxayirzv002lqb62jcy";
   };
 
   ea = {
-    version = "3966";
-    distHash = "sha256:1p60455s0h3dwigxm2lxdfgxgv4l2ibwybisja1khcy4i8lgss03";
-    fullHash = "sha256:1jq2bfbv9a6i3dlqsdgmi87rccvks45iyybxwf8p6rxdjqh4bvl2";
+    version = "4003";
+    distHash = "sha256:1sr79h3v2nlkr114d14bry5bkgniw1kqq2bxjlzr5x9hlvavz710";
+    fullHash = "sha256:0kx8f8h6l86prxm0v3fxmff43d6swmcrvzy5vg54b55zvqm1byr1";
   };
 }
diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix
deleted file mode 100644
index 4ba320919ef35..0000000000000
--- a/pkgs/applications/file-managers/ytree/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, ncurses
-, readline
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ytree";
-  version = "2.05";
-
-  src = fetchurl {
-    url = "https://han.de/~werner/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jPixUeSRO1t/epHf/VxzBhBqQkd+xE5x1ix19mq2Glc=";
-  };
-
-  buildInputs = [
-    ncurses
-    readline
-  ];
-
-  # don't save timestamp, in order to improve reproducibility
-  postPatch = ''
-    substituteInPlace Makefile --replace 'gzip' 'gzip -n'
-  '';
-
-  installFlags = [ "DESTDIR=${placeholder "out"}" ];
-
-  preInstall = ''
-    mkdir -p $out/bin $out/share/man/man1
-  '';
-
-  meta = with lib; {
-    description = "A curses-based file manager similar to DOS Xtree(TM)";
-    homepage = "https://www.han.de/~werner/ytree.html";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
-  };
-}
-# TODO: X11 support
diff --git a/pkgs/applications/gis/spatialite-gui/default.nix b/pkgs/applications/gis/spatialite-gui/default.nix
index 76014887d2b8a..b33818e354867 100644
--- a/pkgs/applications/gis/spatialite-gui/default.nix
+++ b/pkgs/applications/gis/spatialite-gui/default.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.gaia-gis.it/fossil/spatialite_gui";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ sikmir ];
+    maintainers = teams.geospatial.members;
     mainProgram = "spatialite_gui";
   };
 }
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index 6a8e973c1bebd..f2d008f7492bd 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -95,6 +95,15 @@ mkDerivation rec {
 
   dontWrapGApps = true;
 
+  postInstall = ''
+    install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.png -t $out/share/icons/hicolor/256x256/apps
+    install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/{ccViewer,cloudcompare}.desktop \
+      --replace 'Exec=cloudcompare.' 'Exec=' \
+      --replace 'Icon=''${SNAP}/meta/gui/' 'Icon=' \
+      --replace '.png' ""
+  '';
+
   # fix file dialogs crashing on non-NixOS (and avoid double wrapping)
   preFixup = ''
     qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
diff --git a/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch b/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch
deleted file mode 100644
index c461d8a642912..0000000000000
--- a/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/plug-ins/pdf/pdf-import.cpp b/plug-ins/pdf/pdf-import.cpp
-index 189737908..a2a479693 100644
---- a/plug-ins/pdf/pdf-import.cpp
-+++ b/plug-ins/pdf/pdf-import.cpp
-@@ -152,12 +152,12 @@ public :
-   void
-   updateLineDash (GfxState *state)
-   {
--    double *dashPattern;
--    int dashLength;
--    double dashStart;
--
--    state->getLineDash (&dashPattern, &dashLength, &dashStart);
--    this->dash_length = dashLength ? dashPattern[0] * scale : 1.0;
-+    const double *dashPattern=NULL;
-+    int dashLength=0;
-+    double dashStart=0;
-+    const std::vector<double> &dash = state->getLineDash(&dashStart);  // > Poppler 22.09 ...
-+    dashPattern = dash.data();
-+    dashLength = dash.size();
- 
-     if (dashLength == 0)
-       this->line_style = DIA_LINE_STYLE_SOLID;
-@@ -318,10 +318,11 @@ public :
-     //FIXME: Dia is really unhappy about zero size fonts
-     if (!(state->getFontSize() > 0.0))
-       return;
--    GfxFont *f = state->getFont();
-+    const std::shared_ptr<GfxFont> f = state->getFont();  // poppler 22.05 ... header changed
-+    gconstpointer f1 = &f;  // GLib typedef const void * gconstpointer;
- 
-     // instead of building the same font over and over again
--    if (g_hash_table_lookup (this->font_map, f)) {
-+    if (g_hash_table_lookup (this->font_map, f1)) {
-       ++font_map_hits;
-       return;
-     }
-@@ -333,8 +334,9 @@ public :
-     gchar *family = g_strdup (f->getFamily() ? f->getFamily()->c_str() : "sans");
- 
-     // we are (not anymore) building the same font over and over again
-+    f1  = &f;
-     g_print ("Font 0x%x: '%s' size=%g (* %g)\n",
--	     GPOINTER_TO_INT (f), family, state->getTransformedFontSize(), scale);
-+	     GPOINTER_TO_INT (f1), family, state->getTransformedFontSize(), scale);
- 
-     // now try to make a fontname Dia/Pango can cope with
-     // strip style postfix - we already have extracted the style bits above
-@@ -354,7 +356,9 @@ public :
-       fsize *= fabs(fm[3] / fm[0]);
-     font = dia_font_new (family, style, fsize * scale / 0.8);
- 
--    g_hash_table_insert (this->font_map, f, font);
-+    f1 = &f;
-+    gpointer f2 = (gpointer)f1;  // GLib typedef void* gpointer;
-+    g_hash_table_insert (this->font_map, f2, font);
-     g_free (family);
-   }
-   void updateTextShift(GfxState *state, double shift)
-@@ -721,11 +725,12 @@ DiaOutputDev::drawString(GfxState *state, GooString *s)
-     return;
-   if (!(state->getFontSize() > 0.0))
-     return;
--  font = (DiaFont *)g_hash_table_lookup (this->font_map, state->getFont());
-+  gconstpointer f_1 = &state->getFont();
-+  font = (DiaFont *)g_hash_table_lookup (this->font_map, f_1);
- 
-   // we have to decode the string data first
-   {
--    GfxFont *f = state->getFont();
-+    const std::shared_ptr<GfxFont> f = state->getFont();
-     const char *p = s->c_str();
-     CharCode code;
-     int   j = 0, m, n;
-@@ -870,8 +875,8 @@ import_pdf(const gchar *filename, DiagramData *dia, DiaContext *ctx, void* user_
-   std::unique_ptr<PDFDoc> doc;
-   GooString *fileName = new GooString(filename);
-   // no passwords yet
--  GooString *ownerPW = NULL;
--  GooString *userPW = NULL;
-+  const std::optional<GooString> ownerPW;
-+  const std::optional<GooString> userPW;
-   gboolean ret = FALSE;
- 
-   // without this we will get strange crashes (at least with /O2 build)
-@@ -899,6 +904,7 @@ import_pdf(const gchar *filename, DiagramData *dia, DiaContext *ctx, void* user_
-     delete diaOut;
-     ret = TRUE;
-   }
-+  doc.reset();
-   delete fileName;
- 
-   return ret;
diff --git a/pkgs/applications/graphics/epick/default.nix b/pkgs/applications/graphics/epick/default.nix
index fd767e356f12c..c27cbf94476b5 100644
--- a/pkgs/applications/graphics/epick/default.nix
+++ b/pkgs/applications/graphics/epick/default.nix
@@ -41,6 +41,12 @@ rustPlatform.buildRustPackage rec {
     AppKit
   ];
 
+  postInstall = ''
+    install -Dm444 assets/epick.desktop -t $out/share/applications
+    install -Dm444 assets/icon.svg $out/share/icons/hicolor/scalable/apps/epick.svg
+    install -Dm444 assets/icon.png $out/share/icons/hicolor/48x48/apps/epick.png
+  '';
+
   postFixup = lib.optionalString stdenv.isLinux ''
     patchelf $out/bin/epick --add-rpath ${lib.makeLibraryPath [ libGL ]}
   '';
diff --git a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
deleted file mode 100644
index b1079ab366043..0000000000000
--- a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
-index 4a6d90b..c74cab2 100644
---- focusblur-3.2.6/src/aaa.h
-+++ focusblur-3.2.6/src/aaa.h
-@@ -19,8 +19,7 @@
- #ifndef __AAA_H__
- #define __AAA_H__
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
-index 685b253..8778fec 100644
---- focusblur-3.2.6/src/brush.h
-+++ focusblur-3.2.6/src/brush.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_BRUSH_H__
- #define __FOCUSBLUR_BRUSH_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include "focusblurtypes.h"
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
-index 78f5e99..baee540 100644
---- focusblur-3.2.6/src/depthmap.h
-+++ focusblur-3.2.6/src/depthmap.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_DEPTHMAP_H__
- #define __FOCUSBLUR_DEPTHMAP_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- #include "focusblurenums.h"
-diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
-index 07ffe4b..3c1e4b9 100644
---- focusblur-3.2.6/src/diffusion.h
-+++ focusblur-3.2.6/src/diffusion.h
-@@ -23,7 +23,7 @@
- #define __FOCUSBLUR_DIFFUSION_H__
- 
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblur.h"
- #include "focusblurtypes.h"
-diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
-index 124bcba..cd809fa 100644
---- focusblur-3.2.6/src/fftblur.h
-+++ focusblur-3.2.6/src/fftblur.h
-@@ -23,8 +23,7 @@
- #define __FOCUSBLUR_FFTBLUR_H__
- 
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimpwidgets/gimpwidgetstypes.h>
- 
- #include "focusblurparam.h"
-diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
-index b34d682..42e6380 100644
---- focusblur-3.2.6/src/fftblurbuffer.h
-+++ focusblur-3.2.6/src/fftblurbuffer.h
-@@ -28,8 +28,7 @@
- #endif
- #include <fftw3.h>
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <gtk/gtkstyle.h>
- #include <libgimp/gimptypes.h>
- #include <libgimpwidgets/gimpwidgetstypes.h>
-diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
-index 495572d..10a34f4 100644
---- focusblur-3.2.6/src/fftblurproc.h
-+++ focusblur-3.2.6/src/fftblurproc.h
-@@ -23,8 +23,7 @@
- #define __FOCUSBLUR_FFTBLUR_PROC_H__
- 
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- 
-diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
-index 54ca40a..d7e13a6 100644
---- focusblur-3.2.6/src/focusblur.h
-+++ focusblur-3.2.6/src/focusblur.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_H__
- #define __FOCUSBLUR_H__
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
-diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
-index 64c887b..32865b4 100644
---- focusblur-3.2.6/src/focusblurparam.h
-+++ focusblur-3.2.6/src/focusblurparam.h
-@@ -22,8 +22,7 @@
- #ifndef __FOCUSBLUR_PARAM_H__
- #define __FOCUSBLUR_PARAM_H__
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <gtk/gtkstyle.h>
- #include <libgimp/gimptypes.h>
- 
-diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
-index 15f3603..cfc0567 100644
---- focusblur-3.2.6/src/focusblurstock.h
-+++ focusblur-3.2.6/src/focusblurstock.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_STOCK_H__
- #define __FOCUSBLUR_STOCK_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
-diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
-index 0954c60..1531c84 100644
---- focusblur-3.2.6/src/focusblurtypes.h
-+++ focusblur-3.2.6/src/focusblurtypes.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_TYPES_H__
- #define __FOCUSBLUR_TYPES_H__
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
-index 6defd27..e819c60 100644
---- focusblur-3.2.6/src/interface.h
-+++ focusblur-3.2.6/src/interface.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_INTERFACE_H__
- #define __FOCUSBLUR_INTERFACE_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- 
-diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
-index febbd24..a501f1e 100644
---- focusblur-3.2.6/src/render.h
-+++ focusblur-3.2.6/src/render.h
-@@ -24,7 +24,7 @@
- 
- #include "config.h"
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- //#include <libgimp/gimp.h>
- #include <libgimp/gimpui.h>
- 
-diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
-index c5a3621..86b4c09 100644
---- focusblur-3.2.6/src/shine.h
-+++ focusblur-3.2.6/src/shine.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_SHINE_H__
- #define __FOCUSBLUR_SHINE_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimp/gimptypes.h>
- 
- #include "focusblurtypes.h"
-diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
-index 50d34ca..8eec35c 100644
---- focusblur-3.2.6/src/source.h
-+++ focusblur-3.2.6/src/source.h
-@@ -24,7 +24,7 @@
- 
- #include "config.h"
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimp/gimptypes.h>
- 
- #include "focusblurtypes.h"
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index 16b3a8c5037b1..cf3a31a1d4bf1 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -21,6 +21,14 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D ./goxel $out/bin/goxel
+
+    for res in $(ls data/icons | sed -e 's/icon//g' -e 's/.png//g'); do
+      install -Dm444 data/icons/icon$res.png $out/share/icons/hicolor/''${res}x''${res}/apps/goxel.png
+    done
+
+    install -Dm444 snap/gui/goxel.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/goxel.desktop \
+      --replace 'Icon=''${SNAP}/icon.png' 'Icon=goxel'
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 6350cec90e95f..81a34579c5b01 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -67,11 +67,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "https://inkscape.org/release/inkscape-${version}/source/archive/xz/dl/inkscape-${version}.tar.xz";
-    sha256 = "sha256-Qh4ANf5bOwVKCGXcgjW+P55uLepUGQ2Sa4gKTOBbANg=";
+    sha256 = "sha256-29GETcRD/l4Q0+mohxROX7ciOFL/8ZHPte963qsOCGs=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index fc2437c1c4c51..42cb2a90a930d 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.29.0";
+  version = "1.31.0";
 
   format = "other";
 
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     rev = "v${version}";
-    hash = "sha256-efKYmsDbdDxgOHkv05zwlq88NzW7pYOQOYcJqPeKXkY=";
+    hash = "sha256-7u7F2Z1fYr3S1Sx9FAVmimQbT0o6tb96jXG0o9+4/rc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index e8e6a2cc9f867..67d9774a35a9b 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -1,7 +1,7 @@
-{ callPackage, ... } @ args:
+{ callPackage, ... }:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix {
   version = "5.1.5";
   kde-channel = "stable";
   sha256 = "1lx4x4affkbh47b7w5qvahkkr4db0vcw6h24nykak6gpy2z5wxqw";
-})
+}
diff --git a/pkgs/applications/graphics/krita/generic.nix b/pkgs/applications/graphics/krita/generic.nix
index ba53a94f71076..8bf6e26ab9d2d 100644
--- a/pkgs/applications/graphics/krita/generic.nix
+++ b/pkgs/applications/graphics/krita/generic.nix
@@ -9,7 +9,6 @@
 , version
 , kde-channel
 , sha256
-, callPackage
 }:
 
 mkDerivation rec {
@@ -17,7 +16,7 @@ mkDerivation rec {
   inherit version;
 
   src = fetchurl {
-    url = "https://download.kde.org/${kde-channel}/${pname}/${version}/${pname}-${version}.tar.gz";
+    url = "mirror://kde/${kde-channel}/krita/${version}/krita-${version}.tar.gz";
     inherit sha256;
   };
 
diff --git a/pkgs/applications/graphics/monado/default.nix b/pkgs/applications/graphics/monado/default.nix
index c8c5e5abb37de..d6109079f2aed 100644
--- a/pkgs/applications/graphics/monado/default.nix
+++ b/pkgs/applications/graphics/monado/default.nix
@@ -48,16 +48,16 @@
 , serviceSupport ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "monado";
-  version = "unstable-2023-08-22";
+  version = "unstable-2023-11-09";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "monado";
     repo = "monado";
-    rev = "4cc68f07c0f3c2fee57b01dde28a02e314d3bee6";
-    sha256 = "sha256-VibdOSA/b4RmwwwXrwhivuiukNK10YazYF/p+YnqRZ8=";
+    rev = "e983eecd73b1b91d2dfb356e1bc054e9202b2a7f";
+    hash = "sha256-a4ukfmJbDkhr7P3NMTfbuhXjyOta3WCc5gswX7KUAw0=";
   };
 
   nativeBuildInputs = [
@@ -135,16 +135,13 @@ stdenv.mkDerivation rec {
   patches = [
     # We don't have $HOME/.steam when building
     ./force-enable-steamvr_lh.patch
-
-    # A recent (as of August 2023) SteamVR Beta has upgraded a driver interface which is incompatible with Monado
-    ./steamvr_lh-use-old-interface.patch
   ];
 
   meta = with lib; {
     description = "Open source XR runtime";
     homepage = "https://monado.freedesktop.org/";
     license = licenses.boost;
-    maintainers = with maintainers; [ expipiplus1 prusnak ];
+    maintainers = with maintainers; [ Scrumplex expipiplus1 prusnak ];
     platforms = platforms.linux;
     mainProgram = "monado-cli";
   };
diff --git a/pkgs/applications/graphics/monado/steamvr_lh-use-old-interface.patch b/pkgs/applications/graphics/monado/steamvr_lh-use-old-interface.patch
deleted file mode 100644
index d5194956e114b..0000000000000
--- a/pkgs/applications/graphics/monado/steamvr_lh-use-old-interface.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp b/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
-index 24b69fd..5b3a5ca 100644
---- a/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
-+++ b/src/xrt/drivers/steamvr_lh/steamvr_lh.cpp
-@@ -138,7 +138,7 @@ Context::setup_hmd(const char *serial, vr::ITrackedDeviceServerDriver *driver)
- 	vr::EVRInitError err = driver->Activate(0);
- 	VERIFY(err == vr::VRInitError_None, std::to_string(err).c_str());
- 
--	auto *display = static_cast<vr::IVRDisplayComponent *>(driver->GetComponent(vr::IVRDisplayComponent_Version));
-+	auto *display = static_cast<vr::IVRDisplayComponent *>(driver->GetComponent("IVRDisplayComponent_003"));
- 	VERIFY(display, "IVRDisplayComponent is null");
- #undef VERIFY
- 
diff --git a/pkgs/applications/graphics/normcap/default.nix b/pkgs/applications/graphics/normcap/default.nix
deleted file mode 100644
index 820ca99033947..0000000000000
--- a/pkgs/applications/graphics/normcap/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-# From NUR https://github.com/nix-community/nur-combined/blob/6bddae47680482383b5769dd3aa7d82b88e6cbc8/repos/renesat/pkgs/normcap/default.nix
-
-{
-  lib,
-  stdenv,
-  python3,
-  fetchFromGitHub,
-  tesseract4,
-  leptonica,
-  wl-clipboard
-}:
-python3.pkgs.buildPythonApplication rec {
-  pname = "normcap";
-  version = "0.4.4";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "dynobo";
-    repo = "normcap";
-    rev = "v${version}";
-    hash = "sha256-dShtmoqS9TC3PHuwq24OEOhYfBHGhDCma8Du8QCkFuI=";
-  };
-
-  buildInputs = [
-    wl-clipboard
-  ];
-
-  nativeBuildInputs = with python3.pkgs; [
-    poetry-core
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    tesseract4
-    leptonica
-    pyside6
-
-    # Test
-    toml
-    pytest-qt
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml --replace 'PySide6-Essentials = "6.5.1"' ""
-  '';
-
-  meta = with lib; {
-    description = "OCR powered screen-capture tool to capture information instead of images";
-    homepage = "https://dynobo.github.io/normcap/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ cafkafk ];
-  };
-}
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index 676cb3452afaa..1351f711f56d0 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -66,6 +66,11 @@ rustPlatform.buildRustPackage rec {
     "--skip=bench"
   ];
 
+  postInstall = ''
+    install -Dm444 $src/res/oculante.png -t $out/share/icons/hicolor/128x128/apps/
+    install -Dm444 $src/res/oculante.desktop -t $out/share/applications
+  '';
+
   postFixup = lib.optionalString stdenv.isLinux ''
     patchelf $out/bin/oculante --add-rpath ${lib.makeLibraryPath [ libxkbcommon libX11 ]}
   '';
diff --git a/pkgs/applications/graphics/pizarra/default.nix b/pkgs/applications/graphics/pizarra/default.nix
index ccf21d630e649..f9d7fc650647d 100644
--- a/pkgs/applications/graphics/pizarra/default.nix
+++ b/pkgs/applications/graphics/pizarra/default.nix
@@ -30,6 +30,15 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [ gtk3-x11 atk glib librsvg ];
 
+  postInstall = ''
+    install -Dm444 res/icons/tk.categulario.pizarra.svg $out/share/icons/hicolor/scalable/apps/pizarra.svg
+    install -Dm444 res/pizarra.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/pizarra.desktop \
+      --replace "TryExec=/usr/bin/" "TryExec=" \
+      --replace "Exec=/usr/bin/" "Exec=" \
+      --replace "Icon=/usr/share/icons/hicolor/scalable/apps/pizarra.svg" "Icon=pizarra"
+  '';
+
   meta = with lib; {
     description = "A simple blackboard written in GTK";
     longDescription = ''
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index 560cf666d2621..2cb5f8ddde247 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -29,6 +29,10 @@ mkDerivation rec {
     pkg-config
   ];
 
+  cmakeFlags = [
+    "-DVIDEO_SUPPORT=ON"
+  ];
+
   buildInputs = [
     exiv2
     mpv
diff --git a/pkgs/applications/graphics/rnote/Cargo.lock b/pkgs/applications/graphics/rnote/Cargo.lock
index 96130db9b3100..873251fcf9db2 100644
--- a/pkgs/applications/graphics/rnote/Cargo.lock
+++ b/pkgs/applications/graphics/rnote/Cargo.lock
@@ -103,30 +103,30 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -185,12 +185,12 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "event-listener-strategy",
  "futures-core",
  "pin-project-lite",
@@ -198,15 +198,15 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.6.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock 2.8.0",
+ "async-lock 3.2.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite 1.13.0",
+ "futures-lite 2.1.0",
  "slab",
 ]
 
@@ -244,22 +244,21 @@ dependencies = [
 
 [[package]]
 name = "async-io"
-version = "2.2.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997"
+checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff"
 dependencies = [
- "async-lock 3.1.0",
+ "async-lock 3.2.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.0.1",
+ "futures-lite 2.1.0",
  "parking",
- "polling 3.3.0",
- "rustix 0.38.24",
+ "polling 3.3.1",
+ "rustix 0.38.26",
  "slab",
  "tracing",
- "waker-fn",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -273,11 +272,11 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.1.0"
+version = "3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7"
+checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
 dependencies = [
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "event-listener-strategy",
  "pin-project-lite",
 ]
@@ -306,7 +305,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "windows-sys 0.48.0",
 ]
 
@@ -316,13 +315,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.2.0",
+ "async-io 2.2.1",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -336,9 +335,9 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "atomic-polyfill"
-version = "0.1.11"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
+checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4"
 dependencies = [
  "critical-section",
 ]
@@ -555,12 +554,12 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel 2.1.0",
- "async-lock 3.1.0",
+ "async-channel 2.1.1",
+ "async-lock 3.2.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite 2.0.1",
+ "futures-lite 2.1.0",
  "piper",
  "tracing",
 ]
@@ -688,9 +687,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.8"
+version = "4.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -698,9 +697,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.8"
+version = "4.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
 dependencies = [
  "anstream",
  "anstyle",
@@ -769,9 +768,9 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -791,9 +790,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "coreaudio-rs"
@@ -1011,15 +1010,9 @@ checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
 
 [[package]]
 name = "data-url"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
-
-[[package]]
-name = "data-url"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "derive_builder"
@@ -1065,13 +1058,14 @@ dependencies = [
 
 [[package]]
 name = "dialoguer"
-version = "0.10.4"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87"
+checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
 dependencies = [
  "console",
  "shell-words",
  "tempfile",
+ "thiserror",
  "zeroize",
 ]
 
@@ -1161,12 +1155,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1196,12 +1190,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "event-listener-strategy"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "pin-project-lite",
 ]
 
@@ -1307,28 +1312,28 @@ version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4"
 dependencies = [
- "roxmltree",
+ "roxmltree 0.18.1",
 ]
 
 [[package]]
 name = "fontdb"
-version = "0.14.1"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e"
+checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
 dependencies = [
  "fontconfig-parser",
  "log",
  "memmap2",
  "slotmap",
  "tinyvec",
- "ttf-parser 0.19.2",
+ "ttf-parser",
 ]
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1414,11 +1419,14 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.0.1"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
+checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
 dependencies = [
+ "fastrand 2.0.1",
  "futures-core",
+ "futures-io",
+ "parking",
  "pin-project-lite",
 ]
 
@@ -1532,9 +1540,9 @@ dependencies = [
 
 [[package]]
 name = "geo"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1645cf1d7fea7dac1a66f7357f3df2677ada708b8d9db8e9b043878930095a96"
+checksum = "4841b40fdbccd4b7042bd6195e4de91da54af34c50632e371bcbfcdfb558b873"
 dependencies = [
  "earcutr",
  "float_next_after",
@@ -1544,6 +1552,7 @@ dependencies = [
  "num-traits",
  "robust",
  "rstar",
+ "spade",
 ]
 
 [[package]]
@@ -1610,9 +1619,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio"
@@ -1670,13 +1679,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "glib-build-tools"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3431c56f463443cba9bc3600248bc6d680cb614c2ee1cdd39dab5415bd12ac5c"
+
+[[package]]
 name = "glib-macros"
 version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5"
 dependencies = [
  "heck",
- "proc-macro-crate 2.0.0",
+ "proc-macro-crate 2.0.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1844,9 +1859,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash",
  "allocator-api2",
@@ -1854,9 +1869,9 @@ dependencies = [
 
 [[package]]
 name = "heapless"
-version = "0.7.16"
+version = "0.7.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
+checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f"
 dependencies = [
  "atomic-polyfill",
  "hash32",
@@ -1932,9 +1947,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1995,7 +2010,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -2067,7 +2082,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi 0.3.3",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "windows-sys 0.48.0",
 ]
 
@@ -2115,6 +2130,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2174,9 +2198,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2277,7 +2301,7 @@ dependencies = [
  "cairo-rs",
  "cast",
  "cssparser",
- "data-url 0.3.0",
+ "data-url",
  "encoding_rs",
  "float-cmp",
  "gdk-pixbuf",
@@ -2322,9 +2346,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[package]]
 name = "locale_config"
@@ -2417,9 +2441,9 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memmap2"
-version = "0.6.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
 dependencies = [
  "libc",
 ]
@@ -2752,15 +2776,15 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open"
-version = "5.0.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfabf1927dce4d6fdf563d63328a0a506101ced3ec780ca2135747336c98cef8"
+checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349"
 dependencies = [
  "is-wsl",
  "libc",
@@ -2924,9 +2948,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -3106,16 +3130,16 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.0"
+version = "3.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531"
+checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "tracing",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3147,9 +3171,9 @@ dependencies = [
 
 [[package]]
 name = "portable-atomic"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
 
 [[package]]
 name = "ppv-lite86"
@@ -3195,11 +3219,12 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
 dependencies = [
- "toml_edit 0.20.7",
+ "toml_datetime",
+ "toml_edit 0.20.2",
 ]
 
 [[package]]
@@ -3228,9 +3253,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -3389,7 +3414,7 @@ dependencies = [
 
 [[package]]
 name = "rnote"
-version = "0.9.2"
+version = "0.9.3"
 dependencies = [
  "anyhow",
  "base64",
@@ -3397,10 +3422,11 @@ dependencies = [
  "fs_extra",
  "futures",
  "gettext-rs",
+ "glib-build-tools",
  "gtk4",
  "ijson",
  "image",
- "itertools 0.11.0",
+ "itertools 0.12.0",
  "kurbo",
  "libadwaita",
  "log",
@@ -3436,7 +3462,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-cli"
-version = "0.9.2"
+version = "0.9.3"
 dependencies = [
  "anyhow",
  "atty",
@@ -3454,7 +3480,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-compose"
-version = "0.9.2"
+version = "0.9.3"
 dependencies = [
  "anyhow",
  "base64",
@@ -3482,7 +3508,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-engine"
-version = "0.9.2"
+version = "0.9.3"
 dependencies = [
  "anyhow",
  "approx",
@@ -3498,7 +3524,7 @@ dependencies = [
  "gtk4",
  "ijson",
  "image",
- "itertools 0.11.0",
+ "itertools 0.12.0",
  "kurbo",
  "librsvg",
  "log",
@@ -3519,7 +3545,7 @@ dependencies = [
  "rodio",
  "rough_piet",
  "roughr",
- "roxmltree",
+ "roxmltree 0.19.0",
  "rstar",
  "semver",
  "serde",
@@ -3587,6 +3613,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
 name = "rstar"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3634,15 +3666,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.24"
+version = "0.38.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.11",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3653,17 +3685,17 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "rustybuzz"
-version = "0.7.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a"
+checksum = "71cd15fef9112a1f94ac64b58d1e4628192631ad6af4dc69997f995459c874e7"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
  "smallvec",
- "ttf-parser 0.18.1",
+ "ttf-parser",
  "unicode-bidi-mirroring",
  "unicode-ccc",
- "unicode-general-category",
+ "unicode-properties",
  "unicode-script",
 ]
 
@@ -3727,18 +3759,18 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3840,9 +3872,9 @@ dependencies = [
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "serde",
  "version_check",
@@ -3889,11 +3921,11 @@ dependencies = [
 
 [[package]]
 name = "spade"
-version = "2.3.1"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "544b7011aca0c409a39df31cccdbf9962ea2f78597711ef2a58750d3cafd5b44"
+checksum = "87a3ef2efbc408c9051c1a27ce7edff430d74531d31a480b7ca4f618072c2670"
 dependencies = [
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "num-traits",
  "robust",
  "smallvec",
@@ -3998,9 +4030,9 @@ dependencies = [
 
 [[package]]
 name = "svg"
-version = "0.13.1"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02d815ad337e8449d2374d4248448645edfe74e699343dd5719139d93fa87112"
+checksum = "0d703a3635418d4e4d0e410009ddbfb65047ef9468b1d29afd3b057a5bc4c217"
 
 [[package]]
 name = "svg_path_ops"
@@ -4022,9 +4054,9 @@ dependencies = [
 
 [[package]]
 name = "svgtypes"
-version = "0.11.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7"
+checksum = "d71499ff2d42f59d26edb21369a308ede691421f79ebc0f001e2b1fd3a7c9e52"
 dependencies = [
  "kurbo",
  "siphasher",
@@ -4131,7 +4163,7 @@ dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml 0.8.8",
+ "toml 0.8.2",
  "version-compare",
 ]
 
@@ -4156,7 +4188,7 @@ dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
  "redox_syscall",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "windows-sys 0.48.0",
 ]
 
@@ -4234,9 +4266,9 @@ dependencies = [
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.10.0"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f60aa35c89ac2687ace1a2556eaaea68e8c0d47408a2e3e7f5c98a489e7281c"
+checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -4272,21 +4304,21 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.8"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.20.2",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.5"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
 dependencies = [
  "serde",
 ]
@@ -4306,20 +4338,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
-dependencies = [
- "indexmap 2.1.0",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
 dependencies = [
  "indexmap 2.1.0",
  "serde",
@@ -4346,12 +4367,6 @@ checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 
 [[package]]
 name = "ttf-parser"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
-
-[[package]]
-name = "ttf-parser"
 version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
@@ -4415,9 +4430,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -4432,12 +4447,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
-
-[[package]]
 name = "unicode-ident"
 version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4459,6 +4468,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "unicode-properties"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7f91c8b21fbbaa18853c3d0801c78f4fc94cdb976699bb03e832e75f7fd22f0"
+
+[[package]]
 name = "unicode-script"
 version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4484,9 +4499,9 @@ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -4495,9 +4510,9 @@ dependencies = [
 
 [[package]]
 name = "usvg"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d09ddfb0d93bf84824c09336d32e42f80961a9d1680832eb24fdf249ce11e6"
+checksum = "c51daa774fe9ee5efcf7b4fec13019b8119cda764d9a8b5b06df02bb1445c656"
 dependencies = [
  "base64",
  "log",
@@ -4510,27 +4525,27 @@ dependencies = [
 
 [[package]]
 name = "usvg-parser"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d19bf93d230813599927d88557014e0908ecc3531666d47c634c6838bc8db408"
+checksum = "45c88a5ffaa338f0e978ecf3d4e00d8f9f493e29bed0752e1a808a1db16afc40"
 dependencies = [
- "data-url 0.2.0",
+ "data-url",
  "flate2",
  "imagesize",
  "kurbo",
  "log",
- "roxmltree",
+ "roxmltree 0.18.1",
  "simplecss",
  "siphasher",
- "svgtypes 0.11.0",
+ "svgtypes 0.12.0",
  "usvg-tree",
 ]
 
 [[package]]
 name = "usvg-text-layout"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "035044604e89652c0a2959b8b356946997a52649ba6cade45928c2842376feb4"
+checksum = "4d2374378cb7a3fb8f33894e0fdb8625e1bbc4f25312db8d91f862130b541593"
 dependencies = [
  "fontdb",
  "kurbo",
@@ -4544,13 +4559,13 @@ dependencies = [
 
 [[package]]
 name = "usvg-tree"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7939a7e4ed21cadb5d311d6339730681c3e24c3e81d60065be80e485d3fc8b92"
+checksum = "6cacb0c5edeaf3e80e5afcf5b0d4004cc1d36318befc9a7c6606507e5d0f4062"
 dependencies = [
  "rctree",
  "strict-num",
- "svgtypes 0.11.0",
+ "svgtypes 0.12.0",
  "tiny-skia-path",
 ]
 
@@ -4602,9 +4617,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4612,9 +4627,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
@@ -4627,9 +4642,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4639,9 +4654,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4649,9 +4664,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4662,15 +4677,15 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4691,7 +4706,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.24",
+ "rustix 0.38.26",
 ]
 
 [[package]]
@@ -4772,6 +4787,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4802,6 +4826,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4814,6 +4853,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4826,6 +4871,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4838,6 +4889,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4850,6 +4907,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4862,6 +4925,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4874,6 +4943,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4886,10 +4961,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.19"
+version = "0.5.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+checksum = "b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94"
 dependencies = [
  "memchr",
 ]
@@ -4935,18 +5016,18 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
 
 [[package]]
 name = "zerocopy"
-version = "0.7.26"
+version = "0.7.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+checksum = "5d075cf85bbb114e933343e087b92f2146bac0d55b534cbb8188becf0039948e"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.26"
+version = "0.7.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+checksum = "86cd5ca076997b97ef09d3ad65efe811fa68c9e874cb636ccb211223a813b0c2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4955,9 +5036,9 @@ dependencies = [
 
 [[package]]
 name = "zeroize"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12a3946ecfc929b583800f4629b6c25b88ac6e92a40ea5670f77112a85d40a8b"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 
 [[package]]
 name = "zune-inflate"
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index 78e5be57ef685..218c1f787555e 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
-    hash = "sha256-LLJurn5KJBlTtFrQXcc7HZqtIATOLgiwJqUsZe4cRIo=";
+    hash = "sha256-TeOBLPQc4y1lstqZUBDS3vUPama80UieifmxL2Qswvw=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
index 00d41bf9b293e..51c0f306f92d1 100644
--- a/pkgs/applications/graphics/smartdeblur/default.nix
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, fftw
+{ stdenv, lib, fetchFromGitHub, fftw
 , qtbase, qmake, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/graphics/upscayl/default.nix b/pkgs/applications/graphics/upscayl/default.nix
index a892a0263a1e2..5981a30374938 100644
--- a/pkgs/applications/graphics/upscayl/default.nix
+++ b/pkgs/applications/graphics/upscayl/default.nix
@@ -4,11 +4,11 @@
   lib,
 }: let
   pname = "upscayl";
-  version = "2.9.1";
+  version = "2.9.5";
 
   src = fetchurl {
     url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
-    hash = "sha256-x7tNGWXrg4hkr4d5QK4Z/cOmGGdbWLJ/GIASZjmiL4w=";
+    hash = "sha256-zEqdHWfMbxdOoZ3NfvOPZL0osrFVMxFN32gXfEjbKLs=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/kde/angelfish.nix b/pkgs/applications/kde/angelfish.nix
index 7ad0d1ab66418..6983d3eb14a5c 100644
--- a/pkgs/applications/kde/angelfish.nix
+++ b/pkgs/applications/kde/angelfish.nix
@@ -24,7 +24,7 @@
 , srcs
 
 # provided as callPackage input to enable easier overrides through overlays
-, cargoSha256 ? "sha256-YR7d8F1LWDHY+h2ZQe52u3KWIeEMTnrbU4DO+hpIOec="
+, cargoSha256 ? "sha256-EXsAvI8dKgCGmLbGr9fdk/F9UwtSfd/aIyqAy5tvFSI="
 }:
 
 mkDerivation rec {
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 32d1e71facf0a..ab2c10d15779b 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -101,6 +101,7 @@ let
       kaccounts-providers = callPackage ./kaccounts-providers.nix {};
       kaddressbook = callPackage ./kaddressbook.nix {};
       kalarm = callPackage ./kalarm.nix {};
+      kalgebra = callPackage ./kalgebra.nix {};
       merkuro = callPackage ./merkuro.nix {};
       kalzium = callPackage ./kalzium.nix {};
       kamoso = callPackage ./kamoso.nix {};
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index f074bbeee63a2..2d6455fad777e 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.3/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.4/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix
index 2cc532d25104e..14f4b26290c87 100644
--- a/pkgs/applications/kde/grantleetheme/default.nix
+++ b/pkgs/applications/kde/grantleetheme/default.nix
@@ -19,5 +19,12 @@ mkDerivation {
   postInstall = ''
     # added as an include directory by cmake files and fails to compile if it's missing
     mkdir -p "$dev/include/KF5"
+
+    # This is a really disgusting hack, no idea how search paths work for kde,
+    # but apparently kde is looking in $out/$out rather than $out for this library.
+    # Having this symlink fixes kmail finding it and makes my html work (Yay!).
+    mkdir -p $out/$out/lib/grantlee/
+    libpath=$(echo $out/lib/grantlee/*)
+    ln -s $libpath $out/$out/lib/grantlee/$(basename $libpath)
   '';
 }
diff --git a/pkgs/applications/kde/kalgebra.nix b/pkgs/applications/kde/kalgebra.nix
new file mode 100644
index 0000000000000..ed1b0b567e0be
--- /dev/null
+++ b/pkgs/applications/kde/kalgebra.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, analitza
+, ki18n
+, kinit
+, kirigami2
+, kconfigwidgets
+, kwidgetsaddons
+, kio
+, kxmlgui
+, qtwebengine
+, plasma-framework
+}:
+
+mkDerivation {
+  pname = "kalgebra";
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+
+  buildInputs = [
+    ki18n
+    analitza
+    kinit
+    kirigami2
+    kconfigwidgets
+    kwidgetsaddons
+    kio
+    kxmlgui
+    qtwebengine
+    plasma-framework
+  ];
+
+  meta = {
+    homepage = "https://apps.kde.org/kalgebra/";
+    description = "A 2D and 3D Graph Calculator";
+    license = with lib.licenses; [ gpl2Plus ];
+    maintainers = with lib.maintainers; [ ninjafb ];
+  };
+}
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index b8df9043eb1f6..c88723d9c9091 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1955 +4,1955 @@
 
 {
   akonadi = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-23.08.3.tar.xz";
-      sha256 = "0h9yzd33psycpcdqb4c54s0dysifmjjrwygjk7rbhfph8099y864";
-      name = "akonadi-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-23.08.4.tar.xz";
+      sha256 = "0dj9xn0bpcq409kfd61zh5wdhbh4yrlviwhlmxawrm1mx5r07yv3";
+      name = "akonadi-23.08.4.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-calendar-23.08.3.tar.xz";
-      sha256 = "1r9h40m0jha2qzj63l8xwsxn8avmak2h7k3vxi91wdnd288cdnib";
-      name = "akonadi-calendar-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-23.08.4.tar.xz";
+      sha256 = "0xayrqrragk1vp0rsghdpx482c3f23iri0rd70v86393qdhb59mq";
+      name = "akonadi-calendar-23.08.4.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-calendar-tools-23.08.3.tar.xz";
-      sha256 = "0vwfq3nls3c9qxm4kd9cb42p1x2na0mfjcg4cnlffas8bhg1sll5";
-      name = "akonadi-calendar-tools-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-tools-23.08.4.tar.xz";
+      sha256 = "17s24ijhk68dw7ailk992a7xkdjl6dj5nwr06zlvdhskxx9z3xrc";
+      name = "akonadi-calendar-tools-23.08.4.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-contacts-23.08.3.tar.xz";
-      sha256 = "0kf99fhykxb957f8iipw98nn16j3nqp730nsahwd3nhknb517v0r";
-      name = "akonadi-contacts-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-contacts-23.08.4.tar.xz";
+      sha256 = "1nxm1lwk6jazfv684gb4w1y9r8xaj0y14xvsslljf018l20wqr4q";
+      name = "akonadi-contacts-23.08.4.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-import-wizard-23.08.3.tar.xz";
-      sha256 = "1hvpb29mym0psibzn7vdyd466bnf03z3bwmwbk406w7zkc1ahh35";
-      name = "akonadi-import-wizard-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-import-wizard-23.08.4.tar.xz";
+      sha256 = "08pk36hw9v9bs8scgxzbwlhlcyikbcliybp1p6ga2j7p8mjm6fg2";
+      name = "akonadi-import-wizard-23.08.4.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-mime-23.08.3.tar.xz";
-      sha256 = "07qwkkbjdcpi0b18fndal2nxbxz0nawihway93dzj8w7zzcf5pg8";
-      name = "akonadi-mime-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-mime-23.08.4.tar.xz";
+      sha256 = "1bzsddyr784a4dw1fqp57xp8az6dysqy7xmfygm5r5bbbdnlxdpb";
+      name = "akonadi-mime-23.08.4.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-notes-23.08.3.tar.xz";
-      sha256 = "1z9i7wd72kqy07wrh31zrl15swny38azhn2l3c6w9gc5zhl6sf9g";
-      name = "akonadi-notes-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-notes-23.08.4.tar.xz";
+      sha256 = "0vlcbb783jj3zx8nsrd0r7si28463rsd2xcxb3z5m4il8xmr0smh";
+      name = "akonadi-notes-23.08.4.tar.xz";
     };
   };
   akonadi-search = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadi-search-23.08.3.tar.xz";
-      sha256 = "066v60c358znm2s32m98jpmqj53zhh887mmylqrd1rak3p8xbwfc";
-      name = "akonadi-search-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-search-23.08.4.tar.xz";
+      sha256 = "0ipwxa0xv8bwvx9ngpq2i3ivq0s97m0x2kj4n4dw4sil31x2yzq5";
+      name = "akonadi-search-23.08.4.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akonadiconsole-23.08.3.tar.xz";
-      sha256 = "1jg47kjabfbmvxdg972p5wm97jngxsqswmql2j32fpiq5vcwjjg3";
-      name = "akonadiconsole-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akonadiconsole-23.08.4.tar.xz";
+      sha256 = "1xnvrpd7xy2cz6m8x41lki3gnvfq74gvi9vlyfpf9v85z4ri6jhv";
+      name = "akonadiconsole-23.08.4.tar.xz";
     };
   };
   akregator = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/akregator-23.08.3.tar.xz";
-      sha256 = "0brq2m91ahsyvvn30hlpc18igbpij0dgxixis147m8i1aidyi7hh";
-      name = "akregator-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/akregator-23.08.4.tar.xz";
+      sha256 = "1psgzcw84xnh7xgi1s1yxk41sndshy8j1mvvz42gasrpqdfzrpjv";
+      name = "akregator-23.08.4.tar.xz";
     };
   };
   alligator = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/alligator-23.08.3.tar.xz";
-      sha256 = "1w54frf5rm0x40451kffs0qh1jsagx9jihwpigvjmhl0i7dknvpp";
-      name = "alligator-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/alligator-23.08.4.tar.xz";
+      sha256 = "0g8ps4vkrc1wdprand6y8h99zh4flhg4mcqn1552nk5p3kcyvzh1";
+      name = "alligator-23.08.4.tar.xz";
     };
   };
   analitza = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/analitza-23.08.3.tar.xz";
-      sha256 = "14lg9w5x4rcy4sn9yxj9a035k9c5c7ijcfmxr1hcs45dgcapd5si";
-      name = "analitza-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/analitza-23.08.4.tar.xz";
+      sha256 = "0d0qaz08xaiy1whg9vgd4316fvzfhm1wnmy17b83p8ihd80p8agk";
+      name = "analitza-23.08.4.tar.xz";
     };
   };
   angelfish = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/angelfish-23.08.3.tar.xz";
-      sha256 = "1f8q9h8aac2mdfrd4rxq1kyzvzradb3azrasdzfc4m941ka3lrgb";
-      name = "angelfish-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/angelfish-23.08.4.tar.xz";
+      sha256 = "1nggkgwkvgczpn3aq8isphzhykjihdd8a6nfrghfnsbfjmnz1y7s";
+      name = "angelfish-23.08.4.tar.xz";
     };
   };
   arianna = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/arianna-23.08.3.tar.xz";
-      sha256 = "1drfaswzmlw8jws6l07550qa92fp00pp6860lyw92kapw8wh25zf";
-      name = "arianna-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/arianna-23.08.4.tar.xz";
+      sha256 = "04rj2p1s75na1yac4swlanqh6ijsn4d4wy5vn0f0lkgbbd9pgc0z";
+      name = "arianna-23.08.4.tar.xz";
     };
   };
   ark = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ark-23.08.3.tar.xz";
-      sha256 = "0vrjs94ncwbixr4q10rs3cjxbgxgwyrh96wbk78q2lv620xb8byk";
-      name = "ark-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ark-23.08.4.tar.xz";
+      sha256 = "17makvdjycjxxykmxm0kw3amdwp55296zvhrqs3a4fwbg352c912";
+      name = "ark-23.08.4.tar.xz";
     };
   };
   artikulate = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/artikulate-23.08.3.tar.xz";
-      sha256 = "0kx1ma6vf04ylr34skfwbprxq2x9wzr7x8nxv10jqhrr73g0vgv1";
-      name = "artikulate-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/artikulate-23.08.4.tar.xz";
+      sha256 = "1vxd0k30qviz1qp2308dp3d4627dfvl86114d9x2xlwgyf78mmfw";
+      name = "artikulate-23.08.4.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/audiocd-kio-23.08.3.tar.xz";
-      sha256 = "1dvqkmh9ndv6iqlk0qv09s0yhrxpc1n2p5zw4ll6hinw9gagbkvv";
-      name = "audiocd-kio-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/audiocd-kio-23.08.4.tar.xz";
+      sha256 = "011g4g5c5mbhdiqsc9rl8wsjvcbyxn4ikmiz0jcn7v7rjg91z7zc";
+      name = "audiocd-kio-23.08.4.tar.xz";
     };
   };
   audiotube = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/audiotube-23.08.3.tar.xz";
-      sha256 = "0j57zw0jmagpd9924c2drz4g52i5i8kw81yvka6qamj0n1db6awg";
-      name = "audiotube-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/audiotube-23.08.4.tar.xz";
+      sha256 = "1jbnwk16awsqg08xarx1gpxix0fjy1jfifhpvd6gww70p6m6d1kr";
+      name = "audiotube-23.08.4.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/baloo-widgets-23.08.3.tar.xz";
-      sha256 = "1p4cpcdxbab0nqgs8933dh73pkjr9j8vd8b3wz0s295bpws560mz";
-      name = "baloo-widgets-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/baloo-widgets-23.08.4.tar.xz";
+      sha256 = "0mqnfavcickq07kz2xiq1j1mn4prv7jhhfbl635zg4s95anz6f7y";
+      name = "baloo-widgets-23.08.4.tar.xz";
     };
   };
   blinken = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/blinken-23.08.3.tar.xz";
-      sha256 = "06sqp8ghbapkfwbf4m74rp28lcv2ql3djfz5ngavgby4mh0fy06j";
-      name = "blinken-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/blinken-23.08.4.tar.xz";
+      sha256 = "0g85bzm4nx4jialscjxva6438s6q24pr4cbqs52q1c3hkh90qn26";
+      name = "blinken-23.08.4.tar.xz";
     };
   };
   bomber = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/bomber-23.08.3.tar.xz";
-      sha256 = "0fcxp7jcimqpij250rcwr5xkwk3wghjsf0x0b8gxs5s7a2x3ywkf";
-      name = "bomber-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/bomber-23.08.4.tar.xz";
+      sha256 = "0zj31z3zkgv34x42378v5l7gcq5k530x2adpi476zxmx0nwmwsmk";
+      name = "bomber-23.08.4.tar.xz";
     };
   };
   bovo = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/bovo-23.08.3.tar.xz";
-      sha256 = "19ab8z30g19k7vs27cyfgmv8kaadr6a7i50rndsbhbjdwkmi7n9g";
-      name = "bovo-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/bovo-23.08.4.tar.xz";
+      sha256 = "1kk0vkd6vrlnrhxrkdacxvm60rqm5j0rkwm1vnssg6j90405wq22";
+      name = "bovo-23.08.4.tar.xz";
     };
   };
   calendarsupport = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/calendarsupport-23.08.3.tar.xz";
-      sha256 = "180gkqh3xpm93r8jh381d6ihjg68gzkjqn9pmak32whg8012q4bd";
-      name = "calendarsupport-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/calendarsupport-23.08.4.tar.xz";
+      sha256 = "1r018kcxk90ykwvf7bw6lammx2kkzz6jnqp8fl2cfj36pfc84w3w";
+      name = "calendarsupport-23.08.4.tar.xz";
     };
   };
   calindori = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/calindori-23.08.3.tar.xz";
-      sha256 = "0800khsn96lsgv5iwmkdrxgsdvyddvjgpfrv7rp3bd3jj21qb8br";
-      name = "calindori-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/calindori-23.08.4.tar.xz";
+      sha256 = "1sjxjmpc69l26635wg28cmbif2z3jszanmzgpc93s39fgi47mw97";
+      name = "calindori-23.08.4.tar.xz";
     };
   };
   cantor = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/cantor-23.08.3.tar.xz";
-      sha256 = "009azpj5frkpc4yc3cc6jqhd5prwmkab1m5j6khmyg78vdrfibcw";
-      name = "cantor-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/cantor-23.08.4.tar.xz";
+      sha256 = "01nihsmjfmiipzh7371a7msb3gc0fiw6wh4a2g800c380nvd4ix9";
+      name = "cantor-23.08.4.tar.xz";
     };
   };
   cervisia = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/cervisia-23.08.3.tar.xz";
-      sha256 = "0nncgcn67ksv0xw3fsf90pqi6mjqca4v6wr52pf0knpy7a22hpig";
-      name = "cervisia-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/cervisia-23.08.4.tar.xz";
+      sha256 = "1mlydja8652rk9jg2gz3xzsj09kmgwb6miq9fyifv8p024ml9gj1";
+      name = "cervisia-23.08.4.tar.xz";
     };
   };
   colord-kde = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/colord-kde-23.08.3.tar.xz";
-      sha256 = "14baqrdwwssd305qhvxils0sbbdw6hdz4ggg3qkp30xc18vdp270";
-      name = "colord-kde-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/colord-kde-23.08.4.tar.xz";
+      sha256 = "1a3lx7ahjcl05jkbril7lx6x12qfmh7w7kxm2gplfhfnii9hvmxv";
+      name = "colord-kde-23.08.4.tar.xz";
     };
   };
   dolphin = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/dolphin-23.08.3.tar.xz";
-      sha256 = "17msggyxykq3gvzl6h9fxrmc06s7h74279rdfmckvprxi5yqfknm";
-      name = "dolphin-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-23.08.4.tar.xz";
+      sha256 = "11c5i2bm33cm84kww4p5jmi64pmfxafjrzri06vl8cwg05w0nqva";
+      name = "dolphin-23.08.4.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/dolphin-plugins-23.08.3.tar.xz";
-      sha256 = "0s57n5bg0sq9xj38rq8sy6fv6biiwrxg85a4xq0hqsjfcy7gwk89";
-      name = "dolphin-plugins-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-plugins-23.08.4.tar.xz";
+      sha256 = "1m1kmdgx6isyff4i9nj6mv16lsg08rzivd0p42avj1pm17giyhcw";
+      name = "dolphin-plugins-23.08.4.tar.xz";
     };
   };
   dragon = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/dragon-23.08.3.tar.xz";
-      sha256 = "0hf4agxqs8y7ivrd2ikr1ld1liam5kncswsxi25al1hv5c49qirf";
-      name = "dragon-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/dragon-23.08.4.tar.xz";
+      sha256 = "1h5c29fkarqcbbhirj9q88v5spsp1l4hkjs0akp21j212b309dd5";
+      name = "dragon-23.08.4.tar.xz";
     };
   };
   elisa = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/elisa-23.08.3.tar.xz";
-      sha256 = "1nb6scjq9aj8cd5paqyyhx4l9lp6a4rq8f0dkkmq55nb4ixq1nz5";
-      name = "elisa-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/elisa-23.08.4.tar.xz";
+      sha256 = "0hsikp4ya26gq0v1f259mbwahl5rv1lfjj3cwh579rwabk8vpj5a";
+      name = "elisa-23.08.4.tar.xz";
     };
   };
   eventviews = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/eventviews-23.08.3.tar.xz";
-      sha256 = "0hazaxgil90pa9y2ja4f76h78yppiykqh2c216qrsqaw22lisgiw";
-      name = "eventviews-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/eventviews-23.08.4.tar.xz";
+      sha256 = "0zl527fzz9brhk0gqvgfnzmqhqc3phxg97nafadvasrj8fz8nv9h";
+      name = "eventviews-23.08.4.tar.xz";
     };
   };
   falkon = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/falkon-23.08.3.tar.xz";
-      sha256 = "00py03fbj105knqmrj370ca8lyipiknwjvhswli3hv8ksk5wsxxi";
-      name = "falkon-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/falkon-23.08.4.tar.xz";
+      sha256 = "0qvd53klxfmfm4b3apwvywwzi1k9qv6c2wyljz0cziycd2vq917h";
+      name = "falkon-23.08.4.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ffmpegthumbs-23.08.3.tar.xz";
-      sha256 = "109766pkhqwq8vk14av79c18lpw73q553b9l9asrkh5s0gzignmh";
-      name = "ffmpegthumbs-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ffmpegthumbs-23.08.4.tar.xz";
+      sha256 = "0jv8fy68fwikn3vlf4hxvnyqv1a1hs18zdj2ds112ymlmw846bsh";
+      name = "ffmpegthumbs-23.08.4.tar.xz";
     };
   };
   filelight = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/filelight-23.08.3.tar.xz";
-      sha256 = "12hq3q0my6lfa0ql1smgyxqbq9dcv8i70rc1s7w69b7k9y45nnp2";
-      name = "filelight-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/filelight-23.08.4.tar.xz";
+      sha256 = "1irn8kbbka1p9dzh9yl87fc7gz9486bq3wxbiw4gh11pkrm246dg";
+      name = "filelight-23.08.4.tar.xz";
     };
   };
   ghostwriter = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ghostwriter-23.08.3.tar.xz";
-      sha256 = "0pfr9s6csk2w3qzr48sg6y4fpvh7xflja12pva9sp8whzplg7wda";
-      name = "ghostwriter-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ghostwriter-23.08.4.tar.xz";
+      sha256 = "0w8cjrvsibhp7q4b2wqhi5pmbvir6p1z283k3pq6qhl72fg9cpd8";
+      name = "ghostwriter-23.08.4.tar.xz";
     };
   };
   granatier = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/granatier-23.08.3.tar.xz";
-      sha256 = "1wjwj4lwn992wgsmqdvs50jy60vcpim5y56a6xrwxcdbhcvj65px";
-      name = "granatier-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/granatier-23.08.4.tar.xz";
+      sha256 = "1n6x7nlrxdlj54rwbdv440sf6g5a56mnhlsf5x54z97il3jrvxxm";
+      name = "granatier-23.08.4.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/grantlee-editor-23.08.3.tar.xz";
-      sha256 = "1wdss8narjdr5fvqqysh0mnj47d86lhdj2zk8a5vz6cijvyd9076";
-      name = "grantlee-editor-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/grantlee-editor-23.08.4.tar.xz";
+      sha256 = "0aczzf4bgg9gsh83nzifia2vrmk5xr3y0nxsw0dk061s1g1d04yc";
+      name = "grantlee-editor-23.08.4.tar.xz";
     };
   };
   grantleetheme = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/grantleetheme-23.08.3.tar.xz";
-      sha256 = "127wxfa1n9akb1i746h9fbg3xsc7127lmgl8qa0y09bjj217dd2r";
-      name = "grantleetheme-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/grantleetheme-23.08.4.tar.xz";
+      sha256 = "0bf3llh7y9n7wlgmpb9ydpm4grfhcwgf7nsjz0c84mkgv1a9876q";
+      name = "grantleetheme-23.08.4.tar.xz";
     };
   };
   gwenview = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/gwenview-23.08.3.tar.xz";
-      sha256 = "0g6qm3nzcsgm5l8h8fkd9hc26zgf3k6vy510m27y3jra7p7rn2hs";
-      name = "gwenview-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/gwenview-23.08.4.tar.xz";
+      sha256 = "01ddradjrcamkpjzskyiwm53i1iisk9y5v2vjffhgmvldjkrnm28";
+      name = "gwenview-23.08.4.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/incidenceeditor-23.08.3.tar.xz";
-      sha256 = "07zljj30n6f80fw4p53hxz1frjs6camc1zyvx876rl8bxssd7c06";
-      name = "incidenceeditor-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/incidenceeditor-23.08.4.tar.xz";
+      sha256 = "0d8y9fvmr1mbi6virz9vsiaz4vhy5v74ngilmy3s488s99mhbm4f";
+      name = "incidenceeditor-23.08.4.tar.xz";
     };
   };
   itinerary = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/itinerary-23.08.3.tar.xz";
-      sha256 = "1bgrj6i24lg9xv7kz7z1dk0xqgvbc15w1hz0r4mrwm4w151r9w77";
-      name = "itinerary-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/itinerary-23.08.4.tar.xz";
+      sha256 = "0jdb2m35r20bc8w2iq5xdjzfmdvaw0di4sp6wxl8vhcj0py1ryhw";
+      name = "itinerary-23.08.4.tar.xz";
     };
   };
   juk = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/juk-23.08.3.tar.xz";
-      sha256 = "1y4wfilvpd3zbjw33lzk7amjb20c8gb2lmcl85mqyksmmsv7kl1j";
-      name = "juk-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/juk-23.08.4.tar.xz";
+      sha256 = "1ar9418j11sy213nis0i0l4nabqcrbxck7rzkn961cvaflw22par";
+      name = "juk-23.08.4.tar.xz";
     };
   };
   k3b = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/k3b-23.08.3.tar.xz";
-      sha256 = "12jvb72vr3g1z9qbjjxxlpcvrpvmm8n0d02fs4fpvnmqzbxlkiw3";
-      name = "k3b-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/k3b-23.08.4.tar.xz";
+      sha256 = "096bv6jphlq3ch32q30d6h9qg5q8iphhkdpgb4hgmgz8pp2qgsrh";
+      name = "k3b-23.08.4.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kaccounts-integration-23.08.3.tar.xz";
-      sha256 = "0na3sy9dcn6qndivyr5yi2az0fvl6a8ywi4x775dxi2nncbjb730";
-      name = "kaccounts-integration-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-integration-23.08.4.tar.xz";
+      sha256 = "0ln9f46kbhy7xpbvbbiv3i0kav0w5siqdbhj3s951a6c0mj1dv3v";
+      name = "kaccounts-integration-23.08.4.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kaccounts-providers-23.08.3.tar.xz";
-      sha256 = "1fz5k81xci4xwvgg79jhjpldblfbc5yagqggc28dkqvrzfzij6nb";
-      name = "kaccounts-providers-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-providers-23.08.4.tar.xz";
+      sha256 = "11cg52vh6bapim4g2s1h7ds59kffrsidq5xg0w3cn9aqhh8hpi89";
+      name = "kaccounts-providers-23.08.4.tar.xz";
     };
   };
   kaddressbook = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kaddressbook-23.08.3.tar.xz";
-      sha256 = "10n1d0p24fvcalwdl54cgg1n12yj476w343sqjrijzqp8j4a82pr";
-      name = "kaddressbook-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kaddressbook-23.08.4.tar.xz";
+      sha256 = "11j2a10xc0hmdmsqc6zqv2bjqj5msf3lqk5qq3dkkcgnwipr4v0d";
+      name = "kaddressbook-23.08.4.tar.xz";
     };
   };
   kajongg = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kajongg-23.08.3.tar.xz";
-      sha256 = "1xdw8j4qxgqaxrj7dwazmzdrj88gzvgzcd45g7s4kimyf05pjpk5";
-      name = "kajongg-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kajongg-23.08.4.tar.xz";
+      sha256 = "0nlhh99nsndjd3gzc95dfmn1gzxnq8gg2l9m1mm90hnp4d655jbm";
+      name = "kajongg-23.08.4.tar.xz";
     };
   };
   kalarm = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kalarm-23.08.3.tar.xz";
-      sha256 = "072m43s3dr7xdvplvvfvb1s5rgy6rbq540cjx239hwpd3qkg1ri8";
-      name = "kalarm-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kalarm-23.08.4.tar.xz";
+      sha256 = "0vhjx29i5ikk427md3i8kcf9s6q150hi01gsb64y5lx8jk2hpci1";
+      name = "kalarm-23.08.4.tar.xz";
     };
   };
   kalgebra = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kalgebra-23.08.3.tar.xz";
-      sha256 = "104niva0c2ghqzydb433allm4g7yh2kfrglm5h2gw9p8rr792m9k";
-      name = "kalgebra-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kalgebra-23.08.4.tar.xz";
+      sha256 = "04wx0ai2xsq8br7hpvm2hcdf5fg0c982bshqsrbxvj1dhrb4mmwd";
+      name = "kalgebra-23.08.4.tar.xz";
     };
   };
   kalk = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kalk-23.08.3.tar.xz";
-      sha256 = "0b3ifhiyl89syf2jawcddwk8zp1j1zgvg26lcqmi2plw67mvc7lj";
-      name = "kalk-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kalk-23.08.4.tar.xz";
+      sha256 = "1ngckrp6lsgb6cnp2d6fca0ywqddwacmr9ac4w6zfzyfjpiyxmic";
+      name = "kalk-23.08.4.tar.xz";
     };
   };
   kalzium = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kalzium-23.08.3.tar.xz";
-      sha256 = "0pybhz6p2i92iv1zgn9prqqqaim0173n1pvbfrk00kbb1cfcpkbw";
-      name = "kalzium-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kalzium-23.08.4.tar.xz";
+      sha256 = "0gkvschn9la909907xa52hkp55rnbjm3rhrb6gjj07xxf1qrq358";
+      name = "kalzium-23.08.4.tar.xz";
     };
   };
   kamera = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kamera-23.08.3.tar.xz";
-      sha256 = "1y1f4salx1svhar3bpvg5a5j1bwmi6n3drqzd3zvkfvfhdzzvsrp";
-      name = "kamera-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kamera-23.08.4.tar.xz";
+      sha256 = "148pa22gmcb87hp9mxwchc32zjrc7j0n60np5g46h4czjmcppsca";
+      name = "kamera-23.08.4.tar.xz";
     };
   };
   kamoso = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kamoso-23.08.3.tar.xz";
-      sha256 = "1f31c5kbaf7dbksrnb3fmgcwk8b3qp4q94c99h6napm3q3p4bkbi";
-      name = "kamoso-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kamoso-23.08.4.tar.xz";
+      sha256 = "0ravp92i6q5cn4n6w89991yckjgjp6asm4bsnhnl434gv3q8dj6f";
+      name = "kamoso-23.08.4.tar.xz";
     };
   };
   kanagram = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kanagram-23.08.3.tar.xz";
-      sha256 = "12x1pgd4hfha16jb3bf7ywm4p98zh0c7m98bx4slxryhxc8glmmp";
-      name = "kanagram-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kanagram-23.08.4.tar.xz";
+      sha256 = "0whnpy0yib7gdy8fj9gk21vs7q3lgr0il6ghzzykjq8s65xav4mm";
+      name = "kanagram-23.08.4.tar.xz";
     };
   };
   kapman = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kapman-23.08.3.tar.xz";
-      sha256 = "1jhifmif3dwflc8j4mg8h7sd29kxz8fd3mw7d8rb60j1z1xarjx9";
-      name = "kapman-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kapman-23.08.4.tar.xz";
+      sha256 = "0cyp29nw0cgri2yw0rsc7y5bg37df331s8m1xajsaq2i2f15yk0y";
+      name = "kapman-23.08.4.tar.xz";
     };
   };
   kapptemplate = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kapptemplate-23.08.3.tar.xz";
-      sha256 = "0hzbhfkch9l7yaiv3j1pr4ankjzjr7cfv5s87a19nif31jwy05gd";
-      name = "kapptemplate-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kapptemplate-23.08.4.tar.xz";
+      sha256 = "1g7r8fj2jyisk1f1fv7q9bfmmhz08xmbs9wx3xk67ijkmzbpszyx";
+      name = "kapptemplate-23.08.4.tar.xz";
     };
   };
   kasts = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kasts-23.08.3.tar.xz";
-      sha256 = "136gsrxgbzdd1jsm23cyzzj02yhgjcbmywn7qnzg69hcd9rxpfkn";
-      name = "kasts-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kasts-23.08.4.tar.xz";
+      sha256 = "18vj02zdzi01r004jv8hpkmgjm0m74kypdsk8xcvw54vqzb5krmi";
+      name = "kasts-23.08.4.tar.xz";
     };
   };
   kate = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kate-23.08.3.tar.xz";
-      sha256 = "16m2v46msl065841z62h2dpnndif3j1gafd2vspy77n41aqhikqp";
-      name = "kate-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kate-23.08.4.tar.xz";
+      sha256 = "18pvnfzd09ffxrz5g0whd7m342x14zpm0xmic4n7zxh5namaqzr9";
+      name = "kate-23.08.4.tar.xz";
     };
   };
   katomic = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/katomic-23.08.3.tar.xz";
-      sha256 = "16xi82qg0wdfs4y8qkl34q46231qx3jh351y3wwzpnsrcpq9vxxp";
-      name = "katomic-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/katomic-23.08.4.tar.xz";
+      sha256 = "1vksy7qpc12r1y6ss42lqbxqigzbvlvlkggcs2jx399bafs6kf0l";
+      name = "katomic-23.08.4.tar.xz";
     };
   };
   kbackup = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kbackup-23.08.3.tar.xz";
-      sha256 = "1d1bsbm4zkxlxjbk9p2ndix1ly4k7vjm94v0pfy057j21djiqb0b";
-      name = "kbackup-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kbackup-23.08.4.tar.xz";
+      sha256 = "12sdg1c3bzyd25vf7z4d9a4z13hjhv7hhdzy9nq2w6v4qmkp28z9";
+      name = "kbackup-23.08.4.tar.xz";
     };
   };
   kblackbox = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kblackbox-23.08.3.tar.xz";
-      sha256 = "047g9h5nz9awdpg9ha3qi7l0ybs77qwjgw0628ac33klxlz0y60p";
-      name = "kblackbox-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kblackbox-23.08.4.tar.xz";
+      sha256 = "0c7bzkib99xx3gqah4j463rdvl39aq7nxh4wda0glik28s9w21kg";
+      name = "kblackbox-23.08.4.tar.xz";
     };
   };
   kblocks = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kblocks-23.08.3.tar.xz";
-      sha256 = "13yw8pdvnn3944x6cqxbiwllphyjynan57f215000f4gpvj8ncmc";
-      name = "kblocks-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kblocks-23.08.4.tar.xz";
+      sha256 = "0slpkdkwcffq71l4r5vsd0fh73y90zwxfyp0lm69n99p9ni8gjzq";
+      name = "kblocks-23.08.4.tar.xz";
     };
   };
   kbounce = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kbounce-23.08.3.tar.xz";
-      sha256 = "129724ks0cd5689wihyhds3rb6rai8bp4wajqihn3qidpq7h3dqp";
-      name = "kbounce-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kbounce-23.08.4.tar.xz";
+      sha256 = "0lp4cgjrm80355w4xa15ji91z5dsd55m43fhg8zw5yn6kp2hi2mg";
+      name = "kbounce-23.08.4.tar.xz";
     };
   };
   kbreakout = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kbreakout-23.08.3.tar.xz";
-      sha256 = "1pnkwgxmy02ggxxzx1cxhvvghvz37kwvkw70gd2d98ma143b97xq";
-      name = "kbreakout-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kbreakout-23.08.4.tar.xz";
+      sha256 = "0czgfk93xhy9yhc84x2rdbf54dgyqjlhm71vfi5cs8858nacbwk5";
+      name = "kbreakout-23.08.4.tar.xz";
     };
   };
   kbruch = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kbruch-23.08.3.tar.xz";
-      sha256 = "0pg4q9si6s43dja3nl8fr73cfy568xxbq3d9j4am1bl0jpwlsyjb";
-      name = "kbruch-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kbruch-23.08.4.tar.xz";
+      sha256 = "1rnk6k1rs0nf8470mykas7srwyfpkw71sckgwz1mw9vd4v4mkb2w";
+      name = "kbruch-23.08.4.tar.xz";
     };
   };
   kcachegrind = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcachegrind-23.08.3.tar.xz";
-      sha256 = "0zy2fp31bq0688njpk54dd51vd7fm4ph5x0jdygbr8w9pg7r5vlz";
-      name = "kcachegrind-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcachegrind-23.08.4.tar.xz";
+      sha256 = "011bsb9yxrjmazqs1s6fvzvga4mlhjpdvkifbxblqavwp3ipmwbw";
+      name = "kcachegrind-23.08.4.tar.xz";
     };
   };
   kcalc = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcalc-23.08.3.tar.xz";
-      sha256 = "0f3nq88ifzcw7yjcalcn4xbg12rn11fsddgd8gbaxhqilxf7ggkr";
-      name = "kcalc-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcalc-23.08.4.tar.xz";
+      sha256 = "107q804sn2pvvw0l2wjqwaqiyqnn0cgfxxi5i4nbjvbcm28iwjbr";
+      name = "kcalc-23.08.4.tar.xz";
     };
   };
   kcalutils = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcalutils-23.08.3.tar.xz";
-      sha256 = "1c1ifc11y0a25k2aiczl0mwpnc87y9m2vawwjcshzp04k9yfl88p";
-      name = "kcalutils-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcalutils-23.08.4.tar.xz";
+      sha256 = "17an9cnlcwgi1yqgy7qzw83y4a7jwkzlf0gd976hk90i6yz4krd4";
+      name = "kcalutils-23.08.4.tar.xz";
     };
   };
   kcharselect = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcharselect-23.08.3.tar.xz";
-      sha256 = "02zaq8w4a1sq67jn5swfrsnwh2rjlizkcr4xv1j1jy6cmvl7s9k6";
-      name = "kcharselect-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcharselect-23.08.4.tar.xz";
+      sha256 = "15cdm98cx74smkfdwwg5y1pi8wwaavp2088x5r99p8vhdccr782k";
+      name = "kcharselect-23.08.4.tar.xz";
     };
   };
   kclock = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kclock-23.08.3.tar.xz";
-      sha256 = "0h932w0lfd9aq7n3p2ny375qbnqsa9hk1sq0mz1sgj7csb5y924i";
-      name = "kclock-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kclock-23.08.4.tar.xz";
+      sha256 = "0ifd04hsjr2rsn7vb94p3yvf5znqij3i6w30w2nvykyrds0yrnsl";
+      name = "kclock-23.08.4.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcolorchooser-23.08.3.tar.xz";
-      sha256 = "07zv0vvwdgf68ay07adp0hcgw1y5xasfm5kf82rr0khiqwmm2qal";
-      name = "kcolorchooser-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcolorchooser-23.08.4.tar.xz";
+      sha256 = "135289j58pw2gh0vf3sjq4fz38jw9l4n4h7dqn7jm5ibc36f3iqg";
+      name = "kcolorchooser-23.08.4.tar.xz";
     };
   };
   kcron = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kcron-23.08.3.tar.xz";
-      sha256 = "1vbyp2g6p5bgzwbp72aa9zsdwnhr2r4jvpa626j31hh58hxdj0c3";
-      name = "kcron-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kcron-23.08.4.tar.xz";
+      sha256 = "06w518p82sclwychrzk9y0xmx1ir87yf9irqvvqq62bm479dq92k";
+      name = "kcron-23.08.4.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kde-dev-scripts-23.08.3.tar.xz";
-      sha256 = "0m3f5wyp01128yhni6g5idihhli3zbn0mw60c1wkbr81k0drb71x";
-      name = "kde-dev-scripts-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-scripts-23.08.4.tar.xz";
+      sha256 = "056xymrzb6x7ixj75dcplhr198b0mw78kdfygf9ry0h8ma84gdmb";
+      name = "kde-dev-scripts-23.08.4.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kde-dev-utils-23.08.3.tar.xz";
-      sha256 = "04sfqlf1b7lkpd0d5wifiq253fcl3ba38gnvwyw6jmlgsajaapm4";
-      name = "kde-dev-utils-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-utils-23.08.4.tar.xz";
+      sha256 = "06fzj033lm3jmidkkpywdl2sqymarvy97mhlb5kslsl7g9vkkili";
+      name = "kde-dev-utils-23.08.4.tar.xz";
     };
   };
   kde-inotify-survey = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kde-inotify-survey-23.08.3.tar.xz";
-      sha256 = "1b2hplri9s6h26csf2hyp25gffk1mzz4kaxwq7ssjhwswg251qqc";
-      name = "kde-inotify-survey-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kde-inotify-survey-23.08.4.tar.xz";
+      sha256 = "0ym04p4647y9amjypqv24mvgf6n0xmjm3zix8v0ywzmlxyd2fkjw";
+      name = "kde-inotify-survey-23.08.4.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdebugsettings-23.08.3.tar.xz";
-      sha256 = "1fm4bzgrg501v99hx0plkfvkw13ynlc9k1xsq1mi0dx4kx53rkbi";
-      name = "kdebugsettings-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdebugsettings-23.08.4.tar.xz";
+      sha256 = "1nhi0cq195bmg6hj4x4c59crjnpfkwsazz5wf52gdh2dmn4dxsk0";
+      name = "kdebugsettings-23.08.4.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdeconnect-kde-23.08.3.tar.xz";
-      sha256 = "01i9palhzsa0f2cypwi0ik6lc37p7hx1h1zlz5ly1q70n8amx3xr";
-      name = "kdeconnect-kde-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdeconnect-kde-23.08.4.tar.xz";
+      sha256 = "0wgqg3di4s8n43q6znr7lzphidi3mnghac4rjgjx08fs65da9m8b";
+      name = "kdeconnect-kde-23.08.4.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdeedu-data-23.08.3.tar.xz";
-      sha256 = "0x32hqb6fixk53fv5g29jjq1bk0svv4i9yb51amgscbqf0aircf9";
-      name = "kdeedu-data-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdeedu-data-23.08.4.tar.xz";
+      sha256 = "002b6yvq0f2anr6avpawg8byx78mds0pw550ga5x0dikyp0xwzaj";
+      name = "kdeedu-data-23.08.4.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdegraphics-mobipocket-23.08.3.tar.xz";
-      sha256 = "11vlmkaqypnjsvgvrma22qy5vq5mjcyz71y2glbbdjvmld61s91s";
-      name = "kdegraphics-mobipocket-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-mobipocket-23.08.4.tar.xz";
+      sha256 = "1rqx2y9xfqn32xv4vb7j2pp6i0nc9a64llmbp6jzvazbv7yzlw7q";
+      name = "kdegraphics-mobipocket-23.08.4.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdegraphics-thumbnailers-23.08.3.tar.xz";
-      sha256 = "1h02p2l2z28g2nnfhf57d4xjy185biwp0ym4cwpavx8xxa4sb87m";
-      name = "kdegraphics-thumbnailers-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-thumbnailers-23.08.4.tar.xz";
+      sha256 = "0i8h3whf4hh8ff0rivbkkr8v58y1jzwh4jpwb47vb1d0hlskzvw6";
+      name = "kdegraphics-thumbnailers-23.08.4.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdenetwork-filesharing-23.08.3.tar.xz";
-      sha256 = "1v35g9g3h1j8l012di3fdqk0s4qcbwnlglvcbymbbrph6bsjz9m2";
-      name = "kdenetwork-filesharing-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdenetwork-filesharing-23.08.4.tar.xz";
+      sha256 = "1v2zvn228jc3s6rf362zbbrxilxqkjvvnjw1y5yhdnk9c3l5nglj";
+      name = "kdenetwork-filesharing-23.08.4.tar.xz";
     };
   };
   kdenlive = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdenlive-23.08.3.tar.xz";
-      sha256 = "13rfbj01xdiskwld1liys5y0har2wnxqxfb2wglm0bafcsjciv47";
-      name = "kdenlive-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdenlive-23.08.4.tar.xz";
+      sha256 = "04yk092z6hwblfn8y61ny72pxb7czd20lw2jmvrs05lf1l4i3ik5";
+      name = "kdenlive-23.08.4.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdepim-addons-23.08.3.tar.xz";
-      sha256 = "1pa091c978ram37p7a5kzmcv5b6mw9il7kz12hzad10sj6vkx106";
-      name = "kdepim-addons-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-addons-23.08.4.tar.xz";
+      sha256 = "1qxbz97gpn6gwqq40bxx6w75bd0slaah0wvf8mrir3x1b1h5kvrv";
+      name = "kdepim-addons-23.08.4.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdepim-runtime-23.08.3.tar.xz";
-      sha256 = "06vbachvqa92idzxpcxj3z943089iqq6db5w90nwfda5bg1v734r";
-      name = "kdepim-runtime-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-runtime-23.08.4.tar.xz";
+      sha256 = "188xgj7g5i76h6d6n8zw3qn965rm64aa8wiza92bq2hxihgj3hn2";
+      name = "kdepim-runtime-23.08.4.tar.xz";
     };
   };
   kdesdk-kio = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdesdk-kio-23.08.3.tar.xz";
-      sha256 = "1895jc0kbgiysbbkjjwqx94h7xy30basybl362b72nmx1irydhw0";
-      name = "kdesdk-kio-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-kio-23.08.4.tar.xz";
+      sha256 = "1vz44a7261a538qhpn7ria56wa3zabbxgb33dqpzxapmsgnm0q01";
+      name = "kdesdk-kio-23.08.4.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdesdk-thumbnailers-23.08.3.tar.xz";
-      sha256 = "09hd7xi2sw7mhc41k845igvpncfkq7rabbr92gh33fx3fi2bq0k5";
-      name = "kdesdk-thumbnailers-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-thumbnailers-23.08.4.tar.xz";
+      sha256 = "0ibbfy5l1d5iv8m6sjwbw2f9s0kvzrvbi6k2j3gcf2a41y5hay3a";
+      name = "kdesdk-thumbnailers-23.08.4.tar.xz";
     };
   };
   kdev-php = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdev-php-23.08.3.tar.xz";
-      sha256 = "1vxafw6i3yp9dcccv447b1yjhm3wssyysbx99c4564j6q43bizvr";
-      name = "kdev-php-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdev-php-23.08.4.tar.xz";
+      sha256 = "1l0g6jx3iz6k8vmjziazm4h21myi3qb80nflaydddcrd6bzrgh10";
+      name = "kdev-php-23.08.4.tar.xz";
     };
   };
   kdev-python = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdev-python-23.08.3.tar.xz";
-      sha256 = "1n2vcw01mfmvjxswp9j9qj5w9sxlmshpmjp28dscnksqlmgvyk8c";
-      name = "kdev-python-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdev-python-23.08.4.tar.xz";
+      sha256 = "14xj96yv24qdsyz9cdiy1b14wp8w72iayyvqyp0w050p4i6cjvm3";
+      name = "kdev-python-23.08.4.tar.xz";
     };
   };
   kdevelop = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdevelop-23.08.3.tar.xz";
-      sha256 = "1zimkfvpipkc6py6zxrxvdnznjm29s9qwkskk2x6nckrj0zikk0r";
-      name = "kdevelop-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdevelop-23.08.4.tar.xz";
+      sha256 = "1w3s6ncrbldsfm0ca6cryxf0d53d87k4iifcahq12acgrqmjpl4i";
+      name = "kdevelop-23.08.4.tar.xz";
     };
   };
   kdf = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdf-23.08.3.tar.xz";
-      sha256 = "118fcs26qdjm08r2qz86gx5kwgqfgn07f3j6b30hrfvfrxsyi63b";
-      name = "kdf-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdf-23.08.4.tar.xz";
+      sha256 = "038ckjiikiy23gihxnznxlaf8wmni83hi9q2i4dms4956776rlfi";
+      name = "kdf-23.08.4.tar.xz";
     };
   };
   kdialog = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdialog-23.08.3.tar.xz";
-      sha256 = "0nm8zx44y0g6hc101lfbybdilhvblpx8v9hz8qb1mixac9mg69fz";
-      name = "kdialog-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdialog-23.08.4.tar.xz";
+      sha256 = "0y6dchl3nv183hlkmwkmj654mhm3dvad3mkq8d2622jl73w9byld";
+      name = "kdialog-23.08.4.tar.xz";
     };
   };
   kdiamond = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kdiamond-23.08.3.tar.xz";
-      sha256 = "13z4p5qasqvj9fbif40lxva8nl1z9ccy4wgrk9z429h4gz14gms0";
-      name = "kdiamond-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kdiamond-23.08.4.tar.xz";
+      sha256 = "02ws8wr7adwcm3rl70zchl3kgc5jgr6j5wz07hswdwwl2nl2pd69";
+      name = "kdiamond-23.08.4.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/keditbookmarks-23.08.3.tar.xz";
-      sha256 = "16ff8sh9dbrwpnciny75n5a9zy4mzb7k0r6q1di0qyc7fsbsx5xh";
-      name = "keditbookmarks-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/keditbookmarks-23.08.4.tar.xz";
+      sha256 = "14xzjlyaqvg6qkjmw4d6540f5xawkd7sjxrvfa5bas623c1888ks";
+      name = "keditbookmarks-23.08.4.tar.xz";
     };
   };
   keysmith = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/keysmith-23.08.3.tar.xz";
-      sha256 = "0bc9ywphfcg526izx9g39wwfs9kqp78xw7asngdmnb9mlpyiqc6d";
-      name = "keysmith-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/keysmith-23.08.4.tar.xz";
+      sha256 = "11fm64h7pzsm63hw3cji033m9xk2hcnc0d74rzyvpn1ql3whn43n";
+      name = "keysmith-23.08.4.tar.xz";
     };
   };
   kfind = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kfind-23.08.3.tar.xz";
-      sha256 = "1rs50199j1xgzd6nr48hn4f254avv2jajkg6yldcpigjb6y62bpa";
-      name = "kfind-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kfind-23.08.4.tar.xz";
+      sha256 = "1psf1lwbnpnqp8snm4880awnxapv27b42nax6b8nxzf7mb5lqlkh";
+      name = "kfind-23.08.4.tar.xz";
     };
   };
   kfourinline = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kfourinline-23.08.3.tar.xz";
-      sha256 = "1n9svckg4x463rliby8amyrhrihl55p1h4kk5lkn7hfa58irs59n";
-      name = "kfourinline-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kfourinline-23.08.4.tar.xz";
+      sha256 = "0g5hml3jzz7p1jacxqqb2llvhv5p2g4j9wdvrplxf8cycwwd941n";
+      name = "kfourinline-23.08.4.tar.xz";
     };
   };
   kgeography = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kgeography-23.08.3.tar.xz";
-      sha256 = "18q7jc76g279hcdqy0bsiwq0wpssr545m31spnji3v3cfyg21w2g";
-      name = "kgeography-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kgeography-23.08.4.tar.xz";
+      sha256 = "06nvqn9mrpk1i14xwh9qv6g22hs2s64ip7lxjms4j3js304606wg";
+      name = "kgeography-23.08.4.tar.xz";
     };
   };
   kget = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kget-23.08.3.tar.xz";
-      sha256 = "1cdb3w6941c6agasjzmk58lgviks2phk9w321p1yw2g6v4prb81g";
-      name = "kget-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kget-23.08.4.tar.xz";
+      sha256 = "0gmkizhgi2fwvvkycpcvj46ws3w5hgsz5ajy58857y1nam23293r";
+      name = "kget-23.08.4.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kgoldrunner-23.08.3.tar.xz";
-      sha256 = "1ivx443a807rbbl179pid04am1s3qcmdrkf90pgpf1y85mf52gw4";
-      name = "kgoldrunner-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kgoldrunner-23.08.4.tar.xz";
+      sha256 = "02nslz7fz4d6d8gg4qb2flsciirqq0yxfgc0rp8r677gv2nfarmk";
+      name = "kgoldrunner-23.08.4.tar.xz";
     };
   };
   kgpg = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kgpg-23.08.3.tar.xz";
-      sha256 = "0fn44ikpj1f1cniivq3k32248pmcf7ir54dpwzlfa0xn9cgr5b6r";
-      name = "kgpg-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kgpg-23.08.4.tar.xz";
+      sha256 = "12x2vyn63agqryjzk9dm9jdgxiaw685nv86ysbmmnf621qcvl13m";
+      name = "kgpg-23.08.4.tar.xz";
     };
   };
   khangman = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/khangman-23.08.3.tar.xz";
-      sha256 = "0cj46h6px8i1s1qianc7ypa0xzchv9dbv88c85igl7jaw3l8vyiz";
-      name = "khangman-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/khangman-23.08.4.tar.xz";
+      sha256 = "1jj2ahaw9i5xv8jkqd8s9vrxnaz5aamq86ryq43jssrppm11r88x";
+      name = "khangman-23.08.4.tar.xz";
     };
   };
   khelpcenter = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/khelpcenter-23.08.3.tar.xz";
-      sha256 = "0ppsif19kchz8k2ww2nc1wqqri6zq93cg36j6iydg61qiilf4grv";
-      name = "khelpcenter-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/khelpcenter-23.08.4.tar.xz";
+      sha256 = "0j7dlnc5yn0bjvcc5811chy74rdkj1431lrl1czmyb1xl66bp52i";
+      name = "khelpcenter-23.08.4.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kidentitymanagement-23.08.3.tar.xz";
-      sha256 = "1pfvmbij90v626spb123hdgxzdpvx1r64pkx540g40fp5nw86d3z";
-      name = "kidentitymanagement-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kidentitymanagement-23.08.4.tar.xz";
+      sha256 = "16z86wi9n7l4ly4l3l0yzirqyrsqz1fngmad0cjcfhjkd29ncwwj";
+      name = "kidentitymanagement-23.08.4.tar.xz";
     };
   };
   kig = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kig-23.08.3.tar.xz";
-      sha256 = "09lfcxs4qnj36vcm7flvf8ay7cgmbs5nwq1ranzk7n82gs6f96n9";
-      name = "kig-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kig-23.08.4.tar.xz";
+      sha256 = "1bykhflf9xr408c9z7g76q5kczi4ara7wbv4hy6abwmn4qsaw52k";
+      name = "kig-23.08.4.tar.xz";
     };
   };
   kigo = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kigo-23.08.3.tar.xz";
-      sha256 = "1asplm2rdppqkl6l1j9d97k081c2j7zlckbk0j4wkkyqgh2pgf00";
-      name = "kigo-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kigo-23.08.4.tar.xz";
+      sha256 = "1clb12pjlsqb2l4n7zp292gv7nd8bh543x75cz41d2l6zv59jlnd";
+      name = "kigo-23.08.4.tar.xz";
     };
   };
   killbots = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/killbots-23.08.3.tar.xz";
-      sha256 = "0v2zblvcv1r1by33icp4lakzjx4f87d2pcaxh99nvv3frq6y7ic9";
-      name = "killbots-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/killbots-23.08.4.tar.xz";
+      sha256 = "1crcv5pr2avadrzv4vh9gls0gwflqvz8w2cjan7hb2xfnszphhp4";
+      name = "killbots-23.08.4.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kimagemapeditor-23.08.3.tar.xz";
-      sha256 = "138dd5h1664akiwd0svsayyymjsg3brchwhvdyrfig9xx878s43p";
-      name = "kimagemapeditor-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kimagemapeditor-23.08.4.tar.xz";
+      sha256 = "1c3yclj7rrvkc3pis06h00i9cwll9grqvadrdfixmzfcdg7glf1w";
+      name = "kimagemapeditor-23.08.4.tar.xz";
     };
   };
   kimap = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kimap-23.08.3.tar.xz";
-      sha256 = "1wym8sppd89sncm2f40zaxrzhmipq49g4vm5zw97cixkln0xlw0l";
-      name = "kimap-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kimap-23.08.4.tar.xz";
+      sha256 = "036liwpz7yzl192lbkhmasi5irw5884vrhj7qnnp6ihmh400b8as";
+      name = "kimap-23.08.4.tar.xz";
     };
   };
   kio-admin = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kio-admin-23.08.3.tar.xz";
-      sha256 = "1a3r00sx1hvgbapd0m4v122cc24bkh2yxmnshdl73fm6sqdk1c6i";
-      name = "kio-admin-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kio-admin-23.08.4.tar.xz";
+      sha256 = "1xlr94p6yh65v8spdp80hrjbw74iazzpwvxz94sizfv7vl64i3q5";
+      name = "kio-admin-23.08.4.tar.xz";
     };
   };
   kio-extras = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kio-extras-23.08.3.tar.xz";
-      sha256 = "1nnnv14105rvgqa5ad8b4nnafhy7cq7bpk5jqbf63jb87074sih6";
-      name = "kio-extras-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kio-extras-23.08.4.tar.xz";
+      sha256 = "0qfd92di1z59i8258640vsgrikkij73bjdxkfpp495cyrlhvr37n";
+      name = "kio-extras-23.08.4.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kio-gdrive-23.08.3.tar.xz";
-      sha256 = "1pwd6lpa5vvbar2mz94xhwhwlds4hm0l6f8lx4y79h6d3wv50mhm";
-      name = "kio-gdrive-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kio-gdrive-23.08.4.tar.xz";
+      sha256 = "17ihwp04ips0gyvvwyhkwilad47c2qxkik5bsi6gxafh8f0jb0d8";
+      name = "kio-gdrive-23.08.4.tar.xz";
     };
   };
   kio-zeroconf = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kio-zeroconf-23.08.3.tar.xz";
-      sha256 = "0f87k0v04p7pjv325qw425vs9vwfm1mmjljbcjq67afh666p8zdm";
-      name = "kio-zeroconf-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kio-zeroconf-23.08.4.tar.xz";
+      sha256 = "1p2h6v9ymcdc0szb0cy35c6jwp71arr4h8b8mr5hdwgyrg0zrfa9";
+      name = "kio-zeroconf-23.08.4.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kipi-plugins-23.08.3.tar.xz";
-      sha256 = "1d5kh2iqvms8kfls0hjpp55pyll5qvzn3bxggy4ihjba12kwrq1c";
-      name = "kipi-plugins-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kipi-plugins-23.08.4.tar.xz";
+      sha256 = "12mzclfmi4vj5rl39dmj6qqp1g3008kpn1vr8f0qsyphjpr82syv";
+      name = "kipi-plugins-23.08.4.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kirigami-gallery-23.08.3.tar.xz";
-      sha256 = "0br35c5v4mz8nbqrqd0pagdr2gv88p0qh11ansadgkalwmgs283f";
-      name = "kirigami-gallery-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kirigami-gallery-23.08.4.tar.xz";
+      sha256 = "0fxw9c0543qxqsaibkxjmhsgvyhny6yy5krbfk73fs6a7klvbqma";
+      name = "kirigami-gallery-23.08.4.tar.xz";
     };
   };
   kiriki = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kiriki-23.08.3.tar.xz";
-      sha256 = "1af6a6cghdak9wwx518q8wqyi8bylisy3gdlqfg2n5k1vq9ma1nr";
-      name = "kiriki-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kiriki-23.08.4.tar.xz";
+      sha256 = "1rh4ypql69rgwj7cn166qgr5irp8mdm7757r08gi065kz0lxhfgw";
+      name = "kiriki-23.08.4.tar.xz";
     };
   };
   kiten = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kiten-23.08.3.tar.xz";
-      sha256 = "0ysrh6437sd5zqj76j6a1nz3q8cwqx4nqqijwnc75jdqd5w3aii7";
-      name = "kiten-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kiten-23.08.4.tar.xz";
+      sha256 = "142rmapzybmzqmnx6j4j8vgxmzs8y00rp18ax7s8kfs7gn03ad39";
+      name = "kiten-23.08.4.tar.xz";
     };
   };
   kitinerary = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kitinerary-23.08.3.tar.xz";
-      sha256 = "164xixh9lxp9kyx08pf2p2qbdl28800x7hvvnvkmy79bvsqvpr7l";
-      name = "kitinerary-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kitinerary-23.08.4.tar.xz";
+      sha256 = "090q9mlf7i8ydi458gvbgvmxm77ys97az7lknl16pz4gfmf0ld71";
+      name = "kitinerary-23.08.4.tar.xz";
     };
   };
   kjournald = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kjournald-23.08.3.tar.xz";
-      sha256 = "0xz903wfi85g338advs46sn7fpdrcmy731gqp4dhpcrly8amvbzi";
-      name = "kjournald-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kjournald-23.08.4.tar.xz";
+      sha256 = "0b1gv5yypkk3vhgvw2g4clk8mipz3bv5pdnqidzjwhl5z2lisgzl";
+      name = "kjournald-23.08.4.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kjumpingcube-23.08.3.tar.xz";
-      sha256 = "19k3wah2x4y3z950y70i9vkqwnlrnsdj71rrz8yxv29i0c4kdywd";
-      name = "kjumpingcube-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kjumpingcube-23.08.4.tar.xz";
+      sha256 = "17km7y89b637f7r9g90a684fsc4lsdnwqm7m3w6qy89h3r74kd2x";
+      name = "kjumpingcube-23.08.4.tar.xz";
     };
   };
   kldap = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kldap-23.08.3.tar.xz";
-      sha256 = "1xz1fjvlal6y1ciakzsgqkivsi092rj6xvbmgp3pp4h7f2pwhnz5";
-      name = "kldap-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kldap-23.08.4.tar.xz";
+      sha256 = "0gh5sg11qcg40wns7i3g7bwwdkmqzb1kqrfrgdg08j7vqjwhwj30";
+      name = "kldap-23.08.4.tar.xz";
     };
   };
   kleopatra = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kleopatra-23.08.3.tar.xz";
-      sha256 = "0ga3hs89g5dd6kf6xdfnr9srswf1dzis2dfm8jkah7czfmcfns28";
-      name = "kleopatra-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kleopatra-23.08.4.tar.xz";
+      sha256 = "0mwicqry4h3q2bq138flxag5x5l8qpwlbg97jifjc32yqlxpg3jm";
+      name = "kleopatra-23.08.4.tar.xz";
     };
   };
   klettres = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/klettres-23.08.3.tar.xz";
-      sha256 = "1vvs8a0npf9dy5778jjyvbg0jpbgjz1ysf3ckg9v8n5qr211v1cp";
-      name = "klettres-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/klettres-23.08.4.tar.xz";
+      sha256 = "16304hdzz78nyqqpcq3sf4f6wlk26imffag17cap3fs9l0qpq5pn";
+      name = "klettres-23.08.4.tar.xz";
     };
   };
   klickety = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/klickety-23.08.3.tar.xz";
-      sha256 = "0kwaiab8cm1azc34l50gw0kjm2zx8j4pjqyi58829xrvvh3rf8lq";
-      name = "klickety-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/klickety-23.08.4.tar.xz";
+      sha256 = "0vhf069mlv6xkdzyj4dp251k0rinslaai6kkm7kjim0dal7ykk37";
+      name = "klickety-23.08.4.tar.xz";
     };
   };
   klines = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/klines-23.08.3.tar.xz";
-      sha256 = "1qaw6rrd1az91sk3siij9a6fhcgl1y42m5v39497468y5iabc92j";
-      name = "klines-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/klines-23.08.4.tar.xz";
+      sha256 = "0f2a8vgnpg2mf9hc4gbz4ld5lw5jwbw1vyais6c9djykp552rjx9";
+      name = "klines-23.08.4.tar.xz";
     };
   };
   kmag = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmag-23.08.3.tar.xz";
-      sha256 = "0s978ixr19cd9jkd2j47c8ppb6j22w3wjyyvn5h5n09shr2sw2fx";
-      name = "kmag-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmag-23.08.4.tar.xz";
+      sha256 = "12djnbl0l9z2vilndchx4z4mznrkwqvjdlgdj2gynj2wa08flprd";
+      name = "kmag-23.08.4.tar.xz";
     };
   };
   kmahjongg = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmahjongg-23.08.3.tar.xz";
-      sha256 = "1di8nib9k7f2d3afbbp12qmk377fah4b0vqwmj8i0ahhw7a1ydgs";
-      name = "kmahjongg-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmahjongg-23.08.4.tar.xz";
+      sha256 = "17gnl34x5dq8lqws19m2cqf7k3sc8hs3290pnjmnxcgb29fy0mv0";
+      name = "kmahjongg-23.08.4.tar.xz";
     };
   };
   kmail = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmail-23.08.3.tar.xz";
-      sha256 = "01vjh1icad7ymcm2nqwss4b61a09mw7f6gzwqyzyc1x6f38908hv";
-      name = "kmail-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmail-23.08.4.tar.xz";
+      sha256 = "10p5diprnhmgji4k9vm4bfhvjllah75j728cljvacdbmcqw879jv";
+      name = "kmail-23.08.4.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmail-account-wizard-23.08.3.tar.xz";
-      sha256 = "193f700lk0j5ci5x8y10d5lnd30lk4p4idyspznskqfs6sranshq";
-      name = "kmail-account-wizard-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmail-account-wizard-23.08.4.tar.xz";
+      sha256 = "05n1c0piblrr3032hpy4zcqw3kkp4shy08qbq3rw1kdzaibmc86a";
+      name = "kmail-account-wizard-23.08.4.tar.xz";
     };
   };
   kmailtransport = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmailtransport-23.08.3.tar.xz";
-      sha256 = "18a8i2cffqdwgb7bvyayzrfp8l9zhhl3z0728bn51drw53c2pprp";
-      name = "kmailtransport-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmailtransport-23.08.4.tar.xz";
+      sha256 = "18kkm56q336hh0j0lfnk871bzjsjfii0r69v9b6gsh1nni2lygks";
+      name = "kmailtransport-23.08.4.tar.xz";
     };
   };
   kmbox = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmbox-23.08.3.tar.xz";
-      sha256 = "1884av5dxz6d59z9abdbji9w7yyl02r51lrarna85iwy2pxpiq4j";
-      name = "kmbox-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmbox-23.08.4.tar.xz";
+      sha256 = "1n9243aw9wvg1zr89djk98k14pik1h0z182jksb8mw8vv7xqqafm";
+      name = "kmbox-23.08.4.tar.xz";
     };
   };
   kmime = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmime-23.08.3.tar.xz";
-      sha256 = "1c9kkw1cmzlkmzg93pj0v3h4wd9gkna4xhi24774pwsxi06chl8s";
-      name = "kmime-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmime-23.08.4.tar.xz";
+      sha256 = "04qgr8lws48m56lffbdqxkas7p97jm9scq2ccdksrq05dh6jl5hd";
+      name = "kmime-23.08.4.tar.xz";
     };
   };
   kmines = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmines-23.08.3.tar.xz";
-      sha256 = "0g1r2cx50fy0p5p7v7yydq9sn1kj4ahidqv3dfwwcy5lssgs6q6j";
-      name = "kmines-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmines-23.08.4.tar.xz";
+      sha256 = "0wym7v9cmd4y2z3i7rqwvvpcm1hdkwi8rqwzhqcmh5i3xk3j5pmv";
+      name = "kmines-23.08.4.tar.xz";
     };
   };
   kmix = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmix-23.08.3.tar.xz";
-      sha256 = "0ddcb0gmjsw3k5by8i3b23c4gb8933blpqx74vx4b9crbv364x3m";
-      name = "kmix-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmix-23.08.4.tar.xz";
+      sha256 = "0i2ywcipcprxmi23f501jjzic00nri0ss20dfcicgf0bpc8ybh71";
+      name = "kmix-23.08.4.tar.xz";
     };
   };
   kmousetool = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmousetool-23.08.3.tar.xz";
-      sha256 = "05xq14sc3n07kyq4nys0270pc1nxjvd7v2jxrfna621kdr8mvv7n";
-      name = "kmousetool-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmousetool-23.08.4.tar.xz";
+      sha256 = "12i73smzx3kjj75hza424cr5nnq80xvgfv2kwmf32a3k9436jx15";
+      name = "kmousetool-23.08.4.tar.xz";
     };
   };
   kmouth = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmouth-23.08.3.tar.xz";
-      sha256 = "0fqmrccd0pfn8pjfnaq5pk1xzns4v6y2vkfvv07lkpdnzj0mx7s1";
-      name = "kmouth-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmouth-23.08.4.tar.xz";
+      sha256 = "08f1yb7m3c3pyp6glwwg9lya3a6j30wvxga2j2ik9hwfs9jx5x9j";
+      name = "kmouth-23.08.4.tar.xz";
     };
   };
   kmplot = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kmplot-23.08.3.tar.xz";
-      sha256 = "1sjw598jncfbmpscq71fh4l8w932d1p77jkqp70d32az36xrnns5";
-      name = "kmplot-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kmplot-23.08.4.tar.xz";
+      sha256 = "1zmxaahpj6k5fk5fzrxqzrkki080mkxgz2a73ajsfjs387qvxg92";
+      name = "kmplot-23.08.4.tar.xz";
     };
   };
   knavalbattle = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/knavalbattle-23.08.3.tar.xz";
-      sha256 = "1mjk27k9h9i2sb2li97hnzjirgji1z7kv7al5c7m5r4j8jz6jzyy";
-      name = "knavalbattle-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/knavalbattle-23.08.4.tar.xz";
+      sha256 = "106hjf4ji4c9gvly916dbslvpxgc04qwp403srknqgrbx8ixsacg";
+      name = "knavalbattle-23.08.4.tar.xz";
     };
   };
   knetwalk = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/knetwalk-23.08.3.tar.xz";
-      sha256 = "1mg9hjvrqj8ksp79hkw3rpx16swmr8l2xxkmsx3vczdk2hi46gbr";
-      name = "knetwalk-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/knetwalk-23.08.4.tar.xz";
+      sha256 = "1vk1z9jk77qn8abckdj3mv3a4xyaz9r44b5hxzsf79870p4ss2ix";
+      name = "knetwalk-23.08.4.tar.xz";
     };
   };
   knights = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/knights-23.08.3.tar.xz";
-      sha256 = "0yjigwqyzj3ph56zvlddfjmiwzssrq9lar6ipzga5k2anwdfgv6j";
-      name = "knights-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/knights-23.08.4.tar.xz";
+      sha256 = "08flarcc72hrv59ahiwh6c9cfyrjr1lhk42xv0arnvf87w0a6dr9";
+      name = "knights-23.08.4.tar.xz";
     };
   };
   knotes = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/knotes-23.08.3.tar.xz";
-      sha256 = "1d24j7qyizvppzmrz25w08gghx37cdrsmb4gzy3vsvamx9r8cjda";
-      name = "knotes-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/knotes-23.08.4.tar.xz";
+      sha256 = "1xm9sjm0kqsyj8ah3mhb66hb80icfs45byz0lvbw7idridv22bpd";
+      name = "knotes-23.08.4.tar.xz";
     };
   };
   koko = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/koko-23.08.3.tar.xz";
-      sha256 = "0lk1ik63rbdh7dj4g3y6m6ck44gc1rx526zn94cjm6ii7g7xlvfy";
-      name = "koko-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/koko-23.08.4.tar.xz";
+      sha256 = "12inpjdbf4xa569wb4rc0qckkm6g2wy3ggls2wdf2pr3k36yhx9m";
+      name = "koko-23.08.4.tar.xz";
     };
   };
   kolf = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kolf-23.08.3.tar.xz";
-      sha256 = "16sig7wi0pg421fpbqygjacsaslvailxd4fvmwph2356lz8w059j";
-      name = "kolf-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kolf-23.08.4.tar.xz";
+      sha256 = "0mxs7vif7zwgbmrm3h20km9pf2cl129zbc4fvxzkwvksa982b92w";
+      name = "kolf-23.08.4.tar.xz";
     };
   };
   kollision = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kollision-23.08.3.tar.xz";
-      sha256 = "00cm9x81l9qwb0nq7c3mpyxc3pgn3hgrbcrwg38na1plm1ykbrfx";
-      name = "kollision-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kollision-23.08.4.tar.xz";
+      sha256 = "1ywl689cr0673xs5aflg689k5n9rnmgp0ggwmv56czrm8fkp015a";
+      name = "kollision-23.08.4.tar.xz";
     };
   };
   kolourpaint = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kolourpaint-23.08.3.tar.xz";
-      sha256 = "0mhj64r2hz7pqnii9gs5psmq0drjgqkj4v49kzapx7za54c5lgzg";
-      name = "kolourpaint-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kolourpaint-23.08.4.tar.xz";
+      sha256 = "1rpq355q2ghhxx3hvqqygr92vwlrm5vcpgvl422xr456ljn7jarc";
+      name = "kolourpaint-23.08.4.tar.xz";
     };
   };
   kompare = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kompare-23.08.3.tar.xz";
-      sha256 = "1gcwm0c5yd20k1hxds0qjvmz27f380g42ia85b291w05q28ryip8";
-      name = "kompare-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kompare-23.08.4.tar.xz";
+      sha256 = "14rwav520s95zf83jaa1xqbskaj74pqx7di8i5f36fw0ap5llgvr";
+      name = "kompare-23.08.4.tar.xz";
     };
   };
   kongress = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kongress-23.08.3.tar.xz";
-      sha256 = "1956nirp276qmwnc60q7z482as3dhmzifw38shys651fpwl3k1yg";
-      name = "kongress-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kongress-23.08.4.tar.xz";
+      sha256 = "03qn8cqnsm6267p5yk86z22k6j2mwdnf31v93v6x496yfmhg89xa";
+      name = "kongress-23.08.4.tar.xz";
     };
   };
   konqueror = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/konqueror-23.08.3.tar.xz";
-      sha256 = "0ay4nsx3xybjmvl3r5ivmyxhx97krjz09a9pih4wdf822x79044j";
-      name = "konqueror-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/konqueror-23.08.4.tar.xz";
+      sha256 = "1bz6v320kwv9sz86zv1icqi6la4pml79mq0hya43x0i709nqdrli";
+      name = "konqueror-23.08.4.tar.xz";
     };
   };
   konquest = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/konquest-23.08.3.tar.xz";
-      sha256 = "0pndf3qrvrifd0qf3viy01vw94dniwrrggw5h397dhy3hq47ibny";
-      name = "konquest-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/konquest-23.08.4.tar.xz";
+      sha256 = "08wal5q84nbdlnb7f850bkfypk09dbw467416038p340fnjyvxzq";
+      name = "konquest-23.08.4.tar.xz";
     };
   };
   konsole = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/konsole-23.08.3.tar.xz";
-      sha256 = "08skv0c1390v792s0zw2w6xl3jpm3qyzjd3g1mcnim0zmlq38372";
-      name = "konsole-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/konsole-23.08.4.tar.xz";
+      sha256 = "1dwg4x8xmzy5kh4szzl814hgjpvn4vi6pwfz1abmnqa9qz85n2vc";
+      name = "konsole-23.08.4.tar.xz";
     };
   };
   kontact = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kontact-23.08.3.tar.xz";
-      sha256 = "16h9z3bss4k9pg178ar34vpakcqxz9w3zclgajd55wf13jk3xk92";
-      name = "kontact-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kontact-23.08.4.tar.xz";
+      sha256 = "12bk6rr1lj3b036l341lh5na2cw6r6khd4dq220pyrf1i75fnizp";
+      name = "kontact-23.08.4.tar.xz";
     };
   };
   kontactinterface = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kontactinterface-23.08.3.tar.xz";
-      sha256 = "0yqpjn7fdg2hcjffff6j9nnilm9phfnral3kwqwfp5y565qiq8gl";
-      name = "kontactinterface-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kontactinterface-23.08.4.tar.xz";
+      sha256 = "0ar57i4cdmpqsqsgnpavs3rs4hfj39wnddacvxpcj33ifzq40dln";
+      name = "kontactinterface-23.08.4.tar.xz";
     };
   };
   kontrast = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kontrast-23.08.3.tar.xz";
-      sha256 = "1n6shhfbdxz77m2s0bml2br94g98fb71rwm8znj5dcrcq021w06q";
-      name = "kontrast-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kontrast-23.08.4.tar.xz";
+      sha256 = "1c4z9kh38njvb06i47gfyz85hai7kcvfrrz1ab6ipnx73ci2j7fp";
+      name = "kontrast-23.08.4.tar.xz";
     };
   };
   konversation = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/konversation-23.08.3.tar.xz";
-      sha256 = "1w48wcl395bg9hmpl2i4yx4r3y4jhcxwi7pzh0hrs15rblmqjsgx";
-      name = "konversation-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/konversation-23.08.4.tar.xz";
+      sha256 = "1wl7rnipv7spnlkcz5fcc272m5h8q9q0s56ln04wdybvqnwmvk2g";
+      name = "konversation-23.08.4.tar.xz";
     };
   };
   kopeninghours = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kopeninghours-23.08.3.tar.xz";
-      sha256 = "0qz57nfb84y49fbcjx9m57qcbg02pdxzskvldim2dv2rc9ppl2kf";
-      name = "kopeninghours-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kopeninghours-23.08.4.tar.xz";
+      sha256 = "0w6nflzhhasdm2sbgx8nlqp95y1yklwrpvm5q6njivxwfi68abwg";
+      name = "kopeninghours-23.08.4.tar.xz";
     };
   };
   kopete = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kopete-23.08.3.tar.xz";
-      sha256 = "10dx8if755y9chrsqf257854aq35rs4hcxb9zfmzm0cazfxj03jc";
-      name = "kopete-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kopete-23.08.4.tar.xz";
+      sha256 = "0lp58zribmp6iaia97m6a2p8bizxy1wan7f9k968gpg8ykpv7vhx";
+      name = "kopete-23.08.4.tar.xz";
     };
   };
   korganizer = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/korganizer-23.08.3.tar.xz";
-      sha256 = "0v16q90lj1kc8xdc9dg6cmp510zvxr64n0r67qllqdiim0vja6fj";
-      name = "korganizer-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/korganizer-23.08.4.tar.xz";
+      sha256 = "10rbrdv55cjac5hv94k0dp82dnd0176ykw1df4lnzccmk047kxsk";
+      name = "korganizer-23.08.4.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kosmindoormap-23.08.3.tar.xz";
-      sha256 = "1s281a1i0fjknd52ip3q1s96hfvawmzkxvkca1s8vhgv42za18bq";
-      name = "kosmindoormap-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kosmindoormap-23.08.4.tar.xz";
+      sha256 = "1w7wa0ma8gnyawiaidcwa5hm5zx9pd8vfh18srwb2f1dffx0hzic";
+      name = "kosmindoormap-23.08.4.tar.xz";
     };
   };
   kpat = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kpat-23.08.3.tar.xz";
-      sha256 = "1i6fcpqza9pdpfnalq4ijn8raz43fm8sg9881wnp8684yy7qszq5";
-      name = "kpat-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kpat-23.08.4.tar.xz";
+      sha256 = "0r7krvl4cm1vzaprm5vzyw8wx04idqssv6p606avsvp39jcv4g24";
+      name = "kpat-23.08.4.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kpimtextedit-23.08.3.tar.xz";
-      sha256 = "1yq4cahv72n7rzgmza59w78k1fcfhcr1364ag9gr33qbrm7p45iw";
-      name = "kpimtextedit-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kpimtextedit-23.08.4.tar.xz";
+      sha256 = "1r8df5qyhq8r30i2p55q8wsm1znnvmzif06axzazxhl2x0n94mfs";
+      name = "kpimtextedit-23.08.4.tar.xz";
     };
   };
   kpkpass = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kpkpass-23.08.3.tar.xz";
-      sha256 = "1sppnafk9hyqrk5cgdybwprcnvhv29hvajiisrmggc3gai1sb87x";
-      name = "kpkpass-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kpkpass-23.08.4.tar.xz";
+      sha256 = "17wsgmanim8ab8hya3vihwwry4s6zl6s24mqplhax79jng9lcp52";
+      name = "kpkpass-23.08.4.tar.xz";
     };
   };
   kpmcore = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kpmcore-23.08.3.tar.xz";
-      sha256 = "14v3dbgmrprygmjbdc62bvqc6hnki9nn29jwbxzqfb5jlfwq9ar8";
-      name = "kpmcore-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kpmcore-23.08.4.tar.xz";
+      sha256 = "0kmnvwilvc3nysi9dywkfkdxxh5fynxm29knxahw1a9xgr4dha6i";
+      name = "kpmcore-23.08.4.tar.xz";
     };
   };
   kpublictransport = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kpublictransport-23.08.3.tar.xz";
-      sha256 = "1ywk9fz5vzq93mq68jzjkn7khmdyydr1qdi67yn7lrm1wp43n0z7";
-      name = "kpublictransport-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kpublictransport-23.08.4.tar.xz";
+      sha256 = "178l4skgx44zilpggrlcmn3v8a8bqs9f0j6qmkx4mrif52lvy8w1";
+      name = "kpublictransport-23.08.4.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kqtquickcharts-23.08.3.tar.xz";
-      sha256 = "1b7g83h2dw716384cqz4njah7grpx0h33rrxn2zmhk426qy4sks3";
-      name = "kqtquickcharts-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kqtquickcharts-23.08.4.tar.xz";
+      sha256 = "1qfsjc414nxzl3rvzizxxg7kbi16v0mxpabj1sy6scz24x8ff68v";
+      name = "kqtquickcharts-23.08.4.tar.xz";
     };
   };
   krdc = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/krdc-23.08.3.tar.xz";
-      sha256 = "1wkaq0w2r2v6llz25imb7qa760dif3xbbzjmj25c0x9pw2qq7v7x";
-      name = "krdc-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/krdc-23.08.4.tar.xz";
+      sha256 = "0ka8m8yz6485vi1sqbr7n5pg67i1csk9yqjvv5fni9g2z5m6ynlq";
+      name = "krdc-23.08.4.tar.xz";
     };
   };
   krecorder = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/krecorder-23.08.3.tar.xz";
-      sha256 = "12xdq8s1996alhbb82y9qwl72cgj8xq7fgfqfg1hrl9ny36ffig0";
-      name = "krecorder-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/krecorder-23.08.4.tar.xz";
+      sha256 = "0wsn7kjk73619w24233s0and2q0li8yy7zlpfx4v8h9c926431di";
+      name = "krecorder-23.08.4.tar.xz";
     };
   };
   kreversi = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kreversi-23.08.3.tar.xz";
-      sha256 = "0h4nmf6gsw8x195f45rfnjpmkhh1qj238y6hwz6ifvw4d52wf6w2";
-      name = "kreversi-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kreversi-23.08.4.tar.xz";
+      sha256 = "13lf6hbg0a4ni119j3c21x72n7wpjb9g1f6dbdazrjmjvz5bfql5";
+      name = "kreversi-23.08.4.tar.xz";
     };
   };
   krfb = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/krfb-23.08.3.tar.xz";
-      sha256 = "1qz7s3kv4ss44qsx5vbpx6lk7xaqs4p533v3gh12r6ivr783cp9j";
-      name = "krfb-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/krfb-23.08.4.tar.xz";
+      sha256 = "1139rgd77k53i0gglbjb5lwcnrs3fik19a953lrzhicc881a65dv";
+      name = "krfb-23.08.4.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kross-interpreters-23.08.3.tar.xz";
-      sha256 = "1l4sgxhz8j6hmxyd5l6waqavg1gkcsa25wnc3mhf2fipl2ic3xbs";
-      name = "kross-interpreters-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kross-interpreters-23.08.4.tar.xz";
+      sha256 = "1f0vqj1yl5knw55cy2ldxz090n7gxw3m7lwb5z7mr6mazaf06l4z";
+      name = "kross-interpreters-23.08.4.tar.xz";
     };
   };
   kruler = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kruler-23.08.3.tar.xz";
-      sha256 = "0j19garqdxcag2cqyz18cmzbqzg1a8w0b5lf4g5y3r7ymnwx4vjc";
-      name = "kruler-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kruler-23.08.4.tar.xz";
+      sha256 = "08q5pnwiprnj4rwl9brw2r28gaxl9acfd61dkl9kigcasijwz75m";
+      name = "kruler-23.08.4.tar.xz";
     };
   };
   ksanecore = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksanecore-23.08.3.tar.xz";
-      sha256 = "00yp2gb826cpldrzijc6pz96l6smbjjn9s3jrcaxlp2f80v5lrrb";
-      name = "ksanecore-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksanecore-23.08.4.tar.xz";
+      sha256 = "1r00sl09cn4vryv11cc080f6r9qrh0q6va66d2a9sdkqfa8idlap";
+      name = "ksanecore-23.08.4.tar.xz";
     };
   };
   kshisen = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kshisen-23.08.3.tar.xz";
-      sha256 = "06cwa578s8ip5h9zl6gdbndk4qxyca8kwb40v8pvk1ai6iz1lmk9";
-      name = "kshisen-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kshisen-23.08.4.tar.xz";
+      sha256 = "1pdjy5zx7q4ajk00y5mgm6kxq17qmf0rwnakwfi938lzlvv06cir";
+      name = "kshisen-23.08.4.tar.xz";
     };
   };
   ksirk = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksirk-23.08.3.tar.xz";
-      sha256 = "1mnnj768xf43wa82dzrr1pv85l6xmvqrfxy5af3079jwdpd8frkj";
-      name = "ksirk-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksirk-23.08.4.tar.xz";
+      sha256 = "05cy7iv80zfqa44gi0w29i5njbp7idjli5699b15as2nadmzbfxv";
+      name = "ksirk-23.08.4.tar.xz";
     };
   };
   ksmtp = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksmtp-23.08.3.tar.xz";
-      sha256 = "0jbzydrpbyw00zwnx02qfziiz61vsp3qri3yym1qn9xds83a962b";
-      name = "ksmtp-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksmtp-23.08.4.tar.xz";
+      sha256 = "1hwyf1idk0a9a77gk7l2d7k3l6jy34pz6j7vcw1a7wfniz3ri8wz";
+      name = "ksmtp-23.08.4.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksnakeduel-23.08.3.tar.xz";
-      sha256 = "1x1nvl3bgbc7wdbjrdp513y5rjfh4h1dd8wjl21zp57z0w14qha7";
-      name = "ksnakeduel-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksnakeduel-23.08.4.tar.xz";
+      sha256 = "0ydsplqw4sijq2rfdyhzdzf95bnp3mpflwk8p4r3iahay3kcihk3";
+      name = "ksnakeduel-23.08.4.tar.xz";
     };
   };
   kspaceduel = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kspaceduel-23.08.3.tar.xz";
-      sha256 = "186mnhf18gacpzpdw50iqwzqm66xlfqcasfznlry8xwa7cj7vpki";
-      name = "kspaceduel-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kspaceduel-23.08.4.tar.xz";
+      sha256 = "01fqs6izbm34ypjrlbsqwvac7kqrc4vjkx6i04kq5zsaybawzy1i";
+      name = "kspaceduel-23.08.4.tar.xz";
     };
   };
   ksquares = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksquares-23.08.3.tar.xz";
-      sha256 = "06i7h685wzjrl6gm40g8n49p9nhv0m9rxz0w8jjp728db9p8dk0k";
-      name = "ksquares-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksquares-23.08.4.tar.xz";
+      sha256 = "0j3vivk6ci1k7pfv441rq915zdpzrf9a6fsh06igci34v1vm9yni";
+      name = "ksquares-23.08.4.tar.xz";
     };
   };
   ksudoku = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksudoku-23.08.3.tar.xz";
-      sha256 = "0r0s8zgzj0wqi6g1kia6pwv4jbf09kr2w4d2kz2s5pihwgqzygc9";
-      name = "ksudoku-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksudoku-23.08.4.tar.xz";
+      sha256 = "05zklr7mm81xz3m5lriyll1vkphwq5hz8ry423733ryaqqyjsdzs";
+      name = "ksudoku-23.08.4.tar.xz";
     };
   };
   ksystemlog = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ksystemlog-23.08.3.tar.xz";
-      sha256 = "09yna6kl4c4h2zlzqqx02ndnri2rqyi3kq4zjcg0rdx77rz7j60w";
-      name = "ksystemlog-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ksystemlog-23.08.4.tar.xz";
+      sha256 = "1fgnyi8aqr8b6zw91k049ljvs6jgl5frjw6zrz0jnc75lijc9zzc";
+      name = "ksystemlog-23.08.4.tar.xz";
     };
   };
   kteatime = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kteatime-23.08.3.tar.xz";
-      sha256 = "02ydm87488dkxh02svm2fr25v1y5ir07s454nfiza3ykvsiv919d";
-      name = "kteatime-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kteatime-23.08.4.tar.xz";
+      sha256 = "194c4q5pc9h5v1v6k80xchd3ysj42khwaq912dinvy43py1rw8sw";
+      name = "kteatime-23.08.4.tar.xz";
     };
   };
   ktimer = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktimer-23.08.3.tar.xz";
-      sha256 = "1b3gd0hmd3yry5kbrr0z0v94m43g0hb0bry821w8vfx0hnqdxfvr";
-      name = "ktimer-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktimer-23.08.4.tar.xz";
+      sha256 = "08bcs3xh1yr2p2nnklb72jkfdxlrqp47pva4f886micanqfxhhjb";
+      name = "ktimer-23.08.4.tar.xz";
     };
   };
   ktnef = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktnef-23.08.3.tar.xz";
-      sha256 = "1avnpm8zmqv65l68s64b87vhs2zb8h2c9p5is6aafqpiiqjpx0rd";
-      name = "ktnef-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktnef-23.08.4.tar.xz";
+      sha256 = "0ffg2qc5nlnhmdhnq9ry2b34kis0z0bsk0iqp1mk5fs8ksasli75";
+      name = "ktnef-23.08.4.tar.xz";
     };
   };
   ktorrent = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktorrent-23.08.3.tar.xz";
-      sha256 = "1dasy90ijjwrkxfrrgqc3c9r2nnsjfnsmlpz8871yvfr4cmx7n68";
-      name = "ktorrent-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktorrent-23.08.4.tar.xz";
+      sha256 = "0q8a3xsxk1sxaa90vj4fpq35xlmjwj86kki46w572dsx7bmcpwym";
+      name = "ktorrent-23.08.4.tar.xz";
     };
   };
   ktouch = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktouch-23.08.3.tar.xz";
-      sha256 = "0zsswlflvbwkgv6makzvmpafnv59q2w5dp62hzawzysg80nlqnm9";
-      name = "ktouch-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktouch-23.08.4.tar.xz";
+      sha256 = "18zfmmanz1f8jqhckb23pspsmprl1ran6vbxdqcfl4pb928b63fr";
+      name = "ktouch-23.08.4.tar.xz";
     };
   };
   ktrip = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktrip-23.08.3.tar.xz";
-      sha256 = "11dccp2mwaw29yp2fa52xm1j8hjwgbgxhgkywm5w2x9ddd2mrdwa";
-      name = "ktrip-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktrip-23.08.4.tar.xz";
+      sha256 = "1c9j0hqhq6hpsacm05qmkbiyr3bq57llqsvq1a9qy6yd1fldn4xg";
+      name = "ktrip-23.08.4.tar.xz";
     };
   };
   ktuberling = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/ktuberling-23.08.3.tar.xz";
-      sha256 = "0krhznbjnaqnknldynbvi2lm0if7b2badzmfyk0zcm6zsca56dva";
-      name = "ktuberling-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/ktuberling-23.08.4.tar.xz";
+      sha256 = "12q07w5s3bv3rx1irypzw83l4y47j1zqk67akkrhcgf9f69jz71w";
+      name = "ktuberling-23.08.4.tar.xz";
     };
   };
   kturtle = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kturtle-23.08.3.tar.xz";
-      sha256 = "1an929zydwb2nfcysk5jpijvihwprmgy8491z6jx60hzwdsm6pqa";
-      name = "kturtle-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kturtle-23.08.4.tar.xz";
+      sha256 = "1782pnybvjqpzdppsz5284dibasz7rk03pbz6il7dz86l701phlz";
+      name = "kturtle-23.08.4.tar.xz";
     };
   };
   kubrick = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kubrick-23.08.3.tar.xz";
-      sha256 = "0kzh0q3k5d6cv1g3479bz4q67b2p2skakjvs1jjr2imz8gw75c42";
-      name = "kubrick-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kubrick-23.08.4.tar.xz";
+      sha256 = "12p6k800chp7qhj6shj1xp2pvfxm0cw50598s95c8jxhv44d4fg2";
+      name = "kubrick-23.08.4.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kwalletmanager-23.08.3.tar.xz";
-      sha256 = "0wml6z5m2qcbqw37d1mvpnbc0rnrdsp7azyzh4p1qrvz7xvjd33p";
-      name = "kwalletmanager-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kwalletmanager-23.08.4.tar.xz";
+      sha256 = "0p62nl2y1fdlgzinzafhd1xgndn93c4qcl0gn6gicjfi9a37qjd1";
+      name = "kwalletmanager-23.08.4.tar.xz";
     };
   };
   kwave = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kwave-23.08.3.tar.xz";
-      sha256 = "0vcvcjx4jvbrxvy6ys8jy0p85inia66lhnj5c6zf7hjyb4kyd9wd";
-      name = "kwave-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kwave-23.08.4.tar.xz";
+      sha256 = "0wicp8zpk1q45aqx1zhwq8v9yh173zvmz5ncv4nr3dm1jgvh4l4q";
+      name = "kwave-23.08.4.tar.xz";
     };
   };
   kweather = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kweather-23.08.3.tar.xz";
-      sha256 = "1zk4qf1r9c45zgqpnx5y2prm6d64vxhhycnbn07yk46zqnk6gifj";
-      name = "kweather-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kweather-23.08.4.tar.xz";
+      sha256 = "1fr19q59577pml6wj1di72yvdk0q6brd637vqn7xwbdvjhhk6vvn";
+      name = "kweather-23.08.4.tar.xz";
     };
   };
   kwordquiz = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/kwordquiz-23.08.3.tar.xz";
-      sha256 = "0nqdax13syqwi5i3q4gf3cjnywricvdd2798v31naza39m06m6z1";
-      name = "kwordquiz-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/kwordquiz-23.08.4.tar.xz";
+      sha256 = "1gnwmba6b08a1wgw40c71h7qgqk7sknj495hh66rxgm03injnpj0";
+      name = "kwordquiz-23.08.4.tar.xz";
     };
   };
   libgravatar = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libgravatar-23.08.3.tar.xz";
-      sha256 = "12k2fb6wnnba81d8amizf2npa5ydpj6s95sbn0s4qy329lgxmfp3";
-      name = "libgravatar-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libgravatar-23.08.4.tar.xz";
+      sha256 = "1w9z0d85gdkghx7k9506rg0fzgzvah9wfvyq16hhjgfb4cv0292w";
+      name = "libgravatar-23.08.4.tar.xz";
     };
   };
   libkcddb = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkcddb-23.08.3.tar.xz";
-      sha256 = "0b68vypfvkq5c7s5zqdwdr9r84x2gsvqavjz1dk6ybq4j5lm3ldz";
-      name = "libkcddb-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkcddb-23.08.4.tar.xz";
+      sha256 = "130ajnb4k1i48r015xfw5yp8ys72hgz5gqgvpa4vfqy71hbhndr9";
+      name = "libkcddb-23.08.4.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkcompactdisc-23.08.3.tar.xz";
-      sha256 = "0a46yy0jzsddqgklvi8hgjg4h4f7six2d3higzrh7v2ychlqxqkp";
-      name = "libkcompactdisc-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkcompactdisc-23.08.4.tar.xz";
+      sha256 = "166nj97pars5anx1k8dc7f92cfnbb0mvwgi9cpsz138bxpqvn3zi";
+      name = "libkcompactdisc-23.08.4.tar.xz";
     };
   };
   libkdcraw = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkdcraw-23.08.3.tar.xz";
-      sha256 = "0bzkdlhfkql38qm22qpiinl8p7pxhl5xpnw12l0ghjpdmnxzn1jl";
-      name = "libkdcraw-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkdcraw-23.08.4.tar.xz";
+      sha256 = "1mm3gsp7lfqxb9irk59hrzaxdqjv28iwaa1xmpazw4q62nmlj7mi";
+      name = "libkdcraw-23.08.4.tar.xz";
     };
   };
   libkdegames = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkdegames-23.08.3.tar.xz";
-      sha256 = "14zavbir7rf5lgxyppngpbbxmpq9kyx45c170jpilma6a3dqm787";
-      name = "libkdegames-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkdegames-23.08.4.tar.xz";
+      sha256 = "1v4xskpclyr7qv94xrmw33zvcff1ymb2y6b658rdxari1gjpamja";
+      name = "libkdegames-23.08.4.tar.xz";
     };
   };
   libkdepim = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkdepim-23.08.3.tar.xz";
-      sha256 = "043ddlssg3a0q48y3mvn9smmarmswmff0gz3gpw1m6waagymqrff";
-      name = "libkdepim-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkdepim-23.08.4.tar.xz";
+      sha256 = "0rga1s5y3lsq8awgdpd3yaqjczgjakhf12v553hg0nz8b1cl4s7z";
+      name = "libkdepim-23.08.4.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkeduvocdocument-23.08.3.tar.xz";
-      sha256 = "19m1dzvgf34awbyabbwn03jyznv430jd4qxwj2lgp1684p2dqyab";
-      name = "libkeduvocdocument-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkeduvocdocument-23.08.4.tar.xz";
+      sha256 = "1jvbkyb2gnh8a47724m95nb30g58jnzlwja5p9gx1rwjha28jkcp";
+      name = "libkeduvocdocument-23.08.4.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkexiv2-23.08.3.tar.xz";
-      sha256 = "1p9qyqyl7348yfbnpw01s81agknllx77i07cvv9bmdcwm103vw07";
-      name = "libkexiv2-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkexiv2-23.08.4.tar.xz";
+      sha256 = "1xpki1b3007wm17pnjvfrqb2qlx7wkps5bzhn1m4k30i6vxa2q50";
+      name = "libkexiv2-23.08.4.tar.xz";
     };
   };
   libkgapi = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkgapi-23.08.3.tar.xz";
-      sha256 = "01c7933w8qspasd4l51mj21dnm9amdppwzn81naqhzj2ggh3f1ks";
-      name = "libkgapi-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkgapi-23.08.4.tar.xz";
+      sha256 = "1dvfj1pgfw2sysr2x06fzfxbr2xb949kgy0b52aq0akq5534qrfc";
+      name = "libkgapi-23.08.4.tar.xz";
     };
   };
   libkipi = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkipi-23.08.3.tar.xz";
-      sha256 = "1jwhs7clznh4izbdxyhni7ks8hqb1m425kw847jjmhrzf7gj5bzv";
-      name = "libkipi-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkipi-23.08.4.tar.xz";
+      sha256 = "0z3xlsyms58l84fvgjxf6y83a82p81s6gk8757y9aiidjihzih88";
+      name = "libkipi-23.08.4.tar.xz";
     };
   };
   libkleo = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkleo-23.08.3.tar.xz";
-      sha256 = "1s0k7vc1iasahqy2sk98j1lybvv1ppwhrl1jpzlk6pca28pg6dqc";
-      name = "libkleo-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkleo-23.08.4.tar.xz";
+      sha256 = "01sspgd1sf3dzds05jbvylif4vza3zb0fz2hfrrvmjvflswgbazi";
+      name = "libkleo-23.08.4.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkmahjongg-23.08.3.tar.xz";
-      sha256 = "0x8nym9hfjg9823gxl00jhn182d6p9jjff8h8fvblh88h267rxr4";
-      name = "libkmahjongg-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkmahjongg-23.08.4.tar.xz";
+      sha256 = "0cp2zpk0444jf1rr6jnn0v62sbx1baf646ki8g2hpmsmvqwvslih";
+      name = "libkmahjongg-23.08.4.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libkomparediff2-23.08.3.tar.xz";
-      sha256 = "1cbhd214shiphha8pmqrlxliq0szmr6qqksrjl70pq9k58myfq76";
-      name = "libkomparediff2-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libkomparediff2-23.08.4.tar.xz";
+      sha256 = "07kfsnijj7xm4mvz95dzn3xmmczxl6bqzdr7d5jcv33kvp46mdbn";
+      name = "libkomparediff2-23.08.4.tar.xz";
     };
   };
   libksane = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libksane-23.08.3.tar.xz";
-      sha256 = "0dynrv65q78r7zyl1is6jpi7ln6s7jciil27sjjlz1cwlhalq16f";
-      name = "libksane-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libksane-23.08.4.tar.xz";
+      sha256 = "1gsd5wlvh9c8xaprp0sjxknjc8yzz2f04kla5012a0a2761ym7d0";
+      name = "libksane-23.08.4.tar.xz";
     };
   };
   libksieve = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libksieve-23.08.3.tar.xz";
-      sha256 = "09iw7jv93pwfj0i6y4iyhi7f1z3sw2lx8y608bcpbsw6ki2hwiky";
-      name = "libksieve-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libksieve-23.08.4.tar.xz";
+      sha256 = "0ixriyls3ynwkyfjyvax4r851nh5xb1hvvcyphjd6apzy9zci08f";
+      name = "libksieve-23.08.4.tar.xz";
     };
   };
   libktorrent = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/libktorrent-23.08.3.tar.xz";
-      sha256 = "1jl27xmk82yjfpwc7cj4hxllzksvc1mn0qlcc92r637zyw9haxfa";
-      name = "libktorrent-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/libktorrent-23.08.4.tar.xz";
+      sha256 = "0vyv8m2s37zmhs145n8lk1p8npxcrd2xvw1aciyjc0nrxrx46z1v";
+      name = "libktorrent-23.08.4.tar.xz";
     };
   };
   lokalize = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/lokalize-23.08.3.tar.xz";
-      sha256 = "1hbqwld7fiwjbzz0nas1wks0j7ganqb61nr78g4qrygyfz0fkk22";
-      name = "lokalize-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/lokalize-23.08.4.tar.xz";
+      sha256 = "0ca52y67sqcjmzmxz3s6vpdlycr9k8sm8v07xmkxw6m77l97f5rq";
+      name = "lokalize-23.08.4.tar.xz";
     };
   };
   lskat = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/lskat-23.08.3.tar.xz";
-      sha256 = "0j8qy8aih5jflndfw53fbfmg2v2dpah99pk0g7qisr21d0xdsnq4";
-      name = "lskat-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/lskat-23.08.4.tar.xz";
+      sha256 = "1qcp2mxwddqxv8pzzaqq6sq8qyvxfy55k3pz8x7zml0iswspbv3r";
+      name = "lskat-23.08.4.tar.xz";
     };
   };
   mailcommon = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/mailcommon-23.08.3.tar.xz";
-      sha256 = "0jami0ml0q414nz3lcwk5pvl21zfmfkpz751j8kqc3rvv7579y5r";
-      name = "mailcommon-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/mailcommon-23.08.4.tar.xz";
+      sha256 = "11z9zvwlqiylrkmw1hfsvqjwgiil7g2gzfh3avrrf3p4d8mc3y3g";
+      name = "mailcommon-23.08.4.tar.xz";
     };
   };
   mailimporter = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/mailimporter-23.08.3.tar.xz";
-      sha256 = "02ii6vqpxwm4cvkkh7nfq3q9sdb9wlx09k3d1yzampv36rh015xm";
-      name = "mailimporter-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/mailimporter-23.08.4.tar.xz";
+      sha256 = "14w82drnf5vzjcqwhs34i82ismmbbkmp6ryw64xvv70idi64gyid";
+      name = "mailimporter-23.08.4.tar.xz";
     };
   };
   marble = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/marble-23.08.3.tar.xz";
-      sha256 = "166264afbxjimgvz062918fgqc7ck8sz5qiz63m1w858irgifpl0";
-      name = "marble-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/marble-23.08.4.tar.xz";
+      sha256 = "13vsrfzcff64wxgi0rfsmlca62kbbny4c8rn7j90jbzdrjw5aafg";
+      name = "marble-23.08.4.tar.xz";
     };
   };
   markdownpart = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/markdownpart-23.08.3.tar.xz";
-      sha256 = "1nw8r7m3h2j3aylmq5lg0c2rz9cmpsdlixh0ba3cpxcy1ddk4xmp";
-      name = "markdownpart-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/markdownpart-23.08.4.tar.xz";
+      sha256 = "0gr2hd7jnx6s3fsssasf7c2hl6mk3j2ccb6552k6bpdvl1ianmfc";
+      name = "markdownpart-23.08.4.tar.xz";
     };
   };
   mbox-importer = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/mbox-importer-23.08.3.tar.xz";
-      sha256 = "0306gpa7ybcyx4p1fc1pgr8yh5q7rq7v025494ylwj3va9c6j5h5";
-      name = "mbox-importer-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/mbox-importer-23.08.4.tar.xz";
+      sha256 = "1pninrlpwpakpc3a50aqfjvm1y828xsqm51vbblx41yrs9sfkbmz";
+      name = "mbox-importer-23.08.4.tar.xz";
     };
   };
   merkuro = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/merkuro-23.08.3.tar.xz";
-      sha256 = "1vqg3bl6qmnb0vk0l408i4liwq8ydnmr69a3ch8z54l1p2za3xlx";
-      name = "merkuro-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/merkuro-23.08.4.tar.xz";
+      sha256 = "1rdfbvir3aadgkpqnh5j3b2snwkfgay130qnr2w0lhfs3dx3q4pj";
+      name = "merkuro-23.08.4.tar.xz";
     };
   };
   messagelib = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/messagelib-23.08.3.tar.xz";
-      sha256 = "1ss69pffs81aa6zi6hnnhxzmjfyigyahq6ranvc4q90gb49l95jv";
-      name = "messagelib-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/messagelib-23.08.4.tar.xz";
+      sha256 = "1nahb2zhwi6scx5pc2abgjxz13m5rnsaknvcmiarih4zald5vncs";
+      name = "messagelib-23.08.4.tar.xz";
     };
   };
   minuet = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/minuet-23.08.3.tar.xz";
-      sha256 = "0j0p8kcd4m4fzc9cffhp70s6nl7xcd0wq6smzjq2v83x4fwpnqfl";
-      name = "minuet-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/minuet-23.08.4.tar.xz";
+      sha256 = "1wrqwgcibqifgwzz0q40rmasykxilknx9rv60yzqjlc1bh1611xg";
+      name = "minuet-23.08.4.tar.xz";
     };
   };
   neochat = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/neochat-23.08.3.tar.xz";
-      sha256 = "1gzkwwhrgrap100a1191r66g2kqclnq6jp73k5zgsacxcvf5bwcy";
-      name = "neochat-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/neochat-23.08.4.tar.xz";
+      sha256 = "1sdcg24s0gvim8s6mzqn6s5cjf8sag52w0wnicm2y15w0210763d";
+      name = "neochat-23.08.4.tar.xz";
     };
   };
   okular = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/okular-23.08.3.tar.xz";
-      sha256 = "16qippfwkbxgznlg6f3csmhlk6rbpjqf0nmw11bmrsfng1smam22";
-      name = "okular-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/okular-23.08.4.tar.xz";
+      sha256 = "04dga15sj8gm2l1j6qpqcm3scc5awap63g5jqbfdr1z2i8bp7z9p";
+      name = "okular-23.08.4.tar.xz";
     };
   };
   palapeli = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/palapeli-23.08.3.tar.xz";
-      sha256 = "0jvb72ndq7c9q21x6gis8i9a8xxb61rjl62xs1adavy9x5za4j4q";
-      name = "palapeli-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/palapeli-23.08.4.tar.xz";
+      sha256 = "0cb63gazax3ii78n5bir061aw20s4vkm6pgahz75kvwhfsyky4qa";
+      name = "palapeli-23.08.4.tar.xz";
     };
   };
   parley = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/parley-23.08.3.tar.xz";
-      sha256 = "00dx3455b0wfpx1y1svgdvmfd1wcv2cyk61867nk34wn91mkk2jl";
-      name = "parley-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/parley-23.08.4.tar.xz";
+      sha256 = "1y6mb5k3nhra4p35dml9x5nw40b21cnz7nkirxf3wjrg7jjx0iac";
+      name = "parley-23.08.4.tar.xz";
     };
   };
   partitionmanager = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/partitionmanager-23.08.3.tar.xz";
-      sha256 = "0b4klirhyqp4vgpy1gp1prdyknrdmsfbl2nz3kmkm47q97b3jsc3";
-      name = "partitionmanager-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/partitionmanager-23.08.4.tar.xz";
+      sha256 = "1mj6pbrv9lj7jg3rfj4jncaclm70nzxw6dqbd52m48fa8vz0xpy5";
+      name = "partitionmanager-23.08.4.tar.xz";
     };
   };
   picmi = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/picmi-23.08.3.tar.xz";
-      sha256 = "1nfwzv0lngxv6s57v4j8acq4kp94iq8swpiah4gf57ikwvfmwcbv";
-      name = "picmi-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/picmi-23.08.4.tar.xz";
+      sha256 = "1dbygyydawp6982asn015l20c4g479nl63a4yvs1hlv0vs261ry6";
+      name = "picmi-23.08.4.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/pim-data-exporter-23.08.3.tar.xz";
-      sha256 = "0b2vcv7mkbwf2jvrwahnmh28h4gx6ng6hpxin4mr9ams2iv55s4i";
-      name = "pim-data-exporter-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/pim-data-exporter-23.08.4.tar.xz";
+      sha256 = "0nhwvg2wp25nkwgizc9zp4b5zww4ap8clfbm4s6n9c851dslh3s3";
+      name = "pim-data-exporter-23.08.4.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/pim-sieve-editor-23.08.3.tar.xz";
-      sha256 = "03h40pdknqdclw312n4293h2hg30wvhkbwwim411w1nlryi028vz";
-      name = "pim-sieve-editor-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/pim-sieve-editor-23.08.4.tar.xz";
+      sha256 = "1bkll224v8pqcph33qnvi0sk5zymdz6jy5s4rqdd13nqzzv6cyhb";
+      name = "pim-sieve-editor-23.08.4.tar.xz";
     };
   };
   pimcommon = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/pimcommon-23.08.3.tar.xz";
-      sha256 = "1j75s4b10kvy1mp9dli2z09jh57kwd018dd1br2yirqgrj3q2mk4";
-      name = "pimcommon-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/pimcommon-23.08.4.tar.xz";
+      sha256 = "0lfxd76rg4gx98xiwhzvv6bi97rqpxppc0qs1zgzd94hnar7kafl";
+      name = "pimcommon-23.08.4.tar.xz";
     };
   };
   plasmatube = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/plasmatube-23.08.3.tar.xz";
-      sha256 = "13szmsk7x1bril3hp7dzw844pfzk9w9is4l8h4a4y1xzm80y3y95";
-      name = "plasmatube-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/plasmatube-23.08.4.tar.xz";
+      sha256 = "0mdljamssq8609mxfm1whdpf0jd3lvyrd5cf7rhnq35hvrncm4b1";
+      name = "plasmatube-23.08.4.tar.xz";
     };
   };
   poxml = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/poxml-23.08.3.tar.xz";
-      sha256 = "135klpiigvibfk3vcjmkcl203zrmqbjrhj6wydnl0x8xa2sskv2j";
-      name = "poxml-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/poxml-23.08.4.tar.xz";
+      sha256 = "0irp4ns0p25navasgdpgi35xxa1n5jf9aly32604dddx2mrh1w0r";
+      name = "poxml-23.08.4.tar.xz";
     };
   };
   print-manager = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/print-manager-23.08.3.tar.xz";
-      sha256 = "0h6w04w08pia84lxjmincxf5l88w2p6bqsz60caa6w743k6qcanv";
-      name = "print-manager-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/print-manager-23.08.4.tar.xz";
+      sha256 = "0hsxawswgpaidm2wg5s8mzzh46cascr1pfjiqplqndzixff77grd";
+      name = "print-manager-23.08.4.tar.xz";
     };
   };
   qmlkonsole = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/qmlkonsole-23.08.3.tar.xz";
-      sha256 = "0shjzdn6drjq0ngvvh4mzzl4csqlj3bc3j25wr459srxv7m8f40h";
-      name = "qmlkonsole-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/qmlkonsole-23.08.4.tar.xz";
+      sha256 = "1qjszxh9wxpl1is2k065s9w18frvpnz2x6sk36r3c87xaxn7pzxi";
+      name = "qmlkonsole-23.08.4.tar.xz";
     };
   };
   rocs = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/rocs-23.08.3.tar.xz";
-      sha256 = "03dksz8s47hgmwqqgn6n216nn3fs2iahw6nf90nnk57gkgl0f80i";
-      name = "rocs-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/rocs-23.08.4.tar.xz";
+      sha256 = "0182szpicdg353gapjsghg35sw638kcddwaycn3jkc50mwfy9jg1";
+      name = "rocs-23.08.4.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/signon-kwallet-extension-23.08.3.tar.xz";
-      sha256 = "1lkh40nqz26f8v8gfgs3f74jvwylvpmix6pgklpnjz5q724630zw";
-      name = "signon-kwallet-extension-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/signon-kwallet-extension-23.08.4.tar.xz";
+      sha256 = "1fpqjzpj7dhcp1km5fg65jpa1v78hsgpgrriyvpqpvaxfn0ylifi";
+      name = "signon-kwallet-extension-23.08.4.tar.xz";
     };
   };
   skanlite = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/skanlite-23.08.3.tar.xz";
-      sha256 = "0y877svxcnijbyj3g95m5w65fncl9pbkl4y6slvci8mysmx4cxpj";
-      name = "skanlite-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/skanlite-23.08.4.tar.xz";
+      sha256 = "0wh5c3w8sbggpcln6arqagfxffyjns4v2v1d8drawfn66q5pqzvk";
+      name = "skanlite-23.08.4.tar.xz";
     };
   };
   skanpage = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/skanpage-23.08.3.tar.xz";
-      sha256 = "03lir17v5fmcvkgrwxlpd2cghnha275f3b2ks4dgdcqhpxfyx1zg";
-      name = "skanpage-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/skanpage-23.08.4.tar.xz";
+      sha256 = "1mdvh7qknlfrcq8v7hbjdbns7327czch95dh5w6w86r1a5by2mxn";
+      name = "skanpage-23.08.4.tar.xz";
     };
   };
   spectacle = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/spectacle-23.08.3.tar.xz";
-      sha256 = "1nr4vawvr3n0mrvbasrbjppdri177fsxnyljihxkcldlbqdx8idx";
-      name = "spectacle-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/spectacle-23.08.4.tar.xz";
+      sha256 = "04yd00p0rkpswrcj13ckp38ii185g1dab82vm58inm8i8cyyarbq";
+      name = "spectacle-23.08.4.tar.xz";
     };
   };
   step = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/step-23.08.3.tar.xz";
-      sha256 = "19ipq26hbr38p9zbgn45ykhib7lm4cm880r1s8a6grdx8ziw6jx9";
-      name = "step-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/step-23.08.4.tar.xz";
+      sha256 = "0dmnc9kvg2hxi2mf4d55k4sm82lfb4xs6apq4m8fxqd3zh0jxr9n";
+      name = "step-23.08.4.tar.xz";
     };
   };
   svgpart = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/svgpart-23.08.3.tar.xz";
-      sha256 = "1lybl6pybawybds0w8l0fcx37i7axjkw9b0rhk5vn3sw397yvkra";
-      name = "svgpart-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/svgpart-23.08.4.tar.xz";
+      sha256 = "111zdzp5knm1x13d1mhhn48l72lfa28jwn69023skgav35fa50wh";
+      name = "svgpart-23.08.4.tar.xz";
     };
   };
   sweeper = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/sweeper-23.08.3.tar.xz";
-      sha256 = "1a7qh1rvzs5xk5aw19x29091psp0khjqmgs06avilfsfbpschkn0";
-      name = "sweeper-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/sweeper-23.08.4.tar.xz";
+      sha256 = "0csqrkbx86ppfddqc5qvzp0svw0ngf9129p3xz5birhcdvq3bpic";
+      name = "sweeper-23.08.4.tar.xz";
     };
   };
   telly-skout = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/telly-skout-23.08.3.tar.xz";
-      sha256 = "1cxkzxq1nx62100a42m534wvgmv3m00im16j7lnjqknr4nidxzrb";
-      name = "telly-skout-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/telly-skout-23.08.4.tar.xz";
+      sha256 = "1ipy5vl9vj800cy7axag4y1gnnszgbyvw22ns1j2x1z7m3rhp5vi";
+      name = "telly-skout-23.08.4.tar.xz";
     };
   };
   tokodon = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/tokodon-23.08.3.tar.xz";
-      sha256 = "0nc56jgl114zd95szq7jcjw6vqpklm0jk17l2s8nikwra06y2smx";
-      name = "tokodon-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/tokodon-23.08.4.tar.xz";
+      sha256 = "1hsdwmnrsqm5mi1c7lsa6p7r29w8iz27129yf6j1491yw3cv9lqw";
+      name = "tokodon-23.08.4.tar.xz";
     };
   };
   umbrello = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/umbrello-23.08.3.tar.xz";
-      sha256 = "0l3mxnyhyhm5h7gyhw5q28yzcsxkgsjqpcbnyhy74pdjw1xs969v";
-      name = "umbrello-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/umbrello-23.08.4.tar.xz";
+      sha256 = "0vms6wflbybpaxwng29hsw5mcjrxw24kp8b6i1chavqryhci7s0k";
+      name = "umbrello-23.08.4.tar.xz";
     };
   };
   yakuake = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/yakuake-23.08.3.tar.xz";
-      sha256 = "16h3zanzxjqdl9rvyxplvr35bjkzz2qfxqmm1fkjsq1vbb9lxf6r";
-      name = "yakuake-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/yakuake-23.08.4.tar.xz";
+      sha256 = "1igzc110fvzwa9817hclv7whwmfvp4hvcn636a6l4s5vsajm940y";
+      name = "yakuake-23.08.4.tar.xz";
     };
   };
   zanshin = {
-    version = "23.08.3";
+    version = "23.08.4";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.3/src/zanshin-23.08.3.tar.xz";
-      sha256 = "0dcakpv36zmiad2686bcw7ll9mpw3dj4sxd7dqlhvl0n7hhm2gxf";
-      name = "zanshin-23.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.4/src/zanshin-23.08.4.tar.xz";
+      sha256 = "0axrh9g6drxp5sjmcbv7vqbi0n7q6qpnlgs546186z25kwq80xm0";
+      name = "zanshin-23.08.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 2a46cfd50035d..27d07e9d57f28 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,7 +9,7 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.10.20" else "8.10.20-1.BETA";
+  version = if channel == "stable" then "8.10.20" else "8.10.22-21.BETA";
 
   sources = {
     stable = {
@@ -33,19 +33,19 @@ let
     beta = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-+wHxtlE0zeVEObzdpcIP75LKbbjsG8LMqdIPFkY0BoU=";
+        hash = "sha256-R4jj5U2a8AoAs1qVIjMQx6odK0Ks4WeqRURf3pOOduo=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-BRsp/hhBwgQFU+5Tt1M9V5Lx8oRLN3uaqLrzrPo/xpo=";
+        hash = "sha256-1opo/RZ0aTZn3Jo9XIw/g8WYK2xgRiaRKgd7RstGJ5g=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-WVP5a007cU1GR/lnL7C6QiJpTTsjzaiS69H2LJzYm70=";
+        hash = "sha256-jlQgXlLLUF78g2B7KYgTSQZAEe57TRw4vN7MPn3IwwI=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-BBSUSSnot1ktC0ik7yMhqsgLdkeQBrJUpHBvwu0w9m0=";
+        hash = "sha256-nzKESK3QKsi0Xzm3ytXWIH08LV2F6jLKvCLDHzVR9xQ=";
       };
     };
   };
diff --git a/pkgs/applications/misc/activate-linux/default.nix b/pkgs/applications/misc/activate-linux/default.nix
index 1a6da925d0575..3515f190fe770 100644
--- a/pkgs/applications/misc/activate-linux/default.nix
+++ b/pkgs/applications/misc/activate-linux/default.nix
@@ -52,6 +52,11 @@ stdenv.mkDerivation (finalAttrs: {
     cp activate-linux $out/bin
     cp activate-linux.1 $out/share/man/man1
 
+    install -Dm444 res/icon.png $out/share/icons/hicolor/128x128/apps/activate-linux.png
+    install -Dm444 res/activate-linux.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/activate-linux.desktop \
+      --replace 'Icon=icon' 'Icon=activate-linux'
+
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/misc/binocle/default.nix b/pkgs/applications/misc/binocle/default.nix
index 84d43f5eb9893..02b1b4c7b5d57 100644
--- a/pkgs/applications/misc/binocle/default.nix
+++ b/pkgs/applications/misc/binocle/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "binocle";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-L4l8Gl7Ok/TWqHjNujPx8Qk3UWebs0SgOQNyBNtpnZo=";
+    sha256 = "sha256-WAk7xIrCRfVofn4w+gP5E3wnSZbXm/6MZWlNmtoLm20=";
   };
 
-  cargoHash = "sha256-9d0MNQ7jEJKpGbjVtl1XBoOBEVNKDgFouSMrcZ7tXNU=";
+  cargoHash = "sha256-ZmY88WcoQiDLSXkBbnE/+jPX713qh6n+nyNXeWWTBKA=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 24ea7287160b7..bdfd867f55675 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -52,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: rec {
   nativeBuildInputs =
     [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev
     ]
-    ++ lib.optionals cudaSupport [ addOpenGLRunpath ]
+    ++ lib.optionals cudaSupport [
+      addOpenGLRunpath
+      cudaPackages.cuda_nvcc
+    ]
     ++ lib.optionals waylandSupport [ pkg-config ];
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
@@ -87,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: rec {
       llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
     ])
     ++ lib.optional jackaudioSupport libjack2
-    ++ lib.optional cudaSupport cudaPackages.cudatoolkit
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]
     ++ lib.optional colladaSupport opencollada
     ++ lib.optional spaceNavSupport libspnav;
   pythonPath = with python310Packages; [ numpy requests zstandard ];
diff --git a/pkgs/applications/misc/chrysalis/default.nix b/pkgs/applications/misc/chrysalis/default.nix
index f5c6da15bd993..bb445422d0303 100644
--- a/pkgs/applications/misc/chrysalis/default.nix
+++ b/pkgs/applications/misc/chrysalis/default.nix
@@ -35,13 +35,13 @@ in appimageTools.wrapType2 rec {
         $out/share/applications/Chrysalis.desktop \
         --replace 'Exec=Chrysalis' 'Exec=${pname}'
 
-    cp -r ${appimageContents}/usr/share/icons $out/share
+    install -Dm444 ${appimageContents}/usr/share/icons/hicolor/256x256/chrysalis.png -t $out/share/pixmaps
   '';
 
   meta = with lib; {
     description = "A graphical configurator for Kaleidoscope-powered keyboards";
     homepage = "https://github.com/keyboardio/Chrysalis";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ aw ];
     platforms = [ "x86_64-linux" ];
     mainProgram = pname;
diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix
index c09d1f7e09ea9..be12af08f92b0 100644
--- a/pkgs/applications/misc/clipcat/default.nix
+++ b/pkgs/applications/misc/clipcat/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "clipcat";
-  version = "0.8.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "xrelkd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2Sh8VakHeAotdw1kkpRgNtLj1gnH1Ei7OC9INF/lkZo=";
+    hash = "sha256-BpJI6IseQpAHrdZ+rbh9Ar8HhAVD6grdM2tpviKd51c=";
   };
 
-  cargoHash = "sha256-cgyvIu56Ab3h6tgyQxtGsR0UPxgL65vb7fUAc0lMj5Q=";
+  cargoHash = "sha256-BcqrQ4oUZazTSVtaAPgNKmLxhBbxR+sfpFFD1WiYP40=";
 
   nativeBuildInputs = [
     protobuf
diff --git a/pkgs/applications/misc/collision/default.nix b/pkgs/applications/misc/collision/default.nix
index a77d0b34a75ee..f550e48ba954d 100644
--- a/pkgs/applications/misc/collision/default.nix
+++ b/pkgs/applications/misc/collision/default.nix
@@ -13,16 +13,16 @@
 }:
 crystal.buildCrystalPackage rec {
   pname = "Collision";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "GeopJr";
     repo = "Collision";
     rev = "v${version}";
-    hash = "sha256-YNMtiMSzDqBlJJTUntRtL6oXg+IuyAobQ4FYcwOdOas=";
+    hash = "sha256-Qxe4ILDdfYfxu95EvKRTvkAOgDIZDiLymBlZouBWn0M=";
   };
   patches = [ ./make.patch ];
-  shardsFile = ./collision-shards.nix;
+  shardsFile = ./shards.nix;
 
   # Crystal compiler has a strange issue with OpenSSL. The project will not compile due to
   # main_module:(.text+0x6f0): undefined reference to `SSL_library_init'
diff --git a/pkgs/applications/misc/collision/collision-shards.nix b/pkgs/applications/misc/collision/shards.nix
index 0c27255041545..e7e93781eb68c 100644
--- a/pkgs/applications/misc/collision/collision-shards.nix
+++ b/pkgs/applications/misc/collision/shards.nix
@@ -4,16 +4,6 @@
     rev = "v1.0.0";
     sha256 = "1y27m4170rr4532j56grzhwbz8hj6z7j3zfkd0jnfwnsxclks1kc";
   };
-  non-blocking-spawn = {
-    url = "https://github.com/geopjr/non-blocking-spawn.git";
-    rev = "v1.0.5";
-    sha256 = "139gr87zlw0k9kf6pf9k2d88aa9x3kcnfg34qpbqrwsrck7708za";
-  };
-  version_from_shard = {
-    url = "https://github.com/hugopl/version_from_shard.git";
-    rev = "v1.2.5";
-    sha256 = "0xizj0q4rd541rwjbx04cjifc2gfx4l5v6q2y7gmd0ndjmkgb8ik";
-  };
   gio = {
     url = "https://github.com/hugopl/gio.cr.git";
     rev = "v0.1.0";
@@ -21,22 +11,27 @@
   };
   gtk4 = {
     url = "https://github.com/hugopl/gtk4.cr.git";
-    rev = "v0.13.0";
-    sha256 = "0xsrcsh5qvwm9l7cywxpw49rfv94mkkqcliws4zkhxgr9isnirbm";
+    rev = "v0.15.0";
+    sha256 = "100j5k4sfc2dpj3nplzjcaxw1bwy3hsy5cw93asg00kda9h8dbb1";
   };
   harfbuzz = {
     url = "https://github.com/hugopl/harfbuzz.cr.git";
-    rev = "v0.1.0";
-    sha256 = "1lcb778b4k34sqxg979fpl425bbzf2gikjf2m5aj6x1fzxn46jg0";
+    rev = "v0.2.0";
+    sha256 = "06wgqxwyib5416yp53j2iwcbr3bl4jjxb1flm7z103l365par694";
+  };
+  libadwaita = {
+    url = "https://github.com/geopjr/libadwaita.cr.git";
+    rev = "cffabb56e911d2a90c53c2fd14d6bd08bf5ac446";
+    sha256 = "0gcq04vgxg0vff9fcalgzq9phq0y76diihkzhlfn91bdxwkx7rl3";
+  };
+  non-blocking-spawn = {
+    url = "https://github.com/geopjr/non-blocking-spawn.git";
+    rev = "v1.0.5";
+    sha256 = "139gr87zlw0k9kf6pf9k2d88aa9x3kcnfg34qpbqrwsrck7708za";
   };
   pango = {
     url = "https://github.com/hugopl/pango.cr.git";
     rev = "v0.2.0";
     sha256 = "0dl3qrhi2ybylmvzx1x5gsznp2pcdkc50waxrljxwnf5avn8ixsf";
   };
-  libadwaita = {
-    url = "https://github.com/geopjr/libadwaita.cr.git";
-    rev = "203737fc96bb48e1a710cb68e896d2c5b9c1a6e5";
-    sha256 = "11c2knxncjnwg4cgppfllxwgli1hf6sjyyx4ii8rgmnbird6xcmh";
-  };
 }
diff --git a/pkgs/applications/misc/cura/numpy-cast.patch b/pkgs/applications/misc/cura/numpy-cast.patch
deleted file mode 100644
index efb14182b3e65..0000000000000
--- a/pkgs/applications/misc/cura/numpy-cast.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN Cura-15.04.old/Cura/util/sliceEngine.py Cura-15.04/Cura/util/sliceEngine.py
---- Cura-15.04.old/Cura/util/sliceEngine.py	2016-05-07 20:34:17.305020334 +0200
-+++ Cura-15.04/Cura/util/sliceEngine.py	2016-05-07 20:40:02.993286467 +0200
-@@ -343,7 +343,7 @@
- 						objMax[1] = max(oMax[1], objMax[1])
- 			if objMin is None:
- 				return
--			pos += (objMin + objMax) / 2.0 * 1000
-+			pos = numpy.add( pos, (objMin + objMax) / 2.0 * 1000, out=pos, casting='unsafe')
- 			commandList += ['-s', 'posx=%d' % int(pos[0]), '-s', 'posy=%d' % int(pos[1])]
- 
- 			vertexTotal = [0] * 4
diff --git a/pkgs/applications/misc/flowtime/default.nix b/pkgs/applications/misc/flowtime/default.nix
index 6ede1b080f25c..f2c80a35beb62 100644
--- a/pkgs/applications/misc/flowtime/default.nix
+++ b/pkgs/applications/misc/flowtime/default.nix
@@ -7,11 +7,7 @@
 , wrapGAppsHook4
 , libadwaita
 , libxml2
-, libgee
-, gst_all_1
-, gobject-introspection
 , desktop-file-utils
-, glib
 , pkg-config
 , libportal-gtk4
 , blueprint-compiler
@@ -31,8 +27,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     blueprint-compiler
     desktop-file-utils
-    glib
-    gobject-introspection
     meson
     ninja
     pkg-config
@@ -43,18 +37,14 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libadwaita
     libxml2
-    libgee
     libportal-gtk4
-  ] ++ (with gst_all_1; [
-    gstreamer
-    gst-plugins-base
-    gst-plugins-bad
-  ]);
+  ];
 
   meta = with lib; {
     description = "Get what motivates you done, without losing concentration";
     homepage = "https://github.com/Diego-Ivan/Flowtime";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ foo-dogsquared pokon548 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix
index bb47e1a251adf..2f3c3b99dd417 100644
--- a/pkgs/applications/misc/fluidd/default.nix
+++ b/pkgs/applications/misc/fluidd/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "fluidd";
-  version = "1.26.0";
+  version = "1.26.3";
 
   src = fetchurl {
     name = "fluidd-v${version}.zip";
     url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
-    sha256 = "sha256-Y0d3TgSLrxA2kPWlHrNC8GlEcD7s4VZR2YZlderZ3gI=";
+    sha256 = "sha256-42Whp2U6gq8vOjmQnU4Yy8EBsQ21av7wIQhMVFmiFfU=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/fluxboxlauncher/default.nix b/pkgs/applications/misc/fluxboxlauncher/default.nix
index 4794e14b4698e..719f08db6bcdf 100644
--- a/pkgs/applications/misc/fluxboxlauncher/default.nix
+++ b/pkgs/applications/misc/fluxboxlauncher/default.nix
@@ -46,6 +46,11 @@ python3.pkgs.buildPythonApplication rec {
     pygobject3
   ];
 
+  postInstall = ''
+    install -Dm444 fluxboxlauncher.desktop -t $out/share/applications
+    install -Dm444 fluxboxlauncher.svg -t $out/share/icons/hicolor/scalable/apps
+  '';
+
   meta = with lib; {
     description = "A Gui editor (gtk) to configure applications launching on a fluxbox session";
     homepage = "https://github.com/mothsART/fluxboxlauncher";
diff --git a/pkgs/applications/misc/gnome-firmware/default.nix b/pkgs/applications/misc/gnome-firmware/default.nix
index c1cd58a50e47d..defaad0d2c973 100644
--- a/pkgs/applications/misc/gnome-firmware/default.nix
+++ b/pkgs/applications/misc/gnome-firmware/default.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-firmware";
-  version = "43.2";
+  version = "45.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "gnome-firmware";
     rev = version;
-    sha256 = "oplypNSj028cVBn+eJxNm5pJltp7Cw5Oto/L39pI0vA=";
+    sha256 = "sha256-KVyxOl7RdL80ZiEyiT+XGa/6Ss2g+5y+LIrR9TSRE+I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix
index 131cd28764ecc..5c28cd2443e40 100644
--- a/pkgs/applications/misc/houdini/default.nix
+++ b/pkgs/applications/misc/houdini/default.nix
@@ -71,6 +71,8 @@ buildFHSEnv rec {
       "bin/hotl"  # hda/otl manipulation tool
       "bin/hython"  # hython
       "bin/hkey"  # license administration
+      "bin/husk"  # hydra rendereing tool
+      "bin/mantra"  # mantra renderer
       "houdini/sbin/sesinetd"
     ];
   in ''
@@ -80,7 +82,7 @@ buildFHSEnv rec {
       mkdir -p $out/$(dirname $executable)
 
       echo "#!${stdenv.shell}" >> $out/$executable
-      echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
+      echo "$WRAPPER ${unwrapped}/$executable \"\$@\"" >> $out/$executable
     done
 
     cd $out
@@ -93,6 +95,6 @@ buildFHSEnv rec {
   ];
 
   runScript = writeScript "${name}-wrapper" ''
-    exec $@
+    exec "$@"
   '';
 }
diff --git a/pkgs/applications/misc/houdini/runtime-build.nix b/pkgs/applications/misc/houdini/runtime-build.nix
new file mode 100644
index 0000000000000..60f27c1949642
--- /dev/null
+++ b/pkgs/applications/misc/houdini/runtime-build.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, requireFile, bc, version, src, eulaDate }:
+
+let
+  license_dir = "~/.config/houdini";
+in
+stdenv.mkDerivation rec {
+  inherit version src;
+  pname = "houdini-runtime";
+
+  buildInputs = [ bc ];
+  installPhase = ''
+    patchShebangs houdini.install
+    mkdir -p $out
+    ./houdini.install --install-houdini \
+                      --install-license \
+                      --no-install-menus \
+                      --no-install-bin-symlink \
+                      --auto-install \
+                      --no-root-check \
+                      --accept-EULA ${eulaDate} \
+                      $out
+    echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt  # does not seem to do anything any more. not sure, official docs do not say anything about it
+  '';
+
+  dontFixup = true;
+
+  meta = with lib; {
+    description = "3D animation application software";
+    homepage = "https://www.sidefx.com";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    hydraPlatforms = [ ]; # requireFile src's should be excluded
+    maintainers = with maintainers; [ canndrew kwohlfahrt ];
+  };
+}
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index 2f218781abb6e..e437dd51c8850 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -1,40 +1,14 @@
-{ lib, stdenv, requireFile, bc }:
+{ lib, stdenv, requireFile, callPackage}:
 
 let
   license_dir = "~/.config/houdini";
 in
-stdenv.mkDerivation rec {
+callPackage ./runtime-build.nix rec {
   version = "19.5.569";
-  pname = "houdini-runtime";
+  eulaDate = "2021-10-13";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc9.3.tar.gz";
     sha256 = "0c2d6a31c24f5e7229498af6c3a7cdf81242501d7a0792e4c33b53a898d4999e";
-    url = meta.homepage;
-  };
-
-  buildInputs = [ bc ];
-  installPhase = ''
-    patchShebangs houdini.install
-    mkdir -p $out
-    ./houdini.install --install-houdini \
-                      --install-license \
-                      --no-install-menus \
-                      --no-install-bin-symlink \
-                      --auto-install \
-                      --no-root-check \
-                      --accept-EULA 2021-10-13 \
-                      $out
-    echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt  # does not seem to do anything any more. not sure, official docs do not say anything about it
-  '';
-
-  dontFixup = true;
-
-  meta = with lib; {
-    description = "3D animation application software";
-    homepage = "https://www.sidefx.com";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    hydraPlatforms = [ ]; # requireFile src's should be excluded
-    maintainers = with maintainers; [ canndrew kwohlfahrt ];
+    url = "https://www.sidefx.com/download/daily-builds/?production=true";
   };
 }
diff --git a/pkgs/applications/misc/itd/default.nix b/pkgs/applications/misc/itd/default.nix
index 945e8978d82af..ce95eb69bc4fc 100644
--- a/pkgs/applications/misc/itd/default.nix
+++ b/pkgs/applications/misc/itd/default.nix
@@ -8,10 +8,10 @@ buildGoModule rec {
   pname = "itd";
   version = "1.1.0";
 
-  # https://gitea.arsenm.dev/Arsen6331/itd/tags
+  # https://gitea.elara.ws/Elara6331/itd/tags
   src = fetchFromGitea {
-    domain = "gitea.arsenm.dev";
-    owner = "Arsen6331";
+    domain = "gitea.elara.ws";
+    owner = "Elara6331";
     repo = "itd";
     rev = "v${version}";
     hash = "sha256-95/9Qy0HhrX+ORuv6g1T4/Eq1hf539lYG5fTkLeY6B0=";
@@ -34,7 +34,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "itd is a daemon to interact with the PineTime running InfiniTime";
-    homepage = "https://gitea.arsenm.dev/Arsen6331/itd";
+    homepage = "https://gitea.elara.ws/Elara6331/itd";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mindavi raphaelr ];
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 3eff3c3d79f32..d8a6ff79ad4cd 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "18822";
+  version = "18907";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      hash = "sha256-pzB12lkcWGJ7sVdcfJZC2MnUowfWdElxny0pSQ5vjlw=";
+      hash = "sha256-EASSuZn18oruUmPFNZ1Bwv0krTJa0tw4ddTJzkGEjW8=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      hash = "sha256-MFiWbEU8C6Jvq9wkIKANQeqJh2/yC3y40ANnGEl4IF0=";
+      hash = "sha256-tEJKBst+n669JENURd9ipFzV7yS/JZWEYkflq8d4g2Q=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-/zdOaiyuvSwdVZcnw0ghDj2I+YKpFLc12fjZUMtRtVg=";
+      sha256 = "sha256-RFZGRTDdWP/goH/Ev16nhq1SjxYkfFr3djwSrotK7Fo=";
     };
   };
 in
diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix
index bc779fb9b65f0..0654974eb9390 100644
--- a/pkgs/applications/misc/khard/default.nix
+++ b/pkgs/applications/misc/khard/default.nix
@@ -1,12 +1,12 @@
 { lib, python3, fetchPypi, khard, testers }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "0.19.0";
+  version = "0.19.1";
   pname = "khard";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5ki+adfz7m0+FbxC9+IXHLn8oeLKLkASuU15lyDATKQ=";
+    sha256 = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix
index 0901e82f3d0bf..a119dc6633f20 100644
--- a/pkgs/applications/misc/klayout/default.nix
+++ b/pkgs/applications/misc/klayout/default.nix
@@ -43,6 +43,9 @@ mkDerivation rec {
   postBuild = ''
     mkdir $out/bin
     mv $out/lib/klayout $out/bin/
+
+    install -Dm444 etc/klayout.desktop -t $out/share/applications
+    install -Dm444 etc/logo.png $out/share/icons/hicolor/256x256/apps/klayout.png
   '';
 
   env.NIX_CFLAGS_COMPILE = toString [ "-Wno-parentheses" ];
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 03c1702b20736..95c98d9665a62 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
     install -d $out/bin
     install build/llpp $out/bin
     install misc/llpp.inotify $out/bin/llpp.inotify
+    install -Dm444 misc/llpp.desktop -t $out/share/applications
   '' + lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/llpp \
         --prefix PATH ":" "${xclip}/bin"
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index a40064bb5ff80..f4e07656752cf 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: let
 
 in {
   pname = "logseq";
-  version = "0.9.20";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    hash = "sha256-iT0Gc/ePx1tUNTPoE2Ol+dHUmbS4CkneZbyraRBx5Ak=";
+    hash = "sha256-igZM+kNe1GDPYckXU6fOjyovHe9gwyBWr7Mc3BxAzOA=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
index cf1258dfff380..99c330fa68041 100644
--- a/pkgs/applications/misc/lscolors/default.nix
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lscolors";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-C7aM9jlChRwPvYnBjLbV+sfbTHDVVi6evIR5PvT9jN4=";
+    hash = "sha256-gLtQIqdU6syTo+Z+P59kIpwEtiGCr/DOom9+jA8Uq98=";
   };
 
-  cargoHash = "sha256-93FAEhl0WFXRq1SaoLRNDd/fy7NyDbeRFgIqUWAssQE=";
+  cargoHash = "sha256-OA9iYGwKElvRaKoyelH9w5ZphoLKrbk8VXwZ2NyLLQY=";
 
   buildFeatures = [ "nu-ansi-term" ];
 
diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix
index 2745dca8a02cc..bc85e674c575e 100644
--- a/pkgs/applications/misc/mediaelch/default.nix
+++ b/pkgs/applications/misc/mediaelch/default.nix
@@ -24,13 +24,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mediaelch";
-  version = "2.10.4";
+  version = "2.10.6";
 
   src = fetchFromGitHub {
     owner = "Komet";
     repo = "MediaElch";
     rev = "v${version}";
-    hash = "sha256-gNpnmyUKDXf40+1JmJzNyEPIv/DO8b3CdJAphheEvTU=";
+    hash = "sha256-qc7HaCMAmALY9MoIKmaCWF0cnwBBFDAXwqiBzwzu2bU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 094f8c17903d7..b6a5166bd213d 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mediainfo";
-  version = "23.10";
+  version = "23.11";
 
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    hash = "sha256-t0OuJSHZ2Oi5pYUNfCop3jC6d321JzjQ37oXzARnduc=";
+    hash = "sha256-gByxsNG//MEibeymISoe41Mi6LsSYwozu7B6kqioycM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/applications/misc/mobilecoin-wallet/default.nix b/pkgs/applications/misc/mobilecoin-wallet/default.nix
index 3d0cbdcefa170..1bde970c1e155 100644
--- a/pkgs/applications/misc/mobilecoin-wallet/default.nix
+++ b/pkgs/applications/misc/mobilecoin-wallet/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "mobilecoin-wallet";
-  version = "1.5.0";
+  version = "1.8.0";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin-Wallet-${version}.AppImage";
-    sha256 = "sha256-zSTtnKvgcDSiicEDuVK2LN2d8WHiGReYI3XLBmm3Fbo=";
+    url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin.Wallet-${version}.AppImage";
+    hash = "sha256-XGU/xxsMhOBAh+MeMtL2S707yH8HnoO9w5l7zqjO6rs=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 
@@ -34,6 +34,7 @@ in appimageTools.wrapType2 {
     homepage = "https://github.com/mobilecoinofficial/desktop-wallet";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
+    mainProgram = "mobilecoin-wallet";
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/navi/default.nix b/pkgs/applications/misc/navi/default.nix
index 4049f95b1949d..6cf0044207093 100644
--- a/pkgs/applications/misc/navi/default.nix
+++ b/pkgs/applications/misc/navi/default.nix
@@ -33,6 +33,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/denisidoro/navi";
     license = licenses.asl20;
     platforms = platforms.unix;
+    mainProgram = "navi";
     maintainers = with maintainers; [ cust0dian ];
   };
 }
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index 798c15fffde93..a2882e16f93ef 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -12,6 +12,7 @@
 , pkg-config
 , vala
 , wrapGAppsHook4
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
+
+  patches = [
+    # Fixes the compilation error with new Vala compiler. Remove in the next version.
+    (fetchpatch {
+      url = "https://github.com/musicinmybrain/notejot/commit/c6a7cfcb792de63fb51eb174f9f3d4e02f6a2ce1.patch";
+      hash = "sha256-dexPKIpUaAu/p0K2WQpElhPNt86CS+jD0dPL5+CTl4I=";
+    })
+  ];
+
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/nwg-displays/default.nix b/pkgs/applications/misc/nwg-displays/default.nix
index 18ba079088af7..ade4b4214ff4d 100644
--- a/pkgs/applications/misc/nwg-displays/default.nix
+++ b/pkgs/applications/misc/nwg-displays/default.nix
@@ -46,6 +46,11 @@ python310Packages.buildPythonApplication rec {
 
   dontWrapGApps = true;
 
+  postInstall = ''
+    install -Dm444 nwg-displays.svg -t $out/share/icons/hicolor/scalable/apps
+    install -Dm444 nwg-displays.desktop -t $out/share/applications
+  '';
+
   preFixup = ''
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}");
   '';
diff --git a/pkgs/applications/misc/pe-bear/default.nix b/pkgs/applications/misc/pe-bear/default.nix
index a50b53378e7dc..1275f8f0db56f 100644
--- a/pkgs/applications/misc/pe-bear/default.nix
+++ b/pkgs/applications/misc/pe-bear/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pe-bear";
-  version = "0.6.5.2";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "hasherezade";
     repo = "pe-bear";
     rev = "v${version}";
-    sha256 = "sha256-00OebZZUUwQ1yruTKEUj+bNEKY/CuzdLEbejnnagPnY=";
+    sha256 = "sha256-WuuhQxjmV/AlmM1z85paUbpIaBht4fgqY8yvtZ0hPKQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix
index 9f765793dc9a3..eb0944fd2a033 100644
--- a/pkgs/applications/misc/rsibreak/default.nix
+++ b/pkgs/applications/misc/rsibreak/default.nix
@@ -4,15 +4,12 @@
   knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash
 }:
 
-let
+mkDerivation rec {
   pname = "rsibreak";
-  version = "0.12";
-  revision = ".13";
-in mkDerivation rec {
-  name = "rsibreak-${version}${revision}";
+  version = "0.12.13";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${version}/${name}.tar.xz";
+    url = "mirror://kde/stable/rsibreak/${version}/rsibreak-${version}.tar.xz";
     sha256 = "N0C+f788fq5yotSC54H2K4WDc6PnGi8Nh/vXL4v0fxo=";
   };
 
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index 6c839f65d942e..39bb82aaaef6d 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -25,6 +25,10 @@ buildPythonApplication rec {
     hash = "sha256-tvsBTf6+zKBzB5aL+LUcEvE4jmVHnnoY0L4xoKMJ0vM=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py --replace "root_dir = sys.prefix" "root_dir = '/'"
+  '';
+
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
@@ -49,9 +53,7 @@ buildPythonApplication rec {
   dontWrapGApps = true;
 
   postInstall = ''
-    mkdir -p $out/share/applications
-    cp -r safeeyes/platform/icons $out/share/icons/
-    cp safeeyes/platform/io.github.slgobinath.SafeEyes.desktop $out/share/applications/io.github.slgobinath.SafeEyes.desktop
+    mv $out/lib/python*/site-packages/share $out/share
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix
index 9ef5acb28fe12..8553f1a1d6528 100644
--- a/pkgs/applications/misc/skytemple/default.nix
+++ b/pkgs/applications/misc/skytemple/default.nix
@@ -57,6 +57,11 @@ python3Packages.buildPythonApplication rec {
 
   doCheck = false; # there are no tests
 
+  postInstall = ''
+    install -Dm444 org.skytemple.SkyTemple.desktop -t $out/share/applications
+    install -Dm444 installer/skytemple.ico $out/share/icons/hicolor/256x256/apps/org.skytemple.SkyTemple.ico
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/SkyTemple/skytemple";
     description = "ROM hacking tool for Pokémon Mystery Dungeon Explorers of Sky";
diff --git a/pkgs/applications/misc/snowmachine/default.nix b/pkgs/applications/misc/snowmachine/default.nix
deleted file mode 100644
index 022d75030d0ac..0000000000000
--- a/pkgs/applications/misc/snowmachine/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ buildPythonPackage, lib, click, colorama, fetchPypi, setuptools-git }:
-
-buildPythonPackage rec {
-  pname = "snowmachine";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1v385hhxy2a8vx5p0fhn0di8l4qfpb0a86j6nwsg0aw6ngb09qf1";
-  };
-
-  buildInputs = [ setuptools-git ];
-  propagatedBuildInputs = [ click colorama ];
-
-  doCheck = false;
-  pythonImportsCheck = [ "snowmachine" ];
-
-  meta = with lib; {
-    description = "A python script that will make your terminal snow";
-    homepage = "https://github.com/sontek/snowmachine";
-    license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ djanatyn ];
-  };
-}
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 4f1a5fdef6b3e..53eb0fca5ae26 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -33,14 +33,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.4.8";
+  version = "1.4.9";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-Fy3cy6c36Qsi8F7cC/MI8g6tdfkn8fDBncL+ZOoiGcs=";
+    sha256 = "sha256-I9+q9GQ1QMbo7BdVG159iRYbDvRyfXmwBIW5AeJ3sC4=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/system76-keyboard-configurator/default.nix b/pkgs/applications/misc/system76-keyboard-configurator/default.nix
index 21cec72c5f808..737c713fb79c8 100644
--- a/pkgs/applications/misc/system76-keyboard-configurator/default.nix
+++ b/pkgs/applications/misc/system76-keyboard-configurator/default.nix
@@ -30,6 +30,11 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-S4+cS4m69nqDN2h0vwyO35fFFBEa0Rcxx0XDBfSNLp0=";
 
+  postInstall = ''
+    install -Dm444 linux/com.system76.keyboardconfigurator.desktop -t $out/share/applications
+    cp -r data/icons $out/share
+  '';
+
   meta = with lib; {
     description = "Keyboard configuration application for System76 keyboards and laptops";
     homepage = "https://github.com/pop-os/keyboard-configurator";
diff --git a/pkgs/applications/misc/tellico/hex.patch b/pkgs/applications/misc/tellico/hex.patch
deleted file mode 100644
index 999c502287e99..0000000000000
--- a/pkgs/applications/misc/tellico/hex.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-index 7ea81c7..0c19767 100644
---- a/src/utils/iso5426converter.cpp
-+++ b/src/utils/iso5426converter.cpp
-@@ -1211,7 +1211,11 @@ QChar Iso5426Converter::getCombiningChar(uint c) {
-     return 0x1EF1; // SMALL LETTER U WITH HORN AND DOT BELOW
- 
-   default:
-+#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
-+    myDebug() << "no match for" << hex << c;
-+#else
-     myDebug() << "no match for" << Qt::hex << c;
-+#endif
-     return QChar();
-   }
- }
diff --git a/pkgs/applications/misc/thedesk/default.nix b/pkgs/applications/misc/thedesk/default.nix
index 5d704acb23513..faf32c96a19e3 100644
--- a/pkgs/applications/misc/thedesk/default.nix
+++ b/pkgs/applications/misc/thedesk/default.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     mv usr $out
     mv opt $out
 
+    # binary is not used and probably vulnerable to CVE(s)
+    rm $out/opt/TheDesk/thedesk
+
     substituteInPlace $out/share/applications/thedesk.desktop \
       --replace '/opt/TheDesk' $out/bin
 
diff --git a/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch b/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch
deleted file mode 100644
index f14d7f7180271..0000000000000
--- a/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 86cc27022015697a61d1ec1b13e52f9dbe7f6c57 Mon Sep 17 00:00:00 2001
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Mon, 23 Mar 2020 18:34:00 -0400
-Subject: [PATCH] Adjust get_data_path for NixOS
-
-We construct the ulauncher data path from xdg_data_dirs
-and prevent it from being a nix store path or being xdg_data_home.
-We do this to prevent /nix/store paths being hardcoded to shortcuts.json.
-On NixOS this path will either be /run/current-system/sw/share/ulauncher
-or $HOME/.nix-profile/share/ulauncher if the user used nix-env.
----
- ulauncher/config.py | 27 ++++++++++++++++++---------
- 1 file changed, 18 insertions(+), 9 deletions(-)
-
-diff --git a/ulauncher/config.py b/ulauncher/config.py
-index f21014e..cc636e1 100644
---- a/ulauncher/config.py
-+++ b/ulauncher/config.py
-@@ -50,15 +50,24 @@ def get_data_path():
-     is specified at installation time.
-     """
- 
--    # Get pathname absolute or relative.
--    path = os.path.join(
--        os.path.dirname(__file__), __ulauncher_data_directory__)
--
--    abs_data_path = os.path.abspath(path)
--    if not os.path.exists(abs_data_path):
--        raise ProjectPathNotFoundError(abs_data_path)
--
--    return abs_data_path
-+    paths = list(
-+        filter(
-+            os.path.exists,
-+            [
-+                os.path.join(dir, "ulauncher")
-+                for dir in xdg_data_dirs
-+                # Get path that isn't in the /nix/store so they don't get hardcoded into configs
-+                if not dir.startswith("/nix/store/")
-+                # Exclude .local/share/ulauncher which isn't what we want
-+                if not dir.startswith(xdg_data_home)
-+            ],
-+        )
-+    )
-+
-+    try:
-+        return paths[0]
-+    except:
-+        raise ProjectPathNotFoundError()
- 
- 
- def is_wayland():
--- 
-2.25.1
-
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index 6afadb1b5c79b..306d9995ae38b 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
-, qmake
 , qtbase
 , qtscript
 , qtsvg
diff --git a/pkgs/applications/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix
index f3a0f25552d9e..f7b3f6837f7c6 100644
--- a/pkgs/applications/misc/xygrib/default.nix
+++ b/pkgs/applications/misc/xygrib/default.nix
@@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
       wrapQtApp $out/XyGrib/XyGrib
       mkdir -p $out/bin
       ln -s $out/XyGrib/XyGrib $out/bin/xygrib
+      install -Dm444 $src/debian/xygrib.png -t $out/share/icons/hicolor/32x32/apps
+      install -Dm444 $src/debian/xygrib.desktop -t $out/share/applications
+      substituteInPlace $out/share/applications/xygrib.desktop \
+        --replace 'Exec=XyGrib' 'Exec=xygrib'
     '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch b/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch
new file mode 100644
index 0000000000000..99a8c521a08af
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch
@@ -0,0 +1,43 @@
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index de1cd6e..bb5700b 100644
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -616,24 +616,6 @@ config("compiler") {
+       }
+     }
+ 
+-    # TODO(crbug.com/1488374): This causes binary size growth and potentially
+-    # other problems.
+-    # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
+-    if (default_toolchain != "//build/toolchain/cros:target" &&
+-        !llvm_android_mainline) {
+-      cflags += [
+-        "-mllvm",
+-        "-split-threshold-for-reg-with-hint=0",
+-      ]
+-      if (use_thin_lto && is_a_target_toolchain) {
+-        if (is_win) {
+-          ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
+-        } else {
+-          ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
+-        }
+-      }
+-    }
+-
+     # TODO(crbug.com/1235145): Investigate why/if this should be needed.
+     if (is_win) {
+       cflags += [ "/clang:-ffp-contract=off" ]
+@@ -800,13 +782,6 @@ config("compiler") {
+       if (is_apple) {
+         ldflags += [ "-Wcrl,object_path_lto" ]
+       }
+-      if (!is_chromeos) {
+-        # TODO(https://crbug.com/972449): turn on for ChromeOS when that
+-        # toolchain has this flag.
+-        # We only use one version of LLVM within a build so there's no need to
+-        # upgrade debug info, which can be expensive since it runs the verifier.
+-        ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
+-      }
+     }
+ 
+     # TODO(https://crbug.com/1211155): investigate why this isn't effective on
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 249c8b45f3f5c..a322a171051ff 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -246,6 +246,7 @@ let
       # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21):
       # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
       ./patches/angle-wayland-include-protocol.patch
+    ] ++ lib.optionals (!chromiumVersionAtLeast "120") [
       # We need to revert this patch to build M114+ with LLVM 16:
       (githubPatch {
         # Reland [clang] Disable autoupgrading debug info in ThinLTO builds
@@ -253,6 +254,9 @@ let
         hash = "sha256-Vryjg8kyn3cxWg3PmSwYRG6zrHOqYWBMSdEMGiaPg6M=";
         revert = true;
       })
+    ] ++ lib.optionals (chromiumVersionAtLeast "120") [
+      # We need to revert this patch to build M120+ with LLVM 16:
+      ./chromium-120-llvm-16.patch
     ] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [
       # Fix build with at-spi2-core ≥ 2.49
       # This version is still needed for electron.
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 7c2c75e749741..c1ac2dee602cb 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,6 +1,5 @@
 { newScope, config, stdenv, fetchurl, makeWrapper
 , buildPackages
-, llvmPackages_16
 , ed, gnugrep, coreutils, xdg-utils
 , glib, gtk3, gtk4, gnome, gsettings-desktop-schemas, gn, fetchgit
 , libva, pipewire, wayland
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix
index 9b90f94dbcacf..8d1bc8f449cc3 100644
--- a/pkgs/applications/networking/browsers/floorp/default.nix
+++ b/pkgs/applications/networking/browsers/floorp/default.nix
@@ -7,19 +7,19 @@
 
 ((buildMozillaMach rec {
   pname = "floorp";
-  packageVersion = "11.6.0";
+  packageVersion = "11.6.1";
   applicationName = "Floorp";
   binaryName = "floorp";
 
   # Must match the contents of `browser/config/version.txt` in the source tree
-  version = "155.5.0";
+  version = "115.6.0";
 
   src = fetchFromGitHub {
     owner = "Floorp-Projects";
     repo = "Floorp";
     fetchSubmodules = true;
     rev = "v${packageVersion}";
-    hash = "sha256-5OQZckST6l9OZ7jnj52nuALCWiH1hVdDoDHSpqwUUfA=";
+    hash = "sha256-pxKzRS7uTFMxJ1F1CMRHdyU/zcqGDjLWMWZCmoT/eh8=";
   };
 
   extraConfigureFlags = [
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 6375e074a34aa..e4c3442c47489 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lagrange";
-  version = "1.17.4";
+  version = "1.17.5";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-vzdlcyA+RCr8RH0KbTiUah8lS++Xq6gLCHbgHHBFEig=";
+    hash = "sha256-q50r0jH7opIh3r08jAwYmFWl1e/x9qVL+mUEf8JVfuc=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 9662b1b54e0db..65ce8374f3578 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "120.0-1",
+  "packageVersion": "120.0.1-1",
   "source": {
-    "rev": "120.0-1",
-    "sha256": "1wms3kyimmfzl64rbphgap2sm87lwkl0pr24rx4rxf3px3bq97f3"
+    "rev": "120.0.1-1",
+    "sha256": "0kvfa97m7dq1b030d62zblpb445fkbgb2w19bckxwxv7mx36awy7"
   },
   "settings": {
-    "rev": "b587388bdbe63511c478cb8b5f82c2e80040414c",
-    "sha256": "03cw6wh7358pgld4qgs534pl2lnfvwc0xl2yyb3n3pyvmba6cyrp"
+    "rev": "9dac02778ebed3e2614da52c36b7cede45f4f602",
+    "sha256": "0flk6v50cyiaajzcz9gm1hig00vkw9xdbjd5rdxidrmhcqxy24vy"
   },
   "firefox": {
-    "version": "120.0",
-    "sha512": "31d5f9e1d4173280c8de6d9b8551bc6bba5e2c49b84f944f50d42002d5b39c2fb743bc130f26c81160388a102b8301b94a0a378ecdfa6f943860f971a860df8c"
+    "version": "120.0.1",
+    "sha512": "dd0e3eb234d58c39431d1f100834ef4bcc8cfb89ff471a37b948eda4dd3874b63b1979cda39a0db0dd3b4a579b5f09a7d2d1f39d26fd9f2b8d5635e4b8738b6c"
   }
 }
diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
index 5794a04489daa..ff26d1534b2ee 100644
--- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix
+++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
@@ -90,7 +90,7 @@ let
       ++ lib.optionals mediaSupport [ ffmpeg ]
   );
 
-  version = "13.0.4";
+  version = "13.0.6";
 
   sources = {
     x86_64-linux = fetchurl {
@@ -102,7 +102,7 @@ let
         "https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
         "https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
       ];
-      hash = "sha256-qK67rf9zkMA53WFIcMCsPUH4m6YkMVqAUsHiGsy/xN4=";
+      hash = "sha256-+CLMAXdyqp0HLe68lzp7p54n2HGZQPwZGckwVxOg4Pw=";
     };
   };
 
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 02e000cf4e65f..785c03755c13b 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -41,7 +41,7 @@
 , at-spi2-core
 , autoPatchelfHook
 , wrapGAppsHook
-, qt5
+, qt6
 , proprietaryCodecs ? false
 , vivaldi-ffmpeg-codecs
 }:
@@ -51,11 +51,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "opera";
-  version = "100.0.4815.47";
+  version = "105.0.4970.21";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    hash = "sha256-746imLXqxzf9zK2QEVRuWkLA6m+HHXBYZFUwTD0HEVc=";
+    hash = "sha256-fgbR7qAWKaZgxMeMo1/le8g1/zSoTl+5iIJeKl1Rc3Y=";
   };
 
   unpackPhase = "dpkg-deb -x $src .";
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
     dpkg
     autoPatchelfHook
     wrapGAppsHook
-    qt5.wrapQtAppsHook
+    qt6.wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -103,6 +103,7 @@ stdenv.mkDerivation rec {
     nss
     pango
     stdenv.cc.cc.lib
+    qt6.qtbase
   ];
 
   runtimeDependencies = [
@@ -128,6 +129,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp -r usr $out
     cp -r usr/share $out/share
+
+    # we already using QT6, autopatchelf wants to patch this as well
+    rm $out/usr/lib/x86_64-linux-gnu/opera/libqt5_shim.so
     ln -s $out/usr/bin/opera $out/bin/opera
   '';
 
diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix
index 2ea777728f95c..aa2337f86d70e 100644
--- a/pkgs/applications/networking/browsers/palemoon/bin.nix
+++ b/pkgs/applications/networking/browsers/palemoon/bin.nix
@@ -9,6 +9,7 @@
 , gtk2-x11
 , withGTK3 ? true
 , gtk3
+, libglvnd
 , libXt
 , libpulseaudio
 , makeDesktopItem
@@ -18,7 +19,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "palemoon-bin";
-  version = "32.5.0";
+  version = "32.5.1";
 
   src = fetchzip {
     urls = [
@@ -26,9 +27,9 @@ stdenv.mkDerivation (finalAttrs: {
       "https://rm-us.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
     ];
     hash = if withGTK3 then
-      "sha256-1MJ5K9Zc/BHeQwwlq3XyUV8XTFEpPytNyTnsDpE1tBI="
+      "sha256-hWqL/WoRRigw8cNeJImOQLM8hewyS3PYNGr2WYP+cMk="
     else
-      "sha256-xXunZTqoc2A+ilosRUUluxDwewD3xwITF5nb5Lbyv7Y=";
+      "sha256-dlBnXP3WUgQ0spkLRowfzMcPArhGfpowsvwgCA+kvUA=";
   };
 
   preferLocalBuild = true;
@@ -147,6 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
     gappsWrapperArgs+=(
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
         ffmpeg
+        libglvnd
         libpulseaudio
       ]}"
     )
diff --git a/pkgs/applications/networking/browsers/tor-browser/default.nix b/pkgs/applications/networking/browsers/tor-browser/default.nix
index ce72abe79e7bf..76cdf1c1df5a5 100644
--- a/pkgs/applications/networking/browsers/tor-browser/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser/default.nix
@@ -106,7 +106,7 @@ lib.warnIf (useHardenedMalloc != null)
       ++ lib.optionals mediaSupport [ ffmpeg ]
   );
 
-  version = "13.0.5";
+  version = "13.0.6";
 
   sources = {
     x86_64-linux = fetchurl {
@@ -116,7 +116,7 @@ lib.warnIf (useHardenedMalloc != null)
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
       ];
-      hash = "sha256-WZq8ig62Mu3q6OrVSaPbe6MLQ6pvFNo3yQMXC7PCGJY=";
+      hash = "sha256-7T+PJEsGIge+JJOz6GiG8971lnnbQL2jdHfldNmT4jQ=";
     };
 
     i686-linux = fetchurl {
@@ -126,7 +126,7 @@ lib.warnIf (useHardenedMalloc != null)
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
       ];
-      hash = "sha256-/enIdKLMRmJIjwXEo0i3hgHZKEtWaBgFzE1rtZMsqeY=";
+      hash = "sha256-nPhzUu1BYNij3toNRUFFxNVLZ2JnzDBFVlzo4cyskjY=";
     };
   };
 
diff --git a/pkgs/applications/networking/cluster/acorn/default.nix b/pkgs/applications/networking/cluster/acorn/default.nix
index 4b6e44ab020f4..decafe8602e68 100644
--- a/pkgs/applications/networking/cluster/acorn/default.nix
+++ b/pkgs/applications/networking/cluster/acorn/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "acorn";
-  version = "0.8.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "acorn-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ZS3YxXgMSu8+eRnpqrtaBTQIlSY3cscudcTbztiRsbM=";
+    hash = "sha256-l9V6URc5wY30z6W76n3xrGMHC43kDWfx0+1eznmcVi4=";
   };
 
-  vendorHash = "sha256-jkkzlMc2y8HvPZjpmRIQz64JK5yjhdoJevE0dclBHvA=";
+  vendorHash = "sha256-EJ66rX0Pv6KG9wiEZq1POf6CODbENP/LbS6qZkn3XWs=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index 4abcb0321d8cf..41dd4cbb08b97 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "7.4.1";
+  version = "7.5.0";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T8fPD0i15U/PzDOAVP0sifLYFHr76jD1o7q+nn+N0cY=";
+    sha256 = "sha256-LWfS722V0ubh4QaUNuGwrvFsVAzA9Hd5xLlDfTG0PBs=";
   };
   vendorHash = null;
 
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 8421c3157e5e7..1db39c3cf007f 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    hash = "sha256-cbmG9wK3yd79jCiNAKcSSx0COyh6CxR1bgIiCO3i++g=";
+    hash = "sha256-goXpNpb5tVOHeskRLw3CivYett3RxYBREAI+S74CMFQ=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 4104c40bf0457..b116f566c5cea 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.39.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-1i5x05q0Mo3E3ExM9qONRtQCH3nO7pXyNqOaAtz7qYE=";
+    sha256 = "sha256-IDKfW0NCEsgKXpHA7SwkHjMeoGAIYITlDVR/vI/b9hk=";
   };
 
-  vendorHash = "sha256-H/+LORl7Bjy1NshjtWDzj13YCrlQQgtBr4+Rz/rxQkY=";
+  vendorHash = "sha256-JFvC9PReziktHSXbltGkGHjVR8hTM1hPJ0OqrZQXRQM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/eks-node-viewer/default.nix b/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
index 80538f0f111c4..33c350b6bcb93 100644
--- a/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
+++ b/pkgs/applications/networking/cluster/eks-node-viewer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eks-node-viewer";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kfX9BzARDWUOBIu67j60K38uwkRELxd/gXtEHOHAXS8=";
+    sha256 = "sha256-BK84hxbwZSJDO5WoyborJnVBS5pB69jTMU1csgiT0sw=";
   };
 
-  vendorHash = "sha256-7axI7R8cTntc1IcOwVPmPj8MHeIvhbnkYKQdqu5fZOU=";
+  vendorHash = "sha256-EJAL5jNftA/g5H6WUMBJ98EyRp7QJ1C53EKr6GRz71I=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index a442142383095..8386bd2d59dbe 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,25 +2,25 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.18.2";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-eSftWXwV8W/mpxZNvUUDS27z3vU36vJj/z0/Wo5qEts=";
+    hash = "sha256-V07e0IbHlQLSVxzWClHX8PrwKY4DaMZmwy3IwGTD7jI=";
   };
-  vendorHash = "sha256-tuiQ11pcfoTOu+OVey+YmU4tTOj5C7p5bKP2ylEkUug=";
+  vendorHash = "sha256-PQYlqi4KDietVV2J5KiaoFqHg12l0bomj57lsTYkSPo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   # Bundle release metadata
   ldflags = let
     attrs = [
-      "istio.io/pkg/version.buildVersion=${version}"
-      "istio.io/pkg/version.buildStatus=Nix"
-      "istio.io/pkg/version.buildTag=${version}"
-      "istio.io/pkg/version.buildHub=docker.io/istio"
+      "istio.io/istio/pkg/version.buildVersion=${version}"
+      "istio.io/istio/pkg/version.buildStatus=Nix"
+      "istio.io/istio/pkg/version.buildTag=${version}"
+      "istio.io/istio/pkg/version.buildHub=docker.io/istio"
     ];
   in ["-s" "-w" "${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"];
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 924052c2d9b03..dbd04f026dfa2 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.31.2";
+  version = "1.32.0";
 
-  vendorHash = "sha256-5ChPdSIRI+Q3OLW+joukMpIFbUjU4TKpXT4wAARVVP8=";
+  vendorHash = "sha256-MzB+my1NwvZx9qfojuOlTHmuY6CyLFlrgr4UEuC5FBk=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-Ha0liXc2oXJ3dLty1veN5xN5BUKIiNXe8NTGqWDbTD0=";
+    sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 0d2a26478e7c0..96e6d9eec7d20 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PR3vhNfY84vKQaAMKmPPmY7kK3BRxELAC34NfMYXQPk=";
+    hash = "sha256-jjYSvY7NT9G/tcsM+9qHnsL81QKItyVMZZWuD2mpln0=";
   };
 
-  vendorHash = "sha256-qLxUAICm/SGy2iHAbg+12xmId+P335dFyjltYlB45iw=";
+  vendorHash = "sha256-O48QzyQLkt7T9j+CKQG8TcHlmtS+ykoMoCamsEswPjk=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/opentofu/default.nix b/pkgs/applications/networking/cluster/opentofu/default.nix
index ab960b7526ee4..b97e565b54c47 100644
--- a/pkgs/applications/networking/cluster/opentofu/default.nix
+++ b/pkgs/applications/networking/cluster/opentofu/default.nix
@@ -14,16 +14,17 @@
 let
   package =  buildGoModule rec {
     pname = "opentofu";
-    version = "1.6.0-beta1";
+    version = "1.6.0-beta2";
 
     src = fetchFromGitHub {
       owner = "opentofu";
       repo = "opentofu";
       rev = "v${version}";
-      hash = "sha256-bOZzMraJ1Bc5CauYkJLH4riCOhAbZlXh9TdBjJsp4Ds=";
+      hash = "sha256-zUMRjUcFIgLgNcUp+I48dDyncI4cjup4+HMXxxJdXU4=";
     };
-    vendorHash = "sha256-T67VFtAsw6Dn+Ma0znwaa53GvzmrNLFoU17rCeJehKw=";
-    ldflags = [ "-s" "-w" ];
+
+    vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk=";
+    ldflags = [ "-s" "-w" "-X" "github.com/opentofu/opentofu/version.dev=no" ];
 
     postConfigure = ''
       # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
@@ -35,7 +36,7 @@ let
     patches = [ ./provider-path-0_15.patch ];
 
     passthru = {
-      inherit plugins withPlugins;
+      inherit full plugins withPlugins;
       tests = { inherit opentofu_plugins_test; };
     };
 
@@ -59,11 +60,14 @@ let
       maintainers = with maintainers; [
         gmemstr
         nickcao
+        zowoq
       ];
       mainProgram = "tofu";
     };
   };
 
+  full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p.actualProviders));
+
   opentofu_plugins_test = let
     mainTf = writeText "main.tf" ''
       terraform {
@@ -107,7 +111,6 @@ let
       passthru = {
         withPlugins = newplugins:
           withPlugins (x: newplugins x ++ actualPlugins);
-        full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p.actualProviders));
 
         # Expose wrappers around the override* functions of the terraform
         # derivation.
diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix
index 68da1404bd822..bd5d62738b02b 100644
--- a/pkgs/applications/networking/cluster/rke2/default.nix
+++ b/pkgs/applications/networking/cluster/rke2/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rke2";
-  version = "1.28.2+rke2r1";
+  version = "1.28.3+rke2r1";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PkBnM6mKE90e8VZ3QHYp2mM4RgD9u1gNjFea3RaPGy0=";
+    hash = "sha256-0a659XE/Pg8g5Ui3ugUQeFnXJiWqkPbvhtdpLp4/5i8=";
   };
 
-  vendorHash = "sha256-aW8en8KJsPITKT4fIyhhtLiYdk+98iL14wQXG4HsM3U=";
+  vendorHash = "sha256-Kexu3l4iV8bIIFFae0KVypy2bTKwtl5ibEDQ7YP0JK0=";
 
   postPatch = ''
     # Patch the build scripts so they work in the Nix build environment.
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 80142048c6fe4..19c4b280a60cb 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -3,63 +3,55 @@
 , fetchzip
 , makeWrapper
 , jdk8
-, python3Packages
-, extraPythonPackages ? [ ]
+, python3
+, python310
 , coreutils
-, hadoopSupport ? true
 , hadoop
 , RSupport ? true
 , R
+, nixosTests
 }:
 
 let
-  spark = { pname, version, hash, extraMeta ? {} }:
-    stdenv.mkDerivation rec {
-      inherit pname version;
-      jdk = if hadoopSupport then hadoop.jdk else jdk8;
+  spark = { pname, version, hash, extraMeta ? {}, pysparkPython ? python3 }:
+    stdenv.mkDerivation (finalAttrs: {
+      inherit pname version hash hadoop R pysparkPython;
+      inherit (finalAttrs.hadoop) jdk;
       src = fetchzip {
-        url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
-        inherit hash;
+        url = with finalAttrs; "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
+        inherit (finalAttrs) hash;
       };
       nativeBuildInputs = [ makeWrapper ];
-      buildInputs = [ jdk python3Packages.python ]
-        ++ extraPythonPackages
-        ++ lib.optional RSupport R;
+      buildInputs = with finalAttrs; [ jdk pysparkPython ]
+        ++ lib.optional RSupport finalAttrs.R;
 
-      untarDir = "${pname}-${version}";
       installPhase = ''
-        mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java}
-        mv * $out/lib/${untarDir}
-
-        cp $out/lib/${untarDir}/conf/log4j.properties{.template,} || \
-          cp $out/lib/${untarDir}/conf/log4j2.properties{.template,}
-
-        cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
-        export JAVA_HOME="${jdk}"
-        export SPARK_HOME="$out/lib/${untarDir}"
-      '' + lib.optionalString hadoopSupport ''
-        export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath)
-      '' + ''
-        export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}"
-        export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
-        ${lib.optionalString RSupport ''
-          export SPARKR_R_SHELL="${R}/bin/R"
-          export PATH="\$PATH:${R}/bin"''}
-        EOF
-
-        for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
-          makeWrapper "$n" "$out/bin/$(basename $n)"
-          substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname
+        mkdir -p "$out/opt"
+        mv * $out/
+        for n in $(find $out/bin -type f -executable ! -name "find-spark-home"); do
+          wrapProgram "$n" --set JAVA_HOME "${finalAttrs.jdk}" \
+            --run "[ -z $SPARK_DIST_CLASSPATH ] && export SPARK_DIST_CLASSPATH=$(${finalAttrs.hadoop}/bin/hadoop classpath)" \
+            ${lib.optionalString RSupport ''--set SPARKR_R_SHELL "${finalAttrs.R}/bin/R"''} \
+            --prefix PATH : "${
+              lib.makeBinPath (
+                [ finalAttrs.pysparkPython ] ++
+                (lib.optionals RSupport [ finalAttrs.R ])
+              )}"
         done
-        for n in $(find $out/lib/${untarDir}/sbin -type f); do
-          # Spark deprecated scripts with "slave" in the name.
-          # This line adds forward compatibility with the nixos spark module for
-          # older versions of spark that don't have the new "worker" scripts.
-          ln -s "$n" $(echo "$n" | sed -r 's/slave(s?).sh$/worker\1.sh/g') || true
-        done
-        ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java
+        ln -s ${finalAttrs.hadoop} "$out/opt/hadoop"
+        ${lib.optionalString RSupport ''ln -s ${finalAttrs.R} "$out/opt/R"''}
       '';
 
+      passthru = {
+        tests = nixosTests.spark.default.passthru.override {
+          sparkPackage = finalAttrs.finalPackage;
+        };
+        # Add python packages to PYSPARK_PYTHON
+        withPythonPackages = f: finalAttrs.finalPackage.overrideAttrs (old: {
+          pysparkPython = old.pysparkPython.withPackages f;
+        });
+      };
+
       meta = {
         description = "Apache Spark is a fast and general engine for large-scale data processing";
         homepage = "https://spark.apache.org/";
@@ -68,24 +60,23 @@ let
         platforms = lib.platforms.all;
         maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ];
       } // extraMeta;
-    };
+    });
 in
 {
-  spark_3_4 = spark rec {
+  spark_3_5 = spark rec {
     pname = "spark";
-    version = "3.4.0";
-    hash = "sha256-0y80dRYzb6Ceu6MlGQHtpMdzOob/TBg6kf8dtF6KyCk=";
+    version = "3.5.0";
+    hash = "sha256-f+a4a23aOM0GCDoZlZ7WNXs0Olzyh3yMtO8ZmEoYvZ4=";
   };
-  spark_3_3 = spark rec {
+  spark_3_4 = spark rec {
     pname = "spark";
-    version = "3.3.2";
-    hash = "sha256-AeKe2QN+mhUJgZRSIgbi/DttAWlDgwC1kl9p7syEvbo=";
-    extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ];
+    version = "3.4.2";
+    hash = "sha256-qr0tRuzzEcarJznrQYkaQzGqI7tugp/XJpoZxL7tJwk=";
   };
-  spark_3_2 = spark rec {
+  spark_3_3 = spark rec {
     pname = "spark";
-    version = "3.2.4";
-    hash = "sha256-xL4W+dTWbvmmncq3/8iXmhp24rp5SftvoRfkTyxCI8E=";
-    extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ];
+    version = "3.3.3";
+    hash = "sha256-YtHxRYTwrwSle3UpFjRSwKcnLFj2m9/zLBENH/HVzuM=";
+    pysparkPython = python310;
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 62ca803c8b63c..6b0964adda717 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -9,14 +9,14 @@
     "vendorHash": null
   },
   "acme": {
-    "hash": "sha256-Yw+mkmRmetNKQhS5jpJ946ISj6Ga+G6hFArT0iVWNJ0=",
+    "hash": "sha256-hDZY+AY+MRHNbceVdAzLso9isUo/6/qTCk9hSZLBd2g=",
     "homepage": "https://registry.terraform.io/providers/vancluever/acme",
     "owner": "vancluever",
     "proxyVendor": true,
     "repo": "terraform-provider-acme",
-    "rev": "v2.18.0",
+    "rev": "v2.19.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-xpcloyR34rkarjJM2PWiLzFaJCpXWqPCP49Pmnk29nY="
+    "vendorHash": "sha256-1OfGAuzd+rLAgLmzzkm3Biru0vb/xd3C5DJQcXwdlME="
   },
   "age": {
     "hash": "sha256-bJrzjvkrCX93bNqCA+FdRibHnAw6cb61StqtwUY5ok4=",
@@ -37,20 +37,20 @@
     "vendorHash": "sha256-gRcWzrI8qNpP/xxGV6MOYm79h4mH4hH+NW8W2BbGdYw="
   },
   "akamai": {
-    "hash": "sha256-Du0ANsAHzV6zKobpiJzdy26JgIW1NRO6fbAHNMCDbaI=",
+    "hash": "sha256-CBBrX0mm6hyobOdhbDaud4HKupIMnDTJp7+kWSej+NI=",
     "homepage": "https://registry.terraform.io/providers/akamai/akamai",
     "owner": "akamai",
     "repo": "terraform-provider-akamai",
-    "rev": "v5.4.0",
+    "rev": "v5.5.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-4w3zYSO0GIL636FFuv1X4covAyFHVQ2Ah9N4RUQd7wM="
+    "vendorHash": "sha256-Y30DSv7gAW7JzaTYt0XGwLhTArFILPPnxYmP2mKe9Sc="
   },
   "alicloud": {
-    "hash": "sha256-GdoesVK4awNjMMBE6YuLIMh23WyMLKxABWLQ/y5H4kw=",
+    "hash": "sha256-bNTC4gvgeOR3v2AgvyL4Nr0Xhe4y8ZqTXPNBp9Mx3Dc=",
     "homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
     "owner": "aliyun",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.212.0",
+    "rev": "v1.213.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -82,22 +82,22 @@
     "vendorHash": "sha256-q9PO9tMbaXTs3nBLElwU05GcDZMZqNmLVVGDmiSRSfo="
   },
   "artifactory": {
-    "hash": "sha256-F491M8AS+nh4fCPUA/6R9c6MQ6CB29QJsWjk1L5LOwI=",
+    "hash": "sha256-XZLVJDBXCRy1TethERChTh2vw5ztjHNgjoVmPwtwA2E=",
     "homepage": "https://registry.terraform.io/providers/jfrog/artifactory",
     "owner": "jfrog",
     "repo": "terraform-provider-artifactory",
-    "rev": "v9.8.0",
+    "rev": "v9.9.2",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-Ne0ed+H6lPEH5uTYS98pLIf+7B1w+HSM77tGGG9E5RQ="
+    "vendorHash": "sha256-13k6iTO16wDhdw8kAyWZ3aRwKKH4zZi1Ybw/j/lqscE="
   },
   "auth0": {
-    "hash": "sha256-ShwoPwEQLNX1+LB84iWrS5VopKt8kao35/iVVGLDZck=",
+    "hash": "sha256-z40zGGgKtru83KbmhK5kQhbHdXjCQ7q5G0eAfvqfa4A=",
     "homepage": "https://registry.terraform.io/providers/auth0/auth0",
     "owner": "auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v1.1.0",
+    "rev": "v1.1.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-fD3epndk6L+zjtUNalis9VJCxWKOBScYGHkUFRnLNLQ="
+    "vendorHash": "sha256-/rT/dVpla6r3pIouZZ7tmluKDyjdYuzdMGoPCNn+Ptk="
   },
   "avi": {
     "hash": "sha256-EGpHajrTTOx7LrFHzsrrkGMqsuUEJLJAN6AJ48QdJis=",
@@ -118,29 +118,29 @@
     "vendorHash": null
   },
   "aws": {
-    "hash": "sha256-4ecgttYOAQ/I+ma1eSPomiJ4rdT9F1gtQUu4OS4stlQ=",
+    "hash": "sha256-W+lfTvDZtKbWSfZR9nu+xpfe5D5v0sP26qyskAuXyQ4=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/aws",
     "owner": "hashicorp",
     "repo": "terraform-provider-aws",
-    "rev": "v5.25.0",
+    "rev": "v5.30.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-twXEX5emBPQUMQcf11S9ZKfuaGv74LtXUE2LxqmN2xo="
+    "vendorHash": "sha256-jB1I82xcs16kvxxKcC+gC0LwXqDyT9qtpjgPoefZoZM="
   },
   "azuread": {
-    "hash": "sha256-PwHnyw0sZurUMLWKUmC3ULB8bc9adIU5C9WzVqBsLBA=",
+    "hash": "sha256-qFfquWG5/sm7jzqNMhDHFTKObGhGCyWgId4RxAMB5dM=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/azuread",
     "owner": "hashicorp",
     "repo": "terraform-provider-azuread",
-    "rev": "v2.45.0",
+    "rev": "v2.46.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "azurerm": {
-    "hash": "sha256-sGZvfjq2F1BjvqgYel0P/ofGmHXv8c7OhfXGGoXB2+Q=",
+    "hash": "sha256-r6GS/m4fgVV7SjX8uExHQbJ1wlmyQm2LTwTi+uETKA0=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
     "owner": "hashicorp",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.80.0",
+    "rev": "v3.83.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -154,29 +154,29 @@
     "vendorHash": null
   },
   "baiducloud": {
-    "hash": "sha256-N2WfSCro4jVZSXTe41hs4uQsmnhbsfl/J2o51YEOsB4=",
+    "hash": "sha256-LAUkF8QUA5I1QfNfEtpZl0LT8ifFa/oYJsLRJYp7TGk=",
     "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
     "owner": "baidubce",
     "repo": "terraform-provider-baiducloud",
-    "rev": "v1.19.20",
+    "rev": "v1.19.23",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "bigip": {
-    "hash": "sha256-eiwnIsGVGrOxSwrZj+UAq5sl2w2eT6tDCVQSnMBc/lk=",
+    "hash": "sha256-IfUMVksaXCzQD05khAY6s0qbAPd79omIzq6FCcMMjpg=",
     "homepage": "https://registry.terraform.io/providers/F5Networks/bigip",
     "owner": "F5Networks",
     "repo": "terraform-provider-bigip",
-    "rev": "v1.20.0",
+    "rev": "v1.20.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "bitbucket": {
-    "hash": "sha256-dO+2sg+4Xg+9fxKe/hGF0EBS4yGZAzhIBgcBhT/VDWk=",
+    "hash": "sha256-jrxCUTqR6knktDIX3sFDtIP6OD9cJGdV+JgwSgoDfMo=",
     "homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
     "owner": "DrFaust92",
     "repo": "terraform-provider-bitbucket",
-    "rev": "v2.37.2",
+    "rev": "v2.38.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-2s8ATVlSVa6n/OSay0oTdJXGdfnCwX6da3Pcu/xYcPY="
   },
@@ -190,13 +190,13 @@
     "vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
   },
   "buildkite": {
-    "hash": "sha256-+H2ivPSrNBybUSYX2sLL4V8uqLTsJZp7AN1AYQQ/f90=",
+    "hash": "sha256-BKlDhEN2F2WrLmAagCAhteCWR1RY0y49MOPAEvUsnHo=",
     "homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
     "owner": "buildkite",
     "repo": "terraform-provider-buildkite",
-    "rev": "v1.0.6",
+    "rev": "v1.1.1",
     "spdx": "MIT",
-    "vendorHash": "sha256-GzHqmSS0yWH+pNGA7ZbfpRkjUsc2F9vlJ9XEOjKxFS4="
+    "vendorHash": "sha256-fnB4yXzY6cr72v8MCGzkvNLxBSi3RDvQzyKk0eZ6CVs="
   },
   "checkly": {
     "hash": "sha256-HfmEh+7RmCIjBvacBW6sX3PL295oHOo8Z+5YsFyl0/4=",
@@ -226,13 +226,13 @@
     "vendorHash": "sha256-dR/7rtDNj9bIRh6JMwXhWvLiAhXfrGnqS9QvfDH9eGw="
   },
   "cloudflare": {
-    "hash": "sha256-FdKz6EmpxhqM+wcCAuwTCOCxhV0LI4+7d12fNxOSd7Q=",
+    "hash": "sha256-KaFn0r5p7bE9kAK6g/SMyqfoF6vMWyP6bRqihW+a5a8=",
     "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
     "owner": "cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v4.19.0",
+    "rev": "v4.20.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-PwIFz2T+iXR6+A/yrF4+kxWr2SxLDUY8XDO5aTeg89M="
+    "vendorHash": "sha256-sEy+G+IXwfLBCp1Rfw48mBH7WilsfoCQF5XbtF8fOCI="
   },
   "cloudfoundry": {
     "hash": "sha256-yEqsdgTSlwppt6ILRZQ6Epyh5WVN6Il3xsBOa/NfIdo=",
@@ -244,13 +244,13 @@
     "vendorHash": "sha256-0hq4dR1KqnE2IXMwif2/NVKQKRO/QplW/A6sB4pJ+FM="
   },
   "cloudinit": {
-    "hash": "sha256-fdtUKD8XC1Y72IzrsCfTZYVYZwLqY3gV2sajiw4Krzw=",
+    "hash": "sha256-etZeCGtYhO0szRGxnj1c3/WOelxScWiHEA9w1Jb7bEE=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/cloudinit",
     "owner": "hashicorp",
     "repo": "terraform-provider-cloudinit",
-    "rev": "v2.3.2",
+    "rev": "v2.3.3",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-h4CO3sC41RPSmkTlWUCiRvQ1NRZkT2v1uHFOemvBN8s="
+    "vendorHash": "sha256-MFhKJEuylDnyj9ltugxGXgfIxBT3/mYaxB0JmTJxK3M="
   },
   "cloudscale": {
     "hash": "sha256-SDivLkP1y/qBVNSiyCjV6zPTbLUplxzD3gNxzkjC51M=",
@@ -272,13 +272,13 @@
     "vendorHash": "sha256-UJHDX/vx3n/RTuQ50Y6TAhpEEFk9yBoaz8yK02E8Fhw="
   },
   "consul": {
-    "hash": "sha256-mGLI/TAovyBvowI6AwRPcmYqwnPEe4ibDhFj1t7I+oM=",
+    "hash": "sha256-Glgig56QdXZ9VNZx25/60YPChg9MtLq/S95nuAco3m0=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/consul",
     "owner": "hashicorp",
     "repo": "terraform-provider-consul",
-    "rev": "v2.19.0",
+    "rev": "v2.20.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-sOnEgGTboK+vbNQYUOP0TxLe2JsqBUFo6/k55paIsmM="
+    "vendorHash": "sha256-OKKcyx5JAQGMoUMRxIbe3lg825vhwCcWcPNZqo+/gl4="
   },
   "ct": {
     "hash": "sha256-c1cqTfMlZ5fXDNMYLsk4447X0p/qIQYvRTqVY8cSs+E=",
@@ -290,13 +290,13 @@
     "vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
   },
   "datadog": {
-    "hash": "sha256-IU9eBWYqI/a9EsYhI6kPom1PK/H403Dxr7eSXYFL5Do=",
+    "hash": "sha256-rpBj5fG3AXwuHiRzOx9svKDuDZqT5SdflUWNx4tXWGo=",
     "homepage": "https://registry.terraform.io/providers/DataDog/datadog",
     "owner": "DataDog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.32.0",
+    "rev": "v3.33.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-C+N+LQ6qjpRrUNzCaiauIor+noD+0igTfR7RnrZdNwU="
+    "vendorHash": "sha256-Jzlwdc7lndrPK7JUQ2t4htMvwHj7BAJhfN7ajuTqAtc="
   },
   "dexidp": {
     "hash": "sha256-Sy/xkhuNTocCoD7Nlq+pbvYiat4du4vZtOOZD2Ig3OA=",
@@ -308,13 +308,14 @@
     "vendorHash": "sha256-8gz6tsmHHH9B3Z5H0TZRdlpCI6LhthIn7fYn8PjYPeg="
   },
   "dhall": {
-    "hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
+    "hash": "sha256-QjY5ZazQn4HiLQtdmw9X7o5tFw+27B2IISzmzMMHjHE=",
     "homepage": "https://registry.terraform.io/providers/awakesecurity/dhall",
     "owner": "awakesecurity",
+    "proxyVendor": true,
     "repo": "terraform-provider-dhall",
-    "rev": "v0.0.3",
+    "rev": "v0.0.7",
     "spdx": "BSD-3-Clause",
-    "vendorHash": "sha256-BpXhKjfxyCLdGRHn1GexW0MoLj4/C6Bn7scZ76JARxQ="
+    "vendorHash": "sha256-e/+czUeOACwRC7xY90pZp2EWDzDpLU6Ud9RPzuNKaOY="
   },
   "digitalocean": {
     "hash": "sha256-8T2xWKKoPU54ukMClva/fgZXGDMh92Oi0IacjnbgCCI=",
@@ -380,31 +381,32 @@
     "vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw="
   },
   "equinix": {
-    "hash": "sha256-7RnThTuYTO1W0nBZAilUB5WOp8Rng14aNBiax6M9FwQ=",
+    "hash": "sha256-f965eEUtYoWf9idv0YHBMQTHGiIUUX/BeZQQegoxZ1s=",
     "homepage": "https://registry.terraform.io/providers/equinix/equinix",
     "owner": "equinix",
+    "proxyVendor": true,
     "repo": "terraform-provider-equinix",
-    "rev": "v1.19.0",
+    "rev": "v1.20.1",
     "spdx": "MIT",
-    "vendorHash": "sha256-nq380VsSog+nsL+U1KXkVUJqq3t4dJkrfbBH8tHm48E="
+    "vendorHash": "sha256-GAMXwx25xxBAx8X69vg+efljO0BUpKSrYoR2x95MXKM="
   },
   "exoscale": {
-    "hash": "sha256-Fc2/IT8L1jn0Oh8zT0C/Am4eoumQe0VRYqBDc/enEuY=",
+    "hash": "sha256-HVNGzcX0l7E4jB6TiWSPG9XRmpKL6HIt2gaYiDLFOb4=",
     "homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
     "owner": "exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.53.1",
+    "rev": "v0.54.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "external": {
-    "hash": "sha256-+0AqlVGKSEeXlcKfNiYDqh0B9rRqyt9FDNWstdOFACI=",
+    "hash": "sha256-rmCdTtyYv3jZDXWWqRLV8AgnnZ0Hqp8Ofq8BoLBkDhs=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/external",
     "owner": "hashicorp",
     "repo": "terraform-provider-external",
-    "rev": "v2.3.1",
+    "rev": "v2.3.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-E1gzdES/YVxQq2J47E2zosvud2C/ViBeQ8+RfNHMBAg="
+    "vendorHash": "sha256-mkopDoGhGZSJyxWYtR8OU9BU1GYwhLe3xwNkUKwlBNI="
   },
   "fastly": {
     "hash": "sha256-T3iQ0QIB3lfzcTx1K7WkgUdKsl/hls2+eorPa0O19g8=",
@@ -416,21 +418,21 @@
     "vendorHash": null
   },
   "flexibleengine": {
-    "hash": "sha256-+RAuFh88idG49nV4HVPgaGxADw/k/sUSTqrzWjf15tw=",
+    "hash": "sha256-YWVJhBkhc62VabppH6TMO51PfaBwsLdakHOpmWXAprQ=",
     "homepage": "https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine",
     "owner": "FlexibleEngineCloud",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.43.0",
+    "rev": "v1.44.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-yin+UVMkqIxMSoVB4TD6Nv8F24FnEGZP5PFVpmuO2Fg="
+    "vendorHash": "sha256-bvMetztfnT7gSkTfhpnkvlnZeAAzuehuNqYN/Gx+DmY="
   },
   "fortios": {
-    "hash": "sha256-RpcKMndbO3wbkHmrINkbsQ+UeFsZrQ7x02dv8ZpFMec=",
+    "hash": "sha256-3fcbUH3/LjsdNbomN2tl2WN/P0rpf0ZsILVkAOLUbt0=",
     "homepage": "https://registry.terraform.io/providers/fortinetdev/fortios",
     "owner": "fortinetdev",
     "proxyVendor": true,
     "repo": "terraform-provider-fortios",
-    "rev": "1.18.0",
+    "rev": "1.18.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-DwRfbD4AqB+4KLuYtqY5fUdzRrEpTIvL4VAM7nieJJA="
   },
@@ -453,33 +455,33 @@
     "vendorHash": null
   },
   "gitlab": {
-    "hash": "sha256-eONOqinRXs9lPz4d8WDb9lA0XcJuNqzgsZrmJAZ42t8=",
+    "hash": "sha256-IzZN7W1nfByUco4LG0AutSAVRHpeAnaHNmu6tpvHyQk=",
     "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
     "owner": "gitlabhq",
     "repo": "terraform-provider-gitlab",
-    "rev": "v16.5.0",
+    "rev": "v16.6.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2t50Gsyf8gxG/byjgNyw5GEturU0MgBvZuJyc49s4t0="
+    "vendorHash": "sha256-TMLLsOquMpkeAqS8hLI963hQ6t9n2fyx4XjtB+7oR2E="
   },
   "google": {
-    "hash": "sha256-o4tyG0Q4sqBktreYEKJ+1QlNXx/BEPmAGOTTzTcFnP8=",
+    "hash": "sha256-b4jUS7JNGIsgFEkbxhQRie1YSl1cqqR9UEoNnVSXO5Q=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v5.6.0",
+    "rev": "v5.8.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-9nz3VLTi4RfGBDAE7JBUWXrJRajwAyxoeEH+VSP0wyQ="
+    "vendorHash": "sha256-P6ogYwe0Og1Ob/0pq3ZfUNsKss5K5csoQ7YwT/aS4m0="
   },
   "google-beta": {
-    "hash": "sha256-+5Fm/aT90bD6RpQrUGjmpmahPTjOfsRJAaZuZsrPQn4=",
+    "hash": "sha256-bd5kj6+lqU1bY30fvWku1h5wnVi4EqpmRBewhiDQjLY=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v5.6.0",
+    "rev": "v5.8.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-9nz3VLTi4RfGBDAE7JBUWXrJRajwAyxoeEH+VSP0wyQ="
+    "vendorHash": "sha256-P6ogYwe0Og1Ob/0pq3ZfUNsKss5K5csoQ7YwT/aS4m0="
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -491,13 +493,13 @@
     "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
   },
   "grafana": {
-    "hash": "sha256-8GBhJvv0JYHh98l1IRMsodYlFAkW5Lt1dJ03mPzTcts=",
+    "hash": "sha256-KXXqda3tx0dz+HCNtmmzcHg3kkJpo0FQWQtw1d+pWIE=",
     "homepage": "https://registry.terraform.io/providers/grafana/grafana",
     "owner": "grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v2.6.1",
+    "rev": "v2.7.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-DOkDVQPTwB0l1VlfbvwJYiKRi/GE85cPzaY4JKnewaA="
+    "vendorHash": "sha256-E8K3iZsUuBdCw6zKiR1mynMPUFiEO8Kd5Sj10RHf998="
   },
   "gridscale": {
     "hash": "sha256-gyUDWG7h3fRU0l0uyfmxd0Oi1TtQHnJutqahDoPZWgM=",
@@ -518,13 +520,13 @@
     "vendorHash": "sha256-oGABaZRnwZdS5qPmksT4x7Tin2WpU2Jk9pejeHbghm8="
   },
   "helm": {
-    "hash": "sha256-pgV1xXhg8WIyF4RhJwAenTI6eAmtINveO8zqrKzLajQ=",
+    "hash": "sha256-Zj0mZfQhZimk3QozKHNU7quO/SqV3278Y+l9bFa8w/k=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/helm",
     "owner": "hashicorp",
     "repo": "terraform-provider-helm",
-    "rev": "v2.11.0",
+    "rev": "v2.12.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-a80+gjjoFOKI96pUMvTMyM90F5oCb1Ime8hPQcFedFE="
+    "vendorHash": "sha256-qoXWnAbjRsvFDtlDCfeaIjc5hZIbCgosyH0pXhHkWiA="
   },
   "heroku": {
     "hash": "sha256-M1HdcKHOVf/rxjECvHqnU6FRXE6T8TpI24Fo0gkZ6FU=",
@@ -564,11 +566,11 @@
     "vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
   },
   "huaweicloud": {
-    "hash": "sha256-V6Ar0MXK7i927eDq8uvHZc3ivVonK9KBKqSZCCESgq0=",
+    "hash": "sha256-u46A6YyoU497tPOvxj3zef7vL48KHEQ/W5UFGQSoiu8=",
     "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
     "owner": "huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.57.0",
+    "rev": "v1.58.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -591,13 +593,13 @@
     "vendorHash": null
   },
   "ibm": {
-    "hash": "sha256-Od+aunGMjcQ4AF60dxWNAUVMQiAkFMSAquOhUp3icug=",
+    "hash": "sha256-LHj3oua4EnaWKs5kendY4zZvGeLI/dd0PyTcCsOytWo=",
     "homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
     "owner": "IBM-Cloud",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.59.0",
+    "rev": "v1.60.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-qp1TZmDr7X+2MCdlGTBLubJ7hF5Y9jqoFaj5mxgNLHE="
+    "vendorHash": "sha256-crz1eLJnXpqe5iAy3s7Cgo72o3pwjpeWPx29GKw0qAg="
   },
   "icinga2": {
     "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@@ -663,13 +665,13 @@
     "vendorHash": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao="
   },
   "kubernetes": {
-    "hash": "sha256-aPplKT6L9Lmp4St6DLtHywiunqLaABEB9urbtSfK8Ec=",
+    "hash": "sha256-AAvGYVD+MTF8Ds992lrEgzc9naVbv/qz4+jZRLbieG0=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes",
     "owner": "hashicorp",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.23.0",
+    "rev": "v2.24.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-9AmfvoEf7E6lAblPIWizElng5GQJG/hQ5o6Mo3AN+EA="
+    "vendorHash": "sha256-kyQDioVlZFufhXRInXUPTW343LZFmB3SeTlLLRPwzRA="
   },
   "launchdarkly": {
     "hash": "sha256-4vluO+efNhlYhnzNjvZD6ol0eIx3DWzQBTevMmRAfxM=",
@@ -681,22 +683,22 @@
     "vendorHash": "sha256-f/OJ+DoH/pc+A7bl1OOgsSU1PQC2ZEBuK7sSmcpA3tk="
   },
   "libvirt": {
-    "hash": "sha256-64wCem/eTCCyZvz96szsWoKrxKezsHQYoYZGKHBF8OY=",
+    "hash": "sha256-yGlNBbixrQxjh7zgZoK3YXpUmr1vrLiLZhKpXvQULYg=",
     "homepage": "https://registry.terraform.io/providers/dmacvicar/libvirt",
     "owner": "dmacvicar",
     "repo": "terraform-provider-libvirt",
-    "rev": "v0.7.4",
+    "rev": "v0.7.6",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-dHzyNvzxNltCAmwYWQHOEKkhgfylUUhOtBPiBqIS1Qg="
+    "vendorHash": "sha256-K/PH8DAi6Wj+isPx9xefQcLPKnrimfItZFSPfktTias="
   },
   "linode": {
-    "hash": "sha256-ScuHyfnco5Xz6HrZ9YPQLdWKo1Hqu7LRteLHH2JxHXQ=",
+    "hash": "sha256-g8otBTOYPfhhExIcg1gzX+KV03Nsom7blNhJFGbyxDU=",
     "homepage": "https://registry.terraform.io/providers/linode/linode",
     "owner": "linode",
     "repo": "terraform-provider-linode",
-    "rev": "v2.9.7",
+    "rev": "v2.10.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-5ALsYOuWLFGbIR3yVKmPeb0tQnx63p4WC98WdcxXeZ4="
+    "vendorHash": "sha256-KjrkF6v1NHXjdIaNz0dIJ7q98JYN1hm2OMh9+CEOFbs="
   },
   "linuxbox": {
     "hash": "sha256-MzasMVtXO7ZeZ+qEx2Z+7881fOIA0SFzSvXVHeEROtg=",
@@ -762,13 +764,13 @@
     "vendorHash": "sha256-aIIkj0KpkIR+CsgPk4NCfhG7BMKaAQZy/49unQx4nWQ="
   },
   "mongodbatlas": {
-    "hash": "sha256-SMIc78haJiH0XdTr9OBGWOcvXfYQW9thcNkCOxmNxDw=",
+    "hash": "sha256-+aofX4YNHB30h20k3XvVqvzOSqg/cirFx8s7jH5cfiY=",
     "homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
     "owner": "mongodb",
     "repo": "terraform-provider-mongodbatlas",
-    "rev": "v1.12.3",
+    "rev": "v1.13.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-B1trhV2/H5gP7EnUU7G45gIh95S2wYbANHsRM76CDWE="
+    "vendorHash": "sha256-khnctPCKKExkVkyFTQ+5EsJf7aFVFtPC5NeFenIjlQo="
   },
   "namecheap": {
     "hash": "sha256-cms8YUL+SjTeYyIOQibksi8ZHEBYq2JlgTEpOO1uMZE=",
@@ -816,13 +818,13 @@
     "vendorHash": "sha256-nkpKq8cAusokeuOk32n8QA9He9zQlaTFzUwLMHKzpqM="
   },
   "null": {
-    "hash": "sha256-ExXDbAXMVCTZBlYmi4kD/7JFB1fCFAoPL637+1N6rEI=",
+    "hash": "sha256-KOwJXGvMc9Xgq4Kbr72aW6RDwzldUrU1C3aDxpKO3qE=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/null",
     "owner": "hashicorp",
     "repo": "terraform-provider-null",
-    "rev": "v3.2.1",
+    "rev": "v3.2.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-vXyE0/tXzFHJPNq8MZ+NZItDWS3K7ZhtY23hGjtqRh8="
+    "vendorHash": "sha256-9MeLKrKV3OESkJ4kTB9A9c9IYY1QsME0CODIoGU+anU="
   },
   "nutanix": {
     "deleteVendor": true,
@@ -835,22 +837,22 @@
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-gk5KegQozeDg6ZqYsy+DxMczBOKxH0v3mHFRau/alFY=",
+    "hash": "sha256-tg+0KiiwEHkPImqxYHaLZjaoZDjIIGyBOXBFXe07G20=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.20.0",
+    "rev": "v5.22.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "okta": {
-    "hash": "sha256-LCOuRsAX0ftacS0ecNQpYXKKumfCZ9a10bSuRJtD20E=",
+    "hash": "sha256-+lwR0/Q2lbBCDwQ0Hurhw8VhXOQzHqfMtD/dnedHIvU=",
     "homepage": "https://registry.terraform.io/providers/okta/okta",
     "owner": "okta",
     "repo": "terraform-provider-okta",
-    "rev": "v4.6.1",
+    "rev": "v4.6.3",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-ZhF1c4cez43cCumU+PYufpEcprRDxY7hVCNQHdIEDtI="
+    "vendorHash": "sha256-sF/jKuP7d5nafda9UfwtvdSsoJAxyI10o+70vadwAHs="
   },
   "oktaasa": {
     "hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
@@ -880,13 +882,13 @@
     "vendorHash": "sha256-hVsqlWTZoYAMWMeismKhiqFxSFbkTBSIEMSLZx5stnQ="
   },
   "opentelekomcloud": {
-    "hash": "sha256-3p5R8thq5iWaeAsvqoA03UK6hzVGi4DlEe3PHJBP3xA=",
+    "hash": "sha256-97hDRXltZwxylS5E2GPU1h8Q8gdEV37ljKYrGLlIjiQ=",
     "homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
     "owner": "opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.35.11",
+    "rev": "v1.35.13",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-MD3tywosRUbkzeXQA2yTHr3p8RJlzNZVbrlTesDHpMI="
+    "vendorHash": "sha256-wiMHvONS1VKtLf245pVCgqmlvyx8nlBJda0vOuepPak="
   },
   "opsgenie": {
     "hash": "sha256-IIQtbRKfLbJz5J/T/YzVWSivMeuyKO6iKlXmbrslpQo=",
@@ -907,11 +909,11 @@
     "vendorHash": null
   },
   "pagerduty": {
-    "hash": "sha256-4TplBhRU4k7ucDCsgWcqEok9tOADuZAwqOonAY+eLdY=",
+    "hash": "sha256-nG5zbpq6PN1Slm0PU6/1g++HByQyilZVLBnIz0akx5A=",
     "homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
     "owner": "PagerDuty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v3.1.1",
+    "rev": "v3.3.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -979,13 +981,13 @@
     "vendorHash": "sha256-2uNawlNPmByjoIjufl3yMfo2MdV+MsXqSRVEWursHKc="
   },
   "random": {
-    "hash": "sha256-IsXKdS3B5kWY5LlNKM0fYjp2uM96ngi6vZ9F46MmfcA=",
+    "hash": "sha256-8RRfoxDXa9pScyZ8CXBuWODlahd3lH0IzPaV0yb7GpI=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/random",
     "owner": "hashicorp",
     "repo": "terraform-provider-random",
-    "rev": "v3.5.1",
+    "rev": "v3.6.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-ScY/hAb14SzEGhKLpnJ8HrWOccwc2l0XW6t+f62LyWM="
+    "vendorHash": "sha256-f89G4Ln6JX1uJNeH7Vv69Fkibh1K3jOiULVvcn4ILao="
   },
   "remote": {
     "hash": "sha256-x0mTouv+hRGznyn2XxohWzPb0vjJvJf6kDlWrLJ/JvA=",
@@ -1006,13 +1008,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-lOoxgWps6r4/7JhK0Z0Iz5EA2mHYNrdIgOntRqXFrH8=",
+    "hash": "sha256-LOWkUzxkNsj3OWLhQb/BSq0vxz0c4jKuf41L6F2Yqeo=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.33.0",
+    "rev": "v2.34.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-tly9+vClV/IGivNBY114lNXxnYjJVvhVAi1tEyCtIoo="
+    "vendorHash": "sha256-4m4RxV3AuBVfKDxsGxQK/B7b53w1IYayRakjZZ8xyZc="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1069,13 +1071,13 @@
     "vendorHash": null
   },
   "snowflake": {
-    "hash": "sha256-O5Nt+CcVppo5w4gD+NQ/XrRbkJicIzQrh5gffjPNvvw=",
+    "hash": "sha256-Fox0BkmyRgAon0NH2HG50XqLRFUHwu6rnVrBwE11QqQ=",
     "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
     "owner": "Snowflake-Labs",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.75.0",
+    "rev": "v0.77.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-VD3zXfaa2fmq85a/k7LPbDVS1gA5xHC2F3Ojqpmt8MI="
+    "vendorHash": "sha256-iSSy6N7YwE76AmJ7s1nA/EBTdFAvA7G4rfl6Pc2QBSI="
   },
   "sops": {
     "hash": "sha256-ZastswL5AVurQY3xn6yx3M1BMvQ9RjfcZdXX0S/oZqw=",
@@ -1087,22 +1089,22 @@
     "vendorHash": "sha256-8W1PK4T98iK1N6EB6AVjvr1P9Ja51+kSOmYAEosxrh8="
   },
   "spotinst": {
-    "hash": "sha256-mYLIOnWI1yzfmuKikDib4PIDLJulGBqvo2OkGmUt7fw=",
+    "hash": "sha256-NSbMR8wkiAYC0KiCukEnKG7nIye4KMzpIIYnnwEh6jY=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.149.0",
+    "rev": "v1.151.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-6UUXMcfyIiZWc7HSy3P8gc7i1L9cVjifwREfmw05Qco="
+    "vendorHash": "sha256-TDOgH9G6Hr3+mwL5JhAlcbsV3auzyJTu9qgV0s9AArE="
   },
   "stackpath": {
-    "hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
+    "hash": "sha256-aCaoRxlV/UxYobHC5OqFO8nt9oQgyug1AuJffhnwauc=",
     "homepage": "https://registry.terraform.io/providers/stackpath/stackpath",
     "owner": "stackpath",
     "repo": "terraform-provider-stackpath",
-    "rev": "v1.5.0",
+    "rev": "v2.0.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-OGYiynCwbJU2KisS7Y6xmLuBKOtQvh3MWPrvBk/x95U="
+    "vendorHash": "sha256-G+5vSXhxmt0Qsqt7vnecPZfIxAonNF3l7ygQZ0nemnU="
   },
   "statuscake": {
     "hash": "sha256-zXBZZA+2uRN2FeGrayq0a4EBk7T+PvlBIwbuxwM7yBc=",
@@ -1114,11 +1116,11 @@
     "vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs="
   },
   "sumologic": {
-    "hash": "sha256-5/PaEGKG8M/XifRelqV1aL6ARXRVvOYY/uka+grijzg=",
+    "hash": "sha256-HMjghu/2Q7rPkVKO5qtKAqEZFexbK3lfiylwB8Q2sYw=",
     "homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic",
     "owner": "SumoLogic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.27.0",
+    "rev": "v2.28.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-iNBM4Y24vDGPKyb5cppSogk145F0/pAFmOzEeiWgfLI="
   },
@@ -1141,11 +1143,11 @@
     "vendorHash": "sha256-0HRhwUGDE4y7UFlXyD0w8zl4NV5436L4SRhrb8vQGyc="
   },
   "tencentcloud": {
-    "hash": "sha256-o9PY7kZAsF/bOkmIa0QKW2SabK0u56FtjMxmlKNROBg=",
+    "hash": "sha256-kApeR6LaFOUocf2NV+dDArAQ0HhgHwp7BZQBJbhTiDc=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.45",
+    "rev": "v1.81.55",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1168,22 +1170,22 @@
     "vendorHash": null
   },
   "time": {
-    "hash": "sha256-FehWmIkL0o2pleafN/mlBa46cdFqCFUS+coOwFPdb9M=",
+    "hash": "sha256-5AOp6y/Nmu59uB9QXqwkcgakyzAyiAclZ9EJa7+MvpY=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/time",
     "owner": "hashicorp",
     "repo": "terraform-provider-time",
-    "rev": "v0.9.1",
+    "rev": "v0.10.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-MLh/we8KNrDBy2BAMZ6B/gBe0p3xJ7l/imNzTHciJjs="
+    "vendorHash": "sha256-TrkmjqUJi28sN9POzEuKzKyPQiS1RtVpj9NbsM3jW0I="
   },
   "tls": {
-    "hash": "sha256-DBOkfvT0+mlgaWiBHggZUKvHL8jLZjQjRi0xFZKgcoM=",
+    "hash": "sha256-2K18jY2+oPvelMtZ2o4WJcAPhc93nCvJdHq+VNfmWZI=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/tls",
     "owner": "hashicorp",
     "repo": "terraform-provider-tls",
-    "rev": "v4.0.4",
+    "rev": "v4.0.5",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-k7aW5ZD6pAtdT6tTXy8YaJlFS5WR5FzPd9eINgPBYJM="
+    "vendorHash": "sha256-6uzqx9Tz9JcHYHhG/tWYJaUP8yWe533gB0h1+YF+tgQ="
   },
   "triton": {
     "deleteVendor": true,
@@ -1205,11 +1207,11 @@
     "vendorHash": null
   },
   "ucloud": {
-    "hash": "sha256-eCJXqCtNWPsJzlEPdGHK1NMxASTqQBIFAWSVGbyiKn0=",
+    "hash": "sha256-D6nrIjw4m2loeZRKNvrmgNQ4oaHKEc2xjxrWcgE8LNw=",
     "homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
     "owner": "ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.38.2",
+    "rev": "v1.38.3",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1223,11 +1225,11 @@
     "vendorHash": "sha256-vFfwa8DfmiHpbBbXPNovPC7SFoXRjyHRwOVqBcWCEtI="
   },
   "vault": {
-    "hash": "sha256-9SOHw46KChe7bGInsIIyy0pyNG3K7CXNEomHkmpt8d4=",
+    "hash": "sha256-Db56SNnIHUuiIUKFKC5NwWaIbfsT85GZ95UBR+PUSMY=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vault",
     "owner": "hashicorp",
     "repo": "terraform-provider-vault",
-    "rev": "v3.22.0",
+    "rev": "v3.23.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-5rRWlInDRj7hw4GZqTxfH7Y8tyTvzJgBWA1I5j0EyaI="
   },
@@ -1268,13 +1270,13 @@
     "vendorHash": null
   },
   "vsphere": {
-    "hash": "sha256-3kBxS8JeYYjILfpeq58fYt6j2vQXEHRXoxZBfOhCptA=",
+    "hash": "sha256-+YNvyieuyG4CePm4Pxsy1ufHgvjRJC9yRPLIMUcgrqs=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vsphere",
     "owner": "hashicorp",
     "repo": "terraform-provider-vsphere",
-    "rev": "v2.5.1",
+    "rev": "v2.6.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-4ulRYzb4bzk0TztT04CwqlnMGw8tp7YnoCm2/NqGN7Y="
+    "vendorHash": "sha256-d9CdK5AHFZRC89Xko4vyx8jR10fkG1VYGVILlXM7zgw="
   },
   "vultr": {
     "hash": "sha256-9HEuJXV6spLoLEVwdNid+MfVrBvrdUKjHWkDvQLSG+s=",
@@ -1295,12 +1297,12 @@
     "vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
   },
   "yandex": {
-    "hash": "sha256-QirLhOAvOcsMFR0ZWHCCI2wbfcD5hfHSlZ0bguvAHiI=",
+    "hash": "sha256-GL7KrjnSucf8LECPT0T1kxehGqqGP6tlnJW1rlHX5cM=",
     "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
     "owner": "yandex-cloud",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.102.0",
+    "rev": "v0.103.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-y8M50X2F4olM1I0i32uUd/FASY9wUnMOF5k4AEP6b9I="
+    "vendorHash": "sha256-FVFBwrSASFt6YT30/UplF51jxauhtUZh7IdfKh8WLSE="
   }
 }
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index 826be33128a13..1bf5980acb4aa 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "4.6.1";
+  version = "4.6.2";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = "dnscontrol";
     rev = "v${version}";
-    sha256 = "sha256-FJxr3uq2f8jDG3g06SRO8sTIc6qHqSAOJVYHr4Ug1ag=";
+    hash = "sha256-FcEpUNFPwottpuIsO53voucKULTkWOdbDgEXKYLb9LQ=";
   };
 
-  vendorHash = "sha256-O7uuUkS9kX0TdevSg1mrrPMVl4kMZW3rwoIVb/eaNiM=";
+  vendorHash = "sha256-cW6urAJ3H30HY4Q7JLWFsQebg6YhdGSBgICWMl85v9U=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/feedreaders/indigenous-desktop/default.nix b/pkgs/applications/networking/feedreaders/indigenous-desktop/default.nix
deleted file mode 100644
index 22bd33b87717f..0000000000000
--- a/pkgs/applications/networking/feedreaders/indigenous-desktop/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, lib, fetchurl, unzip, makeDesktopItem, copyDesktopItems
-, makeWrapper, electron }:
-
-stdenv.mkDerivation rec {
-  pname = "indigenous-desktop";
-  version = "1.3.0";
-
-  src = fetchurl {
-    url = "https://github.com/marksuth/indigenous-desktop/releases/download/v${version}/indigenous-linux-x64-${version}.zip";
-    sha256 = "sha256-1nqj9N5RQE0PogJSULu75CTVLHeQsHIimtFXSCP6SPA=";
-  };
-
-  nativeBuildInputs = [
-    copyDesktopItems
-    makeWrapper
-    unzip
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = pname;
-      exec = "indigenous-desktop";
-      icon = "indigenous-desktop";
-      comment = meta.description;
-      desktopName = "Indigenous";
-      genericName = "Feed Reader";
-    })
-  ];
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/opt/indigenous $out/share/indigenous $out/share/pixmaps
-    cp -r ./ $out/opt/indigenous
-    mv $out/opt/indigenous/{locales,resources} $out/share/indigenous
-    mv $out/share/indigenous/resources/app/images/icon.png $out/share/pixmaps/indigenous-desktop.png
-
-    makeWrapper ${electron}/bin/electron $out/bin/indigenous-desktop \
-      --add-flags $out/share/indigenous/resources/app
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "IndieWeb app with extensions for sharing to/reading from micropub endpoints";
-    homepage = "https://indigenous.realize.be/indigenous-desktop";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ wolfangaukang ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index a946ab60e4db5..ab6b0ff5abc45 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -23,12 +23,12 @@
 let
   esbuild' = esbuild.override {
     buildGoModule = args: buildGoModule (args // rec {
-      version = "0.14.54";
+      version = "0.19.8";
       src = fetchFromGitHub {
         owner = "evanw";
         repo = "esbuild";
         rev = "v${version}";
-        hash = "sha256-qCtpy69ROCspRgPKmCV0YY/EOSWiNU/xwDblU0bQp4w=";
+        hash = "sha256-f13YbgHFQk71g7twwQ2nSOGA0RG0YYM01opv6txRMuw=";
       };
       vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
     });
@@ -36,16 +36,16 @@ let
 in
 buildNpmPackage rec {
   pname = "deltachat-desktop";
-  version = "1.42.1";
+  version = "1.42.2";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-desktop";
     rev = "v${version}";
-    hash = "sha256-Ua4HN02203l2FgeMotqLjcRSEHFP/4OTrl8sPS/0C+k=";
+    hash = "sha256-c8eK6YpxCP+Ga/VcqbbOUYuL1h4xspjglCZ1wiEAags=";
   };
 
-  npmDepsHash = "sha256-c9ZwShmHIoFJ2mAabKyYkYsCMXqxUf+tAS1a1/7s0qo=";
+  npmDepsHash = "sha256-7xMSsKESK9BqQrMvxceEhsETwDFue0/viCNULtzzwGo=";
 
   postPatch = ''
     test \
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index a730d8611b788..cc8447a8d1397 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.nix
+++ b/pkgs/applications/networking/instant-messengers/element/pin.nix
@@ -1,9 +1,9 @@
 {
-  "version" = "1.11.50";
+  "version" = "1.11.51";
   "hashes" = {
-    "desktopSrcHash" = "sha256-ZSzH0QWUSmoSk57TF7EH3DbUFO4VX8jCrH55oruMP+s=";
-    "desktopYarnHash" = "044sjxpd86zhmd0wcqmsnjvrh1krspp2qd9xzlxii4zwm9jz1hxn";
-    "webSrcHash" = "sha256-6BzqETzQL4Xi4YqSyjFmIgajPPpagTS4tYhOZrEfEpo=";
-    "webYarnHash" = "1aw40r44dvl43bfgl2cr52hdj833maq2xyg3xa49837m7lf6pr8c";
+    "desktopSrcHash" = "sha256-XsDXE8bny8gdojk6/NLcUGJcZlYM2hd9q5J36IDCdaU=";
+    "desktopYarnHash" = "03iixkw5swgm71prckspbx23jnf4dkfv2gfzvi5v4mqwddwrfp1w";
+    "webSrcHash" = "sha256-8LNPnaj4yCiZt9RSFQM37yhO/tcc2VSM7reRQX5w734=";
+    "webYarnHash" = "03fmk30b6aq5lgabpmpcb8c4y8jqyzw52xh216fava5dhqvh0ib9";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/update.sh b/pkgs/applications/networking/instant-messengers/element/update.sh
index c68a347e68aed..0a1cc0595f879 100755
--- a/pkgs/applications/networking/instant-messengers/element/update.sh
+++ b/pkgs/applications/networking/instant-messengers/element/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq
 
 if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
   echo "Regenerates packaging data for the element packages."
diff --git a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
deleted file mode 100644
index df75f7192bf71..0000000000000
--- a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, gtk4
-, glib
-, gobject-introspection
-, pkg-config
-}:
-
-buildGoModule rec {
-  pname = "gotktrix";
-  version = "unstable-2023-04-05";
-
-  src = fetchFromGitHub {
-    owner = "diamondburned";
-    repo = pname;
-    rev = "a8f876a383cc34dac18edddbe22be2dd494b8d0c"; # compound
-    hash = "sha256-BuiA9UajdMhSrEfaXdu5DZlVhC4GVUdUpQDLMvKGrEk=";
-  };
-
-  vendorHash = "sha256-oo/j6i7slXILqyvj/EHojsyCZzJMGd10PTZaLvI1xoc=";
-
-  buildInputs = [
-    gtk4
-    glib
-  ];
-
-  nativeBuildInputs = [ pkg-config gobject-introspection ];
-
-  # Checking requires a working display
-  doCheck = false;
-
-  postPatch = ''
-    sed -i '/DBusActivatable/d' .nix/com.github.diamondburned.gotktrix.desktop
-    echo 'X-Purism-FormFactor=Workstation;Mobile;' >> .nix/com.github.diamondburned.gotktrix.desktop
-  '';
-
-  postInstall = ''
-    install -Dm444 .nix/com.github.diamondburned.gotktrix.desktop -t $out/share/applications/
-    install -Dm444 .github/logo-256.png -T $out/share/icons/hicolor/256x256/apps/gotktrix.png
-  '';
-
-  meta = with lib; {
-    description = "Matrix client written in Go using GTK4";
-    homepage = "https://github.com/diamondburned/gotktrix";
-    license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ chuangzhu ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index acc6f8948fc0d..45c7e556a71d3 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -109,6 +109,7 @@ stdenv.mkDerivation rec {
     description = "Desktop client for the Matrix protocol";
     homepage = "https://github.com/Nheko-Reborn/nheko";
     license = licenses.gpl3Plus;
+    mainProgram = "nheko";
     maintainers = with maintainers; [ ekleog fpletz ];
     platforms = platforms.all;
     # Should be fixable if a higher clang version is used, see:
diff --git a/pkgs/applications/networking/instant-messengers/qq/default.nix b/pkgs/applications/networking/instant-messengers/qq/default.nix
index af5cf167a62c9..e90526c0a6aa7 100644
--- a/pkgs/applications/networking/instant-messengers/qq/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/default.nix
@@ -2,7 +2,6 @@
 , cups
 , dpkg
 , fetchurl
-, gjs
 , glib
 , gtk3
 , lib
@@ -11,6 +10,7 @@
 , libgcrypt
 , libkrb5
 , mesa # for libgbm
+, libGL
 , nss
 , xorg
 , systemd
@@ -19,7 +19,6 @@
 , at-spi2-core
 , autoPatchelfHook
 , wrapGAppsHook
-, makeWrapper
 }:
 
 let
@@ -43,8 +42,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [
     autoPatchelfHook
-    # makeBinaryWrapper not support shell wrapper specifically for `NIXOS_OZONE_WL`.
-    (wrapGAppsHook.override { inherit makeWrapper; })
+    wrapGAppsHook
     dpkg
   ];
 
@@ -76,7 +74,9 @@ stdenv.mkDerivation {
     substituteInPlace $out/share/applications/qq.desktop \
       --replace "/opt/QQ/qq" "$out/bin/qq" \
       --replace "/usr/share" "$out/share"
-    ln -s $out/opt/QQ/qq $out/bin/qq
+    makeWrapper $out/opt/QQ/qq $out/bin/qq \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
 
     # Remove bundled libraries
     rm -r $out/opt/QQ/resources/app/sharp-lib
@@ -91,13 +91,6 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix PATH : "${lib.makeBinPath [ gjs ]}"
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
-    )
-  '';
-
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/qq/sources.nix b/pkgs/applications/networking/instant-messengers/qq/sources.nix
index b3ea2b3fe820b..93bb928c28f3a 100644
--- a/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,8 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-11-14
+# Last updated: 2023-12-05
 {
-  version = "3.2.2-18394";
-  urlhash = "fd2e886e";
-  arm64_hash = "sha256-6E3h7Z4936YKZb+G0FoMb90T3EzH8z07mmGMnL4SDFk=";
-  amd64_hash = "sha256-L1M8O0FzVKLXNNYGGMPf1Nbh/DFxLHBlbzapr7uz5Sk=";
+  version = "3.2.3-19189";
+  urlhash = "06d558c3";
+  arm64_hash = "sha256-qNcw6P985F/JAB9roxaBR5hz2KcLiffUDKu/14nvvgE=";
+  amd64_hash = "sha256-37d7F1VB2puEFJC12x57aRj4NIYcCYyPCK06Z/OwNiM=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
deleted file mode 100644
index fbae80954e8be..0000000000000
--- a/pkgs/applications/networking/instant-messengers/schildichat/pin.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "version": "1.11.30-sc.2",
-  "rev": "v1.11.30-sc.2",
-  "srcHash": "1qb1fcr52gyzxndz3j77vn3ddwjpxwvicnh16c72zpzpfbbky7a5",
-  "webYarnHash": "0bg5vc7q8afqfpsaqqkczf9whbzici5d2bxj5cadhrlmlb27f8nx",
-  "jsSdkYarnHash": "0p1whh3pmqz170l542fiq3zgljl5daa9b96i59p3wvggnx7kny7j",
-  "reactSdkYarnHash": "02ysshiyjj3w00b628is9bd7i8qc3vc8kr1zam2dpj26lb9k5pdd",
-  "desktopYarnHash": "16pzmlwzf3z8mky3wb4azaiggigyfnpxmbq3irjp30ic6yhl50yw"
-}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
deleted file mode 100644
index 86bc2d671eb09..0000000000000
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
+++ /dev/null
@@ -1,131 +0,0 @@
-{ lib
-, element-desktop # for seshat and keytar
-, schildichat-web
-, stdenv
-, fetchFromGitHub
-, makeWrapper
-, makeDesktopItem
-, copyDesktopItems
-, fetchYarnDeps
-, yarn
-, nodejs
-, prefetch-yarn-deps
-, electron
-, Security
-, AppKit
-, CoreServices
-, sqlcipher
-}:
-
-let
-  pinData = lib.importJSON ./pin.json;
-  executableName = "schildichat-desktop";
-in
-stdenv.mkDerivation rec {
-  pname = "schildichat-desktop";
-  inherit (pinData) version;
-
-  src = fetchFromGitHub {
-    owner = "SchildiChat";
-    repo = "schildichat-desktop";
-    inherit (pinData) rev;
-    sha256 = pinData.srcHash;
-    fetchSubmodules = true;
-  };
-
-  offlineCache = fetchYarnDeps {
-    yarnLock = src + "/element-desktop/yarn.lock";
-    sha256 = pinData.desktopYarnHash;
-  };
-
-  nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs makeWrapper copyDesktopItems ];
-  inherit (element-desktop) seshat keytar;
-
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$(mktemp -d)
-    pushd element-desktop
-    yarn config --offline set yarn-offline-mirror $offlineCache
-    fixup-yarn-lock yarn.lock
-    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
-    rm -rf node_modules/matrix-seshat node_modules/keytar
-    ln -s $keytar node_modules/keytar
-    ln -s $seshat node_modules/matrix-seshat
-    patchShebangs node_modules/
-    popd
-
-    runHook postConfigure
-  '';
-
-  # Only affects unused scripts in $out/share/element/electron/scripts. Also
-  # breaks because there are some `node`-scripts with a `npx`-shebang and
-  # this shouldn't be in the closure just for unused scripts.
-  dontPatchShebangs = true;
-
-  buildPhase = ''
-    runHook preBuild
-
-    pushd element-desktop
-    yarn --offline run build:ts
-    yarn --offline run i18n
-    yarn --offline run build:res
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    # resources
-    mkdir -p "$out/share/element"
-    ln -s '${schildichat-web}' "$out/share/element/webapp"
-    mv element-desktop "$out/share/element/electron"
-    cp -r "$out/share/element/electron/res/img" "$out/share/element"
-    cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
-    ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
-
-    # icons
-    for icon in $out/share/element/electron/build/icons/*.png; do
-      mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
-      ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/schildichat.png"
-    done
-
-    # executable wrapper
-    # LD_PRELOAD workaround for sqlcipher not found: https://github.com/matrix-org/seshat/issues/102
-    makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
-      --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
-      --add-flags "$out/share/element/electron" \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
-
-    runHook postInstall
-  '';
-
-  # The desktop item properties should be kept in sync with data from upstream:
-  # https://github.com/schildichat/element-desktop/blob/sc/package.json
-  desktopItems = [
-    (makeDesktopItem {
-      name = "schildichat-desktop";
-      exec = "${executableName} %u";
-      icon = "schildichat";
-      desktopName = "SchildiChat";
-      genericName = "Matrix Client";
-      comment = meta.description;
-      categories = [ "Network" "InstantMessaging" "Chat" ];
-      startupWMClass = "schildichat";
-      mimeTypes = [ "x-scheme-handler/element" ];
-    })
-  ];
-
-  passthru.updateScript = ./update.sh;
-
-  meta = with lib; {
-    description = "Matrix client / Element Desktop fork";
-    homepage = "https://schildi.chat/";
-    changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
-    maintainers = teams.matrix.members ++ (with maintainers; [ kloenk yuka ]);
-    license = licenses.asl20;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
deleted file mode 100644
index 0803bcc377917..0000000000000
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ stdenv, lib
-, fetchFromGitHub
-, fetchYarnDeps
-, nodejs
-, yarn
-, prefetch-yarn-deps
-, writeText, jq, conf ? {}
-}:
-
-let
-  pinData = lib.importJSON ./pin.json;
-  noPhoningHome = {
-    disable_guests = true; # disable automatic guest account registration at matrix.org
-  };
-  configOverrides = writeText "element-config-overrides.json" (builtins.toJSON (noPhoningHome // conf));
-
-in stdenv.mkDerivation rec {
-  pname = "schildichat-web";
-  inherit (pinData) version;
-
-  src = fetchFromGitHub {
-    owner = "SchildiChat";
-    repo = "schildichat-desktop";
-    inherit (pinData) rev;
-    sha256 = pinData.srcHash;
-    fetchSubmodules = true;
-  };
-
-  webOfflineCache = fetchYarnDeps {
-    yarnLock = src + "/element-web/yarn.lock";
-    sha256 = pinData.webYarnHash;
-  };
-  jsSdkOfflineCache = fetchYarnDeps {
-    yarnLock = src + "/matrix-js-sdk/yarn.lock";
-    sha256 = pinData.jsSdkYarnHash;
-  };
-  reactSdkOfflineCache = fetchYarnDeps {
-    yarnLock = src + "/matrix-react-sdk/yarn.lock";
-    sha256 = pinData.reactSdkYarnHash;
-  };
-
-  nativeBuildInputs = [ yarn prefetch-yarn-deps jq nodejs ];
-
-  configurePhase = ''
-    runHook preConfigure
-
-    export HOME=$PWD/tmp
-    # with the update of openssl3, some key ciphers are not supported anymore
-    # this flag will allow those codecs again as a workaround
-    # see https://medium.com/the-node-js-collection/node-js-17-is-here-8dba1e14e382#5f07
-    # and https://github.com/vector-im/element-web/issues/21043
-    export NODE_OPTIONS=--openssl-legacy-provider
-    mkdir -p $HOME
-
-    pushd element-web
-    fixup-yarn-lock yarn.lock
-    yarn config --offline set yarn-offline-mirror $webOfflineCache
-    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
-    patchShebangs node_modules
-    rm -rf node_modules/matrix-react-sdk
-    ln -s $PWD/../matrix-react-sdk node_modules/
-    rm -rf node_modules/matrix-js-sdk
-    ln -s $PWD/../matrix-js-sdk node_modules/
-    popd
-
-    pushd matrix-js-sdk
-    fixup-yarn-lock yarn.lock
-    yarn config --offline set yarn-offline-mirror $jsSdkOfflineCache
-    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
-    patchShebangs node_modules
-    popd
-
-    pushd matrix-react-sdk
-    fixup-yarn-lock yarn.lock
-    yarn config --offline set yarn-offline-mirror $reactSdkOfflineCache
-    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
-    patchShebangs node_modules scripts
-    popd
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    pushd element-web
-    export VERSION=${version}
-    yarn build:res --offline
-    yarn build:module_system --offline
-    yarn build:bundle --offline
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mv element-web/webapp $out
-    jq -s '.[0] * .[1]' "configs/sc/config.json" "${configOverrides}" > "$out/config.json"
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Matrix client / Element Web fork";
-    homepage = "https://schildi.chat/";
-    changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
-    maintainers = teams.matrix.members ++ (with maintainers; [ kloenk yuka ]);
-    license = licenses.asl20;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/update.sh b/pkgs/applications/networking/instant-messengers/schildichat/update.sh
deleted file mode 100755
index 6ddc99902c3be..0000000000000
--- a/pkgs/applications/networking/instant-messengers/schildichat/update.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-git jq
-
-if [[ "$#" -gt 2 || "$1" == -* ]]; then
-  echo "Regenerates packaging data for the SchildiChat packages."
-  echo "Usage: $0 [git revision or tag] [version string override]"
-  exit 1
-fi
-
-rev="$1"
-version="$2"
-
-set -euo pipefail
-
-if [ -z "$rev" ]; then
-  rev="$(wget -O- "https://api.github.com/repos/SchildiChat/schildichat-desktop/releases?per_page=1" | jq -r '.[0].tag_name')"
-fi
-
-if [ -z "$version" ]; then
-  # strip leading "v"
-  version="${rev#v}"
-fi
-
-src_data=$(nix-prefetch-git https://github.com/SchildiChat/schildichat-desktop --fetch-submodules --rev $rev)
-src=$(echo $src_data | jq -r .path)
-src_hash=$(echo $src_data | jq -r .sha256)
-
-web_yarn_hash=$(prefetch-yarn-deps $src/element-web/yarn.lock)
-desktop_yarn_hash=$(prefetch-yarn-deps $src/element-desktop/yarn.lock)
-js_sdk_yarn_hash=$(prefetch-yarn-deps $src/matrix-js-sdk/yarn.lock)
-react_sdk_yarn_hash=$(prefetch-yarn-deps $src/matrix-react-sdk/yarn.lock)
-
-cat > pin.json << EOF
-{
-  "version": "$version",
-  "rev": "$rev",
-  "srcHash": "$src_hash",
-  "webYarnHash": "$web_yarn_hash",
-  "jsSdkYarnHash": "$js_sdk_yarn_hash",
-  "reactSdkYarnHash": "$react_sdk_yarn_hash",
-  "desktopYarnHash": "$desktop_yarn_hash"
-}
-EOF
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 683b1d7550cb5..c01f260406d4b 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,12 +1,17 @@
-{ callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
-  signal-desktop = {
+{ callPackage, stdenv }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
+  signal-desktop = rec {
     dir = "Signal";
-    version = "6.39.1";
-    hash = "sha256-dDbUpxXpQg1SoVyYO33Nczqf+WmWDPNE6cmw792wjGY=";
+    version = "6.40.0";
+    version-aarch64 = "6.40.0";
+    url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+    url-aarch64 = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version-aarch64}/builds/release/signal-desktop_${version-aarch64}_arm64.deb";
+    hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4=";
+    hash-aarch64 = "sha256-3Pi0c+CGcJR1M4ll51m+B5PmGIcIjjlc0qa9b8rkMeU=";
   };
-  signal-desktop-beta = {
+  signal-desktop-beta = rec {
     dir = "Signal Beta";
     version = "6.40.0-beta.2";
     hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg=";
+    url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index 1d75bd542d6c0..c3e14775cb16a 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -1,7 +1,11 @@
 { pname
 , dir
 , version
+, version-aarch64 ? ""
 , hash
+, hash-aarch64 ? ""
+, url
+, url-aarch64 ? ""
 , stdenv
 , lib
 , fetchurl
@@ -51,8 +55,15 @@
 , wayland
 }:
 
-stdenv.mkDerivation rec {
-  inherit pname version; # Please backport all updates to the stable channel.
+let
+  inherit (stdenv) targetPlatform;
+  ARCH = if targetPlatform.isAarch64 then "arm64" else "x64";
+  final-version = if targetPlatform.isAarch64 then version-aarch64 else version;
+in stdenv.mkDerivation rec {
+  inherit pname;
+  version = final-version;
+
+  # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -61,8 +72,8 @@ stdenv.mkDerivation rec {
   # few additional steps and might not be the best idea.)
 
   src = fetchurl {
-    url = "https://updates.signal.org/desktop/apt/pool/s/${pname}/${pname}_${version}_amd64.deb";
-    inherit hash;
+    url = if targetPlatform.isAarch64 then url-aarch64 else url;
+    hash = if targetPlatform.isAarch64 then hash-aarch64 else hash;
   };
 
   nativeBuildInputs = [
@@ -163,7 +174,7 @@ stdenv.mkDerivation rec {
       ${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
 
     autoPatchelf --no-recurse -- "$out/lib/${dir}/"
-    patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-x64.node"
+    patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
   '';
 
   # Tests if the application launches and waits for "Link your phone to Signal Desktop":
@@ -176,11 +187,11 @@ stdenv.mkDerivation rec {
       "Signal Android" or "Signal iOS" app.
     '';
     homepage = "https://signal.org/";
-    changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}";
+    changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${final-version}";
     license = lib.licenses.agpl3Only;
-    maintainers = with lib.maintainers; [ mic92 equirosa urandom ];
+    maintainers = with lib.maintainers; [ mic92 equirosa urandom bkchr ];
     mainProgram = pname;
-    platforms = [ "x86_64-linux" ];
+    platforms = if builtins.stringLength version-aarch64 > 0 then [ "x86_64-linux" "aarch64-linux" ] else [ "x86_64-linux" ];
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
index d069e0a1f4460..d7cf9a2d2c1e3 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
@@ -80,14 +80,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "4.11.8";
+  version = "4.12.2";
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-VuMcqbGo1t1J7I8kXdqsw/01Mth9YKEbiy8aNtM3azw=";
+    hash = "sha256-jIOJ7iFF2SMZOBTVzc0ECEZrkXPY060jk3fxt7kIWSg=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
index dddbfb799396c..1964925924cda 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "unstable-2023-11-01";
+  version = "unstable-2023-11-17";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
     repo = "tg_owt";
-    rev = "71cce98c5fb1d9328892d55f70db711afd5b1aef";
-    sha256 = "sha256-cEow6Hrp00nchfNtuABsLfD07KtlErWxh0NFv2uPQdQ=";
+    rev = "76a3513d7f25d6623d92463fbe6470d9001b66a8";
+    sha256 = "sha256-nubFELIHxn9yQiFGDqcYtVN9rjXizzkiV07ypWY9v48=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
index 6ca9bdc0e7643..89405033bcaca 100644
--- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -6,20 +6,21 @@
 , openssl
 , CoreServices
 , Security
+, SystemConfiguration
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-tui";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "Xithrius";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oqsLqmyLrvb8u9cj68OemUfunbP98/BZjmoGl1Mctrk=";
+    hash = "sha256-UPcJHuqDnyg2U3aNtd44dqt2iC2iLkR4wzsOjAByISw=";
   };
 
-  cargoHash = "sha256-DEHMF6sTH3BF8lqOV5G4F3+Tsafrhzr0YLqSgV3gq9I=";
+  cargoHash = "sha256-HFBCLYjrDAPU2EZ1NQ+A0mAFo5jvj79Ghge6+D1PBAg=";
 
   nativeBuildInputs = [
     pkg-config
@@ -30,6 +31,7 @@ rustPlatform.buildRustPackage rec {
   ] ++ lib.optionals stdenv.isDarwin [
     CoreServices
     Security
+    SystemConfiguration
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 952ca75bb6af8..96854c3cdb621 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -36,14 +36,14 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "4.1.1";
+      version = "4.1.2";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
-        hash = "sha256-d0I4YU2OY+TT1ac6bLZA7Hb+BsyYK4eoySNlFXkndnU=";
+        hash = "sha256-mpuRD752i7nefHrJRPXbjyM4M/NFsuUF4W7G7zXv+7U=";
       };
 
       # Why is this needed? https://github.com/weechat/weechat/issues/2031
diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix
index 17d80e496e317..1a914a065b095 100644
--- a/pkgs/applications/networking/juju/default.nix
+++ b/pkgs/applications/networking/juju/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "3.2.3";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "juju-${version}";
-    sha256 = "sha256-sUlM4bLy/kluZmGOzMACz92GG46XYKicNPP5k2FPSGA=";
+    sha256 = "sha256-8VSSTeN4a1zvMi4L4dR3q+kWKgYq8Jg1jDvFjEBD7jI=";
   };
 
-  vendorHash = "sha256-mPEixXVuxAqgkBoNqIYnZaFJynHJsnmamaHqyh/svwQ=";
+  vendorHash = "sha256-3hZywUpJe6g8IujbK0hcp12S6OKswLj/YYJGuPG06Es=";
 
   # Disable tests because it attempts to use a mongodb instance
   doCheck = false;
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 896c2a6c269c1..b7167d261b21d 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -44,11 +44,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.50.1";
+  version = "3.50.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "5CA240m4Mrkbprxg+Zxkte0AjrDrM7wipU8p9I7r1Zg=";
+    sha256 = "D4M1214mmFRHi01tlHLu2s0Kiev3+0+DdWJDMMqqcSA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 87ad4a015fd8b..322bd2db903fa 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "notmuch";
-  version = "0.38";
+  version = "0.38.2";
 
   src = fetchurl {
     url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
-    sha256 = "sha256-oXkBrb5D9IGmv1PBWiogJovI3HrVzPaFoNF8FFbbr24=";
+    hash = "sha256-UoLr5HQrA+4A/Dq4NZaflNIpJ523IyESvcUAnYYelH4=";
   };
 
   nativeBuildInputs = [
@@ -135,7 +135,7 @@ stdenv.mkDerivation rec {
 
     updateScript = gitUpdater {
       url = "https://git.notmuchmail.org/git/notmuch";
-      ignoredVersions = "_rc.*";
+      ignoredVersions = "_(rc|pre).*";
     };
   };
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 523a1f3a3904d..f97f7b850e277 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -44,13 +44,13 @@ rec {
 
   thunderbird-115 = (buildMozillaMach rec {
     pname = "thunderbird";
-    version = "115.4.2";
+    version = "115.5.1";
     application = "comm/mail";
     applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "44cedd5931edbac2ab0babfaf0e71a0262317c01fd7d71e8740bb8f54766c9b49b9e325f1d2796c3a233d4298457d8769b675213a21bef759c46086080bcc8bc";
+      sha512 = "5ddc39b3591427d283c5497f68a1d722409aba54d53342a36a259daa219d8135ecf88868b12235eb9536f46f825722cf6da2781b71a2e10b816281231394b4f9";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/misc/zammad/0001-nulldb.patch b/pkgs/applications/networking/misc/zammad/0001-nulldb.patch
index 61971525b99d0..cf024c998b6c8 100644
--- a/pkgs/applications/networking/misc/zammad/0001-nulldb.patch
+++ b/pkgs/applications/networking/misc/zammad/0001-nulldb.patch
@@ -7,7 +7,7 @@ index d85a17491..90ea5e387 100644
  
  require 'rails/all'
 +require 'nulldb'
- require_relative 'issue_2656_workaround_for_rails_issue_33600'
+ require_relative '../lib/zammad/safe_mode'
  
  # DO NOT REMOVE THIS LINE - see issue #2037
 diff --git a/db/schema.rb b/db/schema.rb
diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix
index b69f90d321a48..4b8a397afa8fe 100644
--- a/pkgs/applications/networking/misc/zammad/default.nix
+++ b/pkgs/applications/networking/misc/zammad/default.nix
@@ -19,11 +19,12 @@
 , yarn2nix-moretea
 , v8
 , cacert
+, redis
 }:
 
 let
   pname = "zammad";
-  version = "5.4.1";
+  version = "6.1.0";
 
   src = applyPatches {
 
@@ -100,7 +101,7 @@ let
 
     offlineCache = fetchYarnDeps {
       yarnLock = "${src}/yarn.lock";
-      hash = "sha256-HI4RR4/ll/zNBNtDCb8OvEsG/BMVYacM0CcYqbkNHEY=";
+      hash = "sha256-PVQ2L+Io6Ct9UHvfoQmxV01ECG8fj0+xKwpMfAvD7q0=";
     };
 
     yarnPreBuild = ''
@@ -124,13 +125,26 @@ stdenv.mkDerivation {
     cacert
   ];
 
+  nativeBuildInputs = [
+    redis
+  ];
+
   RAILS_ENV = "production";
 
   buildPhase = ''
     node_modules=${yarnEnv}/libexec/Zammad/node_modules
     ${yarn2nix-moretea.linkNodeModulesHook}
 
+    mkdir redis-work
+    pushd redis-work
+    redis-server &
+    REDIS_PID=$!
+    popd
+
     rake DATABASE_URL="nulldb://user:pass@127.0.0.1/dbname" assets:precompile
+
+    kill $REDIS_PID
+    rm -r redis-work
   '';
 
   installPhase = ''
@@ -151,6 +165,6 @@ stdenv.mkDerivation {
     homepage = "https://zammad.org";
     license = licenses.agpl3Plus;
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ n0emis garbas taeer ];
+    maintainers = with maintainers; [ n0emis taeer netali ];
   };
 }
diff --git a/pkgs/applications/networking/misc/zammad/gemset.nix b/pkgs/applications/networking/misc/zammad/gemset.nix
index bf33453ca6f8c..3c96ab18ef8c9 100644
--- a/pkgs/applications/networking/misc/zammad/gemset.nix
+++ b/pkgs/applications/networking/misc/zammad/gemset.nix
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bndmmby5qxq8rs42fbb2ax3hhbjj2ds8wja08s0iadkbrn7shvf";
+      sha256 = "1fdbks9byqqlkd6glj6lkz5f1z6948hh8fhv9x5pzqciralmz142";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cx00kf0syq5gdhlrmw0q9v92ki55drbsk4gzy86ls2q8xkd792s";
+      sha256 = "1rfya6qgsl14cm9l2w7h7lg4znsyg3gqiskhqr8wn76sh0x2hln0";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vbif021cyndq3v3m61dkmgdbbirqk9zcsszb9nisq24m3gx1aai";
+      sha256 = "0jr9jpf542svzqz8x68s08jnf30shxrrh7rq1a0s7jia5a5zx3qd";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k6hc7klvn8m88b88vykl83jrpqhn4zz67l2zx9v266xga6fhala";
+      sha256 = "0vf6ncs647psa9p23d2108zgmlf0pr7gcjr080yg5yf68gyhs53k";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16ldxyxlxl9scggpmkww2fxzim7sl2b4js610pvddcsr74z9fjs7";
+      sha256 = "1i8s3v6m8q3y17c40l6d3k2vs1mdqr0y1lfm7i6dfbj2y673lk9r";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck02cfc17s6g05qn0k7khwvvazwbf2rxbjcma8px2nw2j1ngvcn";
+      sha256 = "1s4c1n5lv31sc7w4w74xz8gzyq3sann00bm4l7lxgy3vgi2wqkid";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05bkw9qgjgj2nxzjj2fh6jp1fcvgff0aa4r77k0gcfmnzc1g8wdl";
+      sha256 = "1641003plszig5ybhrqy90fv43l1vcai5h35qmhh9j12byk5hp26";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03hy5bwghdklcxbdylmsq70y0qzslck5slb2zkvp7g6mmvk86kwd";
+      sha256 = "148szdj5jlnfpv3nmy8cby8rxgpdvs43f3rzqby1f7a0l2knd3va";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1alshkgbcxp9s4vqb2b0yrrnyg15kxhlp1slsb03a61w7h42pspw";
+      sha256 = "0n7hg582ajdncilfk1kkw8qfdchymp2gqgkad1znlhlmclihsafr";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   activerecord-import = {
     dependencies = ["activerecord"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cwm95795c6j5hk76csdkfg7ad228cmp086shkcmhnad4mycbh4m";
+      sha256 = "12prkcp68jqpbl06lv46n7cgbvgsxmjwkn88q36wh9rz9bvlpbhg";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.5.0";
   };
   activerecord-nulldb-adapter = {
     dependencies = ["activerecord"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c0f7fn06fzc7pn0dydchnq6xgcaga9rbzhmin5z5xvg5nkv783c";
+      sha256 = "07lx5l6dgippsywwfq1c9ykf5iza75520gam465kz9hsifp6xp7i";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.0";
   };
   activerecord-session_store = {
     dependencies = ["actionpack" "activerecord" "multi_json" "rack" "railties"];
@@ -148,10 +148,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06w4wlabqqr9bwdig44r5vdwkcbbivwgwn2fl775w7h05vrccgp8";
+      sha256 = "16pylwnqsbvq2wxhl7k1rnravbr3dgpjmnj0psz5gijgkydd52yc";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -159,10 +159,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mihpy83a5xmavvn7l8vbix472dsi0vh30xj6g594k0679m0ir6";
+      sha256 = "1nhrdih0rk46i0s6x7nqhbypmj1hf23zl5gfl9xasb6k4r2a1dxk";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   acts_as_list = {
     dependencies = ["activerecord"];
@@ -181,10 +181,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw";
+      sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.8.5";
+  };
+  android_key_attestation = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6";
+      type = "gem";
+    };
+    version = "0.3.0";
   };
   argon2 = {
     dependencies = ["ffi" "ffi-compiler"];
@@ -226,10 +236,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "020v30xd1v2yvyfshbii497c83n4kafc6967pwmgl54sxkx04xwq";
+      sha256 = "0hax4yd41f61ypfs7f0snjzbcgpp19s9d2i0bv4hyjv21kkdz736";
+      type = "gem";
+    };
+    version = "10.4.13.0";
+  };
+  awrence = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gj8f8c54r9cabkm41s59sa1ca5wpbipw7gq3sfl87x9296227fx";
       type = "gem";
     };
-    version = "10.4.7.0";
+    version = "1.2.1";
+  };
+  base64 = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
+  bindata = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04y4zgh4bbcb8wmkxwfqg4saky1d1f3xw8z6yk543q13h8ky8rz5";
+      type = "gem";
+    };
+    version = "2.4.15";
   };
   binding_of_caller = {
     dependencies = ["debug_inspector"];
@@ -269,10 +309,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lcxxlrzgpi9z2mr2v19xda6fdysmn5psa9bsp2rksa915v91fds";
+      sha256 = "1gliwnyma9f1mpr928c79i36q51yl68dwjd3jgwvsyr4piiiqr1r";
       type = "gem";
     };
-    version = "5.4.0";
+    version = "6.0.1";
   };
   browser = {
     groups = ["default"];
@@ -330,10 +370,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "123198zk2ak8mziwa5jc3ckgpmsg08zn064n3aywnqm9s1bwjv3v";
+      sha256 = "114qm5f5vhwaaw9rj1h2lcamh46zl13v1m18jiw68zl961gwmw6n";
       type = "gem";
     };
-    version = "3.38.0";
+    version = "3.39.2";
+  };
+  cbor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3";
+      type = "gem";
+    };
+    version = "0.5.9.6";
   };
   childprocess = {
     groups = ["default" "development" "test"];
@@ -434,10 +484,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.2.2";
+  };
+  cose = {
+    dependencies = ["cbor" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00c6x4ha7qiaaf88qdbyf240mk146zz78rbm4qwyaxmwlmk7q933";
+      type = "gem";
+    };
+    version = "1.3.0";
   };
   crack = {
     dependencies = ["rexml"];
@@ -465,10 +526,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l5f5cq8ki3h4djh7pb8yqdkywqd08vjy3vd64yqh7qd6pdwky6w";
+      sha256 = "0r20iryb3ls3ly2c8k675ixz1zsifrkcj0h2i0326pgb3dwkicxa";
       type = "gem";
     };
-    version = "3.2.6";
+    version = "3.2.7";
   };
   daemons = {
     groups = ["default"];
@@ -485,10 +546,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xyza6gjci6qp83srcvsg3i225x17n27bwci4wqzpmn9bykjac2n";
+      sha256 = "11ig4scb2h93j4z6rikfjd00wk2y4bhkikhia86a65gs4gl44kja";
       type = "gem";
     };
-    version = "3.2.3";
+    version = "3.2.5";
   };
   date = {
     groups = ["default"];
@@ -580,10 +641,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fxrvqv3l5w9p20s129rg41zc6agf1n4yrmganancnvykbkygki2";
+      sha256 = "1q2pywgyn6cbnm0fh3dln5z1qgd1g8hvb4x8rppjc1bpfxnfhi13";
       type = "gem";
     };
-    version = "5.6.4";
+    version = "5.6.6";
   };
   dotenv = {
     groups = ["development" "test"];
@@ -600,10 +661,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ffdpd18n1h1fxsl4yz7wpjlxb0nw8s0wxzwypi9vcyzij0d993s";
+      sha256 = "1w39jms4bsggxvl23cxanhccv1ngb6nqxsqhi784v5bjz1lx3si8";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "1.0.0";
   };
   dry-core = {
     dependencies = ["concurrent-ruby" "zeitwerk"];
@@ -611,10 +672,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks";
+      sha256 = "03a5qn74c4lk2rpy6wlhv66synjlyzc4wn086xzphkpmw12l4bzk";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   dry-inflector = {
     groups = ["default"];
@@ -654,10 +715,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s5cqx3i7bigfhy8pniswdhinc9k2xxvkk05ikqy0kmwiy4bc991";
+      sha256 = "1f6dz0hm67rhybh6xq2s3vvr700cp43kf50z2lids62s2i0mh5hj";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.7.1";
   };
   eco = {
     dependencies = ["coffee-script" "eco-source" "execjs"];
@@ -717,10 +778,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx";
+      sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.12.0";
   };
   eventmachine = {
     groups = ["default"];
@@ -770,10 +831,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b8772jybi0vxzbcs5zw17k40z661c8adn2rd6vqqr7ay71bzl09";
+      sha256 = "0ysiqlvyy1351bzx7h92r93a35s32l8giyf9bac6sgr142sh3cnn";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.2.1";
   };
   faraday = {
     dependencies = ["faraday-net_http" "ruby2_keywords"];
@@ -781,10 +842,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
+      sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
       type = "gem";
     };
-    version = "2.7.4";
+    version = "2.7.10";
   };
   faraday-mashify = {
     dependencies = ["faraday" "hashie"];
@@ -844,10 +905,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rv8dlq9nqpias29jh40qb6xzznlk6ra41nan6s5hy56402f0k29";
+      sha256 = "1l38x0i0z8pjwr54lmnk8q1lxd7cqyl5m0qqqwb2iw28kncvmb3i";
       type = "gem";
     };
-    version = "2.21.0";
+    version = "2.21.1";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -855,10 +916,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040bxzfd7mz1p6z4bc9vk5yrf762hdllvf98hmk848fq28xc5dsk";
+      sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
   gmail_xoauth = {
     dependencies = ["oauth"];
@@ -876,10 +937,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14knjmj2csrl9s890ikvipsbxn01xn6vdb64iwlbv6xnc20scwxf";
+      sha256 = "0j5y4zgvraq5jhs2jjrblarj93nhq94m7bk8k1cqk18nq985x5ac";
       type = "gem";
     };
-    version = "2.0.17";
+    version = "2.0.26";
   };
   graphql-batch = {
     dependencies = ["graphql" "promise.rb"];
@@ -887,10 +948,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nsjfi47h9ma8gkqi7v6ky3jqp1zb05l4y2xdsa13f0s8vmq04jv";
+      sha256 = "0y8lclq94jjqg4sbn6lkbfa8cm64nnicgzkrmaihl8ml7p6mslal";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.5.3";
   };
   hashdiff = {
     groups = ["default" "development" "test"];
@@ -1001,10 +1062,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
+      sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.1";
   };
   icalendar = {
     dependencies = ["ice_cube"];
@@ -1012,10 +1073,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11zfs0l8y2a6gpf0krm91d0ap2mnf04qky89dyzxwaspqxqgj174";
+      sha256 = "03isrw8mma83hifham5iab80bnbx7b1xabnh8v4zragb04gpfzs5";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.9.0";
   };
   icalendar-recurrence = {
     dependencies = ["icalendar" "ice_cube"];
@@ -1098,26 +1159,26 @@
     };
     version = "2.3.0";
   };
-  kgio = {
-    groups = ["default" "unicorn"];
+  koala = {
+    dependencies = ["addressable" "faraday" "faraday-multipart" "json" "rexml"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ipzvw7n0kz1w8rkqybyxvf3hb601a770khm0xdqm68mc4aa59xx";
+      sha256 = "0qrs0yra1d0kxrn28fh1hvm099rh26dp4hpkw36vgfm286qjslww";
       type = "gem";
     };
-    version = "2.11.4";
+    version = "3.5.0";
   };
-  koala = {
-    dependencies = ["addressable" "faraday" "faraday-multipart" "json" "rexml"];
-    groups = ["default"];
+  language_server-protocol = {
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14jq1q8314x5qncmfgs53iv1ycz1fm887gnp7w04h963gbwr3yhc";
+      sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
       type = "gem";
     };
-    version = "3.4.0";
+    version = "3.17.0.3";
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
@@ -1140,6 +1201,16 @@
     };
     version = "1.1.4";
   };
+  localhost = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12p4sy88qnw5c8ga6fdlxy2w2i0xw9mmnzckzj71k4rvbwpdzlg1";
+      type = "gem";
+    };
+    version = "1.1.10";
+  };
   logging = {
     dependencies = ["little-plugger" "multi_json"];
     groups = ["default"];
@@ -1157,10 +1228,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c";
+      sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
       type = "gem";
     };
-    version = "2.19.1";
+    version = "2.21.3";
   };
   mail = {
     dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
@@ -1231,50 +1302,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
+      sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
       type = "gem";
     };
-    version = "3.4.1";
+    version = "3.5.1";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9";
+      sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
       type = "gem";
     };
-    version = "3.2023.0218.1";
+    version = "3.2023.0808";
   };
   mini_mime = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
+      sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.5";
   };
   mini_portile2 = {
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
+      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.8.4";
   };
   minitest = {
     groups = ["assets" "default" "development" "nulldb" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
+      sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
       type = "gem";
     };
-    version = "5.17.0";
+    version = "5.19.0";
   };
   minitest-profile = {
     groups = ["development" "test"];
@@ -1291,10 +1362,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q03pb0vq8388s431nbxabsfxnch6p304c8vnjlk0zzpcv713yr3";
+      sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.2";
   };
   multi_json = {
     groups = ["default"];
@@ -1331,10 +1402,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsy70mg4p854jska7ff7cy8fyn9nhlkrmfdvkkfmk8qxairbfq1";
+      sha256 = "1gjvj215qdhwk3292sc7xsn6fmwnnaq2xs35hh5hc8d8j22izlbn";
       type = "gem";
     };
-    version = "0.5.4";
+    version = "0.5.5";
   };
   naught = {
     groups = ["default"];
@@ -1384,20 +1455,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d996zf3g8xz244791b0qsl9vr7zg4lqnnmf9k2kshr9lki5jam8";
+      sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
       type = "gem";
     };
-    version = "0.3.4";
+    version = "0.3.7";
   };
   net-ldap = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
+      sha256 = "0xqcffn3c1564c4fizp10dzw2v5g2pabdzrcn25hq05bqhsckbar";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.18.0";
   };
   net-pop = {
     dependencies = ["net-protocol"];
@@ -1437,10 +1508,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
+      sha256 = "0w9978zwjf1qhy3amkivab0f9syz6a7k0xgydjidaf7xc831d78f";
       type = "gem";
     };
-    version = "2.5.8";
+    version = "2.5.9";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -1448,10 +1519,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
+      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
       type = "gem";
     };
-    version = "1.13.10";
+    version = "1.15.4";
   };
   nori = {
     groups = ["default"];
@@ -1497,15 +1568,15 @@
     version = "2.0.9";
   };
   omniauth = {
-    dependencies = ["hashie" "rack"];
+    dependencies = ["hashie" "rack" "rack-protection"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jn9j54l5h7xcba2vjq74l1dk0xrwvsjxam4qhylpi52nw0h5502";
+      sha256 = "15xjsxis357np7dy1lak39x1n8g8wxljb08wplw5i4gxi743zr7j";
       type = "gem";
     };
-    version = "1.9.2";
+    version = "2.1.1";
   };
   omniauth-facebook = {
     dependencies = ["omniauth-oauth2"];
@@ -1524,10 +1595,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xbk0dbxqfpyfb33ghz6vrlz3m6442rp18ryf13gwzlnifcawhlb";
+      sha256 = "1m6a7kg3lxz2nm96prln2ja8r4wlm37m5vsy9199vnynqq5fgy4g";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "2.0.1";
   };
   omniauth-gitlab = {
     dependencies = ["omniauth" "omniauth-oauth2"];
@@ -1535,21 +1606,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nbrg93p0nqxs1i2ddyij2rr7jn4vr3la4la39q4fknpin535k3z";
+      sha256 = "04wnjnapgwsnyd3dfnp8dp1jjnsg64zkls5xharj10j822kiygsl";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "4.1.0";
   };
   omniauth-google-oauth2 = {
-    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+    dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pgqasl048irs2c6w6g57zvk0ygb5ml1krwir4qi4b6y53zyr55";
+      sha256 = "0fahkghfa2iczmwss9bz5l4rh7siwzjnjp3akh7pdbsfx0kg35j4";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "1.1.1";
   };
   omniauth-linkedin-oauth2 = {
     dependencies = ["omniauth-oauth2"];
@@ -1557,10 +1628,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ydkj9f2hd3fskpc2gazz9dim70z2k6z6pb8j3glnlhkd67iyzci";
+      sha256 = "0xai5k6xzinc4d67n64y1acffs8p7xi2hikz493dz6jx8qv9b2g3";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   omniauth-microsoft-office365 = {
     dependencies = ["omniauth" "omniauth-oauth2"];
@@ -1590,10 +1661,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ia73zcbmhf02krlkq2rxmksx93jp777ax5x58fzkq3jzacqyniz";
+      sha256 = "0y4y122xm8zgrxn5nnzwg6w39dnjss8pcq2ppbpx9qn7kiayky5j";
       type = "gem";
     };
-    version = "1.7.3";
+    version = "1.8.0";
   };
   omniauth-rails_csrf_protection = {
     dependencies = ["actionpack" "omniauth"];
@@ -1601,10 +1672,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xgkxwg17w39q3yjqcj0fm6hdkw37qm1l82dvm9zxn6q2pbzm2zv";
+      sha256 = "1kwswnkyl8ym6i4wv65qh3qchqbf2n0c6lbhfgbvkds3gpmnlm7w";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.0.1";
   };
   omniauth-saml = {
     dependencies = ["omniauth" "ruby-saml"];
@@ -1612,10 +1683,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gxl14lbksnjkl8dfn23lsjkk63md77icm5racrh6fsp5n4ni9d4";
+      sha256 = "01k9rkg97npcgm8r4x3ja8y20hsg4zy0dcjpzafx148q4yxbg74n";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "2.1.0";
   };
   omniauth-twitter = {
     dependencies = ["omniauth-oauth" "rack"];
@@ -1633,9 +1704,11 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02cz73lj38cjqkbrdnfr7iymzqdcxgqcjy992r5hmawgpqqgxvwb";
-      type = "gem";
+      fetchSubmodules = false;
+      rev = "06803ef97f822ede854322587db8049cc67dcfa6";
+      sha256 = "10bsx11padnmd88xhkr583mgwwsn8155vpg2flw7wqjkd2hy6671";
+      type = "git";
+      url = "https://github.com/zammad-deps/omniauth-weibo-oauth2";
     };
     version = "0.5.2";
   };
@@ -1649,6 +1722,17 @@
     };
     version = "3.1.0";
   };
+  openssl-signature_algorithm = {
+    dependencies = ["openssl"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "103yjl68wqhl5kxaciir5jdnyi7iv9yckishdr52s5knh9g0pd53";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
   overcommit = {
     dependencies = ["childprocess" "iniparse" "rexml"];
     groups = ["development" "test"];
@@ -1665,21 +1749,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb";
+      sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597";
       type = "gem";
     };
-    version = "1.22.1";
+    version = "1.23.0";
   };
   parser = {
-    dependencies = ["ast"];
+    dependencies = ["ast" "racc"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zk8mdyr0322r11d63rcp5jhz4lakxilhvyvdv0ql5dw4lb83623";
+      sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h";
       type = "gem";
     };
-    version = "3.2.0.0";
+    version = "3.2.2.3";
   };
   pg = {
     groups = ["postgres"];
@@ -1707,10 +1791,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17yx4bc0k182lhydwa8aqn0kx776kqymziydpb2szmxzx5q2sghx";
+      sha256 = "1y2c5mvkq7zc5vh4ijs1wc9hc0yn4mwsbrjch34jf11pcz116pnd";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.3";
   };
   "promise.rb" = {
     groups = ["default"];
@@ -1728,10 +1812,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr";
+      sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4";
       type = "gem";
     };
-    version = "0.14.1";
+    version = "0.14.2";
   };
   pry-rails = {
     dependencies = ["pry"];
@@ -1782,10 +1866,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
+      sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.0.3";
   };
   puma = {
     dependencies = ["nio4r"];
@@ -1793,10 +1877,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0df9bknc2dllk8v9fhgidzbvbryaxa8fgifrk40cdz9csjsphbky";
+      sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
       type = "gem";
     };
-    version = "4.3.12";
+    version = "6.3.1";
   };
   pundit = {
     dependencies = ["activesupport"];
@@ -1804,41 +1888,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wb03yzy1j41822rbfh9nn77im3zh1f5v8di05cd8rsrdpws542b";
+      sha256 = "10diasjqi1g7s19ns14sldia4wl4c0z1m4pva66q4y2jqvks4qjw";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
   };
   pundit-matchers = {
-    dependencies = ["rspec-rails"];
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hs0z7flj8yibk8jm5x7pnnfnl0rh0rhrvmq27b6pxvqxxvywsq3";
+      sha256 = "0gmvppwknijhy013azyws85bkyck8x9ly7yh2162kxa59z1kbsgq";
       type = "gem";
     };
-    version = "1.8.4";
+    version = "3.1.2";
   };
   racc = {
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq";
+      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
       type = "gem";
     };
-    version = "1.6.2";
+    version = "1.7.1";
   };
   rack = {
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qgwkcb8kxns8d5187cxjaxf18b7dmg9gh6cr9c1125m0bj2pnfk";
+      sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv";
       type = "gem";
     };
-    version = "2.2.6.4";
+    version = "2.2.8";
   };
   rack-attack = {
     dependencies = ["rack"];
@@ -1846,10 +1930,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "049s3y3dpl6dn478g912y6f9nzclnnkl30psrbc2w5kaihj5szhq";
+      sha256 = "0z6pj5vjgl6swq7a33gssf795k958mss8gpmdb4v4cydcs7px91w";
+      type = "gem";
+    };
+    version = "6.7.0";
+  };
+  rack-protection = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xsz78hccgza144n37bfisdkzpr2c8m0xl6rnlzgxdbsm1zrkg7r";
       type = "gem";
     };
-    version = "6.6.1";
+    version = "3.1.0";
   };
   rack-proxy = {
     dependencies = ["rack"];
@@ -1868,10 +1963,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rjl709krgf499dhjdapg580l2qaj9d91pwzk8ck8fpnazlx1bdd";
+      sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.1.0";
   };
   rails = {
     dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
@@ -1879,10 +1974,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07cs7qdkx6vwp66diwdy9g6mx52rsd8rxhbnsqf9bqam58g2aynj";
+      sha256 = "0gf5dqabzd0mf0q39a07kf0smdm2cv2z5swl3zr4cz50yb85zz3l";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -1896,26 +1991,26 @@
     version = "1.0.5";
   };
   rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri"];
+    dependencies = ["activesupport" "minitest" "nokogiri"];
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
+      sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.2.0";
   };
   rails-html-sanitizer = {
-    dependencies = ["loofah"];
+    dependencies = ["loofah" "nokogiri"];
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mcb75qvldfz6zsr4inrfx7dmb0ngxy507awx28khqmnla3hqpc9";
+      sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.6.0";
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@@ -1923,10 +2018,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d2snjnx1j848axppj2napy3zjgbka3fnw2528rcamhm6dp694nd";
+      sha256 = "1vq4ahyg9hraixxmmwwypdnpcylpvznvdxhj4xa23xk45wzbl3h7";
       type = "gem";
     };
-    version = "6.1.7.3";
+    version = "6.1.7.6";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -1938,16 +2033,6 @@
     };
     version = "3.1.1";
   };
-  raindrops = {
-    groups = ["default" "unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wb2x51parf6v78w0cic90m33bdc92y5h8rj4wqs75dhw1b69hc7";
-      type = "gem";
-    };
-    version = "0.20.0";
-  };
   rake = {
     groups = ["assets" "default" "development" "test"];
     platforms = [];
@@ -2004,20 +2089,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d6241adx6drsfzz74nx1ld3394nm6fjpv3ammzr0g659krvgf7q";
+      sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.1";
   };
   rexml = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
+  };
+  rotp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
+      type = "gem";
+    };
+    version = "6.2.2";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -2025,10 +2120,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ibb81slc35q5yp276sixp3yrvj9q92wlmi1glbnwlk6g49z8rn4";
+      sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.12.2";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -2036,10 +2131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qldsmjhqr4344zdlamzggr3y98wdk2c4hihkhwx8imk800gkl8v";
+      sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.12.3";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -2047,10 +2142,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yvwnb0x5d6d4ff3wlgahk0wcw72ic51gd2snr1xxc5ify41kabv";
+      sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.12.6";
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@@ -2058,10 +2153,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d3fnabkaw8n0na2dpnlg2xygggj51djzpj9x6y5rkiqbfyqwv01";
+      sha256 = "086qdyz7c4s5dslm6j06mq7j4jmj958whc3yinhabnqqmz7i463d";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "6.0.3";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -2079,10 +2174,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx";
+      sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.12.1";
   };
   rszr = {
     groups = ["default"];
@@ -2095,15 +2190,15 @@
     version = "1.3.0";
   };
   rubocop = {
-    dependencies = ["json" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jsiy93y5c2sx2sr5jmdah208idw038m2fpihgan4klmldm3r1pm";
+      sha256 = "1n5d0n5yczh9d1xbqy07hs3vamq3683zc9jg0zg2n5jz8n7jwmah";
       type = "gem";
     };
-    version = "1.45.1";
+    version = "1.56.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2111,10 +2206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdzabz95hv3z5sfbkfqa8bdybsfl13gv7rjb32v3ss8klq99lbd";
+      sha256 = "188bs225kkhrb17dsf3likdahs2p1i1sqn0pr3pvlx50g6r2mnni";
       type = "gem";
     };
-    version = "1.24.1";
+    version = "1.29.0";
   };
   rubocop-capybara = {
     dependencies = ["rubocop"];
@@ -2122,10 +2217,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h4qcjkz0365qlhi7y1ni94qj14k397cad566zygm20p15ypbp5v";
+      sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6";
+      type = "gem";
+    };
+    version = "2.18.0";
+  };
+  rubocop-factory_bot = {
+    dependencies = ["rubocop"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1";
       type = "gem";
     };
-    version = "2.17.0";
+    version = "2.23.1";
   };
   rubocop-faker = {
     dependencies = ["faker" "rubocop"];
@@ -2144,10 +2250,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hryrjmcl04br06ibjzzrbb2am8ybbhnl2l7w13xl3wz3k4jyjxs";
+      sha256 = "1fmjnfhdaqxf4pdvfyjiayxazvqw52gj49m57abnri48ydvy4r06";
       type = "gem";
     };
-    version = "0.19.0";
+    version = "1.4.0";
   };
   rubocop-inflector = {
     dependencies = ["activesupport" "rubocop" "rubocop-rspec"];
@@ -2166,10 +2272,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n7g0vg06ldjaq4f8c11c7yqy99zng1qdrkkk4kfziippy24yxnc";
+      sha256 = "1v3a2g3wk3aqa0k0zzla10qkxlc625zkj3yf4zcsybs86r5bm4xn";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.19.0";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -2177,31 +2283,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nxyifly45y7dfiaf0ql8aq7xykrg0sh1l7dxmn3sb9p2jd18140";
+      sha256 = "05r46ds0dm44fb4p67hbz721zck8mdwblzssz2y25yh075hvs36j";
       type = "gem";
     };
-    version = "2.17.4";
+    version = "2.20.2";
   };
   rubocop-rspec = {
-    dependencies = ["rubocop" "rubocop-capybara"];
+    dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vmmin3ymgq7bhv2hl4pd0zpwawy709p816axc4vi67w61b4bij1";
+      sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f";
       type = "gem";
     };
-    version = "2.18.1";
+    version = "2.23.2";
   };
   ruby-progressbar = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
+      sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
   ruby-saml = {
     dependencies = ["nokogiri" "rexml"];
@@ -2209,10 +2315,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1irn32sy9gx6xj9jxc28h7dax7vp9z8j6hjjfsb2f5hd4qz0z20x";
+      sha256 = "18vnbzin5ypxrgcs9lllg7x311b69dyrdw2w1pwz84438hmxm79s";
       type = "gem";
     };
-    version = "1.14.0";
+    version = "1.15.0";
   };
   ruby2_keywords = {
     groups = ["default" "development" "test"];
@@ -2244,6 +2350,17 @@
     };
     version = "2.3.2";
   };
+  safety_net_attestation = {
+    dependencies = ["jwt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1khq0y5w7lf2b9a220298hphf3pakd216jc9a4x4a9pdwxs2vgln";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   sassc = {
     dependencies = ["ffi"];
     groups = ["assets" "default"];
@@ -2272,10 +2389,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dkcyq2hfvf4wdj7q5cqqlka1dw6gz28dckxf4r17jmd53ymwg28";
+      sha256 = "0ws0mh230l1pvyxcrlcr48w01alfhprjs1jbd8yrn463drsr2yac";
       type = "gem";
     };
-    version = "4.8.0";
+    version = "4.11.0";
   };
   shoulda-matchers = {
     dependencies = ["activesupport"];
@@ -2330,15 +2447,15 @@
     version = "2.4.0";
   };
   slack-ruby-client = {
-    dependencies = ["faraday" "faraday-mashify" "faraday-multipart" "gli" "hashie" "websocket-driver"];
+    dependencies = ["faraday" "faraday-mashify" "faraday-multipart" "gli" "hashie"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "110rhsxxf0g4qdrhy1ahyfjg1hqqwwwf4rjn8vrrbvpfd04b8xa5";
+      sha256 = "1mf62j2z6djz7lbqawp1biziyy40sv5k1q29i4mvwza79652dlkf";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   slop = {
     groups = ["default" "development" "test"];
@@ -2388,10 +2505,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14678jlva69bxx24sz5i882x25h357xmbmqsichvq8vdiw2xf6aa";
+      sha256 = "1hg3zfn6p4ahp6mybk6ylr169f4mf4sl7lljylf5gljazs1yngf3";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "0.3.0";
   };
   telegram-bot-ruby = {
     dependencies = ["dry-struct" "faraday" "faraday-multipart" "zeitwerk"];
@@ -2409,10 +2526,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c5cnx7w3wp6ddsw84s131asfs6pr650fhwqhzwx2v3987d38kz1";
+      sha256 = "0fbzaizg3f7ydlsp88zshkf47d07pc5jjpn9z7qckvah62f8r7a0";
       type = "gem";
     };
-    version = "1.4.19";
+    version = "1.4.20";
   };
   terser = {
     dependencies = ["execjs"];
@@ -2420,10 +2537,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01c8wp7z6v71jqgn6fgi8wfw62488i4arxdjqjg8zkn0jsflyd8b";
+      sha256 = "1ja8pz7dfj0g7a6smz3wbc6imdmmf07ka83qhkv2xdfd73c9p4d9";
       type = "gem";
     };
-    version = "1.1.13";
+    version = "1.1.17";
   };
   test-unit = {
     dependencies = ["power_assert"];
@@ -2431,20 +2548,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdhpdi8mlk7jwv9pxz3mhchpd5q93jxzijqhw334w5yv1ajl5hf";
+      sha256 = "02v0aa6rfanas00p47xi0anbza1ymcgv6h03ipil8pbj21cw998a";
       type = "gem";
     };
-    version = "3.5.7";
+    version = "3.6.1";
   };
   thor = {
     groups = ["assets" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   thread_safe = {
     groups = ["default"];
@@ -2461,10 +2578,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "186nfbcsk0l4l86gvng1fw6jq6p6s7rc0caxr23b3pnbfb20y63v";
+      sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7";
       type = "gem";
     };
-    version = "2.0.11";
+    version = "2.2.0";
   };
   time = {
     dependencies = ["date"];
@@ -2482,10 +2599,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pfddf51n5fnj4f9ggwj3wbf23ynj0nbxlxqpz12y1gvl9g7d6r6";
+      sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "0.4.0";
+  };
+  tpm-key_attestation = {
+    dependencies = ["bindata" "openssl" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v8y5dibsyskv1ncdgszhxwzq0gzmvb0zl7sgmx0xvsgy86dhcz1";
+      type = "gem";
+    };
+    version = "0.12.0";
   };
   twilio-ruby = {
     dependencies = ["faraday" "jwt" "nokogiri"];
@@ -2493,10 +2621,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wn7ybr54i8p6rrg79k0z4pga4n91d9rvrlvwgms8mx3aq9dpbib";
+      sha256 = "174asqbk2fwr2kck3rwww0q5lnj8z17mnkhzzyq81k18n781xhw5";
       type = "gem";
     };
-    version = "5.74.3";
+    version = "6.5.0";
   };
   twitter = {
     dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"];
@@ -2526,10 +2654,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0drm9pygji01pyimxq65ngdvgpn228g7fhffmrqw0xn7l2rdhclp";
+      sha256 = "0m2d0gpsgqnv29j5h2d6g57g0rayvd460b8s2vjr8sn46bqf89m5";
       type = "gem";
     };
-    version = "1.2022.7";
+    version = "1.2023.3";
   };
   unf = {
     dependencies = ["unf_ext"];
@@ -2562,46 +2690,35 @@
     };
     version = "2.4.2";
   };
-  unicorn = {
-    dependencies = ["kgio" "raindrops"];
-    groups = ["unicorn"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1h0gma14jjxiz6piyi6p99q7lya2mxrq79l03160hascvmx9ipa5";
-      type = "gem";
-    };
-    version = "6.1.0";
-  };
   uri = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vigw7nfszfqgikr6n574k9bfh0rvs74z8xq46rz2zsm8249l8cc";
+      sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "0.12.2";
   };
   vcr = {
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xzd8f17mmcq9f6lxg4w0x4nd9pyp41lr77gjzxwynijzp8rcgjl";
+      sha256 = "02j9z7yapninfqwsly4l65596zhv2xqyfb91p9vkakwhiyhajq7r";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "6.2.0";
   };
   version_gem = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v2vj7q1rk3wd7hdqa3i1d4hq7sfcgf55qc70g6dsichsbgacb9w";
+      sha256 = "0q6zs0wgcrql9671fw6lmbvgh155snaak4fia24iji5wk9klpfh7";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.3";
   };
   viewpoint = {
     dependencies = ["httpclient" "logging" "nokogiri" "rubyntlm"];
@@ -2620,10 +2737,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "035bjh0db28bgjx6hf01ykrrl4088gygnsva1x7asznzd9aq4669";
+      sha256 = "0q7qbi3npw47xza8spvd8ni0x0ahjb6lkd12y9a4pqppxn555v5q";
       type = "gem";
     };
-    version = "3.0.14";
+    version = "3.0.15";
   };
   vite_ruby = {
     dependencies = ["dry-cli" "rack-proxy" "zeitwerk"];
@@ -2631,10 +2748,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "119adbqdx4qb0hl5f34346j2w8a6z5xxy19wc6ad7bnc98v7l0hw";
+      sha256 = "036qi8w4qzglhqrrrrkc0m7ivfzmagsdyj61r0h27p56hn1l6ph2";
       type = "gem";
     };
-    version = "3.2.14";
+    version = "3.3.4";
+  };
+  webauthn = {
+    dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "tpm-key_attestation"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ri09bf640kkw4v6k2g90q2nw1mx2hsghhngaqgb7958q8id8xrz";
+      type = "gem";
+    };
+    version = "3.0.0";
   };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
@@ -2642,10 +2770,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal";
+      sha256 = "05134klki4zln7dfa2w0hpsj8nkvw99bdhqkbsrr0yjirhxak724";
       type = "gem";
     };
-    version = "3.18.1";
+    version = "3.19.0";
   };
   websocket = {
     groups = ["default" "development" "test"];
@@ -2659,17 +2787,17 @@
   };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
-    groups = ["default" "development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
+      sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   websocket-extensions = {
-    groups = ["default" "development" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
@@ -2678,15 +2806,16 @@
     };
     version = "0.1.5";
   };
-  writeexcel = {
+  write_xlsx = {
+    dependencies = ["rubyzip"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0waaf1drp17m5qdchxqlqzj51sfa9hxqccw7d71qdg73gzay1x34";
+      sha256 = "0w89lrp5k1ayp28p8785cbrmsmqsr5zrhvajs68pg7vvgn3qmqva";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.11.1";
   };
   xpath = {
     dependencies = ["nokogiri"];
@@ -2704,10 +2833,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "028ld9qmgdllxrl7d0qkl65s58wb1n3gv8yjs28g43a8b1hplxk1";
+      sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd";
       type = "gem";
     };
-    version = "2.6.7";
+    version = "2.6.11";
   };
   zendesk_api = {
     dependencies = ["faraday" "faraday-multipart" "hashie" "inflection" "mini_mime" "multipart-post"];
@@ -2715,9 +2844,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yizpglgfwml6a2w696m97d1q50hq3v0vldja431rv93s9sjbgly";
+      sha256 = "0cjiqm50zc4gpsn456235k8x0prafbmz921yqjgava4rp706467d";
       type = "gem";
     };
-    version = "1.38.0.rc1";
+    version = "2.0.1";
   };
 }
diff --git a/pkgs/applications/networking/misc/zammad/package.json b/pkgs/applications/networking/misc/zammad/package.json
index 09c7bc0ca139b..98c898d905941 100644
--- a/pkgs/applications/networking/misc/zammad/package.json
+++ b/pkgs/applications/networking/misc/zammad/package.json
@@ -1,12 +1,12 @@
 {
   "private": true,
   "scripts": {
-    "generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > tmp/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml && rm tmp/graphql_introspection.json",
+    "generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > app/graphql/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml",
+    "generate-setting-types": "RAILS_ENV=development bundle exec rails generate zammad:setting_types",
     "dev": "RAILS_ENV=development forego start -f Procfile.dev",
-    "dev:https": "VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
-    "https:generate": "sh contrib/ssl/generate-ssl.sh",
+    "dev:https": "VITE_RUBY_HOST=0.0.0.0 VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
     "i18n": "rails generate zammad:translation_catalog",
-    "lint": "vue-tsc --noEmit && eslint --cache --cache-location ./tmp/eslintcache.js -c .eslintrc.js --ext .js,.ts,.vue app/frontend/ .eslint-plugin-zammad/",
+    "lint": "vue-tsc --noEmit && eslint --cache --cache-location ./tmp/eslintcache.js  --cache-strategy content -c .eslintrc.js --ext .js,.ts,.vue app/frontend/ .eslint-plugin-zammad/",
     "lint:fix": "yarn lint -- --fix",
     "lint:css": "stylelint **/*.{css,vue,scss}",
     "lint:css:fix": "stylelint **/*.{css,vue,scss} --fix",
@@ -24,129 +24,134 @@
   },
   "packageManager": "yarn@1.22.19",
   "devDependencies": {
-    "@graphql-codegen/cli": "^3.0.0",
-    "@graphql-codegen/introspection": "^3.0.0",
+    "@faker-js/faker": "^8.0.2",
+    "@graphql-codegen/cli": "^5.0.0",
+    "@graphql-codegen/introspection": "^4.0.0",
     "@graphql-codegen/near-operation-file-preset": "^2.5.0",
-    "@graphql-codegen/typescript": "^3.0.0",
-    "@graphql-codegen/typescript-operations": "^3.0.0",
+    "@graphql-codegen/typescript": "^4.0.1",
+    "@graphql-codegen/typescript-operations": "^4.0.1",
     "@graphql-codegen/typescript-vue-apollo": "^3.3.7",
-    "@histoire/plugin-vue": "^0.14.2",
-    "@pinia/testing": "^0.0.14",
-    "@tailwindcss/line-clamp": "^0.4.2",
-    "@testing-library/jest-dom": "^5.16.5",
+    "@histoire/plugin-vue": "^0.17.1",
+    "@pinia/testing": "^0.1.3",
+    "@testing-library/jest-dom": "^5.17.0",
     "@testing-library/user-event": "^14.4.3",
-    "@testing-library/vue": "^6.6.1",
-    "@types/lodash-es": "^4.17.6",
+    "@testing-library/vue": "^7.0.0",
+    "@types/lodash-es": "^4.17.8",
     "@types/rails__actioncable": "^6.1.6",
     "@types/ua-parser-js": "^0.7.36",
-    "@types/uuid": "^9.0.0",
-    "@typescript-eslint/eslint-plugin": "^5.51.0",
-    "@typescript-eslint/parser": "^5.51.0",
-    "@vitejs/plugin-vue": "^4.0.0",
-    "@vue/eslint-config-prettier": "^7.0.0",
-    "@vue/eslint-config-typescript": "^11.0.2",
-    "@vue/test-utils": "^2.2.10",
-    "autoprefixer": "^10.4.13",
-    "eslint": "^8.33.0",
+    "@types/uuid": "^9.0.2",
+    "@typescript-eslint/eslint-plugin": "^5.62.0",
+    "@typescript-eslint/parser": "^5.62.0",
+    "@vitejs/plugin-vue": "^4.2.3",
+    "@vue/eslint-config-prettier": "^8.0.0",
+    "@vue/eslint-config-typescript": "^11.0.3",
+    "@vue/test-utils": "^2.4.1",
+    "autoprefixer": "^10.4.15",
+    "eslint": "^8.45.0",
     "eslint-config-airbnb-base": "^15.0.0",
-    "eslint-config-prettier": "^8.6.0",
+    "eslint-config-prettier": "^8.8.0",
     "eslint-import-resolver-alias": "^1.1.2",
+    "eslint-import-resolver-typescript": "^3.5.5",
     "eslint-plugin-import": "^2.27.5",
-    "eslint-plugin-prettier": "^4.2.1",
+    "eslint-plugin-prettier": "^5.0.0",
     "eslint-plugin-prettier-vue": "^4.2.0",
     "eslint-plugin-security": "^1.7.1",
-    "eslint-plugin-sonarjs": "^0.18.0",
-    "eslint-plugin-vue": "^9.9.0",
+    "eslint-plugin-sonarjs": "^0.19.0",
+    "eslint-plugin-vue": "^9.15.1",
     "eslint-plugin-zammad": "file:.eslint-plugin-zammad",
-    "histoire": "^0.14.2",
-    "jsdom": "^21.1.0",
+    "histoire": "^0.17.0",
+    "jsdom": "^22.1.0",
     "mock-apollo-client": "^1.2.1",
-    "postcss": "^8.4.21",
+    "postcss": "^8.4.28",
     "postcss-html": "^1.5.0",
-    "prettier": "2.8.4",
-    "prettier-plugin-tailwindcss": "^0.2.2",
-    "regenerator-runtime": "^0.13.11",
-    "sass": "^1.58.0",
-    "stylelint": "^14.16.1",
+    "prettier": "3.0.2",
+    "prettier-plugin-tailwindcss": "^0.5.3",
+    "regenerator-runtime": "^0.14.0",
+    "sass": "^1.65.1",
+    "stylelint": "^15.10.3",
     "stylelint-config-prettier": "^9.0.5",
-    "stylelint-config-recommended-vue": "^1.4.0",
-    "stylelint-config-standard": "^29.0.0",
-    "stylelint-config-standard-scss": "^6.1.0",
-    "stylelint-prettier": "^2.0.0",
-    "stylelint-scss": "^4.4.0",
-    "tailwindcss": "^3.2.6",
+    "stylelint-config-recommended-vue": "^1.5.0",
+    "stylelint-config-standard": "^34.0.0",
+    "stylelint-config-standard-scss": "^10.0.0",
+    "stylelint-prettier": "^4.0.2",
+    "stylelint-scss": "^5.1.0",
+    "svg-baker": "^1.7.0",
+    "svgo": "^3.0.2",
+    "tailwindcss": "^3.3.3",
     "timezone-mock": "^1.3.6",
-    "ts-node": "^10.9.1",
-    "type-fest": "^3.5.7",
-    "typescript": "^4.9.5",
-    "vite": "^4.0.4",
-    "vite-plugin-pwa": "^0.14.1",
-    "vite-plugin-ruby": "^3.1.3",
-    "vite-plugin-svg-icons": "^2.0.1",
-    "vitest": "^0.28.4",
+    "type-fest": "^3.13.1",
+    "typescript": "^5.1.6",
+    "vite": "^4.4.9",
+    "vite-plugin-pwa": "^0.16.4",
+    "vite-plugin-ruby": "^3.2.2",
+    "vitest": "^0.34.3",
     "vitest-axe": "^0.1.0",
-    "vue-tsc": "^1.0.24"
+    "vue-tsc": "^1.8.8"
   },
   "dependencies": {
-    "@apollo/client": "^3.7.7",
-    "@formkit/core": "^1.0.0-beta.13-c578106",
-    "@formkit/dev": "^1.0.0-beta.13-c578106",
-    "@formkit/i18n": "^1.0.0-beta.13-c578106",
-    "@formkit/inputs": "^1.0.0-beta.13-c578106",
-    "@formkit/rules": "^1.0.0-beta.13-c578106",
-    "@formkit/tailwindcss": "^1.0.0-beta.13-c578106",
-    "@formkit/themes": "^1.0.0-beta.13-c578106",
-    "@formkit/utils": "^1.0.0-beta.13-c578106",
-    "@formkit/validation": "^1.0.0-beta.13-c578106",
-    "@formkit/vue": "^1.0.0-beta.13-c578106",
+    "@apollo/client": "^3.7.17",
+    "@formkit/core": "^0.17.4",
+    "@formkit/dev": "^0.17.4",
+    "@formkit/i18n": "^0.17.4",
+    "@formkit/inputs": "^0.17.4",
+    "@formkit/rules": "^0.17.4",
+    "@formkit/tailwindcss": "^0.17.4",
+    "@formkit/themes": "^0.17.4",
+    "@formkit/utils": "^0.17.4",
+    "@formkit/validation": "^0.17.4",
+    "@formkit/vue": "^0.17.4",
+    "@github/webauthn-json": "^2.1.1",
     "@rails/actioncable": "6.1.7",
-    "@tiptap/core": "^2.0.0-beta.217",
-    "@tiptap/extension-blockquote": "^2.0.0-beta.217",
-    "@tiptap/extension-character-count": "^2.0.0-beta.217",
-    "@tiptap/extension-image": "^2.0.0-beta.217",
-    "@tiptap/extension-link": "^2.0.0-beta.217",
-    "@tiptap/extension-list-item": "^2.0.0-beta.217",
-    "@tiptap/extension-mention": "^2.0.0-beta.217",
-    "@tiptap/extension-ordered-list": "^2.0.0-beta.217",
-    "@tiptap/extension-paragraph": "^2.0.0-beta.217",
-    "@tiptap/extension-strike": "^2.0.0-beta.217",
-    "@tiptap/extension-underline": "^2.0.0-beta.217",
-    "@tiptap/pm": "^2.0.0-beta.217",
-    "@tiptap/starter-kit": "^2.0.0-beta.217",
-    "@tiptap/suggestion": "^2.0.0-beta.217",
-    "@tiptap/vue-3": "^2.0.0-beta.217",
-    "@vue/apollo-composable": "^4.0.0-beta.2",
-    "@vueuse/core": "^9.12.0",
-    "@vueuse/router": "^9.12.0",
-    "@vueuse/shared": "^9.12.0",
+    "@tiptap/core": "^2.0.4",
+    "@tiptap/extension-blockquote": "^2.0.4",
+    "@tiptap/extension-character-count": "^2.0.4",
+    "@tiptap/extension-hard-break": "^2.0.4",
+    "@tiptap/extension-image": "^2.0.4",
+    "@tiptap/extension-link": "^2.0.4",
+    "@tiptap/extension-list-item": "^2.0.4",
+    "@tiptap/extension-mention": "^2.0.4",
+    "@tiptap/extension-ordered-list": "^2.0.4",
+    "@tiptap/extension-paragraph": "^2.0.4",
+    "@tiptap/extension-strike": "^2.0.4",
+    "@tiptap/extension-underline": "^2.0.4",
+    "@tiptap/pm": "^2.0.4",
+    "@tiptap/starter-kit": "^2.0.4",
+    "@tiptap/suggestion": "^2.0.4",
+    "@tiptap/vue-3": "^2.0.4",
+    "@vue/apollo-composable": "4.0.0-beta.5",
+    "@vueuse/core": "^10.4.0",
+    "@vueuse/router": "^10.4.0",
+    "@vueuse/shared": "^10.4.0",
     "async-mutex": "^0.4.0",
     "flatpickr": "^4.6.13",
-    "graphql": "^16.6.0",
-    "graphql-ruby-client": "^1.11.5",
+    "graphql": "^16.7.1",
+    "graphql-ruby-client": "^1.11.8",
     "graphql-tag": "^2.12.6",
-    "linkify-string": "^4.1.0",
-    "linkifyjs": "^4.1.0",
+    "linkify-string": "^4.1.1",
+    "linkifyjs": "^4.1.1",
     "lodash-es": "^4.17.21",
     "loglevel": "^1.8.1",
-    "mitt": "^3.0.0",
-    "pinia": "^2.0.30",
+    "mitt": "^3.0.1",
+    "pinia": "^2.1.6",
     "tippy.js": "^6.3.7",
-    "ua-parser-js": "^1.0.33",
+    "tiptap-text-direction": "^0.3.0",
+    "ua-parser-js": "^1.0.35",
     "uuid": "^9.0.0",
-    "vue": "^3.2.47",
+    "vue": "^3.3.4",
     "vue-advanced-cropper": "^2.8.8",
-    "vue-easy-lightbox": "1.12.0",
-    "vue-router": "^4.1.6",
+    "vue-easy-lightbox": "1.16.0",
+    "vue-router": "^4.2.4",
     "vue3-draggable-resizable": "^1.6.5",
     "vuedraggable": "^4.1.0",
-    "workbox-core": "^6.5.4",
-    "workbox-precaching": "^6.5.4",
-    "workbox-window": "^6.5.4"
+    "workbox-core": "^7.0.0",
+    "workbox-precaching": "^7.0.0",
+    "workbox-window": "^7.0.0"
   },
   "resolutions": {
     "loader-utils": "^3.2.1",
-    "postcss": "^8.4.21"
+    "postcss": "^8.4.28",
+    "stylelint-config-recommended": "^13.0.0"
   },
   "name": "Zammad",
-  "version": "5.4.1"
+  "version": "6.1.0"
 }
diff --git a/pkgs/applications/networking/misc/zammad/source.json b/pkgs/applications/networking/misc/zammad/source.json
index f7b7280b468d2..39b17e82847ae 100644
--- a/pkgs/applications/networking/misc/zammad/source.json
+++ b/pkgs/applications/networking/misc/zammad/source.json
@@ -1,8 +1,8 @@
 {
   "owner": "zammad",
   "repo": "zammad",
-  "rev": "643aba6ba4ba66c6127038c8cc2cc7a20b912678",
-  "hash": "sha256-vLLn989M5ZN+jTh60BopEKbuaxOBfDsk6PiM+gHFClo=",
+  "rev": "ec4ddb8ae6a55d1c8e64ab5ddda9ff3e9d4f45c8",
+  "hash": "sha256-+AphZ0pKlXFdcncnDxeLdDL3OH2dyF0nb69+/W2dLgc=",
   "fetchSubmodules": true
 }
 
diff --git a/pkgs/applications/networking/misc/zammad/update.sh b/pkgs/applications/networking/misc/zammad/update.sh
index dd030f10f0e60..b97e75e4bd599 100755
--- a/pkgs/applications/networking/misc/zammad/update.sh
+++ b/pkgs/applications/networking/misc/zammad/update.sh
@@ -55,11 +55,6 @@ pushd $SOURCE_DIR
 echo ":: Creating gemset.nix"
 bundix --lockfile=./Gemfile.lock  --gemfile=./Gemfile --gemset=$TARGET_DIR/gemset.nix
 
-echo ":: Creating yarn.nix"
-yarn install
-cp yarn.lock $TARGET_DIR
-yarn2nix > $TARGET_DIR/yarn.nix
-
 # needed to avoid import from derivation
 jq --arg VERSION "$VERSION" '. += {name: "Zammad", version: $VERSION}' package.json > $TARGET_DIR/package.json
 
diff --git a/pkgs/applications/networking/p2p/libutp/3.4.nix b/pkgs/applications/networking/p2p/libutp/3.4.nix
index aa2853d3bd05c..dfff1eeed2392 100644
--- a/pkgs/applications/networking/p2p/libutp/3.4.nix
+++ b/pkgs/applications/networking/p2p/libutp/3.4.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libutp";
-  version = "unstable-2023-10-16";
+  version = "unstable-2023-11-14";
 
   src = fetchFromGitHub {
     # Use transmission fork from post-3.4-transmission branch
     owner = "transmission";
     repo = pname;
-    rev = "2589200eac82fc91b65979680e4b3c026dff0278";
-    hash = "sha256-wsDqdbMWVm3ubTbg5XClEWutJz1irSIazVLFeCyAAL4=";
+    rev = "52645d6d0fb16009e11d2f84469d2e43b7b6b48a";
+    hash = "sha256-pcPVkDEEtriN9zlEcVFKwKhhh51wpJGxYlcu7bH1RkI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 5bc1cb7264435..b4fba4b9197e6 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchPypi
 , python3
 , makeWrapper
 , libtorrent-rasterbar-1_2_x
@@ -12,16 +13,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.11.0";
+  version = "7.13.0";
 
   src = fetchurl {
-    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
-    sha256 = "0ffh8chb47iaar8872gvalgm84fjzyxph16nixsxknnprqdxyrkx";
+    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-${version}.tar.xz";
+    hash = "sha256-j9+Kq6dOqiJCTY3vuRWGnciuwACU7L0pl73l6nkDLN4=";
   };
 
   nativeBuildInputs = [
     python3.pkgs.wrapPython
     makeWrapper
+    # we had a "copy" of this in tribler's makeWrapper
+    # but it went out of date and broke, so please just use it directly
+    qt5.wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -31,38 +35,49 @@ stdenv.mkDerivation rec {
   pythonPath = [
     libtorrent
   ] ++ (with python3.pkgs; [
+    # requirements-core.txt
     aiohttp
     aiohttp-apispec
-    asynctest
+    anyio
     chardet
-    cherrypy
     configobj
     cryptography
     decorator
     faker
-    feedparser
     libnacl
     lz4
-    m2crypto
+    marshmallow
     netifaces
     networkx
-    pillow
     pony
     psutil
     pyasn1
-    pycrypto
-    pyqt5
-    pyqtgraph
-    pytest-asyncio
-    pytest-timeout
+    pydantic
+    pyopenssl
     pyyaml
-    requests
     sentry-sdk
     service-identity
-    twisted
     yappi
-    pydantic
-    anyio
+    yarl
+    bitarray
+    (pyipv8.overrideAttrs (p: rec {
+      version = "2.10.0";
+      src = fetchPypi {
+        inherit (p) pname;
+        inherit version;
+        hash = "sha256-yxiXBxBiPokequm+vjsHIoG9kQnRnbsOx3mYOd8nmiU=";
+      };
+    }))
+    libtorrent
+    file-read-backwards
+    brotli
+    human-readable
+    # requirements.txt
+    pillow
+    pyqt5
+    #pyqt5-sip
+    pyqtgraph
+    pyqtwebengine
   ]);
 
   installPhase = ''
@@ -71,8 +86,6 @@ stdenv.mkDerivation rec {
     wrapPythonPrograms
     cp -prvd ./* $out/
     makeWrapper ${python3.pkgs.python}/bin/python $out/bin/tribler \
-        --set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
-        --set QT_PLUGIN_PATH "${qt5.qtsvg.bin}/${qt5.qtbase.qtPluginPrefix}" \
         --set _TRIBLERPATH "$out/src" \
         --set PYTHONPATH $out/src/tribler-core:$out/src/tribler-common:$out/src/tribler-gui:$program_PYTHONPATH \
         --set NO_AT_BRIDGE 1 \
@@ -95,7 +108,7 @@ stdenv.mkDerivation rec {
     description = "Decentralised P2P filesharing client based on the Bittorrent protocol";
     homepage = "https://www.tribler.org/";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ xvapx viric ];
+    maintainers = with maintainers; [ xvapx viric mkg20001 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index 4ed0bad26c6f4..1943a395bd7b7 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "pjsip";
-  version = "2.13.1";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = finalAttrs.pname;
     repo = "pjproject";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-R1iKIkWyNCRV2PjQgTqKmJYUgHAZrREanD60Jz6MY1Y=";
+    hash = "sha256-PWCeIvnBAOqbcNYPhIY7hykdvLzoD9lssSViCCPNT68=";
   };
 
   patches = [
@@ -35,12 +35,19 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optional stdenv.isLinux alsa-lib
     ++ lib.optionals stdenv.isDarwin [ AppKit CoreFoundation Security ];
 
+  env = lib.optionalAttrs (stdenv.cc.libcxx != null) {
+    # work around https://github.com/NixOS/nixpkgs/issues/166205
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  } // lib.optionalAttrs stdenv.cc.isClang {
+    CXXFLAGS = "-std=c++11";
+  } // lib.optionalAttrs stdenv.isDarwin {
+    NIX_CFLAGS_LINK = "-headerpad_max_install_names";
+  };
+
   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
   '';
diff --git a/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch
new file mode 100644
index 0000000000000..8645e0dbfa7da
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch
@@ -0,0 +1,25 @@
+From 29b58e29c813d9bf0b31139a19b556614c28638e Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:26:22 +0100
+Subject: [PATCH 1/6] Fix flask 2.3 issue
+
+'Blueprint' object has no attribute 'before_app_first_request'
+---
+ powerdnsadmin/routes/index.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/powerdnsadmin/routes/index.py b/powerdnsadmin/routes/index.py
+index d56ce61..2176bd6 100644
+--- a/powerdnsadmin/routes/index.py
++++ b/powerdnsadmin/routes/index.py
+@@ -46,7 +46,6 @@ index_bp = Blueprint('index',
+                      url_prefix='/')
+ 
+ 
+-@index_bp.before_app_first_request
+ def register_modules():
+     global google
+     global github
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch
new file mode 100644
index 0000000000000..9b442d5f3d7d7
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch
@@ -0,0 +1,34 @@
+From c60a9658fe2ca429327680fbffb86f609d98c52c Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:27:49 +0100
+Subject: [PATCH 2/6] Remove cssrewrite filter
+
+---
+ powerdnsadmin/assets.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/powerdnsadmin/assets.py b/powerdnsadmin/assets.py
+index d46d431..3c582be 100644
+--- a/powerdnsadmin/assets.py
++++ b/powerdnsadmin/assets.py
+@@ -13,7 +13,7 @@ css_login = Bundle(
+     'node_modules/@fortawesome/fontawesome-free/css/all.css',
+     'node_modules/icheck/skins/square/blue.css',
+     'node_modules/admin-lte/dist/css/adminlte.css',
+-    filters=('rcssmin', 'cssrewrite'),
++    filters=('rcssmin'),
+     output='generated/login.css')
+ 
+ js_login = Bundle(
+@@ -37,7 +37,7 @@ css_main = Bundle(
+     'node_modules/admin-lte/dist/css/adminlte.css',
+     'custom/css/custom.css',
+     'node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.css',
+-    filters=('rcssmin', 'cssrewrite'),
++    filters=('rcssmin'),
+     output='generated/main.css')
+ 
+ js_main = Bundle(
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch
new file mode 100644
index 0000000000000..c9956ae22f75b
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch
@@ -0,0 +1,25 @@
+From 8c320a34bcca6dc2c1b423a1445235bf178b653e Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:31:02 +0100
+Subject: [PATCH 3/6] Fix flask-migrate 4.0 compatibility
+
+See https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376
+---
+ migrations/env.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/migrations/env.py b/migrations/env.py
+index 4742e14..739d753 100755
+--- a/migrations/env.py
++++ b/migrations/env.py
+@@ -73,7 +73,6 @@ def run_migrations_online():
+     context.configure(connection=connection,
+                       target_metadata=target_metadata,
+                       process_revision_directives=process_revision_directives,
+-                      render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:'),
+                       **current_app.extensions['migrate'].configure_args)
+ 
+     try:
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
new file mode 100644
index 0000000000000..b1aaa8c531d17
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
@@ -0,0 +1,26 @@
+From 4b4ac26ef1cbb0b5b2354c251b216498325d0411 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:31:50 +0100
+Subject: [PATCH 4/6] Fix flask-session and powerdns-admin compatibility
+
+flask-session and powerdns-admin both try to add sqlalchemy to flask.
+Reuse the database for flask-session.
+---
+ powerdnsadmin/__init__.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py
+index d447a00..653af33 100755
+--- a/powerdnsadmin/__init__.py
++++ b/powerdnsadmin/__init__.py
+@@ -60,6 +60,7 @@ def create_app(config=None):
+     if 'SESSION_TYPE' in os.environ:
+         app.config['SESSION_TYPE'] = os.environ.get('SESSION_TYPE')
+ 
++    app.config['SESSION_SQLALCHEMY'] = models.base.db
+     sess = Session(app)
+ 
+     # create sessions table if using sqlalchemy backend
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch
new file mode 100644
index 0000000000000..b6931c25d546c
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch
@@ -0,0 +1,27 @@
+From 3eb1a408758b68543c73d5214b467c2905fbea2a Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:32:36 +0100
+Subject: [PATCH 5/6] Use app context to create routes
+
+Routes creates session database tables, so it needs a context.
+---
+ powerdnsadmin/__init__.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py
+index 653af33..bc6f7df 100755
+--- a/powerdnsadmin/__init__.py
++++ b/powerdnsadmin/__init__.py
+@@ -73,7 +73,8 @@ def create_app(config=None):
+     # Load app's components
+     assets.init_app(app)
+     models.init_app(app)
+-    routes.init_app(app)
++    with app.app_context():
++        routes.init_app(app)
+     services.init_app(app)
+ 
+     # Register filters
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch
new file mode 100644
index 0000000000000..dd552cc28403d
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch
@@ -0,0 +1,27 @@
+From 86dcc9f308d2ca65704953f1ff9fe043d743e536 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:33:45 +0100
+Subject: [PATCH 6/6] Register modules before starting
+
+Fixes flask 2.3: 'Blueprint' object has no attribute 'before_app_first_request'
+---
+ run.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/run.py b/run.py
+index 5ffcde3..52e719d 100755
+--- a/run.py
++++ b/run.py
+@@ -1,6 +1,9 @@
+ #!/usr/bin/env python3
+ from powerdnsadmin import create_app
++from .powerdnsadmin.routes.index import register_modules
+ 
+ if __name__ == '__main__':
+     app = create_app()
++    with app.app_context():
++        register_modules()
+     app.run(debug=True, host=app.config.get('BIND_ADDRESS', '127.0.0.1'), port=app.config.get('PORT', '9191'))
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix
index 1e89c1b2cb46b..61a728d983b36 100644
--- a/pkgs/applications/networking/powerdns-admin/default.nix
+++ b/pkgs/applications/networking/powerdns-admin/default.nix
@@ -19,6 +19,10 @@ let
     lima lxml passlib pyasn1 pytimeparse pyyaml jinja2 itsdangerous webcolors werkzeug zipp zxcvbn
   ];
 
+  all_patches = [
+    ./0001-Fix-flask-2.3-issue.patch
+  ];
+
   assets = mkYarnPackage {
     inherit src version;
     packageJSON = ./package.json;
@@ -35,9 +39,9 @@ let
     };
 
     nativeBuildInputs = pythonDeps;
-    patchPhase = ''
-      sed -i -r -e "s|'rcssmin',\s?'cssrewrite'|'rcssmin'|g" powerdnsadmin/assets.py
-    '';
+    patches = all_patches ++ [
+      ./0002-Remove-cssrewrite-filter.patch
+    ];
     buildPhase = ''
       # The build process expects the directory to be writable
       # with node_modules at a specific path
@@ -86,15 +90,15 @@ in stdenv.mkDerivation {
     exec python -m gunicorn.app.wsgiapp "powerdnsadmin:create_app()" "$@"
   '';
 
+  patches = all_patches ++ [
+    ./0003-Fix-flask-migrate-4.0-compatibility.patch
+    ./0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
+    ./0005-Use-app-context-to-create-routes.patch
+    ./0006-Register-modules-before-starting.patch
+  ];
+
   postPatch = ''
     rm -r powerdnsadmin/static powerdnsadmin/assets.py
-    # flask-migrate 4.0 compatibility: https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376
-    substituteInPlace migrations/env.py --replace "render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:')," ""
-    # flask-session and powerdns-admin both try to add sqlalchemy to flask.
-    # Reuse the database for flask-session
-    substituteInPlace powerdnsadmin/__init__.py --replace "sess = Session(app)" "app.config['SESSION_SQLALCHEMY'] = models.base.db; sess = Session(app)"
-    # Routes creates session database tables, so it needs a context
-    substituteInPlace powerdnsadmin/__init__.py --replace "routes.init_app(app)" "with app.app_context(): routes.init_app(app)"
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix
index 85922fea6551e..dbbe7586074c3 100644
--- a/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protonmail-bridge";
-  version = "3.6.1";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-bridge";
     rev = "v${version}";
-    hash = "sha256-1Dkw30WW7bCf89I+HUAvkfmlBbl+TcOVmAfBIFnTExE=";
+    hash = "sha256-KuXXXvuQhRQ0xKaw7tNO6HgQP7PsdxylDouwDQDDSJU=";
   };
 
-  vendorHash = "sha256-1mBcYVmVLTFVyYU9QuJz1JoR0wAIREC0cCQZbHMdgZU=";
+  vendorHash = "sha256-QUJD7ICxaUClK82mKumyQVoINfWXSD64UfhZ4pu5dGU=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -37,6 +37,8 @@ buildGoModule rec {
 
   postInstall = ''
     mv $out/bin/Desktop-Bridge $out/bin/protonmail-bridge # The cli is named like that in other distro packages
+    install -Dm444 dist/proton-bridge.desktop -t $out/share/applications
+    install -Dm444 dist/bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix
index 14844161d18e2..df0afdee4da4d 100644
--- a/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -1,74 +1,103 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, wrapGAppsHook
-, gdk-pixbuf
-, glib-networking
 , gobject-introspection
-, imagemagick
-, librsvg
-, pango
-, webkitgtk
-# Python libs
-, protonvpn-nm-lib
-, psutil
-# Optionals
+, setuptools
+, wrapGAppsHook
+, dbus-python
+, packaging
+, proton-core
+, proton-keyring-linux
+, proton-keyring-linux-secretservice
+, proton-vpn-api-core
+, proton-vpn-connection
+, proton-vpn-killswitch
+, proton-vpn-killswitch-network-manager
+, proton-vpn-logger
+, proton-vpn-network-manager
+, proton-vpn-network-manager-openvpn
+, proton-vpn-session
+, pycairo
+, pygobject3
+, pytestCheckHook
 , withIndicator ? true
-, libappindicator-gtk3 }:
+, libappindicator-gtk3
+, libayatana-appindicator
+}:
 
 buildPythonApplication rec {
   pname = "protonvpn-gui";
-  version = "1.12.0";
+  version = "4.1.0-unstable-2023-10-25";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
-    repo = "linux-app";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-MPS4d/yNkccsc/j85h7/4k4xL8uSCvhj/9JWPa7ezLY=";
+    repo = "proton-vpn-gtk-app";
+    rev = "713324e9e4ee9f030c8115072cae379eb3340c42";
+    hash = "sha256-DfuM4b2cSIA8j9Ux3TzInRCvzQGb9LvJDSwRhfadBPY=";
   };
 
   nativeBuildInputs = [
-    gdk-pixbuf
+    # Needed for the NM namespace
     gobject-introspection
-    imagemagick
+    setuptools
     wrapGAppsHook
   ];
 
+  buildInputs = lib.optionals withIndicator [
+    # Adds AppIndicator3 namespace
+    libappindicator-gtk3
+    # Adds AyatanaAppIndicator3 namespace
+    libayatana-appindicator
+  ];
+
   propagatedBuildInputs = [
-    glib-networking # needed for the login captcha
-    protonvpn-nm-lib
-    psutil
+    dbus-python
+    packaging
+    proton-core
+    proton-keyring-linux
+    proton-keyring-linux-secretservice
+    proton-vpn-api-core
+    proton-vpn-connection
+    proton-vpn-killswitch
+    proton-vpn-killswitch-network-manager
+    proton-vpn-logger
+    proton-vpn-network-manager
+    proton-vpn-network-manager-openvpn
+    proton-vpn-session
+    pycairo
+    pygobject3
   ];
 
-  buildInputs = [
-    librsvg
-    pango
-    webkitgtk
-  ] ++ lib.optionals withIndicator [ libappindicator-gtk3 ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton --cov-report=html --cov-report=term" ""
+  '';
 
   postInstall = ''
-    # Setting icons
-    for size in 16 32 48 64 72 96 128 192 512 1024; do
-      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
-      convert -resize $size'x'$size \
-        protonvpn_gui/assets/icons/protonvpn-logo.png \
-        $out/share/icons/hicolor/$size'x'$size/apps/protonvpn.png
-    done
+    mkdir -p $out/share/{applications,pixmaps}
+    install -Dm 644 ${src}/rpmbuild/SOURCES/protonvpn-app.desktop $out/share/applications
+    install -Dm 644 ${src}/rpmbuild/SOURCES/proton-vpn-logo.svg $out/share/pixmaps
+  '';
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-    install -Dm644 protonvpn.desktop -t $out/share/applications/
-    substituteInPlace $out/share/applications/protonvpn.desktop \
-      --replace 'protonvpn-logo' protonvpn
+  preCheck = ''
+    # Needed for Permission denied: '/homeless-shelter'
+    export HOME=$(mktemp -d)
   '';
 
-  # Project has a dummy test
+  # Gets a segmentation fault after the widgets test
   doCheck = false;
 
   meta = with lib; {
-    description = "Official ProtonVPN Linux app";
-    homepage = "https://github.com/ProtonVPN/linux-app";
-    maintainers = with maintainers; [ wolfangaukang ];
+    description = "Proton VPN GTK app for Linux";
+    homepage = "https://github.com/ProtonVPN/proton-vpn-gtk-app";
     license = licenses.gpl3Plus;
-    mainProgram = "protonvpn";
     platforms = platforms.linux;
+    mainProgram = "protonvpn-app";
+    maintainers = with maintainers; [ wolfangaukang ];
   };
 }
diff --git a/pkgs/applications/networking/protonvpn-gui/legacy.nix b/pkgs/applications/networking/protonvpn-gui/legacy.nix
new file mode 100644
index 0000000000000..7464a279cf8a9
--- /dev/null
+++ b/pkgs/applications/networking/protonvpn-gui/legacy.nix
@@ -0,0 +1,79 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, setuptools
+, wrapGAppsHook
+, gdk-pixbuf
+, glib-networking
+, gobject-introspection
+, imagemagick
+, librsvg
+, pango
+, python3
+, webkitgtk
+# Python libs
+, protonvpn-nm-lib
+, psutil
+# Optionals
+, withIndicator ? true
+, libappindicator-gtk3 }:
+
+buildPythonApplication rec {
+  pname = "protonvpn-gui";
+  version = "1.12.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "linux-app";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-MPS4d/yNkccsc/j85h7/4k4xL8uSCvhj/9JWPa7ezLY=";
+  };
+
+  nativeBuildInputs = [
+    gdk-pixbuf
+    gobject-introspection
+    imagemagick
+    setuptools
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = [
+    glib-networking # needed for the login captcha
+    protonvpn-nm-lib
+    psutil
+  ];
+
+  buildInputs = [
+    librsvg
+    pango
+    webkitgtk
+  ] ++ lib.optionals withIndicator [ libappindicator-gtk3 ];
+
+  postInstall = ''
+    # Setting icons
+    for size in 16 32 48 64 72 96 128 192 512 1024; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      convert -resize $size'x'$size \
+        protonvpn_gui/assets/icons/protonvpn-logo.png \
+        $out/share/icons/hicolor/$size'x'$size/apps/protonvpn.png
+    done
+
+    install -Dm644 protonvpn.desktop -t $out/share/applications/
+    chmod 644 $out/${python3.sitePackages}/protonvpn_gui/assets/icons/plus-server.png
+    substituteInPlace $out/share/applications/protonvpn.desktop \
+      --replace 'protonvpn-logo' protonvpn
+  '';
+
+  # Project has a dummy test
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Official ProtonVPN Linux app";
+    homepage = "https://github.com/ProtonVPN/linux-app";
+    maintainers = with maintainers; [ wolfangaukang ];
+    license = licenses.gpl3Plus;
+    mainProgram = "protonvpn";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix
index 4cc21a2269d61..b1e11510530a3 100644
--- a/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -1,6 +1,6 @@
 { 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, libva, libusb1, hiredis
+, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb1, hiredis, xcbutil
 }:
 
 stdenv.mkDerivation rec {
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     hiredis
     libusb1
     libva
+    xcbutil
   ];
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index 03d56274bd79a..bf14b0321943d 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -5,6 +5,7 @@
 , libjpeg, libredirect, tzdata, cacert, systemd, libcxxabi, libcxx, e2fsprogs, symlinkJoin
 , libpulseaudio, pcsclite, glib-networking, llvmPackages_12, opencv4
 , libfaketime
+, libinput, libcap, libjson, libsecret, libcanberra-gtk3
 
 , homepage, version, prefix, hash
 
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
       ${homepage}
 
       (if you do not find version ${version} there, try at
-      https://www.citrix.com/downloads/workspace-app/
+      https://www.citrix.com/downloads/workspace-app/)
 
       Once you have downloaded the file, please use the following command and re-run the
       installation:
@@ -80,11 +81,16 @@ stdenv.mkDerivation rec {
     gtk_engines
     heimdal
     krb5
+    libcap
+    libcanberra-gtk3
     libcxx
     libcxxabi
+    libinput
     libjpeg
+    libjson
     libpng12
     libpulseaudio
+    libsecret
     libsoup
     libvorbis
     libxml2
@@ -119,6 +125,8 @@ stdenv.mkDerivation rec {
     xorg.libXrender
     xorg.libXtst
     xorg.libxcb
+    xorg.xprop
+    xorg.xdpyinfo
   ];
 
   installPhase = let
diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
index 2422d7eb8efb3..f1b1a83102acb 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
@@ -33,6 +33,17 @@ let
       x86hash   = "4a7da238286ae28d7baf0fefa1e7e09d077c8bc56c2bf7bec00da42c331bee59";
       x64suffix = "17";
       x86suffix = "17";
+      homepage  = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest21.html";
+    };
+
+    "23.09.0" = {
+      major     = "23";
+      minor     = "9";
+      patch     = "0";
+      x64hash   = "7b06339654aa27258d6dfa922828b43256e780b282d07109f452246c7aa27514";
+      x86hash   = "95436fb289602cf31c65b7df89da145fc170233cb2e758a2f11116f15b57d382";
+      x64suffix = "24";
+      x86suffix = "24";
       homepage  = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
     };
 
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 9e3eeb711cb4b..5aedd89cb68d7 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, fetchpatch, cmake, ninja, pkg-config, wrapGAppsHook
+{ lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook
 , desktopToDarwinBundle
 , glib, gtk3, gettext, libxkbfile, libX11, python3
 , freerdp, libssh, libgcrypt, gnutls, vte
@@ -6,6 +6,7 @@
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, libsoup_3, spice-protocol, spice-gtk, libepoxy, at-spi2-core
 , openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk_4_1, harfbuzz
+, wayland
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome
 , withKf5Wallet ? stdenv.isLinux, libsForQt5
@@ -15,23 +16,15 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "remmina";
-  version = "1.4.31";
+  version = "1.4.33";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
-    rev    = "v${finalAttrs.version}";
-    sha256 = "sha256-oEgpav4oQ9Sld9PY4TsutS5xEnhQgOHnpQhDesRFTeQ=";
+    rev    = "v.${finalAttrs.version}";
+    sha256 = "sha256-3HyG2PBnTq/fVsvWA81fQ2gCOoAxINWeUDwzKcOuECk=";
   };
 
-  patches = [
-    # https://gitlab.com/Remmina/Remmina/-/merge_requests/2525
-    (fetchpatch {
-      url = "https://gitlab.com/Remmina/Remmina/-/commit/2ce153411597035d0f3db5177d703541e09eaa06.patch";
-      hash = "sha256-RV/8Ze9aN4dW49Z+y3z0jFs4dyEWu7DK2FABtmse9Hc=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ]
     ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
 
@@ -46,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
     libepoxy at-spi2-core
     openssl gnome.adwaita-icon-theme json-glib libsodium
     harfbuzz python3
+    wayland
   ] ++ lib.optionals stdenv.isLinux [ libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ]
     ++ lib.optionals withLibsecret [ libsecret ]
     ++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ]
@@ -89,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Plus;
     homepage = "https://gitlab.com/Remmina/Remmina";
     description = "Remote desktop client written in GTK";
-    maintainers = with maintainers; [ melsigl ryantm ];
+    maintainers = with maintainers; [ bbigras melsigl ryantm ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 })
diff --git a/pkgs/applications/networking/rymdport/default.nix b/pkgs/applications/networking/rymdport/default.nix
index cb7d99b047996..e95bd9bc03afb 100644
--- a/pkgs/applications/networking/rymdport/default.nix
+++ b/pkgs/applications/networking/rymdport/default.nix
@@ -41,6 +41,15 @@ buildGoModule rec {
     IOKit
   ];
 
+  postInstall = ''
+    for res in $(ls internal/assets/icons | sed -e 's/icon-//g' -e 's/.png//g'); do
+      install -Dm444 internal/assets/icons/icon-$res.png \
+        $out/share/icons/hicolor/''${res}x''${res}/apps/io.github.jacalz.rymdport.png
+    done
+    install -Dm444 internal/assets/svg/icon.svg $out/share/icons/hicolor/scalable/apps/io.github.jacalz.rymdport.svg
+    install -Dm444 internal/assets/unix/io.github.jacalz.rymdport.desktop -t $out/share/applications
+  '';
+
   meta = {
     description = "Easy encrypted file, folder, and text sharing between devices";
     homepage = "https://github.com/Jacalz/rymdport";
diff --git a/pkgs/applications/networking/sniffnet/default.nix b/pkgs/applications/networking/sniffnet/default.nix
index b3cb5316ec0c8..6142aa3898e2a 100644
--- a/pkgs/applications/networking/sniffnet/default.nix
+++ b/pkgs/applications/networking/sniffnet/default.nix
@@ -50,6 +50,16 @@ rustPlatform.buildRustPackage rec {
     "--skip=secondary_threads::check_updates::tests::fetch_latest_release_from_github"
   ];
 
+  postInstall = ''
+    for res in $(ls resources/packaging/linux/graphics | sed -e 's/sniffnet_//g' -e 's/x.*//g'); do
+      install -Dm444 resources/packaging/linux/graphics/sniffnet_''${res}x''${res}.png \
+        $out/share/icons/hicolor/''${res}x''${res}/apps/sniffnet.png
+    done
+    install -Dm444 resources/packaging/linux/sniffnet.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/sniffnet.desktop \
+      --replace 'Exec=/usr/bin/sniffnet' 'Exec=sniffnet'
+  '';
+
   postFixup = lib.optionalString stdenv.isLinux ''
     patchelf $out/bin/sniffnet \
       --add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]}
diff --git a/pkgs/applications/networking/sync/wdt/default.nix b/pkgs/applications/networking/sync/wdt/default.nix
index 7424a3da049a3..f6eb3a326cbda 100644
--- a/pkgs/applications/networking/sync/wdt/default.nix
+++ b/pkgs/applications/networking/sync/wdt/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation {
   pname = "wdt";
-  version = "unstable-2023-07-11";
+  version = "unstable-2023-12-01";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "wdt";
-    rev = "3b52ef573129fb799319630bd438717761111f57";
-    sha256 = "sha256-TwHWeTVzUo42t1erD7lMT4vdXiV3/9Hy1sPnrvJpQE8=";
+    rev = "66f17af009ef6eaf2707bb8bb511ba6bcf3d9bbe";
+    sha256 = "sha256-ucnFcpH9Duru35kRT769zMX2BMqufZJopd2srKPJkrU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/networking/warp/default.nix b/pkgs/applications/networking/warp/default.nix
index b39b102c2f2f4..54e688c2e770d 100644
--- a/pkgs/applications/networking/warp/default.nix
+++ b/pkgs/applications/networking/warp/default.nix
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "warp";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Uc9N2kRTpi9cCFskngkiclLpEcp4dtI2mhldG4s/GFY=";
+    hash = "sha256-pntHIY0cScDKhWR6kXp6YrEbBQiQjUId3MrJzy5l+K8=";
   };
 
   postPatch = ''
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-GN9TjsGBU3D/mc6/XtRAk5pliKRPTQ9f3fMdS6weCaE=";
+    hash = "sha256-Go/a7aVHF1Yt3yIccKJIVeFy5rckXhSKfd13hdhlLUQ=";
   };
 
   nativeBuildInputs = [
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Fast and secure file transfer";
-    homepage = "https://apps.gnome.org/app/app.drey.Warp";
+    homepage = "https://apps.gnome.org/Warp/";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ dotlambda foo-dogsquared ];
     platforms = lib.platforms.all;
diff --git a/pkgs/applications/office/calligra/qt5_11.patch b/pkgs/applications/office/calligra/qt5_11.patch
deleted file mode 100644
index 66ff8c6eedcd5..0000000000000
--- a/pkgs/applications/office/calligra/qt5_11.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/libs/widgets/KoCsvImportDialog.cpp b/libs/widgets/KoCsvImportDialog.cpp
-index 0ffdcf6..cdca006 100644
---- a/libs/widgets/KoCsvImportDialog.cpp
-+++ b/libs/widgets/KoCsvImportDialog.cpp
-@@ -21,6 +21,7 @@
- #include "KoCsvImportDialog.h"
- 
- // Qt
-+#include <QButtonGroup>
- #include <QTextCodec>
- #include <QTextStream>
- 
-diff --git a/libs/widgets/KoPageLayoutWidget.cpp b/libs/widgets/KoPageLayoutWidget.cpp
-index f91555c..a3816f9 100644
---- a/libs/widgets/KoPageLayoutWidget.cpp
-+++ b/libs/widgets/KoPageLayoutWidget.cpp
-@@ -23,6 +23,8 @@
- 
- #include <KoUnit.h>
- 
-+#include <QButtonGroup>
-+
- class Q_DECL_HIDDEN KoPageLayoutWidget::Private
- {
- public:
-diff --git a/plugins/chartshape/dialogs/TableEditorDialog.cpp b/plugins/chartshape/dialogs/TableEditorDialog.cpp
-index c0d5136..d2a772e 100644
---- a/plugins/chartshape/dialogs/TableEditorDialog.cpp
-+++ b/plugins/chartshape/dialogs/TableEditorDialog.cpp
-@@ -24,6 +24,7 @@
- 
- // Qt
- #include <QAbstractItemModel>
-+#include <QAction>
- 
- // Calligra
- #include <KoIcon.h>
-diff --git a/plugins/formulashape/FormulaToolWidget.cpp b/plugins/formulashape/FormulaToolWidget.cpp
-index ed10919..8f52177 100644
---- a/plugins/formulashape/FormulaToolWidget.cpp
-+++ b/plugins/formulashape/FormulaToolWidget.cpp
-@@ -30,6 +30,7 @@
- #include <QWidgetAction>
- #include <QTableWidget>
- #include <QAction>
-+#include <QHeaderView>
- #include <QMenu>
- 
- FormulaToolWidget::FormulaToolWidget( KoFormulaTool* tool, QWidget* parent )
-diff --git a/sheets/dialogs/LayoutDialog.cpp b/sheets/dialogs/LayoutDialog.cpp
-index a0a9832..7d7db53 100644
---- a/sheets/dialogs/LayoutDialog.cpp
-+++ b/sheets/dialogs/LayoutDialog.cpp
-@@ -36,6 +36,7 @@
- #include <math.h>
- 
- #include <QIntValidator>
-+#include <QButtonGroup>
- #include <QCheckBox>
- #include <QFrame>
- #include <QLabel>
-diff --git a/words/part/dialogs/KWAnchoringProperties.cpp b/words/part/dialogs/KWAnchoringProperties.cpp
-index d64208c..bfddb3a 100644
---- a/words/part/dialogs/KWAnchoringProperties.cpp
-+++ b/words/part/dialogs/KWAnchoringProperties.cpp
-@@ -35,6 +35,7 @@
- 
- #include <kundo2command.h>
- 
-+#include <QButtonGroup>
- #include <QComboBox>
- 
- const int KWAnchoringProperties::vertRels[4][20] = {
-diff --git a/words/part/dialogs/KWRunAroundProperties.cpp b/words/part/dialogs/KWRunAroundProperties.cpp
-index e38599a..7e8b2d5 100644
---- a/words/part/dialogs/KWRunAroundProperties.cpp
-+++ b/words/part/dialogs/KWRunAroundProperties.cpp
-@@ -28,6 +28,8 @@
- 
- #include <kundo2command.h>
- 
-+#include <QButtonGroup>
-+
- KWRunAroundProperties::KWRunAroundProperties(FrameConfigSharedState *state)
-         : m_state(state)
- {
-diff --git a/stage/part/KPrPresentationTool.cpp b/stage/part/KPrPresentationTool.cpp
-index ae743da..3007f91 100644
---- a/stage/part/KPrPresentationTool.cpp
-+++ b/stage/part/KPrPresentationTool.cpp
-@@ -32,6 +32,7 @@
- #include <QDesktopServices>
- #include <QUrl>
- #include <QDBusConnection>
-+#include <QFrame>
- 
- #include <KoShape.h>
- #include <KoShapeManager.h>
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index 31816fc203fa4..129c700e19c75 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , buildNpmPackage
 , nixosTests
 , gettext
@@ -224,16 +223,18 @@ python.pkgs.buildPythonApplication rec {
     ${python.pythonOnBuildForHost.interpreter} src/manage.py compilemessages
   '';
 
-  installPhase = ''
+  installPhase = let
+    pythonPath = python.pkgs.makePythonPath propagatedBuildInputs;
+  in ''
     mkdir -p $out/lib/paperless-ngx
     cp -r {src,static,LICENSE,gunicorn.conf.py} $out/lib/paperless-ngx
     ln -s ${frontend}/lib/paperless-ui/frontend $out/lib/paperless-ngx/static/
     chmod +x $out/lib/paperless-ngx/src/manage.py
     makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PYTHONPATH : "${pythonPath}" \
       --prefix PATH : "${path}"
     makeWrapper ${python.pkgs.celery}/bin/celery $out/bin/celery \
-      --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/paperless-ngx/src" \
+      --prefix PYTHONPATH : "${pythonPath}:$out/lib/paperless-ngx/src" \
       --prefix PATH : "${path}"
   '';
 
@@ -271,10 +272,6 @@ python.pkgs.buildPythonApplication rec {
     # Disable unneeded code coverage test
     substituteInPlace src/setup.cfg \
       --replace "--cov --cov-report=html --cov-report=xml" ""
-    # OCR on NixOS recognizes the space in the picture, upstream CI doesn't.
-    # See https://github.com/paperless-ngx/paperless-ngx/pull/2216
-    substituteInPlace src/paperless_tesseract/tests/test_parser.py \
-      --replace "this is awebp document" "this is a webp document"
   '';
 
   disabledTests = [
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index e4cca46bbd636..94845ba5da0c9 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -23,16 +23,16 @@
 
 stdenv.mkDerivation rec {
   pname = "planify";
-  version = "4.1.1";
+  version = "4.1.4";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planify";
-    # The commit is named as "Release 4.1.1", published to Flathub, but not tags
-    # https://github.com/flathub/io.github.alainm23.planify/commit/2a353ccfcf3379add6778d569f49da37f40accfa
+    # The commit is named as "Release 4.1.4", published to Flathub, but not tags
+    # https://github.com/flathub/io.github.alainm23.planify/commit/f345f81b55e4638bc6605e0bf9d15a057b846252
     # https://github.com/alainm23/planify/issues/1002
-    rev = "adf3629bcacfc9978f6dde5b87eff0278533ab3e";
-    hash = "sha256-xqklvSYmqBQ+IQ3lRjMbV4W4vD/rLCln7rBVCbYiBGo=";
+    rev = "73fd6cb7acfc60937d1403238c255736b97aa94b";
+    hash = "sha256-K3QFFpq2MJxK34Uh0qFyaSGeTPTZbwIVYkosFUrhflQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index d070d98d3f555..e59d473a0789c 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -10,7 +10,7 @@ mkDerivation rec {
   version = "2.28.0";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/skrooge/skrooge-${version}.tar.xz";
     sha256 = "sha256-s2SkGMBx7HVpr1NBUJpqji3PTPnw4RqnkakdQVC5ric=";
   };
 
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 824a20a31329a..8dec32cfc6c0b 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -10,7 +10,7 @@ let
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "sha256-RmWRNKy2w3BM/ipQyFpkNC3+XXsJXjN6VYWNo8OKpy0=";
+    hash = "sha256-kacJSlctE1bNAByH26Qpu609ZNbdkYTx6OUEgCmefqg=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index e41dfcd15fa85..c474ae4744991 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "unstable-2023-09-15";
+  version = "unstable-2023-11-13";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "8e1ebe5a55f6a725ba6fe342b4b7604438d9d406";
-    sha256 = "zz2erN/ap6vT56khqbpANu1eV/C9eQ6SBWEV4GNbmEY=";
+    rev = "cbc18fe9910c6f10a9f2c2b8838ed047e00a5415";
+    sha256 = "uzb6gboWEu5GL92OFvcdeoaXYTU7jhzCmpI8LwhNVk0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/trilium/desktop.nix b/pkgs/applications/office/trilium/desktop.nix
index 48df671bd924a..0f701abbbf2c8 100644
--- a/pkgs/applications/office/trilium/desktop.nix
+++ b/pkgs/applications/office/trilium/desktop.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "trilium-desktop";
-  version = "0.62.2";
+  version = "0.62.3";
 
   linuxSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-  linuxSource.sha256 = "17vg22kzg6346c8fb2kzm5zdspb9p24isd2irxhw7gh2z6vnwh1d";
+  linuxSource.sha256 = "1fw6mbcnqrgk627npsxp7xbyab7108msihlkf5i998rji8vaz64m";
 
   darwinSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip";
-  darwinSource.sha256 = "03y5wkpdf4hc7724sjipgahlp6nh72z0wgm0qsqji5x5sxpambb8";
+  darwinSource.sha256 = "0wp58qjs5a91g80h115xnkkrih741bs3vjdr6wilwcp1blbgnxjj";
 
   meta = metaCommon // {
     mainProgram = "trilium";
diff --git a/pkgs/applications/office/trilium/server.nix b/pkgs/applications/office/trilium/server.nix
index a2b6a33383955..270f9751ff80a 100644
--- a/pkgs/applications/office/trilium/server.nix
+++ b/pkgs/applications/office/trilium/server.nix
@@ -3,8 +3,8 @@
 
 let
   serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-  serverSource.sha256 = "0vip61c24n9d6bnpcgg9dwxc604xigmi1ayvm1mmlgah1fk56swg";
-  version = "0.62.2";
+  serverSource.sha256 = "00vb36a6kxdmn8m0nmzpdi2h7qmg63xrwwbq4hvjp2njjf32wki1";
+  version = "0.62.3";
 in stdenv.mkDerivation {
   pname = "trilium-server";
   inherit version;
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 87c0183e7e3de..d336b9cd5ba54 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
   version = "11.1.0.11711";
 
   src = if useChineseVersion then fetchurl {
-    url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitString "." version)}/wps-office_${version}_amd64.deb";
+    url = "https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/${lib.last (lib.splitVersion version)}/wps-office_${version}_amd64.deb";
     hash = "sha256-JHSTZZnOZoTpj8zF4C5PmjTkftEdxbeaqweY3ITiJto=";
   } else fetchurl {
-    url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitString "." version)}/wps-office_${version}.XA_amd64.deb";
+    url = "https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/${lib.last (lib.splitVersion version)}/wps-office_${version}.XA_amd64.deb";
     hash = "sha256-2apkSE/8Wm6/OQ4x5n1PE1emhovqOgD0NVTY5QZZTYA=";
   };
 
diff --git a/pkgs/applications/radio/abracadabra/default.nix b/pkgs/applications/radio/abracadabra/default.nix
index 4c71a6a38a43e..a19c48fb72e34 100644
--- a/pkgs/applications/radio/abracadabra/default.nix
+++ b/pkgs/applications/radio/abracadabra/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abracadabra";
-  version = "2.2.4";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "KejPi";
     repo = "AbracaDABra";
     rev = "v${version}";
-    sha256 = "sha256-gpZ6ckV//fhDlpAqmMwL4XNXX7xFmGi58fkOC4oRcDM=";
+    hash = "sha256-HRwgtNCrEzo6uXNJHG3PwpBAXVTppYUTmiwKWi3reho=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/flamp/default.nix b/pkgs/applications/radio/flamp/default.nix
index 483fbfc291103..0ac84d9420aab 100644
--- a/pkgs/applications/radio/flamp/default.nix
+++ b/pkgs/applications/radio/flamp/default.nix
@@ -10,12 +10,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flamp";
-  version = "2.2.09";
+  version = "2.2.10";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/fldigi/flamp";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-ev+Ik/e1zQGTH4FeiCDPHbrcXlctencEo4R0+M2Kg+g=";
+    hash = "sha256-c0Q9QD3O8eQxRqaBhr79iuNVtWGC8kl+YWYS4xMgDN4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/gridtracker/default.nix b/pkgs/applications/radio/gridtracker/default.nix
index 49e13f4ab08db..d3a6d104dc26a 100644
--- a/pkgs/applications/radio/gridtracker/default.nix
+++ b/pkgs/applications/radio/gridtracker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gridtracker";
-  version = "1.23.1112";
+  version = "1.23.1202";
 
   src = fetchFromGitLab {
     owner = "gridtracker.org";
     repo = "gridtracker";
     rev = "v${version}";
-    sha256 = "sha256-0A1/P57RtUExxflr2XayHPEyr28B6UDYY7pVCAJpWX0=";
+    sha256 = "sha256-XrHA+h6qAYyZjp/C7+oS3eAvX0ptD+T4UKFzM2ROBCw=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/radio/inspectrum/default.nix b/pkgs/applications/radio/inspectrum/default.nix
index 0f0b89d431656..fa5eda7b783bb 100644
--- a/pkgs/applications/radio/inspectrum/default.nix
+++ b/pkgs/applications/radio/inspectrum/default.nix
@@ -11,13 +11,13 @@
 
 gnuradio3_8Minimal.pkgs.mkDerivation rec {
   pname = "inspectrum";
-  version = "0.2.3";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "miek";
     repo = "inspectrum";
     rev = "v${version}";
-    sha256 = "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355";
+    sha256 = "sha256-yY2W2hQpj8TIxiQBSbQHq0J16n74OfIwMDxFt3mLZYc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/pat/default.nix b/pkgs/applications/radio/pat/default.nix
index 991df60b24bca..bddb3b986a33c 100644
--- a/pkgs/applications/radio/pat/default.nix
+++ b/pkgs/applications/radio/pat/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pat";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "la5nta";
     repo = "pat";
     rev = "v${version}";
-    hash = "sha256-ydv7RQ6MJ+ifWr+babdsDRnaS7DSAU+jiFJkQszy/Ro=";
+    hash = "sha256-wNWqqGc4mf3z0ejMpU+jWhqCbjNJ2b6+pbBjDYKwKK8=";
   };
 
-  vendorHash = "sha256-TMi5l9qzhhtdJKMkKdy7kiEJJ5UPPJLkfholl+dm/78=";
+  vendorHash = "sha256-m5yb6+TfRApw0ZROx9ZA3RPiKV+1DHo/73CNQpIfMlU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/radio/qlog/default.nix b/pkgs/applications/radio/qlog/default.nix
index 03add3ba34f9d..5a790a12cdae8 100644
--- a/pkgs/applications/radio/qlog/default.nix
+++ b/pkgs/applications/radio/qlog/default.nix
@@ -11,6 +11,7 @@
 , hamlib
 , qtkeychain
 , pkg-config
+, cups
 }:
 
 stdenv.mkDerivation rec {
@@ -27,6 +28,10 @@ stdenv.mkDerivation rec {
 
   env.NIX_LDFLAGS = "-lhamlib";
 
+  patches = [
+    ./mac.patch
+  ];
+
   buildInputs = [
     qtbase
     qtcharts
@@ -35,7 +40,9 @@ stdenv.mkDerivation rec {
     qtwebchannel
     hamlib
     qtkeychain
-  ];
+  ] ++ (lib.optionals stdenv.isDarwin [
+    cups
+  ]);
 
   nativeBuildInputs = [
     wrapQtAppsHook
diff --git a/pkgs/applications/radio/qlog/mac.patch b/pkgs/applications/radio/qlog/mac.patch
new file mode 100644
index 0000000000000..661d508ab4e58
--- /dev/null
+++ b/pkgs/applications/radio/qlog/mac.patch
@@ -0,0 +1,32 @@
+From 2b0ed30806b34315962da382cb41edf5f19b231e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Sat, 25 Nov 2023 14:22:24 +0100
+Subject: [PATCH] Add installation to PREFIX on mac when set
+
+This allows the app to be shipped in a non-bundeled version
+
+We need this to ship the app on macOS with nix
+---
+ QLog.pro | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/QLog.pro b/QLog.pro
+index db6686f..576bfe1 100644
+--- a/QLog.pro
++++ b/QLog.pro
+@@ -386,6 +386,12 @@ macx: {
+    equals(QT_MAJOR_VERSION, 6): LIBS += -lqt6keychain
+    equals(QT_MAJOR_VERSION, 5): LIBS += -lqt5keychain
+    DISTFILES +=
++
++   # This allows the app to be shipped in a non-bundeled version
++   !isEmpty(PREFIX) {
++     target.path = $$PREFIX
++     INSTALLS += target
++   }
+ }
+ 
+ win32: {
+-- 
+2.42.0
+
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 44ecec312b3f6..8619179efae4c 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "22.11";
+  version = "23.11";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
     rev = version;
-    sha256 = "sha256-qDY+prdf8O/dqmAgLU6lpsNIvL1R5V2AwsB+4CpOqGM=";
+    hash = "sha256-qCfPweJeYHIuM1DfDmeDilkV/RLzbzlIe1sIpSx/EYc=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index 1a986b6b0d188..fc1e6425c1c48 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -52,13 +52,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdrangel";
-  version = "7.17.0";
+  version = "7.17.1";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-v2ESMFAbsYbZVVIHlGCU01QPDorUZyLiUEhexr6zF5o=";
+    hash = "sha256-TMYFKt4nkNKZdlxszbVM55RMidBBD2HTaYc1OqW9/ck=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index 3ff7ae1161e49..a193fa59238f7 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.50.0";
+  version = "0.50.1";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "sha256-GJ8xMbHrnTzvPoMSczpugbIjh79cT3ngX3tLtwzlfEQ=";
+    sha256 = "sha256-JJZJOl4u6FzngrrMuC2AfD5ry2LBOT8tdz2piH+9LFE=";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 7cf1560d2492c..607b1ee51cc5d 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1499";
+  version = "1518";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-uofXtGGDloM1FxW0PYKKwfDOPlAJiapGVKwd1clFzp8=";
+    hash = "sha256-a6i5BfJhVHkXTLd7SVFxISEB+Kwl7BhjUUkF8ItMOak=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/seqkit/default.nix b/pkgs/applications/science/biology/seqkit/default.nix
index 32f46e4850987..3c6ac45454424 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.5.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "shenwei356";
     repo = "seqkit";
     rev = "v${version}";
-    sha256 = "sha256-aS8aTh8Lszob9It89shhKyqxCDjFs7zxE3VhMCHYaGM=";
+    sha256 = "sha256-ahCLPYRRH6xIRFhgpjvnw7G1AIOfrkzLKPA8t9+k9gg=";
   };
 
-  vendorHash = "sha256-54kb9Na76+CgW61SnXu7EfO0InH/rjliNRcH2M/gxII=";
+  vendorHash = "sha256-OpLLJdwEW7UnMKr6r8+EDUlpiahfa5k9AkBqcd+SE5k=";
 
   meta = with lib; {
     description = "cross-platform and ultrafast toolkit for FASTA/Q file manipulation";
diff --git a/pkgs/applications/science/chemistry/quantum-espresso/default.nix b/pkgs/applications/science/chemistry/quantum-espresso/default.nix
index 9933d0d8c727f..4c44829197724 100644
--- a/pkgs/applications/science/chemistry/quantum-espresso/default.nix
+++ b/pkgs/applications/science/chemistry/quantum-espresso/default.nix
@@ -1,41 +1,119 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, fetchFromGitHub
+, fetchurl
+, git
+, cmake
+, gnum4
 , gfortran
+, pkg-config
 , fftw
 , blas
 , lapack
-, useMpi ? false
+, scalapack
+, wannier90
+, hdf5
+, libmbd
+, libxc
+, enableMpi ? true
 , mpi
 }:
 
+assert ! blas.isILP64;
+assert ! lapack.isILP64;
+
+let
+  # "rev"s must exactly match the git submodule commits in the QE repo
+  gitSubmodules = {
+    devxlib = fetchFromGitLab {
+      group = "max-centre";
+      owner = "components";
+      repo = "devicexlib";
+      rev = "a6b89ef77b1ceda48e967921f1f5488d2df9226d";
+      hash = "sha256-p3fRplVG4YSN6ILNlOwf+aSEhpTJPXqiS1+wnzWVA2U=";
+    };
+
+    pw2qmcpack = fetchFromGitHub {
+      owner = "QMCPACK";
+      repo = "pw2qmcpack";
+      rev = "f72ab25fa4ea755c1b4b230ae8074b47d5509c70";
+      hash = "sha256-K1Z90xexsUvk4SdEb8FGryRal0GAFoLz3j1h/RT2nYw=";
+    };
+  };
+
+in
 stdenv.mkDerivation rec {
-  version = "6.6";
+  version = "7.2";
   pname = "quantum-espresso";
 
   src = fetchFromGitLab {
     owner = "QEF";
     repo = "q-e";
     rev = "qe-${version}";
-    sha256 = "1mkfmw0fq1dabplzdn6v1abhw0ds55gzlvbx3a9brv493whk21yp";
+    hash = "sha256-0q0QWX4BVjVHjcbKOBpjbBADuL+2S5LAALyrxmjVs4c=";
   };
 
-  passthru = {
-    inherit mpi;
-  };
+  # add git submodules manually and fix pkg-config file
+  prePatch = ''
+    chmod -R +rwx external/
+
+    substituteInPlace external/devxlib.cmake \
+      --replace "qe_git_submodule_update(external/devxlib)" ""
+    substituteInPlace external/CMakeLists.txt \
+      --replace "qe_git_submodule_update(external/pw2qmcpack)" "" \
+      --replace "qe_git_submodule_update(external/d3q)" "" \
+      --replace "qe_git_submodule_update(external/qe-gipaw)" ""
 
-  preConfigure = ''
-    patchShebangs configure
+    ${builtins.toString (builtins.attrValues
+      (builtins.mapAttrs
+        (name: val: ''
+          cp -r ${val}/* external/${name}/.
+          chmod -R +rwx external/${name}
+        '')
+        gitSubmodules
+      )
+    )}
+
+    substituteInPlace cmake/quantum_espresso.pc.in \
+      --replace 'libdir="''${prefix}/@CMAKE_INSTALL_LIBDIR@"' 'libdir="@CMAKE_INSTALL_FULL_LIBDIR@"'
   '';
 
-  nativeBuildInputs = [ gfortran ];
+  passthru = { inherit mpi; };
+
+  nativeBuildInputs = [
+    cmake
+    gfortran
+    git
+    pkg-config
+  ];
 
-  buildInputs = [ fftw blas lapack ]
-    ++ (lib.optionals useMpi [ mpi ]);
+  buildInputs = [
+    fftw
+    blas
+    lapack
+    wannier90
+    libmbd
+    libxc
+    hdf5
+  ] ++ lib.optional enableMpi scalapack;
 
-  configureFlags = if useMpi then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
+  propagatedBuildInputs = lib.optional enableMpi mpi;
+  propagatedUserEnvPkgs = lib.optional enableMpi mpi;
 
-  makeFlags = [ "all" ];
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DWANNIER90_ROOT=${wannier90}"
+    "-DMBD_ROOT=${libmbd}"
+    "-DQE_ENABLE_OPENMP=ON"
+    "-DQE_ENABLE_LIBXC=ON"
+    "-DQE_ENABLE_HDF5=ON"
+    "-DQE_ENABLE_PLUGINS=pw2qmcpack"
+  ] ++ lib.optionals enableMpi [
+    "-DQE_ENABLE_MPI=ON"
+    "-DQE_ENABLE_MPI_MODULE=ON"
+    "-DQE_ENABLE_SCALAPACK=ON"
+  ];
 
   meta = with lib; {
     description = "Electronic-structure calculations and materials modeling at the nanoscale";
diff --git a/pkgs/applications/science/electronics/csxcad/default.nix b/pkgs/applications/science/electronics/csxcad/default.nix
index f6b0ff93fff5e..abdb0716f3705 100644
--- a/pkgs/applications/science/electronics/csxcad/default.nix
+++ b/pkgs/applications/science/electronics/csxcad/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "csxcad";
-  version = "unstable-2022-05-18";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "thliebig";
     repo = "CSXCAD";
-    rev = "cd9decb4d9cebe3c8bf115e2c0ee73f730f22da1";
-    sha256 = "1604amhvp7dm8ych7gwzxwawqvb9hpjglk5ffd4qm0y3k6r89arn";
+    rev = "v${version}";
+    sha256 = "sha256-SSV5ulx3rCJg99I/oOQbqe+gOSs+BfcCo6UkWHVhnSs=";
   };
 
   patches = [./searchPath.patch ];
diff --git a/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch b/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch
deleted file mode 100644
index d095eada9d6e1..0000000000000
--- a/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/shapely/geos.py b/shapely/geos.py
-index 88c5f53..1ccd6e4 100644
---- a/shapely/geos.py
-+++ b/shapely/geos.py
-@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
-         alt_paths = [
-             'libgeos_c.so.1',
-             'libgeos_c.so',
-+            '@libgeos_c@',
-         ]
-         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
- 
-@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
-             "/usr/local/lib/libgeos_c.dylib",
-             # homebrew Apple Silicon
-             "/opt/homebrew/lib/libgeos_c.dylib",
-+            "@libgeos_c@",
-         ]
-         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
- 
-diff --git a/tests/test_dlls.py b/tests/test_dlls.py
-index c71da8e..c36262c 100644
---- a/tests/test_dlls.py
-+++ b/tests/test_dlls.py
-@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
-             '/opt/homebrew/lib/libgeos_c.dylib',  # homebrew (macOS)
-             os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
-             'libgeos_c.so.1',
--            'libgeos_c.so'])
-+            'libgeos_c.so',
-+            '@libgeos_c@'])
diff --git a/pkgs/applications/science/electronics/nvc/default.nix b/pkgs/applications/science/electronics/nvc/default.nix
index dc4991bf480bc..284a0b15830b5 100644
--- a/pkgs/applications/science/electronics/nvc/default.nix
+++ b/pkgs/applications/science/electronics/nvc/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nvc";
-  version = "1.10.4";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "nickg";
     repo = "nvc";
     rev = "r${version}";
-    hash = "sha256-f4VjSBoJnsGb8MHKegJDlomPG32DuTgFcyv1w0GxKvA=";
+    hash = "sha256-95vIyBQ38SGpI+gnDqK1MRRzOT6uiYjDr1c//folqZ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/electronics/openems/default.nix b/pkgs/applications/science/electronics/openems/default.nix
index 083f01a42881a..864b120993d9c 100644
--- a/pkgs/applications/science/electronics/openems/default.nix
+++ b/pkgs/applications/science/electronics/openems/default.nix
@@ -18,15 +18,15 @@
 , hyp2mat
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openems";
-  version = "unstable-2020-02-15";
+  version = "0.0.36";
 
   src = fetchFromGitHub {
     owner = "thliebig";
     repo = "openEMS";
-    rev = "ba793ac84e2f78f254d6d690bb5a4c626326bbfd";
-    sha256 = "1dca6b6ccy771irxzsj075zvpa3dlzv4mjb8xyg9d889dqlgyl45";
+    rev = "v${version}";
+    sha256 = "sha256-wdH+Zw7G2ZigzBMX8p3GKdFVx/AhbTNL+P3w+YjI/dc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/logic/cryptominisat/default.nix b/pkgs/applications/science/logic/cryptominisat/default.nix
index 0645fd29522fb..a028803db1399 100644
--- a/pkgs/applications/science/logic/cryptominisat/default.nix
+++ b/pkgs/applications/science/logic/cryptominisat/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cryptominisat";
-  version = "5.11.14";
+  version = "5.11.15";
 
   src = fetchFromGitHub {
     owner = "msoos";
     repo = "cryptominisat";
     rev = version;
-    hash = "sha256-p/sVinjEh078PGtJ6JBRA8EmrJVcchBs9L3bRZvCHuo=";
+    hash = "sha256-OenuIPo5U0+egWMpxfaKWPLbO5YRQJSXLYptih+ZQQ0=";
   };
 
   buildInputs = [ python3 boost ];
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index df8be359d1232..f0567fdda3b6b 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -1,13 +1,18 @@
 { callPackage, fetchurl, lib, stdenv
-, ocamlPackages, coqPackages, rubber, hevea, emacs }:
+, ocamlPackages, coqPackages, rubber, hevea, emacs
+, version ? "1.7.0"
+}:
 
 stdenv.mkDerivation rec {
   pname = "why3";
-  version = "1.6.0";
+  inherit version;
 
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
-    hash = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
+    hash = {
+      "1.7.0" = "sha256-rygrjzuJVukOvpuXTG/yeoEP98ZFkLQHObgc3My1PVY=";
+      "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
+    }."${version}";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix
index 42c160393595b..6595f0b846ddb 100644
--- a/pkgs/applications/science/math/caffe/default.nix
+++ b/pkgs/applications/science/math/caffe/default.nix
@@ -26,24 +26,17 @@ let
   # The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
   # However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
   # Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
-  cudnn = if lib.versionOlder cudatoolkit.version "10.1"
-    then cudaPackages.cudnn
-    else cudaPackages.cudnn_7_6;
-in
-
-assert leveldbSupport -> (leveldb != null && snappy != null);
-assert cudnnSupport -> cudaSupport;
-assert ncclSupport -> cudaSupport;
-assert pythonSupport -> (python != null && numpy != null);
+  hasCudnn =
+    if lib.versionOlder cudatoolkit.version "10.1"
+    then cudaPackages ? cudnn
+    else cudaPackages ? cudnn_7_6;
 
-let
   toggle = bool: if bool then "ON" else "OFF";
 
   test_model_weights = fetchurl {
     url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel";
     sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0";
   };
-
 in
 
 stdenv.mkDerivation rec {
@@ -74,7 +67,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ]
                 ++ lib.optional cudaSupport cudatoolkit
-                ++ lib.optional cudnnSupport cudnn
+                ++ lib.optional (lib.versionOlder cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn
+                ++ lib.optional (lib.versionAtLeast cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn_7_6
                 ++ lib.optional lmdbSupport lmdb
                 ++ lib.optional ncclSupport nccl
                 ++ lib.optionals leveldbSupport [ leveldb snappy ]
@@ -154,7 +148,14 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://caffe.berkeleyvision.org/";
     maintainers = with maintainers; [ ];
-    broken = (pythonSupport && (python.isPy310)) || cudaSupport;
+    broken =
+      (pythonSupport && (python.isPy310))
+      || cudaSupport
+      || !(leveldbSupport -> (leveldb != null && snappy != null))
+      || !(cudnnSupport -> (hasCudnn && cudaSupport))
+      || !(ncclSupport -> cudaSupport)
+      || !(pythonSupport -> (python != null && numpy != null))
+    ;
     license = licenses.bsd2;
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/pkgs/applications/science/math/cbc/default.nix b/pkgs/applications/science/math/cbc/default.nix
index 1909e4bb1d042..fb92b1cc98fbb 100644
--- a/pkgs/applications/science/math/cbc/default.nix
+++ b/pkgs/applications/science/math/cbc/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
   };
 
   # or-tools has a hard dependency on Cbc static libraries, so we build both
-  configureFlags = [ "-C" "--enable-static" ];
+  configureFlags = [ "-C" "--enable-static" ]
+    ++ lib.optionals stdenv.cc.isClang [ "CXXFLAGS=-std=c++14" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/math/clp/default.nix b/pkgs/applications/science/math/clp/default.nix
index 52a74ff3979c4..4cfff4702e69e 100644
--- a/pkgs/applications/science/math/clp/default.nix
+++ b/pkgs/applications/science/math/clp/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     license = licenses.epl20;
     homepage = "https://github.com/coin-or/Clp";
     description = "An open-source linear programming solver written in C++";
-    platforms = platforms.darwin ++ [ "x86_64-linux" ];
+    platforms = platforms.darwin ++ platforms.linux;
     maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/applications/science/math/labplot/default.nix b/pkgs/applications/science/math/labplot/default.nix
index b790116a58b89..8bb667e1a8fac 100644
--- a/pkgs/applications/science/math/labplot/default.nix
+++ b/pkgs/applications/science/math/labplot/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   version = "2.10.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/labplot/labplot-${version}.tar.xz";
+    url = "mirror://kde/stable/labplot/labplot-${version}.tar.xz";
     sha256 = "sha256-K24YFRfPtuDf/3uJXz6yDHzjWeZzLThUXgdXya6i2u8=";
   };
 
diff --git a/pkgs/applications/science/math/yacas/fix-test-script.patch b/pkgs/applications/science/math/yacas/fix-test-script.patch
deleted file mode 100644
index da85f0dc0e1bc..0000000000000
--- a/pkgs/applications/science/math/yacas/fix-test-script.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git i/tests/test-yacas w/tests/test-yacas
-index b375d78b..0e3a616b 100755
---- i/tests/test-yacas
-+++ w/tests/test-yacas
-@@ -35,9 +35,9 @@ FAILED_TESTS=""  # list of failed tests
- FAILURES=0       # number of failed tests
- TOTALTESTS=0     # total number of tests
- 
--TESTFILE=/tmp/test-yacas.$$
--TIMEFILE=/tmp/time-yacas.$$
--VERSIONF=/tmp/version-yacas-$$.ys
-+TESTFILE="$(mktemp -t test-yacas.XXX)"
-+TIMEFILE="$(mktemp -t time-yacas.XXX)"
-+VERSIONF="$(mktemp -t version-yacas-XXX.ys)"
- LOGFILE=yacas-logfile.txt
- echo "Print(Version());" > $VERSIONF
- VERSION=`$CMD $VERSIONF`
-@@ -69,7 +69,7 @@ for scr in $SCRIPTS; do
- #		fi
-     echo "Running $scr"
- 	if [ -f $TESTFILE ]; then rm $TESTFILE ; fi
--    /bin/bash -c "time -p ($CMD $f || echo \"Error: exit status $?\") | tee $TESTFILE" \
-+	    bash -c "time -p ($CMD $f || echo \"Error: exit status $?\") | tee $TESTFILE" \
- 		2> $TIMEFILE \
- 		|| (echo "Error -- User interrupt" > $TESTFILE)
- #	cat $TIMEFILE
diff --git a/pkgs/applications/science/misc/foldingathome/client.nix b/pkgs/applications/science/misc/foldingathome/client.nix
index cdc083a467d8e..f61fe5b018571 100644
--- a/pkgs/applications/science/misc/foldingathome/client.nix
+++ b/pkgs/applications/science/misc/foldingathome/client.nix
@@ -1,8 +1,11 @@
 { lib
-, stdenv
+, buildFHSEnv
 , fetchFromGitHub
-, scons
+, ocl-icd
 , openssl
+, scons
+, stdenv
+, extraPkgs ? [ ]
 }:
 let
   version = "8.1.18";
@@ -14,57 +17,64 @@ let
     hash = "sha256-G0rknVmZiyC4sRTOowFjf7EQ5peGf+HLPPcLWXXFlX4=";
   };
 
-  fah-web-client-bastetSrc = fetchFromGitHub {
-    owner = "foldingathome";
-    repo = "fah-web-client-bastet";
-    rev = "v${version}";
-    hash = lib.fakeHash;
-  };
-in
-stdenv.mkDerivation {
-  pname = "fah-client";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "FoldingAtHome";
-    repo = "fah-client-bastet";
-    rev = "v${version}";
-    hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
-  };
+  fah-client = stdenv.mkDerivation {
+    pname = "fah-client";
+    inherit version;
 
-  nativeBuildInputs = [ scons ];
+    src = fetchFromGitHub {
+      owner = "FoldingAtHome";
+      repo = "fah-client-bastet";
+      rev = "v${version}";
+      hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
+    };
 
-  buildInputs = [ openssl ];
+    nativeBuildInputs = [ scons ];
 
-  postUnpack = ''
-    export CBANG_HOME=$NIX_BUILD_TOP/cbang
+    buildInputs = [ openssl ];
 
-    cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
-  '';
+    postUnpack = ''
+      export CBANG_HOME=$NIX_BUILD_TOP/cbang
 
-  preBuild = ''
-    scons -C $CBANG_HOME
-  '';
+      cp -r --no-preserve=mode ${cbangSrc} $CBANG_HOME
+    '';
+
+    preBuild = ''
+      scons -C $CBANG_HOME
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/{bin,share/applications,share/feh-client}
 
-  installPhase = ''
-    runHook preInstall
+      cp fah-client $out/bin/fah-client
 
-    mkdir -p $out/{bin,share/applications,share/feh-client}
+      cp install/lin/fah-client.desktop $out/share/applications/
+      cp -r images $out/share/feh-client/
 
-    cp fah-client $out/bin/fah-client
+      sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
+
+      runHook postInstall
+    '';
+
+  };
+in
+buildFHSEnv {
+  name = fah-client.name;
 
-    cp install/lin/fah-client.desktop $out/share/applications/
-    cp -r images $out/share/feh-client/
+  targetPkgs = _: [ fah-client ocl-icd ] ++ extraPkgs;
 
-    sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
+  runScript = "/bin/fah-client";
 
-    runHook postInstall
+  extraInstallCommands = ''
+    mv $out/bin/$name $out/bin/fah-client
   '';
 
   meta = {
     description = "Folding@home client";
     homepage = "https://foldingathome.org/";
     license = lib.licenses.gpl3;
+    mainProgram = "fah-client";
     maintainers = [ lib.maintainers.zimbatm ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 2d830e3d10166..dfe7b5eca97f3 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -155,7 +155,7 @@ stdenv.mkDerivation rec {
     homepage = "https://root.cern.ch/";
     description = "A data analysis framework";
     platforms = platforms.unix;
-    broken = !stdenv.isx86_64;
+    broken = !stdenv.isx86_64 || stdenv.cc.isClang or false;
     maintainers = with maintainers; [ veprbl ];
     license = licenses.lgpl21;
   };
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index 2df4ce414dcfe..a2b04e1877f89 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -20,14 +20,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "simgrid";
-  version = "3.34";
+  version = "3.35";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EVTpW9jD1h8T2KRlDIqptKS6Wv1dVDfyJbXxrpsgmoo=";
+    sha256 = "sha256-WaFANZiPfiN/utfNZbwyH5mxgJNWafPMCcL863V8w0g=";
   };
 
   propagatedBuildInputs = [ boost ];
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index e669562c9cc75..1daeeb81410a0 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -1,4 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, hwloc, fftw, perl, blas, lapack, mpi, cudatoolkit
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, hwloc
+, fftw
+, perl
+, blas
+, lapack
+, mpi
+, cudaPackages
 , plumed
 , singlePrec ? true
 , config
@@ -9,6 +19,8 @@
 }:
 
 let
+  inherit (cudaPackages.cudaFlags) cudaCapabilities dropDot;
+
   # Select reasonable defaults for all major platforms
   # The possible values are defined in CMakeLists.txt:
   # AUTO None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256
@@ -52,7 +64,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs =
     [ cmake ]
     ++ lib.optional enablePlumed plumed
-    ;
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
 
   buildInputs = [
     fftw
@@ -61,13 +73,17 @@ in stdenv.mkDerivation rec {
     blas
     lapack
   ] ++ lib.optional enableMpi mpi
-    ++ lib.optional enableCuda cudatoolkit
-  ;
+  ++ lib.optionals enableCuda [
+    cudaPackages.cuda_cudart
+    cudaPackages.libcufft
+    cudaPackages.cuda_profiler_api
+  ];
 
   propagatedBuildInputs = lib.optional enableMpi mpi;
   propagatedUserEnvPkgs = lib.optional enableMpi mpi;
 
   cmakeFlags = [
+    (lib.cmakeBool "GMX_HWLOC" true)
     "-DGMX_SIMD:STRING=${SIMD cpuAcceleration}"
     "-DGMX_OPENMP:BOOL=TRUE"
     "-DBUILD_SHARED_LIBS=ON"
@@ -87,7 +103,13 @@ in stdenv.mkDerivation rec {
      else [
        "-DGMX_MPI:BOOL=FALSE"
      ]
-  ) ++ lib.optional enableCuda "-DGMX_GPU=CUDA";
+  ) ++ lib.optionals enableCuda [
+    "-DGMX_GPU=CUDA"
+    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
+
+    # Gromacs seems to ignore and override the normal variables, so we add this ad hoc:
+    (lib.cmakeFeature "GMX_CUDA_TARGET_COMPUTE" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
+  ];
 
   postInstall = ''
     moveToOutput share/cmake $dev
diff --git a/pkgs/applications/science/networking/sumo/default.nix b/pkgs/applications/science/networking/sumo/default.nix
index a55837af6e380..956691582bda3 100644
--- a/pkgs/applications/science/networking/sumo/default.nix
+++ b/pkgs/applications/science/networking/sumo/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumo";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "sumo";
     rev = "v${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "sha256-/MKhec4nhz6juTCc5dNrrDAlzldodGjili4vWkzafPM=";
+    sha256 = "sha256-uB7Gy0uX3LsZDeeITyjl7DN76TFJQKgsQs4RoDVfSmY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/robotics/mujoco/default.nix b/pkgs/applications/science/robotics/mujoco/default.nix
index c4f84e1583999..139e1140e7c9c 100644
--- a/pkgs/applications/science/robotics/mujoco/default.nix
+++ b/pkgs/applications/science/robotics/mujoco/default.nix
@@ -1,122 +1,184 @@
-{ cmake
+{ cereal_1_3_2
+, cmake
 , fetchFromGitHub
 , fetchFromGitLab
-, git
+, glfw
+, glm
 , lib
-, libGL
+, spdlog
 , stdenv
-, xorg
 }:
 
 let
-  # See https://github.com/deepmind/mujoco/blob/c9246e1f5006379d599e0bcddf159a8616d31441/cmake/MujocoDependencies.cmake#L17-L55
-  abseil-cpp = fetchFromGitHub {
-    owner = "abseil";
-    repo = "abseil-cpp";
-    rev = "c2435f8342c2d0ed8101cb43adfd605fdc52dca2";
-    hash = "sha256-PLoI7ix+reUqkZ947kWzls8lujYqWXk9A9a55UcfahI=";
-  };
-  benchmark = fetchFromGitHub {
-    owner = "google";
-    repo = "benchmark";
-    rev = "2dd015dfef425c866d9a43f2c67d8b52d709acb6";
-    hash = "sha256-pUW9YVaujs/y00/SiPqDgK4wvVsaM7QUp/65k0t7Yr0=";
-  };
-  ccd = fetchFromGitHub {
-    owner = "danfis";
-    repo = "libccd";
-    rev = "7931e764a19ef6b21b443376c699bbc9c6d4fba8";
-    hash = "sha256-TIZkmqQXa0+bSWpqffIgaBela0/INNsX9LPM026x1Wk=";
-  };
-  eigen3 = fetchFromGitLab {
-    owner = "libeigen";
-    repo = "eigen";
-    rev = "211c5dfc6741a5570ad007983c113ef4d144f9f3";
-    hash = "sha256-oT/h8QkL0vwaflh46Zsnu9Db1b65AP6p//nAga8M5jI=";
-  };
-  googletest = fetchFromGitHub {
-    owner = "google";
-    repo = "googletest";
-    rev = "b796f7d44681514f58a683a3a71ff17c94edb0c1";
-    hash = "sha256-LVLEn+e7c8013pwiLzJiiIObyrlbBHYaioO/SWbItPQ=";
-  };
-  lodepng = fetchFromGitHub {
-    owner = "lvandeve";
-    repo = "lodepng";
-    rev = "b4ed2cd7ecf61d29076169b49199371456d4f90b";
-    hash = "sha256-5cCkdj/izP4e99BKfs/Mnwu9aatYXjlyxzzYiMD/y1M=";
-  };
-  qhull = fetchFromGitHub {
-    owner = "qhull";
-    repo = "qhull";
-    rev = "0c8fc90d2037588024d9964515c1e684f6007ecc";
-    hash = "sha256-Ptzxad3ewmKJbbcmrBT+os4b4SR976zlCG9F0nq0x94=";
-  };
-  tinyobjloader = fetchFromGitHub {
-    owner = "tinyobjloader";
-    repo = "tinyobjloader";
-    rev = "1421a10d6ed9742f5b2c1766d22faa6cfbc56248";
-    hash = "sha256-9z2Ne/WPCiXkQpT8Cun/pSGUwgClYH+kQ6Dx1JvW6w0=";
-  };
-  tinyxml2 = fetchFromGitHub {
-    owner = "leethomason";
-    repo = "tinyxml2";
-    rev = "9a89766acc42ddfa9e7133c7d81a5bda108a0ade";
-    hash = "sha256-YGAe4+Ttv/xeou+9FoJjmQCKgzupTYdDhd+gzvtz/88=";
-  };
+  pin = {
+
+    # See https://github.com/google-deepmind/mujoco/blob/3.0.0/cmake/MujocoDependencies.cmake#L17-L64
+    abseil-cpp = fetchFromGitHub {
+      owner = "abseil";
+      repo = "abseil-cpp";
+      rev = "fb3621f4f897824c0dbe0615fa94543df6192f30";
+      hash = "sha256-uNGrTNg5G5xFGtc+BSWE389x0tQ/KxJQLHfebNWas/k=";
+    };
+    benchmark = fetchFromGitHub {
+      owner = "google";
+      repo = "benchmark";
+      rev = "344117638c8ff7e239044fd0fa7085839fc03021";
+      hash = "sha256-gztnxui9Fe/FTieMjdvfJjWHjkImtlsHn6fM1FruyME=";
+    };
+    ccd = fetchFromGitHub {
+      owner = "danfis";
+      repo = "libccd";
+      rev = "7931e764a19ef6b21b443376c699bbc9c6d4fba8";
+      hash = "sha256-TIZkmqQXa0+bSWpqffIgaBela0/INNsX9LPM026x1Wk=";
+    };
+    eigen3 = fetchFromGitLab {
+      owner = "libeigen";
+      repo = "eigen";
+      rev = "e8515f78ac098329ab9f8cab21c87caede090a3f";
+      hash = "sha256-HXKtFJsKGpug+wNPjYynTuyaG0igo3oG4rFQktveh1g=";
+    };
+    googletest = fetchFromGitHub {
+      owner = "google";
+      repo = "googletest";
+      rev = "f8d7d77c06936315286eb55f8de22cd23c188571";
+      hash = "sha256-t0RchAHTJbuI5YW4uyBPykTvcjy90JW9AOPNjIhwh6U=";
+    };
+    lodepng = fetchFromGitHub {
+      owner = "lvandeve";
+      repo = "lodepng";
+      rev = "b4ed2cd7ecf61d29076169b49199371456d4f90b";
+      hash = "sha256-5cCkdj/izP4e99BKfs/Mnwu9aatYXjlyxzzYiMD/y1M=";
+    };
+    qhull = fetchFromGitHub {
+      owner = "qhull";
+      repo = "qhull";
+      rev = "0c8fc90d2037588024d9964515c1e684f6007ecc";
+      hash = "sha256-Ptzxad3ewmKJbbcmrBT+os4b4SR976zlCG9F0nq0x94=";
+    };
+    tinyobjloader = fetchFromGitHub {
+      owner = "tinyobjloader";
+      repo = "tinyobjloader";
+      rev = "1421a10d6ed9742f5b2c1766d22faa6cfbc56248";
+      hash = "sha256-9z2Ne/WPCiXkQpT8Cun/pSGUwgClYH+kQ6Dx1JvW6w0=";
+    };
+    tinyxml2 = fetchFromGitHub {
+      owner = "leethomason";
+      repo = "tinyxml2";
+      rev = "9a89766acc42ddfa9e7133c7d81a5bda108a0ade";
+      hash = "sha256-YGAe4+Ttv/xeou+9FoJjmQCKgzupTYdDhd+gzvtz/88=";
+    };
+    marchingcubecpp = fetchFromGitHub {
+      owner = "aparis69";
+      repo = "MarchingCubeCpp";
+      rev = "5b79e5d6bded086a0abe276a4b5a69fc17ae9bf1";
+      hash = "sha256-L0DH1GJZ/3vatQAU/KZj/2xTKE6Fwcw9eQYzLdqX2N4=";
+    };
+
+    tmd = stdenv.mkDerivation rec {
+      name = "TriangleMeshDistance";
+
+      src = fetchFromGitHub {
+        owner = "InteractiveComputerGraphics";
+        repo = name;
+        rev = "e55a15c20551f36242fd6368df099a99de71d43a";
+        hash = "sha256-vj6TMMT8mp7ciLa5nzVAhMWPcAHXq+ZwHlWsRA3uCmg=";
+      };
+
+      installPhase = ''
+        mkdir -p $out/include/tmd
+        cp ${name}/include/tmd/${name}.h $out/include/tmd/
+      '';
+    };
+
+    sdflib = stdenv.mkDerivation rec {
+      name = "SdfLib";
+
+      src = fetchFromGitHub {
+        owner = "UPC-ViRVIG";
+        repo = name;
+        rev = "7c49cfba9bbec763b5d0f7b90b26555f3dde8088";
+        hash = "sha256-5bnQ3rHH9Pw1jRVpZpamFnhIJHWnGm6krgZgIBqNtVg=";
+      };
+
+      patches = [ ./sdflib-system-deps.patch ];
+
+      cmakeFlags = [
+        "-DSDFLIB_USE_ASSIMP=OFF"
+        "-DSDFLIB_USE_OPENMP=OFF"
+        "-DSDFLIB_USE_ENOKI=OFF"
+        "-DSDFLIB_USE_SYSTEM_GLM=ON"
+        "-DSDFLIB_USE_SYSTEM_SPDLOG=ON"
+        "-DSDFLIB_USE_SYSTEM_CEREAL=ON"
+        "-DSDFLIB_USE_SYSTEM_TRIANGLEMESHDISTANCE=ON"
+      ];
+
+      nativeBuildInputs = [ cmake ];
+      buildInputs = [
+        pin.tmd
+
+        # Mainline. The otherwise pinned glm realease from 2018 does
+        # not build due to test failures and missing files.
+        glm
+
+        spdlog
+        cereal_1_3_2
+      ];
+    };
 
-  # See https://github.com/deepmind/mujoco/blob/c9246e1f5006379d599e0bcddf159a8616d31441/simulate/cmake/SimulateDependencies.cmake#L32-L35
-  glfw3 = fetchFromGitHub {
-    owner = "glfw";
-    repo = "glfw";
-    rev = "7482de6071d21db77a7236155da44c172a7f6c9e";
-    hash = "sha256-4+H0IXjAwbL5mAWfsIVhW0BSJhcWjkQx4j2TrzZ3aIo=";
   };
-in
-stdenv.mkDerivation rec {
+
+in stdenv.mkDerivation rec {
   pname = "mujoco";
-  version = "2.3.7";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
-    owner = "deepmind";
+    owner = "google-deepmind";
     repo = pname;
     rev = version;
-    hash = "sha256-LgpA+iPGqciHuWBSD6/7yvZ7p+vo48ZYKjjrDZSnAwE=";
+    hash = "sha256-UXE+7KDti8RarpoJoo9Ei3TgW/Qdnj3ASRo8uTWhGrU=";
   };
 
-  patches = [ ./dependencies.patch ];
+  patches = [ ./mujoco-system-deps-dont-fetch.patch ];
 
-  nativeBuildInputs = [ cmake git ];
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    libGL
-    xorg.libX11
-    xorg.libXcursor
-    xorg.libXext
-    xorg.libXi
-    xorg.libXinerama
-    xorg.libXrandr
+    pin.sdflib
+    glm
+
+    # non-numerical
+    spdlog
+    cereal_1_3_2
+    glfw
+  ];
+
+  cmakeFlags = [
+    "-DMUJOCO_USE_SYSTEM_sdflib=ON"
+    "-DMUJOCO_SIMULATE_USE_SYSTEM_GLFW=ON"
+    "-DMUJOCO_SAMPLES_USE_SYSTEM_GLFW=ON"
   ];
 
   # Move things into place so that cmake doesn't try downloading dependencies.
   preConfigure = ''
     mkdir -p build/_deps
-    ln -s ${abseil-cpp} build/_deps/abseil-cpp-src
-    ln -s ${benchmark} build/_deps/benchmark-src
-    ln -s ${ccd} build/_deps/ccd-src
-    ln -s ${eigen3} build/_deps/eigen3-src
-    ln -s ${glfw3} build/_deps/glfw3-src
-    ln -s ${googletest} build/_deps/googletest-src
-    ln -s ${lodepng} build/_deps/lodepng-src
-    ln -s ${qhull} build/_deps/qhull-src
-    ln -s ${tinyobjloader} build/_deps/tinyobjloader-src
-    ln -s ${tinyxml2} build/_deps/tinyxml2-src
+    ln -s ${pin.abseil-cpp} build/_deps/abseil-cpp-src
+    ln -s ${pin.benchmark} build/_deps/benchmark-src
+    ln -s ${pin.ccd} build/_deps/ccd-src
+    ln -s ${pin.eigen3} build/_deps/eigen3-src
+    ln -s ${pin.googletest} build/_deps/googletest-src
+    ln -s ${pin.lodepng} build/_deps/lodepng-src
+    ln -s ${pin.qhull} build/_deps/qhull-src
+    ln -s ${pin.tinyobjloader} build/_deps/tinyobjloader-src
+    ln -s ${pin.tinyxml2} build/_deps/tinyxml2-src
+    ln -s ${pin.marchingcubecpp} build/_deps/marchingcubecpp-src
   '';
 
+  passthru.pin = { inherit (pin) lodepng eigen3 abseil-cpp; };
+
   meta = with lib; {
     description = "Multi-Joint dynamics with Contact. A general purpose physics simulator.";
     homepage = "https://mujoco.org/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ samuela ];
+    maintainers = with maintainers; [ samuela tmplt ];
   };
 }
diff --git a/pkgs/applications/science/robotics/mujoco/dependencies.patch b/pkgs/applications/science/robotics/mujoco/dependencies.patch
deleted file mode 100644
index f7dcc06a9e05b..0000000000000
--- a/pkgs/applications/science/robotics/mujoco/dependencies.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
-index 3e322ea..980aace 100644
---- a/cmake/MujocoDependencies.cmake
-+++ b/cmake/MujocoDependencies.cmake
-@@ -87,8 +87,6 @@ set(BUILD_SHARED_LIBS
- if(NOT TARGET lodepng)
-   FetchContent_Declare(
-     lodepng
--    GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
--    GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
-   )
- 
-   FetchContent_GetProperties(lodepng)
-@@ -127,10 +125,6 @@ findorfetch(
-   qhull
-   LIBRARY_NAME
-   qhull
--  GIT_REPO
--  https://github.com/qhull/qhull.git
--  GIT_TAG
--  ${MUJOCO_DEP_VERSION_qhull}
-   TARGETS
-   qhull
-   EXCLUDE_FROM_ALL
-@@ -151,10 +145,6 @@ findorfetch(
-   tinyxml2
-   LIBRARY_NAME
-   tinyxml2
--  GIT_REPO
--  https://github.com/leethomason/tinyxml2.git
--  GIT_TAG
--  ${MUJOCO_DEP_VERSION_tinyxml2}
-   TARGETS
-   tinyxml2
-   EXCLUDE_FROM_ALL
-@@ -169,10 +159,6 @@ findorfetch(
-   tinyobjloader
-   LIBRARY_NAME
-   tinyobjloader
--  GIT_REPO
--  https://github.com/tinyobjloader/tinyobjloader.git
--  GIT_TAG
--  ${MUJOCO_DEP_VERSION_tinyobjloader}
-   TARGETS
-   tinyobjloader
-   EXCLUDE_FROM_ALL
-@@ -187,10 +173,6 @@ findorfetch(
-   ccd
-   LIBRARY_NAME
-   ccd
--  GIT_REPO
--  https://github.com/danfis/libccd.git
--  GIT_TAG
--  ${MUJOCO_DEP_VERSION_ccd}
-   TARGETS
-   ccd
-   EXCLUDE_FROM_ALL
-@@ -227,10 +209,6 @@ if(MUJOCO_BUILD_TESTS)
-     absl
-     LIBRARY_NAME
-     abseil-cpp
--    GIT_REPO
--    https://github.com/abseil/abseil-cpp.git
--    GIT_TAG
--    ${MUJOCO_DEP_VERSION_abseil}
-     TARGETS
-     absl::core_headers
-     EXCLUDE_FROM_ALL
-@@ -254,10 +232,6 @@ if(MUJOCO_BUILD_TESTS)
-     GTest
-     LIBRARY_NAME
-     googletest
--    GIT_REPO
--    https://github.com/google/googletest.git
--    GIT_TAG
--    ${MUJOCO_DEP_VERSION_gtest}
-     TARGETS
-     gtest
-     gmock
-@@ -288,10 +262,6 @@ if(MUJOCO_BUILD_TESTS)
-     benchmark
-     LIBRARY_NAME
-     benchmark
--    GIT_REPO
--    https://github.com/google/benchmark.git
--    GIT_TAG
--    ${MUJOCO_DEP_VERSION_benchmark}
-     TARGETS
-     benchmark::benchmark
-     benchmark::benchmark_main
-@@ -308,8 +278,6 @@ if(MUJOCO_TEST_PYTHON_UTIL)
- 
-     FetchContent_Declare(
-       Eigen3
--      GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
--      GIT_TAG ${MUJOCO_DEP_VERSION_Eigen3}
-     )
- 
-     FetchContent_GetProperties(Eigen3)
-diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake
-index fa539c2..5985d5a 100644
---- a/simulate/cmake/SimulateDependencies.cmake
-+++ b/simulate/cmake/SimulateDependencies.cmake
-@@ -81,10 +81,6 @@ findorfetch(
-   glfw3
-   LIBRARY_NAME
-   glfw3
--  GIT_REPO
--  https://github.com/glfw/glfw.git
--  GIT_TAG
--  ${MUJOCO_DEP_VERSION_glfw3}
-   TARGETS
-   glfw
-   EXCLUDE_FROM_ALL
diff --git a/pkgs/applications/science/robotics/mujoco/mujoco-system-deps-dont-fetch.patch b/pkgs/applications/science/robotics/mujoco/mujoco-system-deps-dont-fetch.patch
new file mode 100644
index 0000000000000..15373eb0b60fa
--- /dev/null
+++ b/pkgs/applications/science/robotics/mujoco/mujoco-system-deps-dont-fetch.patch
@@ -0,0 +1,538 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 285250b..32d03e3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,7 +92,7 @@ add_subdirectory(src/render)
+ add_subdirectory(src/thread)
+ add_subdirectory(src/ui)
+ 
+-target_compile_definitions(mujoco PRIVATE _GNU_SOURCE CCD_STATIC_DEFINE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE)
++target_compile_definitions(mujoco PRIVATE _GNU_SOURCE MUJOCO_DLL_EXPORTS -DMC_IMPLEM_ENABLE)
+ if(MUJOCO_ENABLE_AVX_INTRINSICS)
+   target_compile_definitions(mujoco PUBLIC mjUSEPLATFORMSIMD)
+ endif()
+@@ -117,7 +117,7 @@ target_link_libraries(
+           lodepng
+           qhullstatic_r
+           tinyobjloader
+-          tinyxml2
++          tinyxml2::tinyxml2
+ )
+ 
+ set_target_properties(
+diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake
+index 4e3e2c8..f6143d9 100644
+--- a/cmake/MujocoDependencies.cmake
++++ b/cmake/MujocoDependencies.cmake
+@@ -90,153 +90,203 @@ set(BUILD_SHARED_LIBS
+     CACHE INTERNAL "Build SHARED libraries"
+ )
+ 
++
+ if(NOT TARGET lodepng)
+-  FetchContent_Declare(
++  fetchcontent_declare(
+     lodepng
+-    GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
+-    GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
+   )
++endif()
++
++if(NOT TARGET lodepng)
++  if(NOT MUJOCO_USE_SYSTEM_lodepng)
++    fetchcontent_declare(
++      lodepng
++      GIT_REPOSITORY https://github.com/lvandeve/lodepng.git
++      GIT_TAG ${MUJOCO_DEP_VERSION_lodepng}
++    )
+ 
+-  FetchContent_GetProperties(lodepng)
+-  if(NOT lodepng_POPULATED)
+-    FetchContent_Populate(lodepng)
+-    # This is not a CMake project.
+-    set(LODEPNG_SRCS ${lodepng_SOURCE_DIR}/lodepng.cpp)
+-    set(LODEPNG_HEADERS ${lodepng_SOURCE_DIR}/lodepng.h)
+-    add_library(lodepng STATIC ${LODEPNG_HEADERS} ${LODEPNG_SRCS})
+-    target_compile_options(lodepng PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-    target_link_options(lodepng PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
+-    target_include_directories(lodepng PUBLIC ${lodepng_SOURCE_DIR})
++    fetchcontent_getproperties(lodepng)
++    if(NOT lodepng_POPULATED)
++      fetchcontent_populate(lodepng)
++      # This is not a CMake project.
++      set(LODEPNG_SRCS ${lodepng_SOURCE_DIR}/lodepng.cpp)
++      set(LODEPNG_HEADERS ${lodepng_SOURCE_DIR}/lodepng.h)
++      add_library(lodepng STATIC ${LODEPNG_HEADERS} ${LODEPNG_SRCS})
++      target_compile_options(lodepng PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
++      target_link_options(lodepng PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++      target_include_directories(lodepng PUBLIC ${lodepng_SOURCE_DIR})
++    endif()
++  else()
++    find_package(lodepng REQUIRED)
+   endif()
+ endif()
+ 
+ if(NOT TARGET marchingcubecpp)
+-  FetchContent_Declare(
++  fetchcontent_declare(
+     marchingcubecpp
+-    GIT_REPOSITORY https://github.com/aparis69/MarchingCubeCpp.git
+-    GIT_TAG ${MUJOCO_DEP_VERSION_MarchingCubeCpp}
+   )
+ 
+-  FetchContent_GetProperties(marchingcubecpp)
++  fetchcontent_getproperties(marchingcubecpp)
+   if(NOT marchingcubecpp_POPULATED)
+-    FetchContent_Populate(marchingcubecpp)
++    fetchcontent_populate(marchingcubecpp)
+     include_directories(${marchingcubecpp_SOURCE_DIR})
+   endif()
+ endif()
+ 
++option(MUJOCO_USE_SYSTEM_qhull "Use installed qhull version." OFF)
++mark_as_advanced(MUJOCO_USE_SYSTEM_qhull)
++
+ set(QHULL_ENABLE_TESTING OFF)
+ 
+ findorfetch(
+   USE_SYSTEM_PACKAGE
+-  OFF
++  ${MUJOCO_USE_SYSTEM_qhull}
+   PACKAGE_NAME
+-  qhull
++  Qhull
+   LIBRARY_NAME
+   qhull
+-  GIT_REPO
+-  https://github.com/qhull/qhull.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_qhull}
+   TARGETS
+   qhull
+   EXCLUDE_FROM_ALL
+ )
+-# MuJoCo includes a file from libqhull_r which is not exported by the qhull include directories.
+-# Add it to the target.
+-target_include_directories(
+-  qhullstatic_r INTERFACE $<BUILD_INTERFACE:${qhull_SOURCE_DIR}/src/libqhull_r>
+-)
+-target_compile_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++
++if(NOT MUJOCO_USE_SYSTEM_qhull)
++  # MuJoCo includes a file from libqhull_r which is not exported by the qhull include directories.
++  # Add it to the target.
++  target_include_directories(
++    qhullstatic_r INTERFACE $<BUILD_INTERFACE:${qhull_SOURCE_DIR}/src/libqhull_r>
++  )
++  target_compile_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
++  target_link_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++else()
++  if(NOT TARGET qhullstatic_r)
++    add_library(qhullstatic_r INTERFACE)
++    set_target_properties(qhullstatic_r PROPERTIES INTERFACE_LINK_LIBRARIES Qhull::qhull_r)
++
++    # Workaround as headers are installed in <prefix>/include/libqhull_r/something.h
++    # but mujoco include them as #include <something.h>
++    get_property(qhull_include_dirs TARGET Qhull::qhull_r PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
++    foreach(qhull_include_dir IN LISTS qhull_include_dirs)
++      target_include_directories(qhullstatic_r INTERFACE ${qhull_include_dirs}/libqhull_r)
++    endforeach()
++    target_include_directories(qhullstatic_r INTERFACE )
++  endif()
++endif()
++
++option(MUJOCO_USE_SYSTEM_tinyxml2 "Use installed tinyxml2 version." OFF)
++mark_as_advanced(MUJOCO_USE_SYSTEM_tinyxml2)
+ 
+ set(tinyxml2_BUILD_TESTING OFF)
+ findorfetch(
+   USE_SYSTEM_PACKAGE
+-  OFF
++  ${MUJOCO_USE_SYSTEM_tinyxml2}
+   PACKAGE_NAME
+   tinyxml2
+   LIBRARY_NAME
+   tinyxml2
+-  GIT_REPO
+-  https://github.com/leethomason/tinyxml2.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_tinyxml2}
+   TARGETS
+-  tinyxml2
++  tinyxml2::tinyxml2
+   EXCLUDE_FROM_ALL
+ )
+-target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++
++if(NOT MUJOCO_USE_SYSTEM_tinyxml2)
++  target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
++  target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++endif()
++
++option(MUJOCO_USE_SYSTEM_tinyobjloader "Use installed tinyobjloader version." OFF)
++mark_as_advanced(MUJOCO_USE_SYSTEM_tinyobjloader)
+ 
+ findorfetch(
+   USE_SYSTEM_PACKAGE
+-  OFF
++  ${MUJOCO_USE_SYSTEM_tinyobjloader}
+   PACKAGE_NAME
+   tinyobjloader
+   LIBRARY_NAME
+   tinyobjloader
+-  GIT_REPO
+-  https://github.com/tinyobjloader/tinyobjloader.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_tinyobjloader}
+   TARGETS
+   tinyobjloader
+   EXCLUDE_FROM_ALL
+ )
+ 
++if(MUJOCO_USE_SYSTEM_tinyobjloader)
++  # As of tinyobjloader v2.0.0rc10, the tinyobjloader target is named tinyobjloader in the build,
++  # but tinyobjloader::tinyobjloader when it is installed. To deal with this, if tinyobjloader is
++  # found in the system, we create an ALIAS
++  # The following is equivalent to add_library(tinyobjloader ALIAS tinyobjloader::tinyobjloader),
++  # but compatible with CMake 3.16 . Once the minimum CMake is bumped to CMake 3.18, we can use
++  # the simpler version
++  add_library(tinyobjloader INTERFACE IMPORTED)
++  set_target_properties(tinyobjloader PROPERTIES INTERFACE_LINK_LIBRARIES tinyobjloader::tinyobjloader)
++endif()
++
++option(MUJOCO_USE_SYSTEM_sdflib "Use installed sdflib version." OFF)
++mark_as_advanced(MUJOCO_USE_SYSTEM_sdflib)
++
+ option(SDFLIB_USE_ASSIMP OFF)
+ option(SDFLIB_USE_OPENMP OFF)
+ option(SDFLIB_USE_ENOKI OFF)
++
+ findorfetch(
+   USE_SYSTEM_PACKAGE
+-  OFF
++  ${MUJOCO_USE_SYSTEM_sdflib}
+   PACKAGE_NAME
+-  sdflib
++  SdfLib
+   LIBRARY_NAME
+   sdflib
+-  GIT_REPO
+-  https://github.com/UPC-ViRVIG/SdfLib.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_sdflib}
+   TARGETS
+-  SdfLib
++  SdfLib::SdfLib
+   EXCLUDE_FROM_ALL
+ )
+-target_compile_options(SdfLib PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(SdfLib PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++
++if(NOT MUJOCO_USE_SYSTEM_sdflib)
++  target_compile_options(SdfLib PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
++  target_link_options(SdfLib PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++endif()
++
++option(MUJOCO_USE_SYSTEM_ccd "Use installed ccd version." OFF)
++mark_as_advanced(MUJOCO_USE_SYSTEM_ccd)
+ 
+ set(ENABLE_DOUBLE_PRECISION ON)
+ set(CCD_HIDE_ALL_SYMBOLS ON)
+ findorfetch(
+   USE_SYSTEM_PACKAGE
+-  OFF
++  ${MUJOCO_USE_SYSTEM_ccd}
+   PACKAGE_NAME
+   ccd
+   LIBRARY_NAME
+   ccd
+-  GIT_REPO
+-  https://github.com/danfis/libccd.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_ccd}
+   TARGETS
+   ccd
+   EXCLUDE_FROM_ALL
+ )
+-target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
+-target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
+-
+-# libCCD has an unconditional `#define _CRT_SECURE_NO_WARNINGS` on Windows.
+-# TODO(stunya): Remove this after https://github.com/danfis/libccd/pull/77 is merged.
+-if(WIN32)
+-  if(MSVC)
+-    # C4005 is the MSVC equivalent of -Wmacro-redefined.
+-    target_compile_options(ccd PRIVATE /wd4005)
+-  else()
+-    target_compile_options(ccd PRIVATE -Wno-macro-redefined)
++
++if(NOT MUJOCO_USE_SYSTEM_ccd)
++  target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS})
++  target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS})
++  # This is necessary to ensure that the any library that consumes the ccd
++  # compiled internally by MuJoCo (as static library) has CCD_EXPORT correctly
++  # defined as an empty string. For ccd itself, this is ensured by the variable
++  # CCD_HIDE_ALL_SYMBOLS set to ON before the call to findorfetch
++  # See https://github.com/danfis/libccd/pull/79
++  target_compile_definitions(ccd INTERFACE CCD_STATIC_DEFINE)
++
++  # libCCD has an unconditional `#define _CRT_SECURE_NO_WARNINGS` on Windows.
++  # TODO(stunya): Remove this after https://github.com/danfis/libccd/pull/77 is merged.
++  if(WIN32)
++    if(MSVC)
++      # C4005 is the MSVC equivalent of -Wmacro-redefined.
++      target_compile_options(ccd PRIVATE /wd4005)
++    else()
++      target_compile_options(ccd PRIVATE -Wno-macro-redefined)
++    endif()
+   endif()
+ endif()
+ 
+ if(MUJOCO_BUILD_TESTS)
++  option(MUJOCO_USE_SYSTEM_abseil "Use installed abseil version." OFF)
++  mark_as_advanced(MUJOCO_USE_SYSTEM_abseil)
++
+   set(ABSL_PROPAGATE_CXX_STD ON)
+ 
+   # This specific version of Abseil does not have the following variable. We need to work with BUILD_TESTING
+@@ -249,15 +299,11 @@ if(MUJOCO_BUILD_TESTS)
+   set(ABSL_BUILD_TESTING OFF)
+   findorfetch(
+     USE_SYSTEM_PACKAGE
+-    OFF
++    ${MUJOCO_USE_SYSTEM_abseil}
+     PACKAGE_NAME
+     absl
+     LIBRARY_NAME
+     abseil-cpp
+-    GIT_REPO
+-    https://github.com/abseil/abseil-cpp.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_abseil}
+     TARGETS
+     absl::core_headers
+     EXCLUDE_FROM_ALL
+@@ -268,6 +314,9 @@ if(MUJOCO_BUILD_TESTS)
+       CACHE BOOL "Build tests." FORCE
+   )
+ 
++  option(MUJOCO_USE_SYSTEM_gtest "Use installed gtest version." OFF)
++  mark_as_advanced(MUJOCO_USE_SYSTEM_gtest)
++
+   # Avoid linking errors on Windows by dynamically linking to the C runtime.
+   set(gtest_force_shared_crt
+       ON
+@@ -276,22 +325,20 @@ if(MUJOCO_BUILD_TESTS)
+ 
+   findorfetch(
+     USE_SYSTEM_PACKAGE
+-    OFF
++    ${MUJOCO_USE_SYSTEM_gtest}
+     PACKAGE_NAME
+     GTest
+     LIBRARY_NAME
+     googletest
+-    GIT_REPO
+-    https://github.com/google/googletest.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_gtest}
+     TARGETS
+-    gtest
+-    gmock
+-    gtest_main
++    GTest::gmock
++    GTest::gtest_main
+     EXCLUDE_FROM_ALL
+   )
+ 
++  option(MUJOCO_USE_SYSTEM_benchmark "Use installed benchmark version." OFF)
++  mark_as_advanced(MUJOCO_USE_SYSTEM_benchmark)
++
+   set(BENCHMARK_EXTRA_FETCH_ARGS "")
+   if(WIN32 AND NOT MSVC)
+     set(BENCHMARK_EXTRA_FETCH_ARGS
+@@ -310,15 +357,11 @@ if(MUJOCO_BUILD_TESTS)
+ 
+   findorfetch(
+     USE_SYSTEM_PACKAGE
+-    OFF
++    ${MUJOCO_USE_SYSTEM_benchmark}
+     PACKAGE_NAME
+     benchmark
+     LIBRARY_NAME
+     benchmark
+-    GIT_REPO
+-    https://github.com/google/benchmark.git
+-    GIT_TAG
+-    ${MUJOCO_DEP_VERSION_benchmark}
+     TARGETS
+     benchmark::benchmark
+     benchmark::benchmark_main
+@@ -328,26 +371,42 @@ if(MUJOCO_BUILD_TESTS)
+ endif()
+ 
+ if(MUJOCO_TEST_PYTHON_UTIL)
++  option(MUJOCO_USE_SYSTEM_Eigen3 "Use installed Eigen3 version." OFF)
++  mark_as_advanced(MUJOCO_USE_SYSTEM_Eigen3)
++
+   add_compile_definitions(EIGEN_MPL2_ONLY)
+-  if(NOT TARGET eigen)
+-    # Support new IN_LIST if() operator.
+-    set(CMAKE_POLICY_DEFAULT_CMP0057 NEW)
++  if(NOT TARGET Eigen3::Eigen)
++    if(NOT MUJOCO_USE_SYSTEM_Eigen3)
++      # Support new IN_LIST if() operator.
++      set(CMAKE_POLICY_DEFAULT_CMP0057 NEW)
++    endif()
+ 
+-    FetchContent_Declare(
++    fetchcontent_declare(
+       Eigen3
+-      GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
+-      GIT_TAG ${MUJOCO_DEP_VERSION_Eigen3}
+     )
+ 
+-    FetchContent_GetProperties(Eigen3)
++    fetchcontent_getproperties(Eigen3)
+     if(NOT Eigen3_POPULATED)
+-      FetchContent_Populate(Eigen3)
++      fetchcontent_populate(Eigen3)
+ 
+       # Mark the library as IMPORTED as a workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/15415
+       add_library(Eigen3::Eigen INTERFACE IMPORTED)
+       set_target_properties(
+         Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${eigen3_SOURCE_DIR}"
+       )
++
++      fetchcontent_getproperties(Eigen3)
++      # if(NOT Eigen3_POPULATED)
++      #   fetchcontent_populate(Eigen3)
++
++      #   # Mark the library as IMPORTED as a workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/15415
++      #   add_library(Eigen3::Eigen INTERFACE IMPORTED)
++      #   set_target_properties(
++      #     Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${eigen3_SOURCE_DIR}"
++      #   )
++      # endif()
++    else()
++      find_package(Eigen3 REQUIRED)
+     endif()
+   endif()
+ endif()
+diff --git a/plugin/sdf/CMakeLists.txt b/plugin/sdf/CMakeLists.txt
+index 3e216fc..e7e3a1e 100644
+--- a/plugin/sdf/CMakeLists.txt
++++ b/plugin/sdf/CMakeLists.txt
+@@ -37,7 +37,7 @@ set(MUJOCO_SDF_SRCS
+ add_library(sdf SHARED)
+ target_sources(sdf PRIVATE ${MUJOCO_SDF_SRCS})
+ target_include_directories(sdf PRIVATE ${MUJOCO_SDF_INCLUDE})
+-target_link_libraries(sdf PRIVATE mujoco SdfLib)
++target_link_libraries(sdf PRIVATE mujoco SdfLib::SdfLib)
+ target_compile_options(
+   sdf
+   PRIVATE ${AVX_COMPILE_OPTIONS}
+diff --git a/python/mujoco/util/CMakeLists.txt b/python/mujoco/util/CMakeLists.txt
+index 666a372..d89bb49 100644
+--- a/python/mujoco/util/CMakeLists.txt
++++ b/python/mujoco/util/CMakeLists.txt
+@@ -63,8 +63,8 @@ if(BUILD_TESTING)
+   target_link_libraries(
+     array_traits_test
+     array_traits
+-    gmock
+-    gtest_main
++    GTest::gmock
++    GTest::gtest_main
+   )
+   gtest_add_tests(TARGET array_traits_test SOURCES array_traits_test.cc)
+ 
+@@ -72,8 +72,8 @@ if(BUILD_TESTING)
+   target_link_libraries(
+     func_traits_test
+     func_traits
+-    gmock
+-    gtest_main
++    GTest::gmock
++    GTest::gtest_main
+   )
+   gtest_add_tests(TARGET func_traits_test SOURCES func_traits_test.cc)
+ 
+@@ -81,8 +81,8 @@ if(BUILD_TESTING)
+   target_link_libraries(
+     func_wrap_test
+     func_wrap
+-    gmock
+-    gtest_main
++    GTest::gmock
++    GTest::gtest_main
+   )
+   gtest_add_tests(TARGET func_wrap_test SOURCES func_wrap_test.cc)
+ 
+@@ -90,8 +90,8 @@ if(BUILD_TESTING)
+   target_link_libraries(
+     tuple_tools_test
+     func_wrap
+-    gmock
+-    gtest_main
++    GTest::gmock
++    GTest::gtest_main
+   )
+   gtest_add_tests(TARGET tuple_tools_test SOURCES tuple_tools_test.cc)
+ endif()
+diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake
+index 5141406..75ff788 100644
+--- a/simulate/cmake/SimulateDependencies.cmake
++++ b/simulate/cmake/SimulateDependencies.cmake
+@@ -81,10 +81,6 @@ findorfetch(
+   glfw3
+   LIBRARY_NAME
+   glfw3
+-  GIT_REPO
+-  https://github.com/glfw/glfw.git
+-  GIT_TAG
+-  ${MUJOCO_DEP_VERSION_glfw3}
+   TARGETS
+   glfw
+   EXCLUDE_FROM_ALL
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 6bec911..2a16c21 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -30,7 +30,7 @@ macro(mujoco_test name)
+   )
+ 
+   add_executable(${name} ${name}.cc)
+-  target_link_libraries(${name} gtest_main mujoco)
++  target_link_libraries(${name} GTest::gtest_main mujoco)
+   target_include_directories(${name} PRIVATE ${MUJOCO_TEST_INCLUDE})
+   set_target_properties(${name} PROPERTIES BUILD_RPATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
+   # gtest_discover_tests is recommended over gtest_add_tests, but has some issues in Windows.
+@@ -59,20 +59,20 @@ target_link_libraries(
+   PUBLIC absl::core_headers
+          absl::strings
+          absl::synchronization
+-         gtest
+-         gmock
++         GTest::gtest
++         GTest::gmock
+          mujoco::mujoco
+ )
+ target_include_directories(fixture PRIVATE ${mujoco_SOURCE_DIR}/include gmock)
+ 
+ mujoco_test(fixture_test)
+-target_link_libraries(fixture_test fixture gmock)
++target_link_libraries(fixture_test fixture GTest::gmock)
+ 
+ mujoco_test(header_test)
+-target_link_libraries(header_test fixture gmock)
++target_link_libraries(header_test fixture GTest::gmock)
+ 
+ mujoco_test(pipeline_test)
+-target_link_libraries(pipeline_test fixture gmock)
++target_link_libraries(pipeline_test fixture GTest::gmock)
+ 
+ add_subdirectory(benchmark)
+ add_subdirectory(engine)
diff --git a/pkgs/applications/science/robotics/mujoco/sdflib-system-deps.patch b/pkgs/applications/science/robotics/mujoco/sdflib-system-deps.patch
new file mode 100644
index 0000000000000..ca84c60a63df4
--- /dev/null
+++ b/pkgs/applications/science/robotics/mujoco/sdflib-system-deps.patch
@@ -0,0 +1,192 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 251c456..3d30231 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,7 +27,7 @@ option(SDFLIB_USE_SYSTEM_GLM "Use glm library via find_package instead of downlo
+ option(SDFLIB_USE_SYSTEM_SPDLOG "Use spdlog library via find_package instead of downloading it" OFF)
+ option(SDFLIB_USE_SYSTEM_CEREAL "Use cereal library via find_package instead of downloading it" OFF)
+ option(SDFLIB_USE_SYSTEM_ASSIMP "Use assimp library via find_package instead of downloading it" OFF)
+-
++option(SDFLIB_USE_SYSTEM_TRIANGLEMESHDISTANCE "Use TriangleMeshDistance library via system includes instead of downloading it" OFF)
+ 
+ if(SDFLIB_DEBUG_INFO)
+     add_compile_definitions(SDFLIB_PRINT_STATISTICS)
+@@ -55,13 +55,52 @@ file(GLOB UTILS_SOURCE_FILES src/utils/*.cpp)
+ file(GLOB UTILS_HEADER_FILES src/utils/*.h)
+ 
+ # Add libraries
+-add_library(${PROJECT_NAME} STATIC  ${SOURCE_FILES} ${HEADER_FILES} ${PUBLIC_HEADER_FILES}
+-                                    ${SDF_SOURCE_FILES} ${SDF_HEADER_FILES}
+-                                    ${UTILS_SOURCE_FILES} ${UTILS_HEADER_FILES})
+-
+-target_include_directories(${PROJECT_NAME} PUBLIC include/)
++add_library(${PROJECT_NAME} ${SOURCE_FILES} ${HEADER_FILES} ${PUBLIC_HEADER_FILES}
++                            ${SDF_SOURCE_FILES} ${SDF_HEADER_FILES}
++                            ${UTILS_SOURCE_FILES} ${UTILS_HEADER_FILES})
++add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
++if(BUILD_SHARED_LIBS AND WIN32)
++    set_target_properties(${PROJECT_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
++endif()
++include(GNUInstallDirs)
++target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++                                                  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+ target_include_directories(${PROJECT_NAME} PRIVATE src/)
+ 
++# Install library and CMake config files
++install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME})
++install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/SdfLib
++        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++
++install(EXPORT ${PROJECT_NAME}
++        FILE ${PROJECT_NAME}Targets.cmake
++        DESTINATION lib/cmake/${PROJECT_NAME}
++        NAMESPACE ${PROJECT_NAME}::
++)
++
++include(CMakePackageConfigHelpers)
++set(PACKAGE_DEPENDENCIES "")
++if(SDFLIB_USE_SYSTEM_GLM)
++    string(APPEND PACKAGE_DEPENDENCIES "find_dependency(glm)\n")
++endif()
++if(SDFLIB_USE_SYSTEM_SPDLOG)
++    string(APPEND PACKAGE_DEPENDENCIES "find_dependency(spdlog)\n")
++endif()
++if(SDFLIB_USE_SYSTEM_CEREAL)
++    string(APPEND PACKAGE_DEPENDENCIES "find_dependency(cereal)\n")
++endif()
++if(SDFLIB_USE_ASSIMP AND SDFLIB_USE_SYSTEM_ASSIMP)
++    string(APPEND PACKAGE_DEPENDENCIES "find_dependency(assimp)\n")
++endif()
++
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
++                              "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++                              INSTALL_DESTINATION "lib/cmake/${PROJECT_NAME}"
++                              NO_SET_AND_CHECK_MACRO
++                              NO_CHECK_REQUIRED_COMPONENTS_MACRO)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
++        DESTINATION lib/cmake/${PROJECT_NAME})
++
+ # Add shaders
+ file(GLOB SHADER_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/src/render_engine/shaders 
+                        src/render_engine/shaders/*.frag 
+@@ -69,7 +108,7 @@ file(GLOB SHADER_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/src/render_engine/sh
+                        src/render_engine/shaders/*.comp)
+ 
+ foreach(SHADER IN LISTS SHADER_FILES)
+-    add_custom_command(OUTPUT ${SHADER}
++add_custom_command(OUTPUT ${SHADER}
+             COMMAND cmake -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/src/render_engine/shaders/${SHADER} $<TARGET_FILE_DIR:${PROJECT_NAME}>/shaders/${SHADER}
+             DEPENDS src/render_engine/shaders/${SHADER}
+         )
+@@ -112,7 +151,10 @@ endif()
+ target_link_libraries(${PROJECT_NAME} PUBLIC ${SDFLIB_GLM_TARGET})
+ target_link_libraries(${PROJECT_NAME} PUBLIC spdlog::spdlog)
+ target_link_libraries(${PROJECT_NAME} PUBLIC cereal::cereal)
+-target_link_libraries(${PROJECT_NAME} PUBLIC icg)
++
++if(NOT SDFLIB_USE_SYSTEM_TRIANGLEMESHDISTANCE)
++    target_link_libraries(${PROJECT_NAME} PUBLIC TriangleMeshDistance)
++endif()
+ 
+ if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
+     target_link_libraries(${PROJECT_NAME} PUBLIC -lstdc++fs)
+diff --git a/SdfLibConfig.cmake.in b/SdfLibConfig.cmake.in
+new file mode 100644
+index 0000000..9b8265c
+--- /dev/null
++++ b/SdfLibConfig.cmake.in
+@@ -0,0 +1,7 @@
++@PACKAGE_INIT@

++

++include(CMakeFindDependencyMacro)

++

++@PACKAGE_DEPENDENCIES@

++

++include("${CMAKE_CURRENT_LIST_DIR}/SdfLibTargets.cmake")

+diff --git a/include/SdfLib/TrianglesInfluence.h b/include/SdfLib/TrianglesInfluence.h
+index fc2ca52..b276f23 100644
+--- a/include/SdfLib/TrianglesInfluence.h
++++ b/include/SdfLib/TrianglesInfluence.h
+@@ -11,7 +11,7 @@
+ #include "InterpolationMethods.h"
+ #include "utils/Timer.h"
+ #include "utils/GJK.h"
+-#include <InteractiveComputerGraphics/TriangleMeshDistance.h>
++#include <tmd/TriangleMeshDistance.h>
+ 
+ #include <vector>
+ #include <array>
+diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
+index 79f70c1..e2a4f10 100644
+--- a/libs/CMakeLists.txt
++++ b/libs/CMakeLists.txt
+@@ -137,9 +137,10 @@ if(SDFLIB_BUILD_APPS OR SDFLIB_BUILD_DEBUG_APPS)
+ 	target_include_directories(stb_image INTERFACE stb)
+  endif()
+ 
+-# icg
+-add_library(icg INTERFACE)
+-target_include_directories(icg INTERFACE InteractiveComputerGraphics)
++if (NOT SDFLIB_USE_SYSTEM_TRIANGLEMESHDISTANCE)
++	add_library(TriangleMeshDistance INTERFACE)
++	target_include_directories(TriangleMeshDistance INTERFACE InteractiveComputerGraphics)
++endif()
+ 
+ if(SDFLIB_BUILD_APPS OR SDFLIB_BUILD_DEBUG_APPS)
+ 	# glfw
+diff --git a/libs/InteractiveComputerGraphics/InteractiveComputerGraphics/TriangleMeshDistance.h b/libs/InteractiveComputerGraphics/tmd/TriangleMeshDistance.h
+similarity index 100%
+rename from libs/InteractiveComputerGraphics/InteractiveComputerGraphics/TriangleMeshDistance.h
+rename to libs/InteractiveComputerGraphics/tmd/TriangleMeshDistance.h
+diff --git a/src/tools/ImageQueryTime/main.cpp b/src/tools/ImageQueryTime/main.cpp
+index 357a78b..f4fd9e7 100644
+--- a/src/tools/ImageQueryTime/main.cpp
++++ b/src/tools/ImageQueryTime/main.cpp
+@@ -17,7 +17,7 @@
+ 
+ #define TEST_METHODS 
+ #ifdef TEST_METHODS
+-#include <InteractiveComputerGraphics/TriangleMeshDistance.h>
++#include <tmd/TriangleMeshDistance.h>
+ // #include <CGAL/Simple_cartesian.h>
+ // #include <CGAL/AABB_tree.h>
+ // #include <CGAL/AABB_traits.h>
+diff --git a/src/tools/SdfErrorCompare/main.cpp b/src/tools/SdfErrorCompare/main.cpp
+index deef25f..9e402c4 100644
+--- a/src/tools/SdfErrorCompare/main.cpp
++++ b/src/tools/SdfErrorCompare/main.cpp
+@@ -23,7 +23,7 @@ using namespace sdflib;
+ // #define TEST_OPENVDB
+ 
+ #ifdef TEST_ICG
+-#include <InteractiveComputerGraphics/TriangleMeshDistance.h>
++#include <tmd/TriangleMeshDistance.h>
+ #endif
+ #ifdef TEST_CGAL
+ #include <CGAL/Simple_cartesian.h>
+diff --git a/src/tools/SdfLibUnity/SdfExportFunc.cpp b/src/tools/SdfLibUnity/SdfExportFunc.cpp
+index ff4e017..7e06ada 100644
+--- a/src/tools/SdfLibUnity/SdfExportFunc.cpp
++++ b/src/tools/SdfLibUnity/SdfExportFunc.cpp
+@@ -1,7 +1,7 @@
+ #include "SdfExportFunc.h"
+ #include "spdlog/sinks/rotating_file_sink.h"
+ 
+-#include <InteractiveComputerGraphics/TriangleMeshDistance.h>
++#include <tmd/TriangleMeshDistance.h>
+ 
+ using namespace sdflib;
+ 
+diff --git a/src/tools/SdfOffsets/main.cpp b/src/tools/SdfOffsets/main.cpp
+index b6769d7..07f137b 100644
+--- a/src/tools/SdfOffsets/main.cpp
++++ b/src/tools/SdfOffsets/main.cpp
+@@ -9,7 +9,7 @@
+ #include <glm/gtc/type_ptr.hpp>
+ #include <glm/gtc/matrix_transform.hpp>
+ 
+-#include <InteractiveComputerGraphics/TriangleMeshDistance.h>
++#include <tmd/TriangleMeshDistance.h>
+ #include <CGAL/Surface_mesh_default_triangulation_3.h>
+ #include <CGAL/Complex_2_in_triangulation_3.h>
+ #include <CGAL/make_surface_mesh.h>
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 51815c26ae076..0560793132d17 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -70,11 +70,11 @@ in
 
 mkDerivation rec {
   pname = "recoll";
-  version = "1.36.0";
+  version = "1.36.2";
 
   src = fetchurl {
     url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-vf0o0wBcG3878YD4mTUhni2aTUU9AJkG4an1oaRc4yw=";
+    hash = "sha256-GyQqI3ciRO0TRaAeM4rGu+j/eB4bJlQ7VBTTxUGMNt4=";
   };
 
   configureFlags = [
@@ -169,7 +169,7 @@ mkDerivation rec {
       members, email attachments.
     '';
     homepage = "https://www.lesbonscomptes.com/recoll/";
-    changelog = "https://www.lesbonscomptes.com/recoll/pages/release-${version}.html";
+    changelog = "https://www.lesbonscomptes.com/recoll/pages/release-${versions.majorMinor version}.html";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ jcumming ehmry ];
diff --git a/pkgs/applications/system/glances/skip-failing-tests.patch b/pkgs/applications/system/glances/skip-failing-tests.patch
deleted file mode 100644
index f47f1218aea56..0000000000000
--- a/pkgs/applications/system/glances/skip-failing-tests.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/unitest.py b/unitest.py
---- a/unitest.py
-+++ b/unitest.py
-@@ -59,6 +59,7 @@ class TestGlances(unittest.TestCase):
-         """The function is called *every time* before test_*."""
-         print('\n' + '=' * 78)
- 
-+    @unittest.skip("Requires access to /etc/mtab")
-     def test_000_update(self):
-         """Update stats (mandatory step for all the stats).
- 
-@@ -87,6 +88,7 @@ class TestGlances(unittest.TestCase):
-         for plugin in plugins_to_check:
-             self.assertTrue(plugin in plugins_list)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_002_system(self):
-         """Check SYSTEM plugin."""
-         stats_to_check = ['hostname', 'os_name']
-@@ -97,6 +99,7 @@ class TestGlances(unittest.TestCase):
-             self.assertTrue(stat in stats_grab, msg='Cannot find key: %s' % stat)
-         print('INFO: SYSTEM stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_003_cpu(self):
-         """Check CPU plugin."""
-         stats_to_check = ['system', 'user', 'idle']
-@@ -110,7 +113,7 @@ class TestGlances(unittest.TestCase):
-             self.assertLessEqual(stats_grab[stat], 100)
-         print('INFO: CPU stats: %s' % stats_grab)
- 
--    @unittest.skipIf(WINDOWS, "Load average not available on Windows")
-+    @unittest.skip("Fails on NixOS")
-     def test_004_load(self):
-         """Check LOAD plugin."""
-         stats_to_check = ['cpucore', 'min1', 'min5', 'min15']
-@@ -123,6 +126,7 @@ class TestGlances(unittest.TestCase):
-             self.assertGreaterEqual(stats_grab[stat], 0)
-         print('INFO: LOAD stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_005_mem(self):
-         """Check MEM plugin."""
-         stats_to_check = ['available', 'used', 'free', 'total']
-@@ -135,6 +139,7 @@ class TestGlances(unittest.TestCase):
-             self.assertGreaterEqual(stats_grab[stat], 0)
-         print('INFO: MEM stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_006_swap(self):
-         """Check MEMSWAP plugin."""
-         stats_to_check = ['used', 'free', 'total']
diff --git a/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff b/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff
new file mode 100644
index 0000000000000..2c958c4ce46d1
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff
@@ -0,0 +1,20 @@
+diff --git a/src/contour/display/CMakeLists.txt b/src/contour/display/CMakeLists.txt
+index e2e9768c..fc1ea72f 100644
+--- a/src/contour/display/CMakeLists.txt
++++ b/src/contour/display/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ if(CONTOUR_QT_VERSION EQUAL "6")
+-   find_package(Qt6 COMPONENTS Core Gui OpenGLWidgets Widgets REQUIRED)
++   find_package(Qt6 COMPONENTS Core Gui OpenGLWidgets Widgets Multimedia REQUIRED)
+ else()
+    find_package(Qt5 COMPONENTS Gui Widgets REQUIRED)  # apt install qtbase5-dev libqt5gui5
+ endif()
+@@ -31,7 +31,7 @@ endif()
+ target_include_directories(ContourTerminalDisplay PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../..")
+ target_link_libraries(ContourTerminalDisplay vtrasterizer)
+ if(CONTOUR_QT_VERSION EQUAL "6")
+-    target_link_libraries(ContourTerminalDisplay Qt6::Core Qt6::Gui Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Widgets)
++    target_link_libraries(ContourTerminalDisplay Qt6::Core Qt6::Gui Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Widgets Qt6::Multimedia)
+ else()
+     target_link_libraries(ContourTerminalDisplay Qt5::Gui Qt5::Widgets)
+ endif()
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
index a1692dd255a2c..4a50625cc81eb 100644
--- a/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -1,12 +1,16 @@
 { lib
 , stdenv
-, mkDerivation
 , fetchFromGitHub
+, fetchurl
 , cmake
 , pkg-config
 , freetype
 , fontconfig
-, libGL
+, libunicode
+, libutempter
+, termbench-pro
+, qtmultimedia
+, wrapQtAppsHook
 , pcre
 , boost
 , catch2
@@ -16,50 +20,43 @@
 , yaml-cpp
 , ncurses
 , file
-, darwin
+, utmp
+, sigtool
 , nixosTests
+, installShellFiles
 }:
 
-let
-  # Commits refs come from https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh
-  libunicode-src = fetchFromGitHub {
-    owner = "contour-terminal";
-    repo = "libunicode";
-    rev = "c2369b6380df1197476b08d3e2d0e96b6446f776";
-    sha256 = "sha256-kq7GpFCkrJG7F9/YEGz3gMTgYzhp/QB8D5b9wwMaLvQ=";
-  };
-
-  termbench-pro-src = fetchFromGitHub {
-    owner = "contour-terminal";
-    repo = "termbench-pro";
-    rev = "cd571e3cebb7c00de9168126b28852f32fb204ed";
-    sha256 = "sha256-dNtOmBu63LFYfiGjXf34C2tiG8pMmsFT4yK3nBnK9WI=";
-  };
-in
-mkDerivation rec {
+stdenv.mkDerivation (final: {
   pname = "contour";
-  version = "0.3.1.200";
+  version = "0.3.12.262";
 
   src = fetchFromGitHub {
     owner = "contour-terminal";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-TpxVC0GFZD3jGISnDWHKEetgVVpznm5k/Vc2dwVfSG4=";
+    repo = "contour";
+    rev = "v${final.version}";
+    hash = "sha256-4R0NyUtsyr3plYfVPom+EjJ5W0Cb/uuaSB5zyJ0yIB4=";
   };
 
   outputs = [ "out" "terminfo" ];
 
+  # fix missing <QtMultimedia/QAudioSink> on Darwin and codesign the binary
+  patches = [ ./contour-cmakelists.diff ./macos-codesign.diff ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
     ncurses
     file
-  ];
+    wrapQtAppsHook
+    installShellFiles
+  ] ++ lib.optionals stdenv.isDarwin [ sigtool ];
 
   buildInputs = [
     fontconfig
     freetype
-    libGL
+    libunicode
+    termbench-pro
+    qtmultimedia
     pcre
     boost
     catch2
@@ -67,38 +64,37 @@ mkDerivation rec {
     microsoft-gsl
     range-v3
     yaml-cpp
-  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.libs.utmp ];
-
-  preConfigure = ''
-    mkdir -p _deps/sources
+  ]
+  ++ lib.optionals stdenv.isLinux [ libutempter ]
+  ++ lib.optionals stdenv.isDarwin [ utmp ];
 
-    cat > _deps/sources/CMakeLists.txt <<EOF
-    macro(ContourThirdParties_Embed_libunicode)
-        add_subdirectory(\''${ContourThirdParties_SRCDIR}/libunicode EXCLUDE_FROM_ALL)
-    endmacro()
-    macro(ContourThirdParties_Embed_termbench_pro)
-        add_subdirectory(\''${ContourThirdParties_SRCDIR}/termbench_pro EXCLUDE_FROM_ALL)
-    endmacro()
-    EOF
-
-    ln -s ${libunicode-src} _deps/sources/libunicode
-    ln -s ${termbench-pro-src} _deps/sources/termbench_pro
+  cmakeFlags = [ "-DCONTOUR_QT_VERSION=6" ];
 
+  preConfigure = ''
     # Don't fix Darwin app bundle
     sed -i '/fixup_bundle/d' src/contour/CMakeLists.txt
   '';
 
   postInstall = ''
     mkdir -p $out/nix-support $terminfo/share
+  '' + lib.optionalString stdenv.isDarwin ''
+    mkdir $out/Applications
+    installShellCompletion --zsh $out/contour.app/Contents/Resources/shell-integration/shell-integration.zsh
+    installShellCompletion --fish $out/contour.app/Contents/Resources/shell-integration/shell-integration.fish
+    cp -r $out/contour.app/Contents/Resources/terminfo $terminfo/share
+    mv $out/contour.app $out/Applications
+    ln -s $out/bin $out/Applications/contour.app/Contents/MacOS
+  '' + lib.optionalString stdenv.isLinux ''
     mv $out/share/terminfo $terminfo/share/
+    installShellCompletion --zsh $out/share/contour/shell-integration/shell-integration.zsh
+    installShellCompletion --fish $out/share/contour/shell-integration/shell-integration.fish
+  '' + ''
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
   '';
 
   passthru.tests.test = nixosTests.terminal-emulators.contour;
 
   meta = with lib; {
-    # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/contour.x86_64-darwin
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
     description = "Modern C++ Terminal Emulator";
     homepage = "https://github.com/contour-terminal/contour";
     changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md";
@@ -107,4 +103,4 @@ mkDerivation rec {
     platforms = platforms.unix;
     mainProgram = "contour";
   };
-}
+})
diff --git a/pkgs/applications/terminal-emulators/contour/macos-codesign.diff b/pkgs/applications/terminal-emulators/contour/macos-codesign.diff
new file mode 100644
index 0000000000000..8e449dd0a4939
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/contour/macos-codesign.diff
@@ -0,0 +1,21 @@
+diff --git a/src/contour/CMakeLists.txt b/src/contour/CMakeLists.txt
+index 0eebd585..5d0bc3c0 100644
+--- a/src/contour/CMakeLists.txt
++++ b/src/contour/CMakeLists.txt
+@@ -145,6 +145,16 @@ if(CONTOUR_BUILD_WITH_MIMALLOC)
+     target_link_libraries(contour mimalloc)
+ endif()
+ 
++if(APPLE)
++  add_custom_command(
++    TARGET contour POST_BUILD
++    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
++    COMMAND codesign --force --sign - contour.app/Contents/MacOS/contour
++    COMMENT "Codesigning macOS bundle executable"
++    VERBATIM
++  )
++endif()
++
+ if(NOT(WIN32))
+     set(terminfo_file "contour.terminfo")
+     set(terminfo_basedir "${CMAKE_CURRENT_BINARY_DIR}/terminfo")
diff --git a/pkgs/applications/terminal-emulators/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix
index 3614046f6846c..f11c456d43760 100644
--- a/pkgs/applications/terminal-emulators/mlterm/default.nix
+++ b/pkgs/applications/terminal-emulators/mlterm/default.nix
@@ -165,6 +165,10 @@ in stdenv.mkDerivation (finalAttrs: {
       --replace "-m 4755 -o root" " "
   '';
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion -Wno-error=incompatible-function-pointer-types";
+  };
+
   configureFlags = [
     (withFeaturesList "type-engines" enableTypeEngines)
     (withFeaturesList "tools" enableTools)
diff --git a/pkgs/applications/version-management/cvs-fast-export/default.nix b/pkgs/applications/version-management/cvs-fast-export/default.nix
index 4c99078ab275b..a45d76970664c 100644
--- a/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cvs-fast-export";
-  version = "1.61";
+  version = "1.62";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-${version}.tar.gz";
-    sha256 = "sha256-4iH8VKxVliVZKwZ40rGMb3fH1nxTBdMT5IcBzdp1mjw=";
+    sha256 = "sha256-ix0fg2wn2yStrgEhAxsSXvLu+C7sb2V5oyVCfhAe/R8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/gg/default.nix b/pkgs/applications/version-management/gg/default.nix
index ea701c6f07b35..279e6d0075e7b 100644
--- a/pkgs/applications/version-management/gg/default.nix
+++ b/pkgs/applications/version-management/gg/default.nix
@@ -10,8 +10,8 @@
 }:
 
 let
-  version = "1.3.0";
-  commit = "5bfe79b3632f15c442e8dc51ec206ab76354487f";
+  version = "1.3.1";
+  commit = "b6be8bac78605c21a9670db0e44faf5e1eafe0d4";
 in buildGoModule {
   pname = "gg-scm";
   inherit version;
@@ -20,7 +20,7 @@ in buildGoModule {
     owner = "gg-scm";
     repo = "gg";
     rev = "v${version}";
-    hash = "sha256-5iiu3blNJHDehg3wnvZUmfjFST+zNr89+FAoQu4CSH8=";
+    hash = "sha256-qw0KWhCkJVYRhDBNtiNactWGGMHjBwdQ1Po4lQQbaj4=";
   };
   postPatch = ''
     substituteInPlace cmd/gg/editor_unix.go \
@@ -33,7 +33,7 @@ in buildGoModule {
     "-X" "main.buildCommit=${commit}"
   ];
 
-  vendorHash = "sha256-IU3Ac9rXsyPqRJrPJMW1eNVzQy7qoVBs9XYaLX9c5AU=";
+  vendorHash = "sha256-56Sah030xbWsoOu8r3c3nN2UGHvQORheavebP+Z1Wc8=";
 
   nativeBuildInputs = [ pandoc installShellFiles makeWrapper ];
   nativeCheckInputs = [ bash coreutils git ];
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 622f5846f9907..ca8e1109a6263 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.39.2";
+  version = "2.40.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-6FjsUEroHpAjQj+7Z/C935LunYbgAzRvQI2pORiLo3s=";
+    hash = "sha256-ffmOyifoJPrrC9J4lZ7HWq+fww5/EOCYhYIfx6Been0=";
   };
 
   vendorHash = "sha256-jM9nwTMOTh+eXztLvHIwwH4qu3ZIMOtBrPEtByB9Ry8=";
diff --git a/pkgs/applications/version-management/git-annex-remote-rclone/default.nix b/pkgs/applications/version-management/git-annex-remote-rclone/default.nix
index a38be753dfa9e..4d1a7b2ade1d8 100644
--- a/pkgs/applications/version-management/git-annex-remote-rclone/default.nix
+++ b/pkgs/applications/version-management/git-annex-remote-rclone/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "git-annex-remote-rclone";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromGitHub {
     owner = "DanielDent";
     repo = "git-annex-remote-rclone";
     rev = "v${version}";
-    sha256 = "sha256-H2C4zjM+kbC9qPl1F+bSnepuqANjZd1sz6XxOTkVVkU=";
+    sha256 = "sha256-B6x67XXE4BHd3x7a8pQlqPPmpy0c62ziDAldB4QpqQ4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-town/default.nix b/pkgs/applications/version-management/git-town/default.nix
index 661abe06f73e2..ec4932fc8819e 100644
--- a/pkgs/applications/version-management/git-town/default.nix
+++ b/pkgs/applications/version-management/git-town/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-town";
-  version = "9.0.1";
+  version = "10.0.1";
 
   src = fetchFromGitHub {
     owner = "git-town";
     repo = "git-town";
     rev = "v${version}";
-    hash = "sha256-JvN7te59uRMC0TOWsBUYNEPLIn4nLlIvXI5gOQfQaCU=";
+    hash = "sha256-b4NwimMHF5023I0NvfYMlYIJA9Tj6wPwfKDI4Fmo3lg=";
   };
 
   vendorHash = null;
@@ -55,7 +55,7 @@ buildGoModule rec {
 
   passthru.tests.version = testers.testVersion {
     package = git-town;
-    command = "git-town version";
+    command = "git-town --version";
     version = "v${version}";
   };
 
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index f21e58603368a..5cbc4a1bd493a 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -20,12 +20,12 @@
 
 buildGoModule rec {
   pname = "gitea";
-  version = "1.20.5";
+  version = "1.21.1";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
-    hash = "sha256-cH/AHsFXOdvfSfj9AZUd3l/RlYE06o1ByZu0vvGQuXw=";
+    hash = "sha256-5WEHUMQsQNgrglS+xJ4IWHUl0a6RLLPyx0l+ECJ4R9g=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 01773299cf1bc..9c708f176a917 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.5.1",
-  "repo_hash": "sha256-7vKdCFDgtXSTlYV9nfLuQ+LZCaGDLU9zp97rob4dj2A=",
-  "yarn_hash": "1df7lf2grxpfjy1vgwsxw9n310jgjb64vqcxn2a7wzgh0svr1yyf",
+  "version": "16.5.3",
+  "repo_hash": "sha256-0Tewet9A0+0wDcMWVhXMGx1zr/R2WN46h+pEP3pEkac=",
+  "yarn_hash": "03ryyk7dw7s8yjdx9wdrvllaydb0w5an06agkwf5npgr6x1bz3yv",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.5.1-ee",
+  "rev": "v16.5.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.5.1",
-    "GITLAB_PAGES_VERSION": "16.5.1",
+    "GITALY_SERVER_VERSION": "16.5.3",
+    "GITLAB_PAGES_VERSION": "16.5.3",
     "GITLAB_SHELL_VERSION": "14.29.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.4.0",
-    "GITLAB_WORKHORSE_VERSION": "16.5.1"
+    "GITLAB_WORKHORSE_VERSION": "16.5.3"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index eddab0b53c9dc..3144d39d1adfc 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "16.5.1";
+  version = "16.5.3";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -18,7 +18,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-LrkFSsWIPqiEXUV5OyYkB2XUbCMXjbpcCmTacR33vOQ=";
+      hash = "sha256-lGwRGU24pyBypQRTvGRYaAmkVbPLaw+fSeAXJ1pyQaA=";
     };
 
     vendorHash = "sha256-QLt/12P6OLpLqCINROLmzhoRpLGrB9WzME7FzhIcb0Q=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
index 44fc1630c1966..2ce13dba4355d 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gitlab-container-registry";
-  version = "3.85.0";
+  version = "3.86.2";
   rev = "v${version}-gitlab";
 
   # nixpkgs-update: no auto update
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    sha256 = "sha256-F20f1qDsI+moBAL+Tpx5AALgOi0vTH7hZ5RIvRMwY1s=";
+    sha256 = "sha256-hZhlSZ/crwzc8KEkbMGY9zAYVbMT9p4y7Wm3B+F+iPU=";
   };
 
-  vendorHash = "sha256-JWuSJD2Mi0om9vA6+mYbArfr2lmGlRua6IM0DhDzSBk=";
+  vendorHash = "sha256-3iBMn1kA/GZC/7FEFLd1/e7+mSsCOAo+zQo3dVpTHw4=";
 
   patches = [
     ./Disable-inmemory-storage-driver-test.patch
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 72a12a81f3c28..85a4123eb779e 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.5.1";
+  version = "16.5.3";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-1fcsliorkl118MyUnZ3yrQjwLBQGsNBBA4dIEFHBJAI=";
+    hash = "sha256-eE+QuzqNm3zA0le8MWR3Kbc+/kQtKIrSd9sTmVYaNbQ=";
   };
 
   vendorHash = "sha256-YG+ERETxp0BPh/V4820pMXTXu9YcodRhzme6qZJBC9Q=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 961d2d6dbd6c7..cc6823b1e4513 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.5.1";
+  version = "16.5.3";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index f00ee82d1c2fe..ee694403f294c 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.93";
+  version = "0.94";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    hash = "sha256-wlcnJr7f3Bd9SEgrKiPlr7pTSjaRj47qwktI2jepINE=";
+    hash = "sha256-hG0/a+sk6uZCxR908YfZCW44qx/SIwwGO9mUaxxHZ3k=";
   };
 
   nativeBuildInputs = [ pkg-config bison ]
diff --git a/pkgs/applications/version-management/radicle-upstream/default.nix b/pkgs/applications/version-management/radicle-upstream/default.nix
index c88d0b9d38666..51365d0c4a31b 100644
--- a/pkgs/applications/version-management/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/radicle-upstream/default.nix
@@ -76,6 +76,7 @@ let
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ d-xo ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 in
 if stdenv.isDarwin
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index 4831959d0fe0c..3eb45eb9e5284 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -11,6 +11,9 @@
 , lxml
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 let
   version = "0.86.10";
@@ -39,12 +42,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "buildsrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api worker" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     redis
diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix
index b413aa2c001d1..65eac84daf8d0 100644
--- a/pkgs/applications/version-management/sourcehut/core.nix
+++ b/pkgs/applications/version-management/sourcehut/core.nix
@@ -21,12 +21,17 @@
 , importlib-metadata
 , tinycss2
 , sassc
+, pythonOlder
 , minify
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "srht";
   version = "0.69.15";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -41,6 +46,10 @@ buildPythonPackage rec {
     patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
   ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedNativeBuildInputs = [
     sassc
     minify
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index 3a5163f9d1712..8f6adfde2ed3b 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -7,7 +7,10 @@
 , scmsrht
 , pygit2
 , minio
+, pythonOlder
 , unzip
+, pip
+, setuptools
 }:
 let
   version = "0.84.2";
@@ -78,12 +81,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "gitsrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     scmsrht
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index f448109a6d7df..6bc2662329027 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -8,11 +8,17 @@
 , unidiff
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "hgsrht";
   version = "0.32.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -49,6 +55,11 @@ buildPythonPackage rec {
     '';
   };
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     python-hglib
     scmsrht
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
index 6f1b17b01c3e7..bc7d243a7c0a2 100644
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ b/pkgs/applications/version-management/sourcehut/hub.nix
@@ -4,13 +4,19 @@
 , buildPythonPackage
 , python
 , srht
+, setuptools
+, pip
 , pyyaml
+, pythonOlder
 , unzip
 }:
 
 buildPythonPackage rec {
   pname = "hubsrht";
   version = "0.17.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -30,6 +36,11 @@ buildPythonPackage rec {
     vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
@@ -44,7 +55,13 @@ buildPythonPackage rec {
     ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api
   '';
 
-  pythonImportsCheck = [ "hubsrht" ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hubsrht"
+  ];
 
   meta = with lib; {
     homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht";
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 24b56b9dd3c15..6d62bdbdc1ecc 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -9,11 +9,17 @@
 , emailthreads
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "listssrht";
   version = "0.57.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -34,6 +40,11 @@ buildPythonPackage rec {
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     aiosmtpd
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index b01d739a06009..04bfabb8053b2 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -6,11 +6,17 @@
 , pygit2
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "mansrht";
   version = "0.16.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -30,6 +36,11 @@ buildPythonPackage rec {
     vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pygit2
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index 28cab5852193c..cbfc610fdf5f7 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -13,6 +13,9 @@
 , zxcvbn
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 let
   version = "0.64.8";
@@ -35,12 +38,20 @@ in
 buildPythonPackage rec {
   pname = "metasrht";
   inherit version src;
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     alembic
     bcrypt
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
index 9f1aa7f91a792..59bd7c8334fa6 100644
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/pkgs/applications/version-management/sourcehut/paste.nix
@@ -3,8 +3,11 @@
 , buildGoModule
 , buildPythonPackage
 , srht
+, pip
 , pyyaml
 , python
+, pythonOlder
+, setuptools
 , unzip
 }:
 
@@ -28,12 +31,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "pastesrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix
index 810f3007c2537..cadf3d0989b97 100644
--- a/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/pkgs/applications/version-management/sourcehut/scm.nix
@@ -4,11 +4,16 @@
 , srht
 , pyyaml
 , buildsrht
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "scmsrht";
   version = "0.22.23";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -17,6 +22,10 @@ buildPythonPackage rec {
     sha256 = "sha256-058dOEYJDY3jtxH1VkV1CFq5CZTkauSnTWg57DCnNtw=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
@@ -28,6 +37,7 @@ buildPythonPackage rec {
   '';
 
   dontUseSetuptoolsCheck = true;
+
   pythonImportsCheck = [ "scmsrht" ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index 0a5cefc130d5c..2fc9c4485fd7b 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -8,11 +8,16 @@
 , factory-boy
 , python
 , unzip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "todosrht";
   version = "0.74.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -33,6 +38,10 @@ buildPythonPackage rec {
     vendorHash = "sha256-rvfG5F6ez8UM0dYVhKfzwtb7ZEJlaKMBAfKDbo3Aofc=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     alembic
diff --git a/pkgs/applications/video/animdl/default.nix b/pkgs/applications/video/animdl/default.nix
new file mode 100644
index 0000000000000..3f1be6f5833ad
--- /dev/null
+++ b/pkgs/applications/video/animdl/default.nix
@@ -0,0 +1,63 @@
+{ lib,
+  buildPythonApplication,
+  fetchFromGitHub,
+  poetry-core,
+  anchor-kr,
+  anitopy,
+  click,
+  cssselect,
+  httpx,
+  lxml,
+  packaging,
+  pkginfo,
+  pycryptodomex,
+  pyyaml,
+  regex,
+  rich,
+  tqdm,
+  yarl
+}:
+buildPythonApplication {
+  pname = "animdl";
+  version = "1.7.27";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "justfoolingaround";
+    repo = "animdl";
+    # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/animdl/issues/277
+    rev = "c7c3b79198e66695e0bbbc576f9d9b788616957f";
+    hash = "sha256-kn6vCCFhJNlruxoO+PTHVIwTf1E5j1aSdBhrFuGzUq4=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+  propagatedBuildInputs = [
+    anchor-kr
+    anitopy
+    click
+    cssselect
+    httpx
+    lxml
+    packaging
+    pkginfo
+    pycryptodomex
+    pyyaml
+    regex
+    rich
+    tqdm
+    yarl
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "A highly efficient, powerful and fast anime scraper";
+    homepage = "https://github.com/justfoolingaround/animdl";
+    license = licenses.gpl3Only;
+    mainProgram = "animdl";
+    maintainers = with maintainers; [ passivelemon ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/cutecapture/default.nix b/pkgs/applications/video/cutecapture/default.nix
index 48d9c238964e9..a588ddb38a8d4 100644
--- a/pkgs/applications/video/cutecapture/default.nix
+++ b/pkgs/applications/video/cutecapture/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   postInstall = ''
     install -Dm644 -t $out/lib/udev/rules.d 95-{3,}dscapture.rules
+    install -Dm444 -t $out/share/applications Cute{3,}DSCapture.desktop
+    install -Dm444 -t $out/share/icons/hicolor/128x128/apps Cute{3,}DSCapture.png
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index 8070a96a2b4b3..5b44ddc042a30 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -22,13 +22,16 @@
 , aprutil
 , makeDesktopItem
 , copyDesktopItems
+, jq
+
+, studioVariant ? false
 }:
 
 let
   davinci = (
     stdenv.mkDerivation rec {
-      pname = "davinci-resolve";
-      version = "18.5.1";
+      pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
+      version = "18.6.3";
 
       nativeBuildInputs = [
         (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } )
@@ -47,19 +50,24 @@ let
         rec {
           outputHashMode = "recursive";
           outputHashAlgo = "sha256";
-          outputHash = "sha256-AZ869hA/WeCf3sxhdDOzD/q30P1NaD18TheBtS1ammQ=";
+          outputHash =
+            if studioVariant
+            then "sha256-OX8PyMhfl0jRdXBNsjlwkCAh8XUNJv8HEbmyAdjIv18="
+            else "sha256-PNzdVxGgXIHM2vi3ChHx67TQBFlCYBOZCiFkDi/RSu4=";
 
           impureEnvVars = lib.fetchers.proxyImpureEnvVars;
 
-          nativeBuildInputs = [ curl ];
+          nativeBuildInputs = [ curl jq ];
 
           # ENV VARS
           SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
           # Get linux.downloadId from HTTP response on https://www.blackmagicdesign.com/products/davinciresolve
-          DOWNLOADID = "defc1c6789b7475b9ee4a42daf9ba61d";
           REFERID = "263d62f31cbb49e0868005059abcb0c9";
-          SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
+          DOWNLOADSURL = "https://www.blackmagicdesign.com/api/support/us/downloads.json";
+          SITEURL = "https://www.blackmagicdesign.com/api/register/us/download";
+          PRODUCT = "DaVinci Resolve${lib.optionalString studioVariant " Studio"}";
+          VERSION = version;
 
           USERAGENT = builtins.concatStringsSep " " [
             "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})"
@@ -77,10 +85,16 @@ let
             "street" = "Hogeweide 346";
             "state" = "Province of Utrecht";
             "city" = "Utrecht";
-            "product" = "DaVinci Resolve";
+            "product" = PRODUCT;
           };
 
         } ''
+        DOWNLOADID=$(
+          curl --silent --compressed "$DOWNLOADSURL" \
+            | jq --raw-output '.downloads[] | select(.name | test("^'"$PRODUCT $VERSION"'( Update)?$")) | .urls.Linux[0].downloadId'
+        )
+        echo "downloadid is $DOWNLOADID"
+        test -n "$DOWNLOADID"
         RESOLVEURL=$(curl \
           --silent \
           --header 'Host: www.blackmagicdesign.com' \
@@ -95,7 +109,7 @@ let
           --header 'Cookie: _ga=GA1.2.1849503966.1518103294; _gid=GA1.2.953840595.1518103294' \
           --data-ascii "$REQJSON" \
           --compressed \
-          "$SITEURL")
+          "$SITEURL/$DOWNLOADID")
 
         curl \
           --retry 3 --retry-delay 3 \
@@ -111,14 +125,17 @@ let
       # The unpack phase won't generate a directory
       sourceRoot = ".";
 
-      installPhase = ''
+      installPhase = let
+        appimageName = "DaVinci_Resolve_${lib.optionalString studioVariant "Studio_"}${version}_Linux.run";
+      in ''
         runHook preInstall
 
         export HOME=$PWD/home
         mkdir -p $HOME
 
         mkdir -p $out
-        appimage-run ./DaVinci_Resolve_${version}_Linux.run -i -y -n -C $out
+        test -e ${lib.escapeShellArg appimageName}
+        appimage-run ${lib.escapeShellArg appimageName} -i -y -n -C $out
 
         mkdir -p $out/{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT}
         runHook postInstall
@@ -162,7 +179,9 @@ let
   );
 in
 buildFHSEnv {
-  name = "davinci-resolve";
+  inherit (davinci) pname version;
+  name = null;
+
   targetPkgs = pkgs: with pkgs; [
     alsa-lib
     aprutil
@@ -201,6 +220,7 @@ buildFHSEnv {
     xorg.libXinerama
     xorg.libXrandr
     xorg.libXrender
+    xorg.libXt
     xorg.libXtst
     xorg.libXxf86vm
     xorg.libxcb
@@ -213,16 +233,22 @@ buildFHSEnv {
     zlib
   ];
 
+  extraBwrapArgs = lib.optionals studioVariant [
+    "--bind \"$HOME\"/.local/share/DaVinciResolve/license ${davinci}/.license"
+  ];
+
   runScript = "${bash}/bin/bash ${
     writeText "davinci-wrapper"
     ''
     export QT_XKB_CONFIG_ROOT="${xkeyboard_config}/share/X11/xkb"
     export QT_PLUGIN_PATH="${davinci}/libs/plugins:$QT_PLUGIN_PATH"
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${davinci}/libs
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib32:${davinci}/libs
     ${davinci}/bin/resolve
     ''
   }";
 
+  passthru = { inherit davinci; };
+
   meta = with lib; {
     description = "Professional video editing, color, effects and audio post-processing";
     homepage = "https://www.blackmagicdesign.com/products/davinciresolve";
diff --git a/pkgs/applications/video/droidcam/default.nix b/pkgs/applications/video/droidcam/default.nix
index d834f41604ab1..57ff10355ef16 100644
--- a/pkgs/applications/video/droidcam/default.nix
+++ b/pkgs/applications/video/droidcam/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "droidcam";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "aramg";
     repo = "droidcam";
     rev = "v${version}";
-    sha256 = "sha256-wTWdIPptbqt1cZgK6IDTZdrhno4Qlf4AujugfQ/xOT0=";
+    sha256 = "sha256-1VEaUm1194gF1/0zrK31SkI7POhi5eK6yYC0Cw/W4Ao=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix
index 8b112ed838a31..dcfce40ee12b3 100644
--- a/pkgs/applications/video/haruna/default.nix
+++ b/pkgs/applications/video/haruna/default.nix
@@ -5,7 +5,7 @@
 , breeze-qt5
 , cmake
 , extra-cmake-modules
-, ffmpeg-full
+, ffmpeg-headless
 , kconfig
 , kcoreaddons
 , kfilemetadata
@@ -47,7 +47,7 @@ mkDerivation rec {
     qqc2-desktop-style
     yt-dlp
 
-    ffmpeg-full
+    ffmpeg-headless
     kconfig
     kcoreaddons
     kfilemetadata
diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix
index 647f171c87311..bcf09b962483e 100644
--- a/pkgs/applications/video/hypnotix/default.nix
+++ b/pkgs/applications/video/hypnotix/default.nix
@@ -9,17 +9,18 @@
 , mpv
 , python3
 , wrapGAppsHook
+, yt-dlp
 }:
 
 stdenv.mkDerivation rec {
   pname = "hypnotix";
-  version = "3.7";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "hypnotix";
     rev = version;
-    hash = "sha256-H8+KJ9+HLAorGIeljw8H3N8W3E2yYhAno1xy+jI54zM=";
+    hash = "sha256-0iJzlj5FRDXJdh+vWVvZaBJVNru7CfkvJtZUZYKoqPw=";
   };
 
   patches = [
@@ -32,8 +33,12 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace usr/lib/hypnotix/hypnotix.py \
       --replace __DEB_VERSION__ ${version} \
+      --replace /usr/bin/yt-dlp ${yt-dlp}/bin/yt-dlp \
       --replace /usr/share/circle-flags-svg ${circle-flags}/share/circle-flags-svg \
       --replace /usr/share/hypnotix $out/share/hypnotix
+
+    substituteInPlace usr/bin/hypnotix \
+      --replace /usr/lib/hypnotix/hypnotix.py $out/lib/hypnotix/hypnotix.py
   '';
 
   nativeBuildInputs = [
@@ -47,6 +52,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cinnamon.xapp
+    python3 # for patchShebangs
   ];
 
   pythonPath = with python3.pkgs; [
@@ -62,8 +68,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     mkdir -p $out
-    cp -r usr/lib $out
-    cp -r usr/share $out
+    cp -r usr/* $out
 
     glib-compile-schemas $out/share/glib-2.0/schemas
 
@@ -72,8 +77,10 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     buildPythonPath "$out $pythonPath"
-    makeWrapper ${python3.interpreter} $out/bin/hypnotix \
-      --add-flags $out/lib/hypnotix/hypnotix.py \
+
+    # yt-dlp is needed for mpv to play YouTube channels.
+    wrapProgram $out/bin/hypnotix \
+      --prefix PATH : "${lib.makeBinPath [ yt-dlp ]}" \
       --prefix PYTHONPATH : "$program_PYTHONPATH" \
       ''${gappsWrapperArgs[@]}
   '';
diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
index a3b2e81fa686a..16c1520fc5f07 100644
--- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
+++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-hts";
   namespace = "pvr.hts";
-  version = "20.6.4";
+  version = "20.6.5";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.hts";
     rev = "${version}-${rel}";
-    sha256 = "sha256-IrVz4rHAmaj/ACBNEF0x3kJa3fFPTTT7Pv9GnWJm8Vg=";
+    sha256 = "sha256-NrSLWZn+aeWUKxM/ETvoE4gRo4JZsD1snpLvMLDlpFw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/media-downloader/default.nix b/pkgs/applications/video/media-downloader/default.nix
index dd0d4924aaea1..26620b25957d9 100644
--- a/pkgs/applications/video/media-downloader/default.nix
+++ b/pkgs/applications/video/media-downloader/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "media-downloader";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "mhogomchungu";
     repo = "media-downloader";
     rev = finalAttrs.version;
-    hash = "sha256-ucANfu28Co88btr4YEBENuxkOOTL/9V5JdN8cRq944Q=";
+    hash = "sha256-x2uM4z4nQd761aj8PVlFH0MbWzwWRiR7ItzLQVOc1Zw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix
index 9d16deb1c5293..fb75464ab98e5 100644
--- a/pkgs/applications/video/mpv/scripts/default.nix
+++ b/pkgs/applications/video/mpv/scripts/default.nix
@@ -15,7 +15,7 @@ in lib.recurseIntoAttrs
     inhibit-gnome = callPackage ./inhibit-gnome.nix { };
     mpris = callPackage ./mpris.nix { };
     mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { inherit buildLua; };
-    mpv-webm = callPackage ./mpv-webm.nix { };
+    mpv-webm = callPackage ./mpv-webm.nix { inherit buildLua; };
     mpvacious = callPackage ./mpvacious.nix { inherit buildLua; };
     quality-menu = callPackage ./quality-menu.nix { inherit buildLua; };
     simple-mpv-webui = callPackage ./simple-mpv-webui.nix { inherit buildLua; };
diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
index 983003d79d712..b155846750dc9 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-webm.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
@@ -1,30 +1,28 @@
 { lib
-, stdenvNoCC
+, buildLua
 , fetchFromGitHub
 , luaPackages
+, nix-update-script
 }:
 
-stdenvNoCC.mkDerivation {
+buildLua {
   pname = "mpv-webm";
-  version = "unstable-2023-02-23";
+  version = "unstable-2023-11-18";
 
   src = fetchFromGitHub {
     owner = "ekisu";
     repo = "mpv-webm";
-    rev = "a18375932e39e9b2a40d9c7ab52ea367b41e2558";
-    hash = "sha256-aetkQ1gU/6Yys5FJS/N06ED9tCSvL6BAgUGdNmNmpbU=";
+    rev = "6b5863f68275b3dc91c2507284c039ec8a4cbd97";
+    hash = "sha256-rJamBm6FyxWcJO7VXXOUTO9piWCkPfEVdqGKGeJ/h0c=";
   };
 
+  dontBuild = false;
   nativeBuildInputs = [ luaPackages.moonscript ];
+  scriptPath = "build/webm.lua";
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/mpv/scripts
-    install -m 644 build/webm.lua $out/share/mpv/scripts/
-    runHook postInstall
-  '';
-
-  passthru.scriptName = "webm.lua";
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
+  };
 
   meta = with lib; {
     description = "Simple WebM maker for mpv, with no external dependencies";
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index f418e997333d1..08109434a0b72 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "obs-vkcapture";
-  version = "1.4.5";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-C5dMDfCFkUNENA4qQlmGeavKqYpbRHkUz79LVM5aVao=";
+    hash = "sha256-/EbavDDeFQys9zu3FAgsAeVVbs1Rrv8YR4949XCHc6s=";
   };
 
   cmakeFlags = lib.optionals stdenv.isi686 [
diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix
index f23ed20c797be..514da9c50d750 100644
--- a/pkgs/applications/video/olive-editor/default.nix
+++ b/pkgs/applications/video/olive-editor/default.nix
@@ -19,6 +19,18 @@
 , qttools
 }:
 
+let
+  # https://github.com/olive-editor/olive/issues/2284
+  # we patch support for 2.3+, but 2.5 fails
+  openimageio' = openimageio.overrideAttrs (old: rec {
+    version = "2.4.15.0";
+    src = (old.src.override {
+      rev = "v${version}";
+      hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M=";
+    });
+  });
+in
+
 stdenv.mkDerivation {
   pname = "olive-editor";
   version = "unstable-2023-06-12";
@@ -61,7 +73,7 @@ stdenv.mkDerivation {
     ffmpeg_4
     frei0r
     opencolorio
-    openimageio
+    openimageio'
     imath
     openexr_3
     portaudio
diff --git a/pkgs/applications/video/olive-editor/q-painter-path.patch b/pkgs/applications/video/olive-editor/q-painter-path.patch
deleted file mode 100644
index 232f157e7cdd9..0000000000000
--- a/pkgs/applications/video/olive-editor/q-painter-path.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/effects/internal/texteffect.cpp b/effects/internal/texteffect.cpp
-index 279f406d9..7fe9e8e72 100644
---- a/effects/internal/texteffect.cpp
-+++ b/effects/internal/texteffect.cpp
-@@ -20,6 +20,7 @@
- 
- #include "texteffect.h"
- 
-+#include <QPainterPath>
- #include <QGridLayout>
- #include <QLabel>
- #include <QOpenGLTexture>
-diff --git a/effects/internal/timecodeeffect.cpp b/effects/internal/timecodeeffect.cpp
-index 4de3e3497..fd0fa6224 100644
---- a/effects/internal/timecodeeffect.cpp
-+++ b/effects/internal/timecodeeffect.cpp
-@@ -20,6 +20,7 @@
- 
- #include "timecodeeffect.h"
- 
-+#include <QPainterPath>
- #include <QGridLayout>
- #include <QLabel>
- #include <QOpenGLTexture>
-diff --git a/ui/graphview.cpp b/ui/graphview.cpp
-index 3e13075cd..c441133a8 100644
---- a/ui/graphview.cpp
-+++ b/ui/graphview.cpp
-@@ -20,6 +20,7 @@
- 

- #include "graphview.h"

- 

-+#include <QPainterPath>

- #include <QPainter>

- #include <QMouseEvent>

- #include <QtMath>

-diff --git a/ui/timelineheader.cpp b/ui/timelineheader.cpp
-index f39065b4f..aa7fd638d 100644
---- a/ui/timelineheader.cpp
-+++ b/ui/timelineheader.cpp
-@@ -20,6 +20,7 @@
- 

- #include "timelineheader.h"

- 

-+#include <QPainterPath>

- #include <QPainter>

- #include <QMouseEvent>

- #include <QScrollBar>

diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index f209c092bdc1d..5c9b85e1f6808 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , mkDerivationWith
 , fetchFromGitHub
-, fetchpatch
 , doxygen
 , gtk3
 , libopenshot
@@ -12,16 +11,20 @@
 , wrapGAppsHook
 }:
 
-mkDerivationWith python3.pkgs.buildPythonApplication rec {
+let
   pname = "openshot-qt";
-  version = "3.0.0";
-
+  version = "3.1.1";
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    hash = "sha256-h4R2txi038m6tzdKYiXIB8CiqWt2MFFRNerp1CFP5as=";
+    hash = "sha256-kEz1APBitWLlnIbyloYMsqNrwC9RqU04kyyWzm5klYc=";
   };
+in
+mkDerivationWith python3.pkgs.buildPythonApplication {
+  inherit pname version src;
+
+  outputs = [ "out" ]; # "lib" can't be split
 
   nativeBuildInputs = [
     doxygen
@@ -41,8 +44,10 @@ mkDerivationWith python3.pkgs.buildPythonApplication rec {
     sip_4
   ];
 
+  strictDeps = true;
+
   preConfigure = ''
-    # tries to create caching directories during install
+    # the builder tries to create caching directories during install
     export HOME=$(mktemp -d)
   '';
 
@@ -67,19 +72,19 @@ mkDerivationWith python3.pkgs.buildPythonApplication rec {
     inherit (libopenshot) libopenshot-audio;
   };
 
-  meta = with lib; {
+  meta = {
     homepage = "http://openshot.org/";
     description = "Free, open-source video editor";
     longDescription = ''
       OpenShot Video Editor is a free, open-source video editor for Linux.
-      OpenShot can take your videos, photos, and music files and help you
-      create the film you have always dreamed of. Easily add sub-titles,
-      transitions, and effects, and then export your film to DVD, YouTube,
-      Vimeo, Xbox 360, and many other common formats.
+      OpenShot can take your videos, photos, and music files and help you create
+      the film you have always dreamed of. Easily add sub-titles, transitions,
+      and effects, and then export your film to DVD, YouTube, Vimeo, Xbox 360,
+      and many other common formats.
     '';
-    license = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ gpl3Plus ];
     mainProgram = "openshot-qt";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/video/pipe-viewer/default.nix b/pkgs/applications/video/pipe-viewer/default.nix
index 5fc574881cfbd..68c47df58da66 100644
--- a/pkgs/applications/video/pipe-viewer/default.nix
+++ b/pkgs/applications/video/pipe-viewer/default.nix
@@ -67,6 +67,11 @@ buildPerlModule rec {
   ];
 
   dontWrapGApps = true;
+
+  postInstall = ''
+    cp -r share/* $out/share
+  '';
+
   postFixup = ''
     wrapProgram "$out/bin/pipe-viewer" \
       --prefix PATH : "${lib.makeBinPath [ ffmpeg wget youtube-dl yt-dlp ]}"
diff --git a/pkgs/applications/video/video-trimmer/default.nix b/pkgs/applications/video/video-trimmer/default.nix
index d3d55d2cb4a6b..3ff12dbffcce4 100644
--- a/pkgs/applications/video/video-trimmer/default.nix
+++ b/pkgs/applications/video/video-trimmer/default.nix
@@ -13,7 +13,7 @@
 , gtk4
 , libadwaita
 , gst_all_1
-, ffmpeg-full
+, ffmpeg-headless
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix PATH : "${lib.makeBinPath [ ffmpeg-full ]}"
+      --prefix PATH : "${lib.makeBinPath [ ffmpeg-headless ]}"
     )
   '';
 
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index bd8dbab4cfcaa..24809f9450b48 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.23.1";
+  version = "2.23.3";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-g8XaMvKt3tR7a7kq+n4ueDXx9iWuAu02ONb73W23ZGY=";
+    hash = "sha256-Rp13xK7pRyjHaDclAfL+yzNf4ppOy9S+XFbydj4TDL4=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-BeW39XN1CvPCCq4otX+Il2dGGcjGrTMzc4iSXmQZFmw=";
+  vendorHash = "sha256-iKBMd4e1oVNdKuk08tYPexQqs9JLofhdf4yEP1s97EQ=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch b/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch
deleted file mode 100644
index d3f207de00b29..0000000000000
--- a/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 0070ada..802cef0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -202,7 +202,7 @@ $(BIN_NAME): $(BIN_OBJS)
- ##### Public rules #####
- 
- all: CPPFLAGS += -DNDEBUG
--all: shared static tools
-+all: shared tools
- 
- # Run with ASAN_OPTIONS="protect_shadow_gap=0" to avoid CUDA OOM errors
- debug: CFLAGS += -pedantic -fsanitize=undefined -fno-omit-frame-pointer -fno-common -fsanitize=address
-@@ -232,7 +232,6 @@ install: all
- 	# Install header files
- 	$(INSTALL) -m 644 $(LIB_INCS) $(DESTDIR)$(includedir)
- 	# Install library files
--	$(INSTALL) -m 644 $(LIB_STATIC) $(DESTDIR)$(libdir)
- 	$(INSTALL) -m 755 $(LIB_SHARED) $(DESTDIR)$(libdir)
- 	$(LN) -sf $(LIB_SONAME) $(DESTDIR)$(libdir)/$(LIB_SYMLINK)
- 	$(LDCONFIG) -n $(DESTDIR)$(libdir)
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
index 3372ea695ef47..b8c4633f37445 100644
--- a/pkgs/applications/virtualization/podman-tui/default.nix
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "podman-tui";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman-tui";
     rev = "v${version}";
-    hash = "sha256-l6jbc/+Fi5xx7yhK0e5/iqcm7i8JnU37Qr4niVG4OvU=";
+    hash = "sha256-d2T2A4LsZQ09w7ZsVceqCGaO8wijRGGsk3hLhMykM9U=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/tart/default.nix b/pkgs/applications/virtualization/tart/default.nix
index cc924278b9aa4..6afe021c36c53 100644
--- a/pkgs/applications/virtualization/tart/default.nix
+++ b/pkgs/applications/virtualization/tart/default.nix
@@ -10,11 +10,11 @@
 }:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "tart";
-  version = "2.3.0";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz";
-    sha256 = "sha256-LdzP0Vovda0W6uBg71dJlTxP+Qly+c2Shv3xrMmxYDg=";
+    sha256 = "sha256-dCKUwDC7M3u8/8yJQp/v0zy7GuB7SvjnRmTLtodUz80=";
   };
   sourceRoot = ".";
 
diff --git a/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch b/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
deleted file mode 100644
index 0594a2f19d459..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: /trunk/configure
-===================================================================
---- a/configure	(revision 90360)
-+++ b/configure	(revision 90377)
-@@ -1588,5 +1588,5 @@
-         if [ $? -eq 0 ]; then
-           echo "(Qt5 from pkg-config)" >> $LOG
--          FLGQT5=`pkg-config Qt5Core Qt5Gui --cflags`
-+          FLGQT5=`pkg-config Qt5Core --cflags`
-           # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
-           [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11"
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch b/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch
deleted file mode 100644
index cb3d97c371cae..0000000000000
--- a/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/Compositor.cpp b/src/Compositor.cpp
-index 1d978aed..56665389 100644
---- a/src/Compositor.cpp
-+++ b/src/Compositor.cpp
-@@ -2365,17 +2365,16 @@ void CCompositor::performUserChecks() {
- 
-     static auto* const    PSUPPRESSPORTAL = &g_pConfigManager->getConfigValuePtr("misc:suppress_portal_warnings")->intValue;
- 
--    if (!*PSUPPRESSPORTAL) {
--        if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) {
-+    static auto* const    PORTALDIRENV = getenv("XDG_DESKTOP_PORTAL_DIR");
-+
-+    static auto const     PORTALDIR = PORTALDIRENV != NULL ? std::string(PORTALDIRENV) : "";
-+
-+    if (!*PSUPPRESSPORTAL && PORTALDIR != "") {
-+        if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists(PORTALDIR + "/" + portal + ".portal"); })) {
-             // bad portal detected
-             g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.",
-                                                         CColor(0), 15000, ICON_ERROR);
-         }
--
--        if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) {
--            g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0),
--                                                        15000, ICON_ERROR);
--        }
-     }
- }
- 
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index c3058294ca55c..c5dbf3766f06c 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock-effects";
-  version = "1.6.11";
+  version = "1.7.0.0";
 
   src = fetchFromGitHub {
     owner = "jirutka";
     repo = "swaylock-effects";
     rev = "v${version}";
-    sha256 = "sha256-MKmWVYssO9HAcP5uqwpy9kDa6/kfZyV2NI7ibozt7Ug=";
+    sha256 = "sha256-cuFM+cbUmGfI1EZu7zOsQUj4rA4Uc4nUXcvIfttf9zE=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 3d2c720e137cb..34532411888cb 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch2
+{ lib, stdenv, fetchurl
 , meson, ninja, pkg-config, python3, wayland-scanner
 , cairo, libGL, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland
 , wayland-protocols, xcbutilcursor
@@ -19,23 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "weston";
-  version = "12.0.2";
+  version = "13.0.0";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz";
-    hash = "sha256-62hqfPAJkqI7F/GS/KmohzE+ksNG7jXYV1GWmD1la0o=";
+    hash = "sha256-Uv8dSqI5Si5BbIWjOLYnzpf6cdQ+t2L9Sq8UXTb8eVo=";
   };
 
-  patches = [
-    # ci, backend-vnc: update to Neat VNC 0.7.0
-    # part of https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1051
-    (fetchpatch2 {
-      url = "https://gitlab.freedesktop.org/wayland/weston/-/commit/8895b15f3dfc555a869e310ff6e16ff5dced1336.patch";
-      hash = "sha256-PGAmQhzG8gZcYRaZwhKPlgzfbILIXGAHLSd9dCHAP1A=";
-      excludes = [ ".gitlab-ci.yml" ];
-    })
-  ];
-
   depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
   buildInputs = [
diff --git a/pkgs/build-support/add-driver-runpath/default.nix b/pkgs/build-support/add-driver-runpath/default.nix
new file mode 100644
index 0000000000000..08547a4453c5f
--- /dev/null
+++ b/pkgs/build-support/add-driver-runpath/default.nix
@@ -0,0 +1,14 @@
+{ lib, stdenv }:
+
+stdenv.mkDerivation {
+  name = "add-driver-runpath";
+
+  # Named "opengl-driver" for legacy reasons, but it is the path to
+  # hardware drivers installed by NixOS
+  driverLink = "/run/opengl-driver" + lib.optionalString stdenv.isi686 "-32";
+
+  buildCommand = ''
+    mkdir -p $out/nix-support
+    substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
+  '';
+}
diff --git a/pkgs/build-support/add-driver-runpath/setup-hook.sh b/pkgs/build-support/add-driver-runpath/setup-hook.sh
new file mode 100644
index 0000000000000..86a41a7e25192
--- /dev/null
+++ b/pkgs/build-support/add-driver-runpath/setup-hook.sh
@@ -0,0 +1,29 @@
+# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found.
+# This is needed to not rely on LD_LIBRARY_PATH which does not work with setuid
+# executables. Fixes https://github.com/NixOS/nixpkgs/issues/22760. It must be run
+# in postFixup because RUNPATH stripping in fixup would undo it. Note that patchelf
+# actually sets RUNPATH not RPATH, which applies only to dependencies of the binary
+# it set on (including for dlopen), so the RUNPATH must indeed be set on these
+# libraries and would not work if set only on executables.
+addDriverRunpath() {
+    local forceRpath=
+
+    while [ $# -gt 0 ]; do
+        case "$1" in
+            --) shift; break;;
+            --force-rpath) shift; forceRpath=1;;
+            --*)
+                echo "addDriverRunpath: ERROR: Invalid command line" \
+                     "argument: $1" >&2
+                return 1;;
+            *) break;;
+        esac
+    done
+
+    for file in "$@"; do
+        if ! isELF "$file"; then continue; fi
+        local origRpath="$(patchelf --print-rpath "$file")"
+        patchelf --set-rpath "@driverLink@/lib:$origRpath" ${forceRpath:+--force-rpath} "$file"
+    done
+}
+
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 7b9bb239402bc..078570ec7aea3 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -173,6 +173,7 @@ rec {
       libpulseaudio
       libsamplerate
       libmikmod
+      libthai
       libtheora
       libtiff
       pixman
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index ccd342eaa0d19..dd6032fc52cfa 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -301,12 +301,6 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" relro bindnow"
     ''
 
-    + optionalString (libc != null && targetPlatform.isAvr) ''
-      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
-        echo "-L${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags
-      done
-    ''
-
     + optionalString stdenv.targetPlatform.isDarwin ''
       echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
     ''
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 8ac11436c5f7b..539c29a0a7743 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -649,12 +649,6 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" stackprotector"
     ''
 
-    + optionalString (libc != null && targetPlatform.isAvr) ''
-      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
-        echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags
-      done
-    ''
-
     + optionalString stdenv.targetPlatform.isDarwin ''
         echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
     ''
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index f8ed3a38890c3..573b270ee408f 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -165,7 +165,7 @@ stdenvNoCC.mkDerivation (args // {
     components = lib.pipe args.version [
       lib.splitVersion
       (lib.filter (x: (lib.strings.match "[0-9]+" x) != null))
-      (lib.filter (x: (lib.toInt x) < 65535)) # one version component in dotnet has to fit in 16 bits
+      (lib.filter (x: (lib.toIntBase10 x) < 65535)) # one version component in dotnet has to fit in 16 bits
     ];
   in if (lib.length components) == 0
   then null
diff --git a/pkgs/build-support/fetchtorrent/default.nix b/pkgs/build-support/fetchtorrent/default.nix
index beb2415df707b..126748678bf25 100644
--- a/pkgs/build-support/fetchtorrent/default.nix
+++ b/pkgs/build-support/fetchtorrent/default.nix
@@ -14,6 +14,7 @@ in
 , recursiveHash ? true
 , postFetch ? ""
 , postUnpack ? ""
+, meta ? {}
 }:
 let
   afterSuccess = writeShellScript "fetch-bittorrent-done.sh" ''
@@ -30,6 +31,7 @@ let
   jsonConfig = (formats.json {}).generate "jsonConfig" config;
 in
 runCommand name {
+  inherit meta;
   nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
   outputHashAlgo = if hash != "" then null else "sha256";
   outputHash = hash;
diff --git a/pkgs/build-support/fetchtorrent/tests.nix b/pkgs/build-support/fetchtorrent/tests.nix
index b36c82c6326f5..e8cc3f33878bf 100644
--- a/pkgs/build-support/fetchtorrent/tests.nix
+++ b/pkgs/build-support/fetchtorrent/tests.nix
@@ -1,25 +1,47 @@
-{ testers, fetchtorrent, ... }:
+{ testers, fetchtorrent, lib, ... }:
+
+let
+  wired-cd.meta.license = [
+    # track 1, 4 and 11
+    {
+      spdxID = "CC NC-SAMPLING+ 1.0 Deed";
+      fullName = "NonCommercial Sampling Plus 1.0 Generic";
+      url = "https://creativecommons.org/licenses/nc-sampling+/1.0/";
+      free = false; # for noncommercial purposes only
+    }
+    # the rest
+    {
+      spdxID = "CC SAMPLING+ 1.0 Deed";
+      fullName = "Sampling Plus 1.0 Generic";
+      url = "https://creativecommons.org/licenses/sampling+/1.0/";
+      free = true; # no use in advertisement
+    }
+  ];
+in
 
 {
   http-link = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "https://webtorrent.io/torrents/wired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "transmission";
+    inherit (wired-cd) meta;
   };
   magnet-link = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "transmission";
+    inherit (wired-cd) meta;
   };
   http-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "https://webtorrent.io/torrents/wired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "rqbit";
+    inherit (wired-cd) meta;
   };
   magnet-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "rqbit";
+    inherit (wired-cd) meta;
   };
 }
-
diff --git a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
index a2f77bdc6d430..1e446bb1b0510 100644
--- a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
+++ b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
@@ -5,16 +5,14 @@ npmInstallHook() {
 
     runHook preInstall
 
-    # `npm pack` writes to cache
-    npm config delete cache
-
     local -r packageOut="$out/lib/node_modules/$(@jq@ --raw-output '.name' package.json)"
 
+    # `npm pack` writes to cache so temporarily override it
     while IFS= read -r file; do
         local dest="$packageOut/$(dirname "$file")"
         mkdir -p "$dest"
         cp "${npmWorkspace-.}/$file" "$dest"
-    done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
+    done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
 
     # Based on code from Python's buildPythonPackage wrap.sh script, for
     # supporting both the case when makeWrapperArgs is an array and a
diff --git a/pkgs/build-support/node/fetch-npm-deps/Cargo.lock b/pkgs/build-support/node/fetch-npm-deps/Cargo.lock
index 4f6e177fd9aef..8ba72a7b76c49 100644
--- a/pkgs/build-support/node/fetch-npm-deps/Cargo.lock
+++ b/pkgs/build-support/node/fetch-npm-deps/Cargo.lock
@@ -47,9 +47,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.21.4"
+version = "0.21.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
 
 [[package]]
 name = "bitflags"
@@ -59,9 +59,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
 name = "block-buffer"
@@ -110,9 +110,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
 dependencies = [
  "libc",
 ]
@@ -177,9 +177,9 @@ dependencies = [
 
 [[package]]
 name = "curl-sys"
-version = "0.4.67+curl-8.3.0"
+version = "0.4.68+curl-8.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cc35d066510b197a0f72de863736641539957628c8a42e70e27c66849e77c34"
+checksum = "b4a0d18d88360e374b16b2273c832b5e57258ffc1d4aa4f96b108e0738d5752f"
 dependencies = [
  "cc",
  "libc",
@@ -208,9 +208,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -221,9 +221,9 @@ dependencies = [
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
 dependencies = [
  "libc",
  "windows-sys",
@@ -267,15 +267,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
 
 [[package]]
 name = "futures-lite"
@@ -304,9 +304,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -321,9 +321,9 @@ checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -399,9 +399,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libz-sys"
@@ -417,9 +417,9 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
 
 [[package]]
 name = "log"
@@ -456,9 +456,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9"
 dependencies = [
  "cc",
  "libc",
@@ -468,9 +468,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "percent-encoding"
@@ -542,6 +542,7 @@ dependencies = [
  "digest",
  "env_logger",
  "isahc",
+ "log",
  "rayon",
  "serde",
  "serde_json",
@@ -622,18 +623,18 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.6"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -643,9 +644,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.9"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -654,17 +655,17 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustix"
-version = "0.38.18"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.1",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -703,18 +704,18 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -723,9 +724,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -776,9 +777,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -786,9 +787,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -797,9 +798,9 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
@@ -810,9 +811,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -834,11 +835,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "log",
  "pin-project-lite",
  "tracing-attributes",
@@ -847,9 +847,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -858,9 +858,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
diff --git a/pkgs/build-support/node/fetch-npm-deps/Cargo.toml b/pkgs/build-support/node/fetch-npm-deps/Cargo.toml
index 0f7735a6e8270..ea121c510c95b 100644
--- a/pkgs/build-support/node/fetch-npm-deps/Cargo.toml
+++ b/pkgs/build-support/node/fetch-npm-deps/Cargo.toml
@@ -8,15 +8,16 @@ edition = "2021"
 [dependencies]
 anyhow = "1.0.75"
 backoff = "0.4.0"
-base64 = "0.21.4"
+base64 = "0.21.5"
 digest = "0.10.7"
-env_logger = "0.10.0"
+env_logger = "0.10.1"
 isahc = { version = "1.7.2", default_features = false }
+log = "0.4.20"
 rayon = "1.8.0"
-serde = { version = "1.0.188", features = ["derive"] }
-serde_json = "1.0.107"
+serde = { version = "1.0.193", features = ["derive"] }
+serde_json = "1.0.108"
 sha1 = "0.10.6"
 sha2 = "0.10.8"
-tempfile = "3.8.0"
+tempfile = "3.8.1"
 url = { version = "2.4.1", features = ["serde"] }
 walkdir = "2.4.0"
diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/fetch-npm-deps/default.nix
index cfa3366491f26..725f9ba3bb017 100644
--- a/pkgs/build-support/node/fetch-npm-deps/default.nix
+++ b/pkgs/build-support/node/fetch-npm-deps/default.nix
@@ -125,6 +125,18 @@
 
           forceGitDeps = true;
         };
+
+        # This package has a lockfile v1 git dependency with no `dependencies` attribute, since it sementically has no dependencies.
+        jitsiMeet9111 = makeTest {
+          name = "jitsi-meet-9111";
+
+          src = fetchurl {
+            url = "https://raw.githubusercontent.com/jitsi/jitsi-meet/stable/jitsi-meet_9111/package-lock.json";
+            hash = "sha256-NU+eQD4WZ4BMur8uX79uk8wUPsZvIT02KhPWHTmaihk=";
+          };
+
+          hash = "sha256-FhxlJ0HdJMPiWe7+n1HaGLWOr/2HJEPwiS65uqXZM8Y=";
+        };
       };
 
     meta = with lib; {
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs
index 75133b1b03ea5..c49c094b85c68 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs
@@ -4,6 +4,7 @@ use serde::{Deserialize, Serialize};
 use sha1::Sha1;
 use sha2::{Sha256, Sha512};
 use std::{
+    fmt::Write as FmtWrite,
     fs::{self, File},
     io::Write,
     path::PathBuf,
@@ -78,10 +79,10 @@ impl Cache {
 
             push_hash_segments(
                 &mut p,
-                &hash
-                    .into_iter()
-                    .map(|n| format!("{n:02x}"))
-                    .collect::<String>(),
+                &hash.into_iter().fold(String::new(), |mut out, n| {
+                    let _ = write!(out, "{n:02x}");
+                    out
+                }),
             );
 
             p
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/main.rs b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
index 2b28e290ad512..dc20c72970491 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/main.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
@@ -246,7 +246,9 @@ fn main() -> anyhow::Result<()> {
     packages.into_par_iter().try_for_each(|package| {
         eprintln!("{}", package.name);
 
-        let tarball = package.tarball()?;
+        let tarball = package
+            .tarball()
+            .map_err(|e| anyhow!("couldn't fetch {} at {}: {e:?}", package.name, package.url))?;
         let integrity = package.integrity().map(ToString::to_string);
 
         cache
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs b/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
index f50a31651d0ee..c6e77153a0b80 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
@@ -18,23 +18,20 @@ pub(super) fn packages(content: &str) -> anyhow::Result<Vec<Package>> {
         1 => {
             let initial_url = get_initial_url()?;
 
-            lockfile
-                .dependencies
-                .map(|p| to_new_packages(p, &initial_url))
-                .transpose()?
+            to_new_packages(lockfile.dependencies.unwrap_or_default(), &initial_url)?
         }
-        2 | 3 => lockfile.packages.map(|pkgs| {
-            pkgs.into_iter()
-                .filter(|(n, p)| !n.is_empty() && matches!(p.resolved, Some(UrlOrString::Url(_))))
-                .map(|(n, p)| Package { name: Some(n), ..p })
-                .collect()
-        }),
+        2 | 3 => lockfile
+            .packages
+            .unwrap_or_default()
+            .into_iter()
+            .filter(|(n, p)| !n.is_empty() && matches!(p.resolved, Some(UrlOrString::Url(_))))
+            .map(|(n, p)| Package { name: Some(n), ..p })
+            .collect(),
         _ => bail!(
             "We don't support lockfile version {}, please file an issue.",
             lockfile.version
         ),
-    }
-    .expect("lockfile should have packages");
+    };
 
     packages.par_sort_by(|x, y| {
         x.resolved
@@ -182,6 +179,7 @@ impl fmt::Display for Hash {
     }
 }
 
+#[allow(clippy::incorrect_partial_ord_impl_on_ord_type)]
 impl PartialOrd for Hash {
     fn partial_cmp(&self, other: &Hash) -> Option<Ordering> {
         let lhs = self.0.split_once('-')?.0;
@@ -216,29 +214,35 @@ fn to_new_packages(
         }
 
         if let UrlOrString::Url(v) = &package.version {
-            for (scheme, host) in [
-                ("github", "github.com"),
-                ("bitbucket", "bitbucket.org"),
-                ("gitlab", "gitlab.com"),
-            ] {
-                if v.scheme() == scheme {
-                    package.version = {
-                        let mut new_url = initial_url.clone();
-
-                        new_url.set_host(Some(host))?;
-
-                        if v.path().ends_with(".git") {
-                            new_url.set_path(v.path());
-                        } else {
-                            new_url.set_path(&format!("{}.git", v.path()));
-                        }
-
-                        new_url.set_fragment(v.fragment());
-
-                        UrlOrString::Url(new_url)
-                    };
-
-                    break;
+            if v.scheme() == "npm" {
+                if let Some(UrlOrString::Url(ref url)) = &package.resolved {
+                    package.version = UrlOrString::Url(url.clone());
+                }
+            } else {
+                for (scheme, host) in [
+                    ("github", "github.com"),
+                    ("bitbucket", "bitbucket.org"),
+                    ("gitlab", "gitlab.com"),
+                ] {
+                    if v.scheme() == scheme {
+                        package.version = {
+                            let mut new_url = initial_url.clone();
+
+                            new_url.set_host(Some(host))?;
+
+                            if v.path().ends_with(".git") {
+                                new_url.set_path(v.path());
+                            } else {
+                                new_url.set_path(&format!("{}.git", v.path()));
+                            }
+
+                            new_url.set_fragment(v.fragment());
+
+                            UrlOrString::Url(new_url)
+                        };
+
+                        break;
+                    }
                 }
             }
         }
@@ -268,7 +272,8 @@ fn get_initial_url() -> anyhow::Result<Url> {
 #[cfg(test)]
 mod tests {
     use super::{
-        get_initial_url, to_new_packages, Hash, HashCollection, OldPackage, Package, UrlOrString,
+        get_initial_url, packages, to_new_packages, Hash, HashCollection, OldPackage, Package,
+        UrlOrString,
     };
     use std::{
         cmp::Ordering,
@@ -330,4 +335,36 @@ mod tests {
             Some(Hash(String::from("sha512-foo")))
         );
     }
+
+    #[test]
+    fn parse_lockfile_correctly() {
+        let packages = packages(
+            r#"{
+                "name": "node-ddr",
+                "version": "1.0.0",
+                "lockfileVersion": 1,
+                "requires": true,
+                "dependencies": {
+                    "string-width-cjs": {
+                        "version": "npm:string-width@4.2.3",
+                        "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+                        "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+                        "requires": {
+                            "emoji-regex": "^8.0.0",
+                            "is-fullwidth-code-point": "^3.0.0",
+                            "strip-ansi": "^6.0.1"
+                        }
+                    }
+                }
+            }"#).unwrap();
+
+        assert_eq!(packages.len(), 1);
+        assert_eq!(
+            packages[0].resolved,
+            Some(UrlOrString::Url(
+                Url::parse("https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz")
+                    .unwrap()
+            ))
+        );
+    }
 }
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
index 880a972e80e97..0bca33f039152 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
@@ -1,5 +1,6 @@
 use anyhow::{anyhow, bail, Context};
 use lock::UrlOrString;
+use log::{debug, info};
 use rayon::prelude::*;
 use serde_json::{Map, Value};
 use std::{
@@ -19,6 +20,8 @@ pub fn lockfile(
     force_git_deps: bool,
     force_empty_cache: bool,
 ) -> anyhow::Result<Vec<Package>> {
+    debug!("parsing lockfile with contents:\n{content}");
+
     let mut packages = lock::packages(content)
         .context("failed to extract packages from lockfile")?
         .into_par_iter()
@@ -46,6 +49,8 @@ pub fn lockfile(
 
         let path = dir.path().join("package");
 
+        info!("recursively parsing lockfile for {} at {path:?}", pkg.name);
+
         let lockfile_contents = fs::read_to_string(path.join("package-lock.json"));
 
         let package_json_path = path.join("package.json");
diff --git a/pkgs/build-support/templaterpm/default.nix b/pkgs/build-support/templaterpm/default.nix
deleted file mode 100644
index 56c543e8a9301..0000000000000
--- a/pkgs/build-support/templaterpm/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{lib, stdenv, makeWrapper, python, toposort, rpm}:
-
-stdenv.mkDerivation {
-  pname = "nix-template-rpm";
-  version = "0.1";
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python toposort rpm ];
-
-  dontUnpack = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ${./nix-template-rpm.py} $out/bin/nix-template-rpm
-    wrapProgram $out/bin/nix-template-rpm \
-      --set PYTHONPATH "${rpm}/lib/${python.libPrefix}/site-packages":"${toposort}/lib/${python.libPrefix}/site-packages"
-    '';
-
-  meta = with lib; {
-    description = "Create templates of nix expressions from RPM .spec files";
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/build-support/templaterpm/nix-template-rpm.py b/pkgs/build-support/templaterpm/nix-template-rpm.py
deleted file mode 100755
index db8c0f2064c20..0000000000000
--- a/pkgs/build-support/templaterpm/nix-template-rpm.py
+++ /dev/null
@@ -1,518 +0,0 @@
-#!/bin/env python
-
-import sys
-import os
-import subprocess
-import argparse
-import re
-import shutil
-import rpm
-import urlparse
-import traceback
-import toposort
-
-
-
-
-
-class SPECTemplate(object):
-  def __init__(self, specFilename, outputDir, inputDir=None, buildRootInclude=None, translateTable=None, repositoryDir=None, allPackagesDir=None, maintainer="MAINTAINER"):
-    rpm.addMacro("buildroot","$out")
-    rpm.addMacro("_libdir","lib")
-    rpm.addMacro("_libexecdir","libexec")
-    rpm.addMacro("_sbindir","sbin")
-    rpm.addMacro("_sysconfdir","etc")
-    rpm.addMacro("_topdir","SPACER_DIR_FOR_REMOVAL")
-    rpm.addMacro("_sourcedir","SOURCE_DIR_SPACER")
-
-    self.packageGroups = [ "ocaml", "python" ]
-
-    ts = rpm.TransactionSet()
-
-    self.specFilename = specFilename
-    self.spec = ts.parseSpec(specFilename)
-
-    self.inputDir = inputDir
-    self.buildRootInclude = buildRootInclude
-    self.repositoryDir = repositoryDir
-    self.allPackagesDir = allPackagesDir
-    self.maintainer = maintainer
-
-    self.translateTable = translateTable
-
-    self.facts = self.getFacts()
-    self.key = self.getSelfKey()
-
-    tmpDir = os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name']))
-    if self.translateTable is not None:
-      self.relOutputDir = self.translateTable.path(self.key,tmpDir)
-    else:
-      self.relOutputDir = tmpDir
-
-    self.final_output_dir = os.path.normpath( self.relOutputDir )
-
-    if self.repositoryDir is not None:
-      self.potential_repository_dir = os.path.normpath( os.path.join(self.repositoryDir,self.relOutputDir) )
-
-
-
-  def rewriteCommands(self, string):
-    string = string.replace('SPACER_DIR_FOR_REMOVAL/','')
-    string = string.replace('SPACER_DIR_FOR_REMOVAL','')
-    string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude is None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude is None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n')))
-    string = string.replace('\n','\n    ')
-    string = string.rstrip()
-    return string
-
-
-  def rewriteName(self, string):
-    parts = string.split('-')
-    parts = filter(lambda x: not x == "devel", parts)
-    parts = filter(lambda x: not x == "doc", parts)
-    if len(parts) > 1 and parts[0] in self.packageGroups:
-      return parts[0] + '-' + ''.join(parts[1:2] + map(lambda x: x.capitalize(), parts[2:]))
-    else:
-      return ''.join(parts[:1] + map(lambda x: x.capitalize(), parts[1:]))
-
-
-  def rewriteInputs(self,target,inputs):
-    camelcase = lambda l: l[:1] + map(lambda x: x.capitalize(), l[1:])
-    filterDevel = lambda l: filter(lambda x: not x == "devel", l)
-    filterDoc = lambda l: filter(lambda x: not x == "doc", l)
-    rewrite = lambda l: ''.join(camelcase(filterDoc(filterDevel(l))))
-
-    def filterPackageGroup(target):
-      if target is None:
-        return [ rewrite(x.split('-')) for x in inputs if (not x.split('-')[0] in self.packageGroups) or (len(x.split('-')) == 1) ]
-      elif target in self.packageGroups:
-        return [ target + '_' + rewrite(x.split('-')[1:]) for x in inputs if (x.split('-')[0] == target) and (len(x.split('-')) > 1)]
-      else:
-        raise Exception("Unknown target")
-        return []
-
-    if target is None:
-      packages = filterPackageGroup(None)
-      packages.sort()
-    elif target in self.packageGroups:
-      packages = filterPackageGroup(target)
-      packages.sort()
-    elif target == "ALL":
-      packages = []
-      for t in [None] + self.packageGroups:
-        tmp = filterPackageGroup(t)
-        tmp.sort()
-        packages += tmp
-    else:
-      raise Exception("Unknown target")
-      packages = []
-
-    return packages
-
-
-  def getBuildInputs(self,target=None):
-    inputs = self.rewriteInputs(target,self.spec.sourceHeader['requires'])
-    if self.translateTable is not None:
-      return map(lambda x: self.translateTable.name(x), inputs)
-    else:
-      return inputs
-
-  def getSelfKey(self):
-    name = self.spec.sourceHeader['name']
-    if len(name.split('-')) > 1 and name.split('-')[0] in self.packageGroups:
-      key = self.rewriteInputs(name.split('-')[0], [self.spec.sourceHeader['name']])[0]
-    else:
-      key = self.rewriteInputs(None, [self.spec.sourceHeader['name']])[0]
-    return key
-
-  def getSelf(self):
-    if self.translateTable is not None:
-      return self.translateTable.name(self.key)
-    else:
-      return self.key
-
-
-
-
-  def copyPatches(self, input_dir, output_dir):
-    patches = [source for (source, _, flag) in self.spec.sources if flag==2]
-    for filename in patches:
-      shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
-
-
-  def copySources(self, input_dir, output_dir):
-    filenames = [source for (source, _, flag) in self.spec.sources if flag==1 if not urlparse.urlparse(source).scheme in ["http", "https"] ]
-    for filename in filenames:
-      shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
-
-
-  def getFacts(self):
-    facts = {}
-    facts["name"] = self.rewriteName(self.spec.sourceHeader['name'])
-    facts["version"] = self.spec.sourceHeader['version']
-
-    facts["url"] = []
-    facts["sha256"] = []
-    sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
-    for url in sources:
-      p = subprocess.Popen(['nix-prefetch-url', url], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-      output, err = p.communicate()
-      sha256 = output[:-1] #remove new line
-      facts["url"].append(url)
-      facts["sha256"].append(sha256)
-
-    patches = [source for (source, _, flag) in self.spec.sources if flag==2]
-    if self.buildRootInclude is None:
-      facts["patches"] = map(lambda x: './'+x, patches)
-    else:
-      facts["patches"] = map(lambda x: '"${buildRoot}/usr/share/buildroot/SOURCES/'+x+'"', reversed(patches))
-
-    return facts
-
-
-  @property
-  def name(self):
-    out = '  name = "' + self.facts["name"] + '-' + self.facts["version"] + '";\n'
-    out += '  version = "' + self.facts['version'] + '";\n'
-    return out
-
-
-  @property
-  def src(self):
-    sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
-    out = ''
-    for (url,sha256) in zip(self.facts['url'],self.facts['sha256']):
-      out += '  src = fetchurl {\n'
-      out += '    url = "' + url + '";\n'
-      out += '    sha256 = "' + sha256 + '";\n'
-      out += '  };\n'
-    return out
-
-
-  @property
-  def patch(self):
-    out = '  patches = [ ' + ' '.join(self.facts['patches']) + ' ];\n'
-    return out
-
-
-  @property
-  def buildInputs(self):
-    out = '  buildInputs = [ '
-    out += ' '.join(self.getBuildInputs("ALL"))
-    out += ' ];\n'
-    return out
-
-
-  @property
-  def configure(self):
-    out = '  configurePhase = \'\'\n    ' + self.rewriteCommands(self.spec.prep) + '\n    \'\';\n';
-    return out
-
-
-  @property
-  def build(self):
-    out = '  buildPhase = \'\'\n    ' + self.rewriteCommands(self.spec.build) + '\n    \'\';\n';
-    return out
-
-
-  @property
-  def install(self):
-    out = '  installPhase = \'\'\n    ' + self.rewriteCommands(self.spec.install) + '\n    \'\';\n';
-    return out
-
-  @property
-  def ocamlExtra(self):
-    if "ocaml" in self.getBuildInputs("ALL"):
-      return '  createFindlibDestdir = true;\n'
-    else:
-      return ''
-
-
-  @property
-  def meta(self):
-    out = '  meta = with lib; {\n'
-    out += '    homepage = ' + self.spec.sourceHeader['url'] + ';\n'
-    out += '    description = "' + self.spec.sourceHeader['summary'] + '";\n'
-    out += '    license = lib.licenses.' + self.spec.sourceHeader['license'] + ';\n'
-    out += '    platforms = [ "i686-linux" "x86_64-linux" ];\n'
-    out += '    maintainers = with lib.maintainers; [ ' + self.maintainer + ' ];\n'
-    out += '  };\n'
-    out += '}\n'
-    return out
-
-
-  def __str__(self):
-    head = '{lib, stdenv, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
-    head += 'stdenv.mkDerivation {\n'
-    body = [ self.name, self.src, self.patch, self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
-    return head + '\n'.join(body)
-
-
-  def getTemplate(self):
-    head = '{lib, stdenv, buildRoot, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
-    head += 'let\n'
-    head += '  buildRootInput = (import "${buildRoot}/usr/share/buildroot/buildRootInput.nix") { fetchurl=fetchurl; buildRoot=buildRoot; };\n'
-    head += 'in\n\n'
-    head += 'stdenv.mkDerivation {\n'
-    head += '  inherit (buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+') name version src;\n'
-    head += '  patches = buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+'.patches ++ [];\n\n'
-    body = [ self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
-    return head + '\n'.join(body)
-
-
-  def getInclude(self):
-    head = self.rewriteName(self.spec.sourceHeader['name']) + ' = {\n'
-    body = [ self.name, self.src, self.patch ]
-    return head + '\n'.join(body) + '};\n'
-
-
-  def __cmp__(self,other):
-    if self.getSelf() in other.getBuildInputs("ALL"):
-      return 1
-    else:
-      return -1
-
-
-  def callPackage(self):
-    callPackage = '  ' + self.getSelf() + ' = callPackage ' + os.path.relpath(self.final_output_dir, self.allPackagesDir) + ' {'
-    newline = False;
-    for target in self.packageGroups:
-      tmp = self.getBuildInputs(target)
-      if len(tmp) > 0:
-        newline = True;
-        callPackage += '\n    ' + 'inherit (' + target + 'Packages) ' + ' '.join(tmp) + ';'
-    if newline:
-      callPackage += '\n  };'
-    else:
-      callPackage += ' };'
-    return callPackage
-
-
-
-  def generateCombined(self):
-    if not os.path.exists(self.final_output_dir):
-      os.makedirs(self.final_output_dir)
-
-    if self.inputDir is not None:
-      self.copySources(self.inputDir, self.final_output_dir)
-      self.copyPatches(self.inputDir, self.final_output_dir)
-
-    nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
-    nixfile.write(str(self))
-    nixfile.close()
-
-    shutil.copyfile(self.specFilename, os.path.join(self.final_output_dir, os.path.basename(self.specFilename)))
-
-
-
-  def generateSplit(self):
-    if not os.path.exists(self.final_output_dir):
-      os.makedirs(self.final_output_dir)
-
-    nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
-    nixfile.write(self.getTemplate())
-    nixfile.close()
-
-    return self.getInclude()
-
-
-
-
-
-
-class NixTemplate(object):
-  def __init__(self, nixfile):
-    self.nixfile = nixfile
-    self.original = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
-    self.update = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
-    self.matchedLines = {}
-
-    if os.path.isfile(nixfile):
-      with file(nixfile, 'r') as infile:
-        for (n,line) in enumerate(infile):
-          name = re.match(r'^\s*name\s*=\s*"(.*?)"\s*;\s*$', line)
-          version = re.match(r'^\s*version\s*=\s*"(.*?)"\s*;\s*$', line)
-          url = re.match(r'^\s*url\s*=\s*"?(.*?)"?\s*;\s*$', line)
-          sha256 = re.match(r'^\s*sha256\s*=\s*"(.*?)"\s*;\s*$', line)
-          patches = re.match(r'^\s*patches\s*=\s*(\[.*?\])\s*;\s*$', line)
-          if name is not None and self.original["name"] is None:
-              self.original["name"] = name.group(1)
-              self.matchedLines[n] = "name"
-          if version is not None and self.original["version"] is None:
-              self.original["version"] = version.group(1)
-              self.matchedLines[n] = "version"
-          if url is not None and self.original["url"] is None:
-              self.original["url"] = url.group(1)
-              self.matchedLines[n] = "url"
-          if sha256 is not None and self.original["sha256"] is None:
-              self.original["sha256"] = sha256.group(1)
-              self.matchedLines[n] = "sha256"
-          if patches is not None and self.original["patches"] is None:
-              self.original["patches"] = patches.group(1)
-              self.matchedLines[n] = "patches"
-
-
-  def generateUpdated(self, nixOut):
-    nixTemplateFile = open(os.path.normpath(self.nixfile),'r')
-    nixOutFile = open(os.path.normpath(nixOut),'w')
-    for (n,line) in enumerate(nixTemplateFile):
-      if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] is not None:
-        nixOutFile.write(line.replace(self.original[self.matchedLines[n]], self.update[self.matchedLines[n]], 1))
-      else:
-        nixOutFile.write(line)
-    nixTemplateFile.close()
-    nixOutFile.close()
-
-
-  def loadUpdate(self,orig):
-    if orig.has_key("name") and orig.has_key("version"):
-      self.update["name"] = orig["name"] + '-' + orig["version"]
-      self.update["version"] = orig["version"]
-    if orig.has_key("url") and orig.has_key("sha256") and len(orig["url"])>0:
-      self.update["url"] = orig["url"][0]
-      self.update["sha256"] = orig["sha256"][0]
-      for url in orig["url"][1:-1]:
-        sys.stderr.write("WARNING: URL has been dropped: %s\n" % url)
-    if orig.has_key("patches"):
-      self.update["patches"] = '[ ' + ' '.join(orig['patches']) + ' ]'
-
-
-class TranslationTable(object):
-  def __init__(self):
-    self.tablePath = {}
-    self.tableName = {}
-
-  def update(self, key, path, name=None):
-    self.tablePath[key] = path
-    if name is not None:
-      self.tableName[key] = name
-
-  def readTable(self, tableFile):
-    with file(tableFile, 'r') as infile:
-      for line in infile:
-        match = re.match(r'^(.+?)\s+(.+?)\s+(.+?)\s*$', line)
-        if match is not None:
-          if not self.tablePath.has_key(match.group(1)):
-            self.tablePath[match.group(1)] = match.group(2)
-          if not self.tableName.has_key(match.group(1)):
-            self.tableName[match.group(1)] = match.group(3)
-        else:
-          match = re.match(r'^(.+?)\s+(.+?)\s*$', line)
-          if not self.tablePath.has_key(match.group(1)):
-            self.tablePath[match.group(1)] = match.group(2)
-
-  def writeTable(self, tableFile):
-    outFile = open(os.path.normpath(tableFile),'w')
-    keys = self.tablePath.keys()
-    keys.sort()
-    for k in keys:
-      if self.tableName.has_key(k):
-        outFile.write( k + " " + self.tablePath[k] + " " + self.tableName[k] + "\n" )
-      else:
-        outFile.write( k + " " + self.tablePath[k] + "\n" )
-    outFile.close()
-
-  def name(self, key):
-   if self.tableName.has_key(key):
-     return self.tableName[key]
-   else:
-     return key
-
-  def path(self, key, orig):
-   if self.tablePath.has_key(key):
-     return self.tablePath[key]
-   else:
-     return orig
-
-
-
-
-
-if __name__ == "__main__":
-    #Parse command line options
-    parser = argparse.ArgumentParser(description="Generate .nix templates from RPM spec files")
-    parser.add_argument("specs", metavar="SPEC", nargs="+", help="spec file")
-    parser.add_argument("-o", "--output", metavar="OUT_DIR", required=True, help="output directory")
-    parser.add_argument("-b", "--buildRoot", metavar="BUILDROOT_DIR", default=None, help="buildroot output directory")
-    parser.add_argument("-i", "--inputSources", metavar="IN_DIR", default=None, help="sources input directory")
-    parser.add_argument("-m", "--maintainer", metavar="MAINTAINER", default="__NIX_MAINTAINER__", help="package maintainer")
-    parser.add_argument("-r", "--repository", metavar="REP_DIR", default=None, help="nix repository to compare output against")
-    parser.add_argument("-t", "--translate", metavar="TRANSLATE_TABLE", default=None, help="path of translation table for name and path")
-    parser.add_argument("-u", "--translateOut", metavar="TRANSLATE_OUT", default=None, help="output path for updated translation table")
-    parser.add_argument("-a", "--allPackages", metavar="ALL_PACKAGES", default=None, help="top level dir to call packages from")
-    args = parser.parse_args()
-
-    allPackagesDir = os.path.normpath( os.path.dirname(args.allPackages) )
-    if not os.path.exists(allPackagesDir):
-      os.makedirs(allPackagesDir)
-
-    buildRootContent = {}
-    nameMap = {}
-
-    newTable = TranslationTable()
-    if args.translate is not None:
-      table = TranslationTable()
-      table.readTable(args.translate)
-      newTable.readTable(args.translate)
-    else:
-      table = None
-
-    for specPath in args.specs:
-      try:
-        sys.stderr.write("INFO: generate nix file from: %s\n" % specPath)
-
-        spec = SPECTemplate(specPath, args.output, args.inputSources, args.buildRoot, table, args.repository, allPackagesDir, args.maintainer)
-        if args.repository is not None:
-          if os.path.exists(os.path.join(spec.potential_repository_dir,'default.nix')):
-            nixTemplate = NixTemplate(os.path.join(spec.potential_repository_dir,'default.nix'))
-            nixTemplate.loadUpdate(spec.facts)
-            if not os.path.exists(spec.final_output_dir):
-              os.makedirs(spec.final_output_dir)
-            nixTemplate.generateUpdated(os.path.join(spec.final_output_dir,'default.nix'))
-          else:
-            sys.stderr.write("WARNING: Repository does not contain template: %s\n" % os.path.join(spec.potential_repository_dir,'default.nix'))
-            if args.buildRoot is None:
-              spec.generateCombined()
-            else:
-              buildRootContent[spec.key] = spec.generateSplit()
-        else:
-          if args.buildRoot is None:
-            spec.generateCombined()
-          else:
-            buildRootContent[spec.key] = spec.generateSplit()
-
-        newTable.update(spec.key,spec.relOutputDir,spec.getSelf())
-        nameMap[spec.getSelf()] = spec
-
-      except Exception, e:
-        sys.stderr.write("ERROR: %s failed with:\n%s\n%s\n" % (specPath,e.message,traceback.format_exc()))
-
-    if args.translateOut is not None:
-      if not os.path.exists(os.path.dirname(os.path.normpath(args.translateOut))):
-        os.makedirs(os.path.dirname(os.path.normpath(args.translateOut)))
-      newTable.writeTable(args.translateOut)
-
-    graph = {}
-    for k, v in nameMap.items():
-      graph[k] = set(v.getBuildInputs("ALL"))
-
-    sortedSpecs = toposort.toposort_flatten(graph)
-    sortedSpecs = filter( lambda x: x in nameMap.keys(), sortedSpecs)
-
-    allPackagesFile = open(os.path.normpath( args.allPackages ), 'w')
-    allPackagesFile.write( '\n\n'.join(map(lambda x: x.callPackage(), map(lambda x: nameMap[x], sortedSpecs))) )
-    allPackagesFile.close()
-
-    if args.buildRoot is not None:
-      buildRootFilename = os.path.normpath( args.buildRoot )
-      if not os.path.exists(os.path.dirname(buildRootFilename)):
-        os.makedirs(os.path.dirname(buildRootFilename))
-      buildRootFile = open(buildRootFilename, 'w')
-      buildRootFile.write( "{ fetchurl, buildRoot }: {\n\n" )
-      keys = buildRootContent.keys()
-      keys.sort()
-      for k in keys:
-        buildRootFile.write( buildRootContent[k] + '\n' )
-      buildRootFile.write( "}\n" )
-      buildRootFile.close()
-
-
diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix
index 744c7807f4634..0b9f696d1cb80 100644
--- a/pkgs/build-support/trivial-builders/default.nix
+++ b/pkgs/build-support/trivial-builders/default.nix
@@ -631,6 +631,19 @@ rec {
     let mkEntryFromDrv = drv: { name = drv.name; path = drv; };
     in linkFarm name (map mkEntryFromDrv drvs);
 
+  /*
+    Produce a derivation that links to the target derivation's `/bin`,
+    and *only* `/bin`.
+
+    This is useful when your favourite package doesn't have a separate
+    bin output and other contents of the package's output (e.g. setup
+    hooks) cause trouble when used in your environment.
+  */
+  onlyBin = drv: runCommand "${drv.name}-only-bin" {} ''
+    mkdir -p $out
+    ln -s ${lib.getBin drv}/bin $out/bin
+  '';
+
 
   # docs in doc/builders/special/makesetuphook.section.md
   makeSetupHook =
diff --git a/pkgs/by-name/README.md b/pkgs/by-name/README.md
index fbb8b0dc05c1e..a7cdc57201df2 100644
--- a/pkgs/by-name/README.md
+++ b/pkgs/by-name/README.md
@@ -99,7 +99,9 @@ There's some limitations as to which packages can be defined using this structur
 - Only packages defined using `pkgs.callPackage`.
   This excludes packages defined using `pkgs.python3Packages.callPackage ...`.
 
-  Instead use the [category hierarchy](../README.md#category-hierarchy) for such attributes.
+  Instead:
+  - Either change the package definition to work with `pkgs.callPackage`.
+  - Or use the [category hierarchy](../README.md#category-hierarchy).
 
 - Only top-level packages.
   This excludes packages for other package sets like `pkgs.pythonPackages.*`.
diff --git a/pkgs/by-name/ab/aba/package.nix b/pkgs/by-name/ab/aba/package.nix
index 14a32c61375d5..6cf7ec2544bc0 100644
--- a/pkgs/by-name/ab/aba/package.nix
+++ b/pkgs/by-name/ab/aba/package.nix
@@ -6,7 +6,7 @@
 , scdoc
 }:
 let
-  version = "0.7.1";
+  version = "0.8.0";
 in
 rustPlatform.buildRustPackage {
   pname = "aba";
@@ -16,11 +16,10 @@ rustPlatform.buildRustPackage {
     owner = "~onemoresuza";
     repo = "aba";
     rev = version;
-    hash = "sha256-Sz9I1Dw7wmoUPpTBNfbYbehfNO8FK6r/ubofx+FGb04=";
-    domain = "sr.ht";
+    hash = "sha256-2zVQNchL4DFh2v2/kwupJTBSmXiKqlxzUMrP9TbfCMs=";
   };
 
-  cargoSha256 = "sha256-Ihoh+yp12qN74JHvJbEDoYz+eoMwPOQar+yBEy+bqb0=";
+  cargoHash = "sha256-YhSzbfcEIJjKWlyYq1lK70qt4f/Z71n7hgaaZ/D/U80=";
 
   nativeBuildInputs = [
     just
@@ -28,9 +27,8 @@ rustPlatform.buildRustPackage {
   ];
 
   postPatch = ''
-    # Suppress messages of command not found. jq is not needed for the build, but just calls it anyway.
-    sed -i '/[[:space:]]*|[[:space:]]*jq -r/s/jq -r .*/: \\/' ./justfile
-    # Let only nix strip the binary by disabling cargo's `strip = true`, like buildRustPackage does.
+    # Let only nix strip the binary by disabling cargo's `strip = true`, like
+    # buildRustPackage does when not using just's setup hooks.
     sed -i '/strip[[:space:]]*=[[:space:]]*true/s/true/false/' ./Cargo.toml
   '';
 
@@ -38,7 +36,7 @@ rustPlatform.buildRustPackage {
     justFlagsArray+=(
       PREFIX=${builtins.placeholder "out"}
       MANIFEST_OPTS="--frozen --locked --profile=release"
-      INSTALL_OPTS=--no-track
+      INSTALL_OPTS="--no-track"
     )
   '';
 
diff --git a/pkgs/by-name/al/alp/package.nix b/pkgs/by-name/al/alp/package.nix
new file mode 100644
index 0000000000000..34bc447ed6d5a
--- /dev/null
+++ b/pkgs/by-name/al/alp/package.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, lib
+, buildGoModule
+, fetchFromGitHub
+, runCommand
+, alp
+}:
+
+buildGoModule rec {
+  pname = "alp";
+  version = "1.1.17";
+
+  src = fetchFromGitHub {
+    owner = "gernotfeichter";
+    repo = "alp";
+    rev = version;
+    hash = "sha256-7lyWu1bVn7UwLb/Em6VBbg3FrMyxGjebxt5gJhm/xpI=";
+  };
+  vendorHash = "sha256-a2CQZKN/rPWh/Pn9gXfSArTCcGST472tsz1Kqm7M4vM=";
+
+  sourceRoot = "${src.name}/linux";
+
+  # Executing Go commands directly in checkPhase and buildPhase below,
+  # because the default testsuite runs all go tests, some of which require docker.
+  # Docker is too expensive for https://github.com/NixOS/ofborg.
+  checkPhase = ''
+    runHook preCheck
+
+    go test -run Test_main_init
+
+    runHook postCheck
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    go build -o $GOPATH/bin/${pname} main.go
+
+    runHook postBuild
+  '';
+
+  passthru.tests = {
+    test-version = runCommand "${pname}-test" {} ''
+      ${alp}/bin/alp version > $out
+      cat $out | grep '${version}'
+    '';
+  };
+
+  meta = with lib; {
+    description = "A convenient authentication method that lets you use your android device as a key for your Linux machine";
+    homepage = "https://github.com/gernotfeichter/alp";
+    license = licenses.gpl2Only;
+    mainProgram = "alp";
+    maintainers = with maintainers; [ gernotfeichter ];
+  };
+}
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/by-name/ar/arcan/package.nix
index 1a46c693b0278..ce4fc7256b77d 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/by-name/ar/arcan/package.nix
@@ -2,8 +2,9 @@
 , stdenv
 , fetchFromGitHub
 , SDL2
+, callPackage
 , cmake
-, espeak
+, espeak-ng
 , ffmpeg
 , file
 , freetype
@@ -54,11 +55,15 @@
 
 let
   allSources = {
-    letoram-arcan-src = fetchFromGitHub {
-      owner = "letoram";
-      repo = "arcan";
-      rev = "85c8564bdbee8468a5716bea64daf1d78937ffbf";
-      hash = "sha256-etmj1vpZTjxbmr4UiLBEK57WFJ1NeEnY5WfBYajX3ls=";
+    letoram-arcan = {
+      pname = "arcan";
+      version = "0.6.2.1-unstable-2023-11-18";
+      src = fetchFromGitHub {
+        owner = "letoram";
+        repo = "arcan";
+        rev = "0950ee236f96a555729498d0fdf91c16901037f5";
+        hash = "sha256-TxadRlidy4KRaQ4HunPO6ISJqm6JwnMRM8y6dX6vqJ4=";
+      };
     };
     letoram-openal-src = fetchFromGitHub {
       owner = "letoram";
@@ -87,10 +92,7 @@ let
   };
 in
 stdenv.mkDerivation (finalAttrs: {
-  pname = "arcan";
-  version = "0.6.2.1-unstable-2023-10-14";
-
-  src = allSources.letoram-arcan-src;
+  inherit (allSources.letoram-arcan) pname version src;
 
   nativeBuildInputs = [
     cmake
@@ -140,7 +142,7 @@ stdenv.mkDerivation (finalAttrs: {
     xz
   ]
   ++ lib.optionals useEspeak [
-    espeak
+    espeak-ng
   ];
 
   # Emulate external/git/clone.sh
@@ -197,6 +199,10 @@ stdenv.mkDerivation (finalAttrs: {
     "format"
   ];
 
+  passthru = {
+    wrapper = callPackage ./wrapper.nix { };
+  };
+
   meta = {
     homepage = "https://arcan-fe.com/";
     description = "Combined Display Server, Multimedia Framework, Game Engine";
diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix
index b61c5a5becd87..b61c5a5becd87 100644
--- a/pkgs/desktops/arcan/wrapper.nix
+++ b/pkgs/by-name/ar/arcan/wrapper.nix
diff --git a/pkgs/by-name/ar/arduino-ide/package.nix b/pkgs/by-name/ar/arduino-ide/package.nix
new file mode 100644
index 0000000000000..bcc947c1530c5
--- /dev/null
+++ b/pkgs/by-name/ar/arduino-ide/package.nix
@@ -0,0 +1,38 @@
+{ appimageTools
+, fetchurl
+, lib
+}:
+
+let
+  pname = "arduino-ide";
+  version = "2.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/arduino/arduino-ide/releases/download/${version}/arduino-ide_${version}_Linux_64bit.AppImage";
+    hash = "sha256-77uS/3ean3dWG/vDHG+ry238hiJlYub7H03f15eJu+I=";
+  };
+
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
+in
+appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraInstallCommands = ''
+    mv $out/bin/{${pname}-${version},${pname}}
+
+    install -Dm444 ${appimageContents}/${pname}.desktop -t $out/share/applications/
+    install -Dm444 ${appimageContents}/${pname}.png -t $out/share/pixmaps/
+  '';
+
+  extraPkgs = pkgs: with pkgs; [ libsecret ];
+
+  meta = with lib; {
+    description = "Open-source electronics prototyping platform";
+    homepage = "https://www.arduino.cc/en/software";
+    changelog = "https://github.com/arduino/arduino-ide/releases/tag/${version}";
+    license = licenses.agpl3Only;
+    mainProgram = "arduino-ide";
+    maintainers = with maintainers; [ clerie ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/ar/ark-pixel-font/package.nix b/pkgs/by-name/ar/ark-pixel-font/package.nix
new file mode 100644
index 0000000000000..f5ffd4f9b2c6e
--- /dev/null
+++ b/pkgs/by-name/ar/ark-pixel-font/package.nix
@@ -0,0 +1,60 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, nix-update-script
+, ...
+}:
+
+python3Packages.buildPythonPackage rec {
+  pname = "ark-pixel-font";
+  version = "2023.08.15";
+
+  src = fetchFromGitHub {
+    owner = "TakWolf";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Qaa3uuMCPrRG0wo2AGU0v+fonY1c/KuQYTGoyvITcio=";
+  };
+
+  format = "other";
+
+  nativeBuildInputs = with python3Packages; [
+    pixel-font-builder
+    unidata-blocks
+    character-encoding-utils
+    pypng
+    pillow
+    beautifulsoup4
+    jinja2
+    gitpython
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    python build.py
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 build/outputs/*.bdf -t $out/share/fonts/bdf
+    install -Dm444 build/outputs/*.otf -t $out/share/fonts/opentype
+    install -Dm444 build/outputs/*.ttf -t $out/share/fonts/truetype
+    install -Dm444 build/outputs/*.woff2 -t $out/share/fonts/woff2
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Open source pan-CJK pixel font";
+    homepage = "https://ark-pixel-font.takwolf.com/";
+    license = lib.licenses.ofl;
+    maintainers = with lib.maintainers; [ h7x4 ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix
new file mode 100644
index 0000000000000..936c39a7fdce3
--- /dev/null
+++ b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix
@@ -0,0 +1,147 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gitUpdater
+, nixosTests
+, testers
+, accountsservice
+, cmake
+, dbus-test-runner
+, withDocumentation ? true
+, docbook_xsl
+, docbook_xml_dtd_45
+, glib
+, gobject-introspection
+, gtest
+, gtk-doc
+, intltool
+, lomiri
+, pkg-config
+, python3
+, systemd
+, vala
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ayatana-indicator-messages";
+  version = "23.10.0";
+
+  src = fetchFromGitHub {
+    owner = "AyatanaIndicators";
+    repo = "ayatana-indicator-messages";
+    rev = finalAttrs.version;
+    hash = "sha256-FBJeP5hOXJcOk04cRJpw+oN7L3w3meDX3ivLmFWkhVI=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+  ] ++ lib.optionals withDocumentation [
+    "devdoc"
+  ];
+
+  postPatch = ''
+    # Uses pkg_get_variable, cannot substitute prefix with that
+    substituteInPlace data/CMakeLists.txt \
+      --replace "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user"
+
+    # Bad concatenation
+    substituteInPlace libmessaging-menu/messaging-menu.pc.in \
+      --replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \
+      --replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@'
+  '' + lib.optionalString (!withDocumentation) ''
+    sed -i CMakeLists.txt \
+      '/add_subdirectory(doc)/d'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    glib # For glib-compile-schemas
+    intltool
+    pkg-config
+    vala
+    wrapGAppsHook
+  ] ++ lib.optionals withDocumentation [
+    docbook_xsl
+    docbook_xml_dtd_45
+    gtk-doc
+  ];
+
+  buildInputs = [
+    accountsservice
+    lomiri.cmake-extras
+    glib
+    gobject-introspection
+    systemd
+  ];
+
+  nativeCheckInputs = [
+    (python3.withPackages (ps: with ps; [
+      pygobject3
+      python-dbusmock
+    ]))
+  ];
+
+  checkInputs = [
+    dbus-test-runner
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+    "-DGSETTINGS_LOCALINSTALL=ON"
+    "-DGSETTINGS_COMPILE=ON"
+  ];
+
+  makeFlags = lib.optionals withDocumentation [
+    # gtk-doc doesn't call ld with the correct arguments
+    # ld: ...: undefined reference to symbol 'strncpy@@GLIBC_2.2.5', 'qsort@@GLIBC_2.2.5'
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  preCheck = ''
+    # test-client imports gir, whose solib entry points to final store location
+    install -Dm644 libmessaging-menu/libmessaging-menu.so.0.0.0 $out/lib/libmessaging-menu.so.0
+  '';
+
+  postCheck = ''
+    # remove the above solib-installation, let it be done properly
+    rm -r $out
+  '';
+
+  preInstall = lib.optionalString withDocumentation ''
+    # installing regenerates docs, generated files are created without write permissions, errors out while trying to overwrite them
+    chmod +w doc/reference/html/*
+  '';
+
+  passthru = {
+    ayatana-indicators = [
+      "ayatana-indicator-messages"
+    ];
+    tests = {
+      pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+      vm = nixosTests.ayatana-indicators;
+    };
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Ayatana Indicator Messages Applet";
+    longDescription = ''
+      The -messages Ayatana System Indicator is the messages menu indicator for Unity7, MATE and Lomiri (optionally for
+      others, e.g. XFCE, LXDE).
+    '';
+    homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-messages";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ OPNA2608 ];
+    pkgConfigModules = [
+      "messaging-menu"
+    ];
+  };
+})
diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix
new file mode 100644
index 0000000000000..6149a049131f3
--- /dev/null
+++ b/pkgs/by-name/bn/bngblaster/package.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, cmocka
+, libdict
+, ncurses
+, jansson
+, openssl
+, libpcap
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "bngblaster";
+  version = "0.8.29";
+
+  src = fetchFromGitHub {
+    owner = "rtbrick";
+    repo = "bngblaster";
+    rev = finalAttrs.version;
+    hash = "sha256-yuWSGN7wLRksNjgr7c5GiC9JTN4T1PJV4Js1ZOGBKqA=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libdict
+    ncurses
+    jansson
+    openssl
+    cmocka
+  ] ++ lib.optionals finalAttrs.doCheck [
+    libpcap
+  ];
+
+  cmakeFlags = [
+    "-DBNGBLASTER_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DBNGBLASTER_VERSION=${finalAttrs.version}"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/rtbrick/bngblaster/";
+    changelog = "https://github.com/rtbrick/bngblaster/releases/tag/${finalAttrs.version}";
+    description = "network tester for access and routing protocols";
+    license = licenses.bsd3;
+    maintainers = teams.wdz.members;
+    badPlatforms = platforms.darwin;
+  };
+})
diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix
index 66d5126c5f31c..9be7b663d4f30 100644
--- a/pkgs/by-name/br/bruno/package.nix
+++ b/pkgs/by-name/br/bruno/package.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bruno";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb";
-    hash = "sha256-60YwXAukGnMiaYxVOcUgGa/r/If1pJC6pMyyltTfd1c=";
+    hash = "sha256-E9aVyZWqY8XTwoUbHaj8VM32Eex7GNQcEpg8Hkk2O0U=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ];
diff --git a/pkgs/by-name/ca/cargo-swift/package.nix b/pkgs/by-name/ca/cargo-swift/package.nix
new file mode 100644
index 0000000000000..e98dab10b058b
--- /dev/null
+++ b/pkgs/by-name/ca/cargo-swift/package.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-swift";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "antoniusnaumann";
+    repo = "cargo-swift";
+    rev = "v${version}";
+    hash = "sha256-dW0/h7uS0BEstiochACIySSKXsz+E6Tj5MaLtdin7gw=";
+  };
+
+  cargoHash = "sha256-LsjDeKfAvgVYM4qYyWq9MoXB4jIh870urrFHpiGCGPc=";
+
+  meta = with lib; {
+    description = "A cargo plugin to easily build Swift packages from Rust code";
+    homepage = "https://github.com/antoniusnaumann/cargo-swift";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ elliot ];
+  };
+}
diff --git a/pkgs/by-name/ca/cargo-vibe/package.nix b/pkgs/by-name/ca/cargo-vibe/package.nix
new file mode 100644
index 0000000000000..f884dd817c1da
--- /dev/null
+++ b/pkgs/by-name/ca/cargo-vibe/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, dbus
+, udev
+, openssl
+, darwin
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-vibe";
+  version = "unstable-2022-12-29";
+
+  src = fetchFromGitHub {
+    owner = "Shadlock0133";
+    repo = pname;
+    rev = "a54d87b080ff7d8b3207f83f8f434b226572f0fe";
+    hash = "sha256-0IwxbMcRH+6WgrzpcU5zfRuKs80XY0mDBjDE9DBnOFk=";
+  };
+  cargoHash = "sha256-mvFp1yPHl+2K2K44G3KAmvPYsalN25kkE3V/2eq2iqs=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    dbus
+    openssl
+  ]
+  ++ lib.optional stdenv.isLinux udev
+  ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit IOKit CoreBluetooth ]);
+
+  meta = with lib; {
+    description = "Cargo x Buttplug.io";
+    homepage = "https://github.com/shadlock0133/cargo-vibe";
+    license = licenses.mit;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/pkgs/desktops/arcan/cat9/default.nix b/pkgs/by-name/ca/cat9/package.nix
index 7bc6005b0c650..dac6f85656dcd 100644
--- a/pkgs/desktops/arcan/cat9/default.nix
+++ b/pkgs/by-name/ca/cat9/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cat9";
-  version = "unstable-2023-06-25";
+  version = "unstable-2023-11-06";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "cat9";
-    rev = "4d8a0c539a5c756acada96fd80e7eb3b9554ac05";
-    hash = "sha256-T3RPuldKTzHm0EdfdMOtHv9kcr9oE9YQgdzv/jjPPnc=";
+    rev = "a807776a85237ab0bdd0a712fb33c176fc295e30";
+    hash = "sha256-OlH8FgVBk76Qw+5mnsrryXOL9GbPJWlwUGtYlLuAPxQ=";
   };
 
   dontConfigure = true;
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/cat9";
     description = "A User shell for LASH";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ unlicense ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/cg/cgl/package.nix b/pkgs/by-name/cg/cgl/package.nix
new file mode 100644
index 0000000000000..e21029637181d
--- /dev/null
+++ b/pkgs/by-name/cg/cgl/package.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, clp
+, coin-utils
+, osi
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "cgl";
+  version = "0.60.8";
+
+  src = fetchFromGitHub {
+    owner = "coin-or";
+    repo = "Cgl";
+    rev = "releases/${finalAttrs.version}";
+    hash = "sha256-nyqrHC6UOKp1wn6Yvk+53oBn60wUqSWEPUrcNTuPN04=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    clp
+    coin-utils
+    osi
+  ];
+
+  meta = with lib; {
+    description = "Cut Generator Library";
+    homepage = "https://github.com/coin-or/Cgl";
+    license = licenses.epl20;
+    maintainers = with maintainers; [ wegank ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/cm/cmakerc/package.nix b/pkgs/by-name/cm/cmakerc/package.nix
new file mode 100644
index 0000000000000..cf96ae46db5e1
--- /dev/null
+++ b/pkgs/by-name/cm/cmakerc/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "cmrc";
+  version = "2.0.1";
+
+  src = fetchFromGitHub {
+    owner = "vector-of-bool";
+    repo = "cmrc";
+    rev = finalAttrs.version;
+    hash = "sha256-++16WAs2K9BKk8384yaSI/YD1CdtdyXVBIjGhqi4JIk=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install CMakeRC.cmake -DT $out/share/cmakerc/cmakerc-config.cmake
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "A Resource Compiler in a Single CMake Script";
+    homepage = "https://github.com/vector-of-bool/cmrc";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ guekka ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/co/codeium/package.nix b/pkgs/by-name/co/codeium/package.nix
index d84cb848cc7c2..5891372364d93 100644
--- a/pkgs/by-name/co/codeium/package.nix
+++ b/pkgs/by-name/co/codeium/package.nix
@@ -13,10 +13,10 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-6dbgmYyXOUuWGOFXcO9eEZVoRjRLWK906SJh27wZ+PY=";
-    aarch64-linux = "sha256-cO1+ZVXC25zO5msU6Nbp29vkkNFRQ2jKSxtCZw1H104=";
-    x86_64-darwin = "sha256-3KMSoFQz7kYinD4QbS82dIq6UDetfdky6ClIfP83ISg=";
-    aarch64-darwin = "sha256-bj8PVJ4pfrNXo1yn5UbkHflskZMS61+LM9hi9mtdXtk=";
+    x86_64-linux = "sha256-/6ss/VRH4ehEgC0DCMoGHxnJzD7zNJXWZ0ZAE5odyig=";
+    aarch64-linux = "sha256-vIAy/2FNIZINyfYedvAsvmXntcvzeCilDsoLtTDDE8c=";
+    x86_64-darwin = "sha256-1nqAaU6zQ4cMmYBDffNpeO6cPQqwx4efZGSPX6fRRZA=";
+    aarch64-darwin = "sha256-TjPOr7+GbEyE8s3XZNczkjAzlEhz9Gd47nhU6rQiga4=";
   }.${system} or throwSystem;
 
   bin = "$out/bin/codeium_language_server";
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "codeium";
-  version = "1.4.16";
+  version = "1.4.26";
   src = fetchurl {
     name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
     url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
diff --git a/pkgs/applications/editors/cosmic-edit/Cargo.lock b/pkgs/by-name/co/cosmic-edit/Cargo.lock
index 7a0af40f0bc54..4a0708f24f154 100644
--- a/pkgs/applications/editors/cosmic-edit/Cargo.lock
+++ b/pkgs/by-name/co/cosmic-edit/Cargo.lock
@@ -9,7 +9,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
 dependencies = [
  "ab_glyph_rasterizer",
- "owned_ttf_parser",
+ "owned_ttf_parser 0.20.0",
 ]
 
 [[package]]
@@ -49,9 +49,9 @@ source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663
 dependencies = [
  "accesskit",
  "accesskit_consumer",
- "async-channel",
+ "async-channel 1.9.0",
  "atspi",
- "futures-lite",
+ "futures-lite 1.13.0",
  "log",
  "serde",
  "zbus",
@@ -64,7 +64,7 @@ source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663
 dependencies = [
  "accesskit",
  "accesskit_consumer",
- "arrayvec",
+ "arrayvec 0.7.4",
  "once_cell",
  "paste",
  "windows",
@@ -79,7 +79,7 @@ dependencies = [
  "accesskit_macos",
  "accesskit_unix",
  "accesskit_windows",
- "winit",
+ "winit 0.28.6",
 ]
 
 [[package]]
@@ -98,6 +98,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
+name = "adler32"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+[[package]]
 name = "ahash"
 version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -114,7 +120,7 @@ version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -148,6 +154,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14"
 
 [[package]]
+name = "andrew"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c4afb09dd642feec8408e33f92f3ffc4052946f6b20f32fb99c1f58cd4fa7cf"
+dependencies = [
+ "bitflags 1.3.2",
+ "rusttype",
+ "walkdir",
+ "xdg",
+ "xml-rs",
+]
+
+[[package]]
 name = "android-activity"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -159,9 +178,9 @@ dependencies = [
  "jni-sys",
  "libc",
  "log",
- "ndk",
+ "ndk 0.7.0",
  "ndk-context",
- "ndk-sys",
+ "ndk-sys 0.4.1+23.1.7779620",
  "num_enum 0.6.1",
 ]
 
@@ -209,11 +228,23 @@ 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.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa"
+
+[[package]]
 name = "ash"
 version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -223,6 +254,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "ashpd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7370b58af1d7e96df3ca0f454b57e69acf9aa42ed2d7337bd206923bae0d5754"
+dependencies = [
+ "enumflags2",
+ "futures-channel",
+ "futures-util",
+ "once_cell",
+ "rand",
+ "serde",
+ "serde_repr",
+ "tokio",
+ "url",
+ "zbus",
+]
+
+[[package]]
 name = "async-broadcast"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -244,16 +293,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-channel"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 4.0.0",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "async-executor"
-version = "1.6.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.1.2",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite",
+ "futures-lite 2.0.1",
  "slab",
 ]
 
@@ -263,10 +325,10 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
@@ -275,38 +337,37 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
- "cfg-if",
+ "cfg-if 1.0.0",
  "concurrent-queue",
- "futures-lite",
+ "futures-lite 1.13.0",
  "log",
  "parking",
  "polling 2.8.0",
  "rustix 0.37.27",
  "slab",
- "socket2",
+ "socket2 0.4.10",
  "waker-fn",
 ]
 
 [[package]]
 name = "async-io"
-version = "2.1.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10da8f3146014722c89e7859e1d7bb97873125d7346d10ca642ffab794355828"
+checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff"
 dependencies = [
- "async-lock",
- "cfg-if",
+ "async-lock 3.1.2",
+ "cfg-if 1.0.0",
  "concurrent-queue",
  "futures-io",
- "futures-lite",
+ "futures-lite 2.0.1",
  "parking",
- "polling 3.3.0",
- "rustix 0.38.21",
+ "polling 3.3.1",
+ "rustix 0.38.25",
  "slab",
  "tracing",
- "waker-fn",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -319,19 +380,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-lock"
+version = "3.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
+dependencies = [
+ "event-listener 4.0.0",
+ "event-listener-strategy",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "async-process"
 version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
  "async-io 1.13.0",
- "async-lock",
+ "async-lock 2.8.0",
  "async-signal",
  "blocking",
- "cfg-if",
- "event-listener 3.0.1",
- "futures-lite",
- "rustix 0.38.21",
+ "cfg-if 1.0.0",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -343,7 +415,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -352,13 +424,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.1.0",
- "async-lock",
+ "async-io 2.2.1",
+ "async-lock 2.8.0",
  "atomic-waker",
- "cfg-if",
+ "cfg-if 1.0.0",
  "futures-core",
  "futures-io",
- "rustix 0.38.21",
+ "rustix 0.38.25",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -378,7 +450,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -402,10 +474,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 [[package]]
 name = "atomicwrites"
 version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4d45f362125ed144544e57b0ec6de8fd6a296d41a6252fc4a20c0cf12e9ed3a"
+source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768"
 dependencies = [
- "rustix 0.38.21",
+ "rustix 0.38.25",
  "tempfile",
  "windows-sys 0.48.0",
 ]
@@ -420,7 +491,7 @@ dependencies = [
  "async-trait",
  "atspi-macros",
  "enumflags2",
- "futures-lite",
+ "futures-lite 1.13.0",
  "serde",
  "tracing",
  "zbus",
@@ -451,9 +522,9 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
- "miniz_oxide",
+ "miniz_oxide 0.7.1",
  "object",
  "rustc-demangle",
 ]
@@ -545,21 +616,32 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.4.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel",
- "async-lock",
+ "async-channel 2.1.1",
+ "async-lock 3.1.2",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite",
+ "futures-lite 2.0.1",
  "piper",
  "tracing",
 ]
 
 [[package]]
+name = "bstr"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+dependencies = [
+ "memchr",
+ "regex-automata",
+ "serde",
+]
+
+[[package]]
 name = "bumpalo"
 version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -582,7 +664,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -592,6 +674,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
 name = "cairo-sys-rs"
 version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -603,6 +691,16 @@ dependencies = [
 
 [[package]]
 name = "calloop"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b036167e76041694579972c28cf4877b4f92da222560ddb49008937b6a6727c"
+dependencies = [
+ "log",
+ "nix 0.18.0",
+]
+
+[[package]]
+name = "calloop"
 version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
@@ -637,6 +735,12 @@ dependencies = [
 
 [[package]]
 name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
@@ -697,9 +801,25 @@ dependencies = [
  "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
- "core-foundation",
- "core-graphics",
- "foreign-types",
+ "core-foundation 0.9.3",
+ "core-graphics 0.22.3",
+ "foreign-types 0.3.2",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation 0.9.3",
+ "core-graphics 0.23.1",
+ "foreign-types 0.5.0",
  "libc",
  "objc",
 ]
@@ -712,7 +832,7 @@ checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
  "bitflags 1.3.2",
  "block",
- "core-foundation",
+ "core-foundation 0.9.3",
  "core-graphics-types",
  "libc",
  "objc",
@@ -751,30 +871,71 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
+dependencies = [
+ "core-foundation-sys 0.7.0",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
- "core-foundation-sys",
+ "core-foundation-sys 0.8.4",
  "libc",
 ]
 
 [[package]]
 name = "core-foundation-sys"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
+
+[[package]]
+name = "core-foundation-sys"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
 name = "core-graphics"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation 0.7.0",
+ "foreign-types 0.3.2",
+ "libc",
+]
+
+[[package]]
+name = "core-graphics"
 version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation",
+ "core-foundation 0.9.3",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.3.2",
+ "libc",
+]
+
+[[package]]
+name = "core-graphics"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation 0.9.3",
+ "core-graphics-types",
+ "foreign-types 0.5.0",
  "libc",
 ]
 
@@ -785,14 +946,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation",
+ "core-foundation 0.9.3",
  "libc",
 ]
 
 [[package]]
+name = "core-video-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828"
+dependencies = [
+ "cfg-if 0.1.10",
+ "core-foundation-sys 0.7.0",
+ "core-graphics 0.19.2",
+ "libc",
+ "objc",
+]
+
+[[package]]
 name = "cosmic-config"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "atomicwrites",
  "cosmic-config-derive",
@@ -806,7 +980,7 @@ dependencies = [
 [[package]]
 name = "cosmic-config-derive"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "quote",
  "syn 1.0.109",
@@ -818,14 +992,22 @@ version = "0.1.0"
 dependencies = [
  "cosmic-text 0.10.0",
  "env_logger",
- "fontdb 0.15.0",
+ "fork",
+ "grep",
  "i18n-embed",
  "i18n-embed-fl",
+ "ignore",
  "lazy_static",
  "libcosmic",
  "log",
+ "notify",
  "rfd",
  "rust-embed",
+ "serde",
+ "syntect",
+ "systemicons",
+ "tokio",
+ "two-face",
 ]
 
 [[package]]
@@ -851,19 +1033,20 @@ dependencies = [
 [[package]]
 name = "cosmic-text"
 version = "0.10.0"
-source = "git+https://github.com/pop-os/cosmic-text?branch=vi-editor#e62fea5efddb20fd1bc518e0d733a86f6858fa73"
+source = "git+https://github.com/pop-os/cosmic-text#daa5a6615c52d352e9c87d30e1ab35b8dd14bd91"
 dependencies = [
- "fontdb 0.15.0",
+ "cosmic_undo_2",
+ "fontdb 0.16.0",
  "libm",
  "log",
+ "modit",
  "rangemap",
  "rustc-hash",
  "rustybuzz 0.11.0",
- "self_cell 1.0.1",
+ "self_cell 1.0.2",
  "swash",
  "syntect",
  "sys-locale",
- "two-face",
  "unicode-bidi",
  "unicode-linebreak",
  "unicode-script",
@@ -873,7 +1056,7 @@ dependencies = [
 [[package]]
 name = "cosmic-theme"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "almost",
  "cosmic-config",
@@ -885,6 +1068,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "cosmic_undo_2"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afd123aba915d4643617882bd494db7aaa4be4f4ed84e7b8cee2fd45efe41afe"
+dependencies = [
+ "derivative",
+ "rustc_version",
+ "serde",
+]
+
+[[package]]
 name = "cpufeatures"
 version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -899,7 +1093,21 @@ version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "crossbeam"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
 ]
 
 [[package]]
@@ -908,7 +1116,7 @@ version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
@@ -918,7 +1126,7 @@ version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
@@ -930,19 +1138,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
 dependencies = [
  "autocfg",
- "cfg-if",
+ "cfg-if 1.0.0",
  "crossbeam-utils",
  "memoffset 0.9.0",
  "scopeguard",
 ]
 
 [[package]]
+name = "crossbeam-queue"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+dependencies = [
+ "cfg-if 1.0.0",
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "crossbeam-utils"
 version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
 ]
 
 [[package]]
@@ -978,6 +1196,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "ctor"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
+dependencies = [
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "cty"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
+
+[[package]]
 name = "d3d12"
 version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -990,12 +1224,36 @@ dependencies = [
 
 [[package]]
 name = "darling"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
+dependencies = [
+ "darling_core 0.10.2",
+ "darling_macro 0.10.2",
+]
+
+[[package]]
+name = "darling"
 version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
 dependencies = [
- "darling_core",
- "darling_macro",
+ "darling_core 0.20.3",
+ "darling_macro 0.20.3",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.9.3",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -1008,8 +1266,19 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.38",
+ "strsim 0.10.0",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
+dependencies = [
+ "darling_core 0.10.2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -1018,9 +1287,9 @@ version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
- "darling_core",
+ "darling_core 0.20.3",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1029,8 +1298,8 @@ version = "5.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
- "cfg-if",
- "hashbrown 0.14.2",
+ "cfg-if 1.0.0",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core 0.9.9",
@@ -1043,6 +1312,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
 
 [[package]]
+name = "deflate"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174"
+dependencies = [
+ "adler32",
+ "byteorder",
+]
+
+[[package]]
 name = "deranged"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1068,10 +1347,10 @@ version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4e8ef033054e131169b8f0f9a7af8f5533a9436fadf3c500ed547f730f07090d"
 dependencies = [
- "darling",
+ "darling 0.20.3",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1103,6 +1382,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if 1.0.0",
+ "dirs-sys-next",
+]
+
+[[package]]
 name = "dirs-sys"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1126,6 +1415,17 @@ dependencies = [
 ]
 
 [[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 = "dispatch"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1139,7 +1439,16 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "dlib"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b11f15d1e3268f140f68d390637d5e76d849782d971ae7063e0da69fe9709a76"
+dependencies = [
+ "libloading 0.6.7",
 ]
 
 [[package]]
@@ -1164,12 +1473,65 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
+name = "drm"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87"
+dependencies = [
+ "bitflags 2.4.1",
+ "bytemuck",
+ "drm-ffi",
+ "drm-fourcc",
+ "nix 0.27.1",
+]
+
+[[package]]
+name = "drm-ffi"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d"
+dependencies = [
+ "drm-sys",
+ "nix 0.27.1",
+]
+
+[[package]]
+name = "drm-fourcc"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
+
+[[package]]
+name = "drm-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae"
+
+[[package]]
 name = "either"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "encoding_rs_io"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
+dependencies = [
+ "encoding_rs",
+]
+
+[[package]]
 name = "enumflags2"
 version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1187,14 +1549,14 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -1211,12 +1573,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1231,9 +1593,9 @@ dependencies = [
 
 [[package]]
 name = "etagere"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcf22f748754352918e082e0039335ee92454a5d62bcaf69b5e8daf5907d9644"
+checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e"
 dependencies = [
  "euclid",
  "svg_fmt",
@@ -1256,9 +1618,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.0.1"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01cec0252c2afff729ee6f00e903d479fba81784c8e2bd77447673471fdfaea1"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1266,6 +1628,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exr"
 version = "1.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1275,7 +1658,7 @@ dependencies = [
  "flume",
  "half",
  "lebe",
- "miniz_oxide",
+ "miniz_oxide 0.7.1",
  "rayon-core",
  "smallvec",
  "zune-inflate",
@@ -1317,7 +1700,7 @@ version = "0.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "redox_syscall 0.3.5",
  "windows-sys 0.48.0",
@@ -1339,7 +1722,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide",
+ "miniz_oxide 0.7.1",
 ]
 
 [[package]]
@@ -1350,12 +1733,9 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 
 [[package]]
 name = "float_next_after"
-version = "0.1.5"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fc612c5837986b7104a87a0df74a5460931f1c5274be12f8d0f40aa2f30d632"
-dependencies = [
- "num-traits",
-]
+checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8"
 
 [[package]]
 name = "fluent"
@@ -1378,7 +1758,7 @@ dependencies = [
  "intl-memoizer",
  "intl_pluralrules",
  "rustc-hash",
- "self_cell 0.10.2",
+ "self_cell 0.10.3",
  "smallvec",
  "unic-langid",
 ]
@@ -1445,16 +1825,16 @@ dependencies = [
 
 [[package]]
 name = "fontdb"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
+checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6"
 dependencies = [
  "fontconfig-parser",
  "log",
- "memmap2 0.8.0",
+ "memmap2 0.9.0",
  "slotmap",
  "tinyvec",
- "ttf-parser 0.19.2",
+ "ttf-parser 0.20.0",
 ]
 
 [[package]]
@@ -1463,7 +1843,28 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 dependencies = [
- "foreign-types-shared",
+ "foreign-types-shared 0.1.1",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared 0.3.1",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1473,10 +1874,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "fork"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf2ca97a59201425e7ee4d197c9c4fea282fe87a97d666a580bda889b95b8e88"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1578,6 +1994,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-lite"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "futures-macro"
 version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1585,7 +2015,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1669,12 +2099,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "gethostname"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "js-sys",
  "libc",
  "wasi",
@@ -1683,6 +2123,16 @@ dependencies = [
 
 [[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 = "gif"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
@@ -1693,9 +2143,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio-sys"
@@ -1727,6 +2177,25 @@ dependencies = [
 ]
 
 [[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.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "log",
+ "regex-automata",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
 name = "glow"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1801,7 +2270,7 @@ checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
  "bitflags 2.4.1",
  "gpu-descriptor-types",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -1814,6 +2283,85 @@ dependencies = [
 ]
 
 [[package]]
+name = "grep"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e2b024ec1e686cb64d78beb852030b0e632af93817f1ed25be0173af0e94939"
+dependencies = [
+ "grep-cli",
+ "grep-matcher",
+ "grep-printer",
+ "grep-regex",
+ "grep-searcher",
+]
+
+[[package]]
+name = "grep-cli"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea40788c059ab8b622c4d074732750bfb3bd2912e2dd58eabc11798a4d5ad725"
+dependencies = [
+ "bstr",
+ "globset",
+ "libc",
+ "log",
+ "termcolor",
+ "winapi-util",
+]
+
+[[package]]
+name = "grep-matcher"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47a3141a10a43acfedc7c98a60a834d7ba00dfe7bec9071cbfc19b55b292ac02"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "grep-printer"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "743c12a03c8aee38b6e5bd0168d8ebb09345751323df4a01c56e792b1f38ceb2"
+dependencies = [
+ "bstr",
+ "grep-matcher",
+ "grep-searcher",
+ "log",
+ "serde",
+ "serde_json",
+ "termcolor",
+]
+
+[[package]]
+name = "grep-regex"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f748bb135ca835da5cbc67ca0e6955f968db9c5df74ca4f56b18e1ddbc68230d"
+dependencies = [
+ "bstr",
+ "grep-matcher",
+ "log",
+ "regex-automata",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "grep-searcher"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba536ae4f69bec62d8839584dd3153d3028ef31bb229f04e09fb5a9e5a193c54"
+dependencies = [
+ "bstr",
+ "encoding_rs",
+ "encoding_rs_io",
+ "grep-matcher",
+ "log",
+ "memchr",
+ "memmap2 0.9.0",
+]
+
+[[package]]
 name = "grid"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1853,7 +2401,7 @@ version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "crunchy",
 ]
 
@@ -1868,9 +2416,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash 0.8.6",
  "allocator-api2",
@@ -1931,7 +2479,7 @@ dependencies = [
  "serde",
  "serde_derive",
  "thiserror",
- "toml 0.8.6",
+ "toml 0.8.8",
  "unic-langid",
 ]
 
@@ -1973,28 +2521,28 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.38",
+ "strsim 0.10.0",
+ "syn 2.0.39",
  "unic-langid",
 ]
 
 [[package]]
 name = "i18n-embed-impl"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2a4d5bff745c9a6e1459c490059281b353a4ab0a4e1e58b3eeeaef71f97d07b"
+checksum = "81093c4701672f59416582fe3145676126fd23ba5db910acad0793c1108aaa58"
 dependencies = [
  "find-crate",
  "i18n-config",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "iced"
 version = "0.10.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_accessibility",
  "iced_core",
@@ -2002,14 +2550,14 @@ dependencies = [
  "iced_renderer",
  "iced_widget",
  "iced_winit",
- "image",
+ "image 0.24.7",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_accessibility"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "accesskit",
  "accesskit_winit",
@@ -2018,12 +2566,13 @@ dependencies = [
 [[package]]
 name = "iced_core"
 version = "0.10.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "bitflags 1.3.2",
  "instant",
  "log",
  "palette",
+ "serde",
  "thiserror",
  "twox-hash",
 ]
@@ -2031,11 +2580,12 @@ dependencies = [
 [[package]]
 name = "iced_futures"
 version = "0.7.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "futures",
  "iced_core",
  "log",
+ "tokio",
  "wasm-bindgen-futures",
  "wasm-timer",
 ]
@@ -2043,38 +2593,38 @@ dependencies = [
 [[package]]
 name = "iced_graphics"
 version = "0.9.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
  "glam",
  "half",
  "iced_core",
- "image",
+ "image 0.24.7",
  "kamadak-exif",
  "log",
  "lyon_path",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_renderer"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_graphics",
  "iced_tiny_skia",
  "iced_wgpu",
  "log",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_runtime"
 version = "0.1.1"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_core",
  "iced_futures",
@@ -2084,7 +2634,7 @@ dependencies = [
 [[package]]
 name = "iced_style"
 version = "0.9.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_core",
  "once_cell",
@@ -2094,14 +2644,14 @@ dependencies = [
 [[package]]
 name = "iced_tiny_skia"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "bytemuck",
  "cosmic-text 0.9.0",
  "iced_graphics",
  "kurbo",
  "log",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "resvg",
  "rustc-hash",
  "softbuffer",
@@ -2112,7 +2662,7 @@ dependencies = [
 [[package]]
 name = "iced_wgpu"
 version = "0.11.1"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -2124,7 +2674,7 @@ dependencies = [
  "log",
  "lyon",
  "once_cell",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "resvg",
  "rustc-hash",
  "twox-hash",
@@ -2134,7 +2684,7 @@ dependencies = [
 [[package]]
 name = "iced_widget"
 version = "0.1.3"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_renderer",
  "iced_runtime",
@@ -2148,18 +2698,18 @@ dependencies = [
 [[package]]
 name = "iced_winit"
 version = "0.10.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "iced_graphics",
  "iced_runtime",
  "iced_style",
  "log",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "thiserror",
  "web-sys",
  "winapi",
  "window_clipboard",
- "winit",
+ "winit 0.28.6",
 ]
 
 [[package]]
@@ -2170,15 +2720,50 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
+name = "ignore"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060"
+dependencies = [
+ "crossbeam-deque",
+ "globset",
+ "log",
+ "memchr",
+ "regex-automata",
+ "same-file",
+ "walkdir",
+ "winapi-util",
+]
+
+[[package]]
+name = "image"
+version = "0.23.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "gif 0.11.4",
+ "jpeg-decoder 0.1.22",
+ "num-iter",
+ "num-rational 0.3.2",
+ "num-traits",
+ "png 0.16.8",
+ "scoped_threadpool",
+ "tiff 0.6.1",
+]
+
+[[package]]
 name = "image"
 version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2188,13 +2773,13 @@ dependencies = [
  "byteorder",
  "color_quant",
  "exr",
- "gif",
- "jpeg-decoder",
- "num-rational",
+ "gif 0.12.0",
+ "jpeg-decoder 0.3.0",
+ "num-rational 0.4.1",
  "num-traits",
- "png",
+ "png 0.17.10",
  "qoi",
- "tiff",
+ "tiff 0.9.0",
 ]
 
 [[package]]
@@ -2220,7 +2805,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -2249,7 +2834,7 @@ version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "js-sys",
  "wasm-bindgen",
  "web-sys",
@@ -2292,7 +2877,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.21",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -2319,6 +2904,15 @@ dependencies = [
 
 [[package]]
 name = "jpeg-decoder"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
+name = "jpeg-decoder"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
@@ -2328,9 +2922,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2381,7 +2975,7 @@ version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b"
 dependencies = [
- "arrayvec",
+ "arrayvec 0.7.4",
 ]
 
 [[package]]
@@ -2397,17 +2991,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
+name = "lexical-core"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
+dependencies = [
+ "arrayvec 0.5.2",
+ "bitflags 1.3.2",
+ "cfg-if 1.0.0",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libcosmic"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic?branch=menu#ef6c21b647480e8bfea80e3dc628079de90f51c3"
+source = "git+https://github.com/pop-os/libcosmic#d6c8fbe268c3d37639098bc0d2021299e5dcf350"
 dependencies = [
  "apply",
+ "ashpd",
  "cosmic-config",
  "cosmic-theme",
  "css-color",
@@ -2428,9 +3036,21 @@ dependencies = [
  "slotmap",
  "taffy",
  "thiserror",
+ "tokio",
  "tracing",
  "unicode-segmentation",
  "url",
+ "zbus",
+]
+
+[[package]]
+name = "libloading"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
+dependencies = [
+ "cfg-if 1.0.0",
+ "winapi",
 ]
 
 [[package]]
@@ -2439,7 +3059,7 @@ version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "winapi",
 ]
 
@@ -2449,7 +3069,7 @@ version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "windows-sys 0.48.0",
 ]
 
@@ -2460,6 +3080,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "line-wrap"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2482,9 +3124,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
 
 [[package]]
 name = "locale_config"
@@ -2521,7 +3163,7 @@ version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21"
 dependencies = [
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -2536,9 +3178,9 @@ dependencies = [
 
 [[package]]
 name = "lyon_algorithms"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00a0349cd8f0270781bb93a824b63df6178e3b4a27794e7be3ce3763f5a44d6e"
+checksum = "a3bca95f9a4955b3e4a821fbbcd5edfbd9be2a9a50bb5758173e5358bfb4c623"
 dependencies = [
  "lyon_path",
  "num-traits",
@@ -2550,7 +3192,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad"
 dependencies = [
- "arrayvec",
+ "arrayvec 0.7.4",
  "euclid",
  "num-traits",
 ]
@@ -2567,9 +3209,9 @@ dependencies = [
 
 [[package]]
 name = "lyon_tessellation"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d2124218d5428149f9e09520b9acc024334a607e671f032d06567b61008977c"
+checksum = "23bcac20d47825850fabf1e869bf7c2bbe2daefa0776c3cd2eb7cb74635f6e4a"
 dependencies = [
  "float_next_after",
  "lyon_path",
@@ -2593,6 +3235,15 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memmap2"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b70ca2a6103ac8b665dc150b142ef0e4e89df640c9e6cf295d189c3caebe5a"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memmap2"
 version = "0.5.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
@@ -2611,9 +3262,9 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
 dependencies = [
  "libc",
 ]
@@ -2654,12 +3305,18 @@ dependencies = [
  "bitflags 1.3.2",
  "block",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.3.2",
  "log",
  "objc",
 ]
 
 [[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
 name = "minimal-lexical"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2667,6 +3324,25 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
+dependencies = [
+ "adler32",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
+dependencies = [
+ "adler",
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -2677,6 +3353,19 @@ dependencies = [
 
 [[package]]
 name = "mio"
+version = "0.7.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
+dependencies = [
+ "libc",
+ "log",
+ "miow",
+ "ntapi",
+ "winapi",
+]
+
+[[package]]
+name = "mio"
 version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
@@ -2688,6 +3377,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "mio-misc"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b47412f3a52115b936ff2a229b803498c7b4d332adeb87c2f1498c9da54c398c"
+dependencies = [
+ "crossbeam",
+ "crossbeam-queue",
+ "log",
+ "mio 0.7.14",
+]
+
+[[package]]
+name = "miow"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "modit"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b12ac86b3a7bf5696735981a33eb6c82c9d316c24653f8b24b4811173d824f69"
+dependencies = [
+ "log",
+]
+
+[[package]]
 name = "mutate_once"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2724,15 +3443,27 @@ dependencies = [
 
 [[package]]
 name = "ndk"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8794322172319b972f528bf90c6b467be0079f1fa82780ffb431088e741a73ab"
+dependencies = [
+ "jni-sys",
+ "ndk-sys 0.2.2",
+ "num_enum 0.5.11",
+ "thiserror",
+]
+
+[[package]]
+name = "ndk"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
 dependencies = [
  "bitflags 1.3.2",
  "jni-sys",
- "ndk-sys",
+ "ndk-sys 0.4.1+23.1.7779620",
  "num_enum 0.5.11",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "thiserror",
 ]
 
@@ -2743,6 +3474,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
+name = "ndk-glue"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5caf0c24d51ac1c905c27d4eda4fa0635bbe0de596b8f79235e0b17a4d29385"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "ndk 0.3.0",
+ "ndk-macro",
+ "ndk-sys 0.2.2",
+]
+
+[[package]]
+name = "ndk-macro"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d"
+dependencies = [
+ "darling 0.10.2",
+ "proc-macro-crate 0.1.5",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ndk-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121"
+
+[[package]]
 name = "ndk-sys"
 version = "0.4.1+23.1.7779620"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2753,13 +3517,37 @@ dependencies = [
 
 [[package]]
 name = "nix"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055"
+dependencies = [
+ "bitflags 1.3.2",
+ "cc",
+ "cfg-if 0.1.10",
+ "libc",
+]
+
+[[package]]
+name = "nix"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
+dependencies = [
+ "bitflags 1.3.2",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+]
+
+[[package]]
+name = "nix"
 version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
 dependencies = [
  "bitflags 1.3.2",
  "cc",
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "memoffset 0.6.5",
 ]
@@ -2771,7 +3559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
 dependencies = [
  "bitflags 1.3.2",
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "memoffset 0.6.5",
 ]
@@ -2784,7 +3572,7 @@ checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
 dependencies = [
  "autocfg",
  "bitflags 1.3.2",
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "memoffset 0.6.5",
 ]
@@ -2796,10 +3584,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "memoffset 0.7.1",
- "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.1",
+ "cfg-if 1.0.0",
+ "libc",
+]
+
+[[package]]
+name = "nom"
+version = "5.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b"
+dependencies = [
+ "lexical-core",
+ "memchr",
+ "version_check",
 ]
 
 [[package]]
@@ -2826,12 +3635,21 @@ dependencies = [
  "kqueue",
  "libc",
  "log",
- "mio",
+ "mio 0.8.9",
  "walkdir",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "ntapi"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "num"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2841,7 +3659,7 @@ dependencies = [
  "num-complex",
  "num-integer",
  "num-iter",
- "num-rational",
+ "num-rational 0.4.1",
  "num-traits",
 ]
 
@@ -2888,6 +3706,17 @@ dependencies = [
 
 [[package]]
 name = "num-rational"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
@@ -2942,7 +3771,7 @@ version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -2954,10 +3783,10 @@ version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3070,11 +3899,11 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
 name = "orbclient"
-version = "0.3.46"
+version = "0.3.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
 dependencies = [
- "redox_syscall 0.3.5",
+ "libredox 0.0.2",
 ]
 
 [[package]]
@@ -3118,7 +3947,16 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "owned_ttf_parser"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05e6affeb1632d6ff6a23d2cd40ffed138e82f1532571a26f527c8a284bb2fbb"
+dependencies = [
+ "ttf-parser 0.15.2",
 ]
 
 [[package]]
@@ -3151,7 +3989,7 @@ checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3199,7 +4037,7 @@ version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "instant",
  "libc",
  "redox_syscall 0.2.16",
@@ -3213,7 +4051,7 @@ version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "libc",
  "redox_syscall 0.4.1",
  "smallvec",
@@ -3228,9 +4066,9 @@ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -3262,7 +4100,7 @@ dependencies = [
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3297,7 +4135,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3331,20 +4169,32 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "plist"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
  "base64",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
  "line-wrap",
- "quick-xml 0.30.0",
+ "quick-xml 0.31.0",
  "serde",
  "time",
 ]
 
 [[package]]
 name = "png"
+version = "0.16.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "deflate",
+ "miniz_oxide 0.3.7",
+]
+
+[[package]]
+name = "png"
 version = "0.17.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
@@ -3353,7 +4203,7 @@ dependencies = [
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide",
+ "miniz_oxide 0.7.1",
 ]
 
 [[package]]
@@ -3364,7 +4214,7 @@ checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
 dependencies = [
  "autocfg",
  "bitflags 1.3.2",
- "cfg-if",
+ "cfg-if 1.0.0",
  "concurrent-queue",
  "libc",
  "log",
@@ -3374,16 +4224,16 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.0"
+version = "3.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531"
+checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.21",
+ "rustix 0.38.25",
  "tracing",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3400,6 +4250,15 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml 0.5.11",
+]
+
+[[package]]
+name = "proc-macro-crate"
 version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
@@ -3434,9 +4293,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -3458,18 +4317,18 @@ dependencies = [
 
 [[package]]
 name = "quick-xml"
-version = "0.28.2"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quick-xml"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
@@ -3527,6 +4386,25 @@ checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991"
 
 [[package]]
 name = "raw-window-handle"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28f55143d0548dad60bb4fbdc835a3d7ac6acc3324506450c5fdd6e42903a76"
+dependencies = [
+ "libc",
+ "raw-window-handle 0.4.3",
+]
+
+[[package]]
+name = "raw-window-handle"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41"
+dependencies = [
+ "cty",
+]
+
+[[package]]
+name = "raw-window-handle"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
@@ -3586,12 +4464,12 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox 0.0.1",
  "thiserror",
 ]
 
@@ -3642,11 +4520,11 @@ version = "0.35.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6554f47c38eca56827eea7f285c2a3018b4e12e0e195cc105833c008be338f1"
 dependencies = [
- "gif",
- "jpeg-decoder",
+ "gif 0.12.0",
+ "jpeg-decoder 0.3.0",
  "log",
  "pico-args",
- "png",
+ "png 0.17.10",
  "rgb",
  "svgtypes",
  "tiny-skia 0.10.0",
@@ -3669,7 +4547,7 @@ dependencies = [
  "objc",
  "objc-foundation",
  "objc_id",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
@@ -3726,7 +4604,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
- "syn 2.0.38",
+ "syn 2.0.39",
  "walkdir",
 ]
 
@@ -3746,7 +4624,7 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "ordered-multimap",
 ]
 
@@ -3763,6 +4641,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
+
+[[package]]
 name = "rustix"
 version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3778,18 +4665,28 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.21"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.10",
+ "linux-raw-sys 0.4.11",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "rusttype"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ff8374aa04134254b7995b63ad3dc41c7f7236f69528b28553da7d72efaa967"
+dependencies = [
+ "ab_glyph_rasterizer",
+ "owned_ttf_parser 0.15.2",
+]
+
+[[package]]
 name = "rustybuzz"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3867,6 +4764,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
+name = "scoped_threadpool"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
+
+[[package]]
 name = "scopeguard"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3880,40 +4783,58 @@ dependencies = [
  "ab_glyph",
  "log",
  "memmap2 0.5.10",
- "smithay-client-toolkit",
+ "smithay-client-toolkit 0.16.1",
  "tiny-skia 0.8.4",
 ]
 
 [[package]]
 name = "self_cell"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af"
+checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d"
+dependencies = [
+ "self_cell 1.0.2",
+]
 
 [[package]]
 name = "self_cell"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6"
+checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6"
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3935,7 +4856,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3953,7 +4874,7 @@ version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "cpufeatures",
  "digest",
 ]
@@ -3964,7 +4885,7 @@ version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "cpufeatures",
  "digest",
 ]
@@ -4019,9 +4940,28 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4750c76fd5d3ac95fa3ed80fe667d6a3d8590a960e5b575b98eea93339a80b80"
+dependencies = [
+ "andrew",
+ "bitflags 1.3.2",
+ "calloop 0.6.5",
+ "dlib 0.4.2",
+ "lazy_static",
+ "log",
+ "memmap2 0.1.0",
+ "nix 0.18.0",
+ "wayland-client 0.28.6",
+ "wayland-cursor 0.28.6",
+ "wayland-protocols 0.28.6",
+]
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -4029,16 +4969,16 @@ version = "0.16.1"
 source = "git+https://github.com/pop-os/client-toolkit?branch=wayland-resize#515820fc86cf8cb3ac8d087dc6c87852767627ca"
 dependencies = [
  "bitflags 1.3.2",
- "calloop",
- "dlib",
+ "calloop 0.10.6",
+ "dlib 0.5.2",
  "lazy_static",
  "log",
  "memmap2 0.5.10",
  "nix 0.24.3",
  "pkg-config",
  "wayland-client 0.29.5",
- "wayland-cursor",
- "wayland-protocols",
+ "wayland-cursor 0.29.5",
+ "wayland-protocols 0.29.5",
 ]
 
 [[package]]
@@ -4047,7 +4987,7 @@ version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8"
 dependencies = [
- "smithay-client-toolkit",
+ "smithay-client-toolkit 0.16.1",
  "wayland-client 0.29.5",
 ]
 
@@ -4062,30 +5002,43 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "softbuffer"
-version = "0.2.0"
-source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-2.0-old#ece901a9f60dc89ca740dc3bd11f3c909e801723"
+version = "0.3.3"
+source = "git+https://github.com/pop-os/softbuffer?tag=v0.3-cosmic#6f0371ccece51d124c6c5d37082189df0dc5f9ba"
 dependencies = [
+ "as-raw-xcb-connection",
  "bytemuck",
  "cfg_aliases",
- "cocoa",
- "core-graphics",
- "fastrand 1.9.0",
- "foreign-types",
+ "cocoa 0.25.0",
+ "core-graphics 0.23.1",
+ "drm",
+ "fastrand 2.0.1",
+ "foreign-types 0.5.0",
+ "js-sys",
  "log",
- "nix 0.26.4",
+ "memmap2 0.9.0",
  "objc",
- "raw-window-handle",
- "redox_syscall 0.3.5",
- "thiserror",
+ "raw-window-handle 0.5.2",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.25",
+ "tiny-xlib",
  "wasm-bindgen",
  "wayland-backend",
- "wayland-client 0.30.2",
- "wayland-sys 0.30.1",
+ "wayland-client 0.31.1",
+ "wayland-sys 0.31.1",
  "web-sys",
- "windows-sys 0.42.0",
- "x11-dl",
- "x11rb 0.11.1",
+ "windows-sys 0.48.0",
+ "x11rb 0.12.0",
 ]
 
 [[package]]
@@ -4130,6 +5083,12 @@ dependencies = [
 
 [[package]]
 name = "strsim"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
+
+[[package]]
+name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
@@ -4173,9 +5132,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4221,16 +5180,31 @@ dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml 0.8.6",
+ "toml 0.8.8",
  "version-compare",
 ]
 
 [[package]]
+name = "systemicons"
+version = "0.7.0"
+source = "git+https://github.com/jackpot51/systemicons#501887629ebf3f9b9d3384383da62d352af3fbd7"
+dependencies = [
+ "cocoa 0.24.1",
+ "freedesktop-icons",
+ "image 0.23.14",
+ "lazy_static",
+ "objc",
+ "winapi",
+ "winit 0.25.0",
+ "xdg-mime",
+]
+
+[[package]]
 name = "taffy"
 version = "0.3.11"
-source = "git+https://github.com/DioxusLabs/taffy#1876f72bee5e376023eaa518aa7b8a34c769bd1b"
+source = "git+https://github.com/DioxusLabs/taffy?rev=7781c70#7781c70241f7f572130c13106f2a869a9cf80885"
 dependencies = [
- "arrayvec",
+ "arrayvec 0.7.4",
  "grid",
  "num-traits",
  "slotmap",
@@ -4248,18 +5222,18 @@ version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "fastrand 2.0.1",
  "redox_syscall 0.4.1",
- "rustix 0.38.21",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -4281,7 +5255,18 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tiff"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437"
+dependencies = [
+ "jpeg-decoder 0.1.22",
+ "miniz_oxide 0.4.4",
+ "weezl",
 ]
 
 [[package]]
@@ -4291,7 +5276,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
 dependencies = [
  "flate2",
- "jpeg-decoder",
+ "jpeg-decoder 0.3.0",
  "weezl",
 ]
 
@@ -4331,10 +5316,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
 dependencies = [
  "arrayref",
- "arrayvec",
+ "arrayvec 0.7.4",
  "bytemuck",
- "cfg-if",
- "png",
+ "cfg-if 1.0.0",
+ "png 0.17.10",
  "tiny-skia-path 0.8.4",
 ]
 
@@ -4345,11 +5330,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7db11798945fa5c3e5490c794ccca7c6de86d3afdd54b4eb324109939c6f37bc"
 dependencies = [
  "arrayref",
- "arrayvec",
+ "arrayvec 0.7.4",
  "bytemuck",
- "cfg-if",
+ "cfg-if 1.0.0",
  "log",
- "png",
+ "png 0.17.10",
  "tiny-skia-path 0.10.0",
 ]
 
@@ -4376,10 +5361,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "tiny-xlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
+dependencies = [
+ "as-raw-xcb-connection",
+ "ctor",
+ "libloading 0.8.1",
+ "tracing",
+]
+
+[[package]]
 name = "tinystr"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0e245e80bdc9b4e5356fc45a72184abbc3861992603f515270e9340f5a219"
+checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
 dependencies = [
  "displaydoc",
 ]
@@ -4400,6 +5397,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
+name = "tokio"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio 0.8.9",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.5",
+ "tracing",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "toml"
 version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4410,14 +5425,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.20.7",
+ "toml_edit 0.21.0",
 ]
 
 [[package]]
@@ -4442,9 +5457,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 dependencies = [
  "indexmap 2.1.0",
  "serde",
@@ -4472,7 +5487,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -4486,6 +5501,12 @@ dependencies = [
 
 [[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.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
@@ -4519,7 +5540,7 @@ version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "rand",
  "static_assertions",
 ]
@@ -4569,6 +5590,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
 name = "unicode-bidi"
 version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4651,13 +5681,14 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
  "percent-encoding",
+ "serde",
 ]
 
 [[package]]
@@ -4763,36 +5794,36 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
 dependencies = [
- "cfg-if",
+ "cfg-if 1.0.0",
  "js-sys",
  "wasm-bindgen",
  "web-sys",
@@ -4800,9 +5831,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4810,22 +5841,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "wasm-timer"
@@ -4844,17 +5875,32 @@ dependencies = [
 
 [[package]]
 name = "wayland-backend"
-version = "0.1.2"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8"
+checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4"
 dependencies = [
  "cc",
  "downcast-rs",
- "io-lifetimes",
  "nix 0.26.4",
  "scoped-tls",
  "smallvec",
- "wayland-sys 0.30.1",
+ "wayland-sys 0.31.1",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3ab332350e502f159382201394a78e3cc12d0f04db863429260164ea40e0355"
+dependencies = [
+ "bitflags 1.3.2",
+ "downcast-rs",
+ "libc",
+ "nix 0.20.0",
+ "scoped-tls",
+ "wayland-commons 0.28.6",
+ "wayland-scanner 0.28.6",
+ "wayland-sys 0.28.6",
 ]
 
 [[package]]
@@ -4868,21 +5914,33 @@ dependencies = [
  "libc",
  "nix 0.24.3",
  "scoped-tls",
- "wayland-commons",
+ "wayland-commons 0.29.5",
  "wayland-scanner 0.29.5",
  "wayland-sys 0.29.5",
 ]
 
 [[package]]
 name = "wayland-client"
-version = "0.30.2"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
+checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
  "nix 0.26.4",
  "wayland-backend",
- "wayland-scanner 0.30.1",
+ "wayland-scanner 0.31.0",
+]
+
+[[package]]
+name = "wayland-commons"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21817947c7011bbd0a27e11b17b337bfd022e8544b071a2641232047966fbda"
+dependencies = [
+ "nix 0.20.0",
+ "once_cell",
+ "smallvec",
+ "wayland-sys 0.28.6",
 ]
 
 [[package]]
@@ -4899,6 +5957,17 @@ dependencies = [
 
 [[package]]
 name = "wayland-cursor"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be610084edd1586d45e7bdd275fe345c7c1873598caa464c4fb835dee70fa65a"
+dependencies = [
+ "nix 0.20.0",
+ "wayland-client 0.28.6",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-cursor"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
@@ -4910,18 +5979,41 @@ dependencies = [
 
 [[package]]
 name = "wayland-protocols"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "286620ea4d803bacf61fa087a4242ee316693099ee5a140796aaba02b29f861f"
+dependencies = [
+ "bitflags 1.3.2",
+ "wayland-client 0.28.6",
+ "wayland-commons 0.28.6",
+ "wayland-scanner 0.28.6",
+]
+
+[[package]]
+name = "wayland-protocols"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
 dependencies = [
  "bitflags 1.3.2",
  "wayland-client 0.29.5",
- "wayland-commons",
+ "wayland-commons 0.29.5",
  "wayland-scanner 0.29.5",
 ]
 
 [[package]]
 name = "wayland-scanner"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce923eb2deb61de332d1f356ec7b6bf37094dc5573952e1c8936db03b54c03f1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "xml-rs",
+]
+
+[[package]]
+name = "wayland-scanner"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
@@ -4933,43 +6025,54 @@ dependencies = [
 
 [[package]]
 name = "wayland-scanner"
-version = "0.30.1"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e"
+checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
 dependencies = [
  "proc-macro2",
- "quick-xml 0.28.2",
+ "quick-xml 0.30.0",
  "quote",
 ]
 
 [[package]]
 name = "wayland-sys"
+version = "0.28.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d841fca9aed7febf9bed2e9796c49bf58d4152ceda8ac949ebe00868d8f0feb8"
+dependencies = [
+ "dlib 0.5.2",
+ "lazy_static",
+ "pkg-config",
+]
+
+[[package]]
+name = "wayland-sys"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
 dependencies = [
- "dlib",
+ "dlib 0.5.2",
  "lazy_static",
  "pkg-config",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.30.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
 dependencies = [
- "dlib",
- "lazy_static",
+ "dlib 0.5.2",
  "log",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4987,14 +6090,14 @@ version = "0.16.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd"
 dependencies = [
- "arrayvec",
- "cfg-if",
+ "arrayvec 0.7.4",
+ "cfg-if 1.0.0",
  "js-sys",
  "log",
  "naga",
  "parking_lot 0.12.1",
  "profiling",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "smallvec",
  "static_assertions",
  "wasm-bindgen",
@@ -5011,7 +6114,7 @@ version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2"
 dependencies = [
- "arrayvec",
+ "arrayvec 0.7.4",
  "bit-vec",
  "bitflags 2.4.1",
  "codespan-reporting",
@@ -5019,7 +6122,7 @@ dependencies = [
  "naga",
  "parking_lot 0.12.1",
  "profiling",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "rustc-hash",
  "smallvec",
  "thiserror",
@@ -5035,14 +6138,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448"
 dependencies = [
  "android_system_properties",
- "arrayvec",
+ "arrayvec 0.7.4",
  "ash",
  "bit-set",
  "bitflags 2.4.1",
  "block",
  "core-graphics-types",
  "d3d12",
- "foreign-types",
+ "foreign-types 0.3.2",
  "glow",
  "gpu-alloc",
  "gpu-allocator",
@@ -5059,7 +6162,7 @@ dependencies = [
  "parking_lot 0.12.1",
  "profiling",
  "range-alloc",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "renderdoc-sys",
  "rustc-hash",
  "smallvec",
@@ -5137,7 +6240,7 @@ dependencies = [
  "clipboard_macos",
  "clipboard_wayland",
  "clipboard_x11",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "thiserror",
 ]
 
@@ -5176,21 +6279,6 @@ dependencies = [
 
 [[package]]
 name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
@@ -5208,6 +6296,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5238,6 +6335,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5250,6 +6362,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5262,6 +6380,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5274,6 +6398,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5286,6 +6416,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5298,6 +6434,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5310,6 +6452,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5322,6 +6470,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winit"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79610794594d5e86be473ef7763f604f2159cbac8c94debd00df8fb41e86c2f8"
+dependencies = [
+ "bitflags 1.3.2",
+ "cocoa 0.24.1",
+ "core-foundation 0.9.3",
+ "core-graphics 0.22.3",
+ "core-video-sys",
+ "dispatch",
+ "instant",
+ "lazy_static",
+ "libc",
+ "log",
+ "mio 0.7.14",
+ "mio-misc",
+ "ndk 0.3.0",
+ "ndk-glue",
+ "ndk-sys 0.2.2",
+ "objc",
+ "parking_lot 0.11.2",
+ "percent-encoding",
+ "raw-window-handle 0.3.4",
+ "scopeguard",
+ "smithay-client-toolkit 0.12.3",
+ "wayland-client 0.28.6",
+ "winapi",
+ "x11-dl",
+]
+
+[[package]]
 name = "winit"
 version = "0.28.6"
 source = "git+https://github.com/pop-os/winit.git?branch=master#c6ad672264b2e320cd15a531f67e133d9ecd39bf"
@@ -5329,26 +6515,26 @@ dependencies = [
  "android-activity",
  "bitflags 1.3.2",
  "cfg_aliases",
- "core-foundation",
- "core-graphics",
+ "core-foundation 0.9.3",
+ "core-graphics 0.22.3",
  "dispatch",
  "instant",
  "libc",
  "log",
- "mio",
- "ndk",
+ "mio 0.8.9",
+ "ndk 0.7.0",
  "objc2",
  "once_cell",
  "orbclient",
  "percent-encoding",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "redox_syscall 0.3.5",
  "sctk-adwaita",
- "smithay-client-toolkit",
+ "smithay-client-toolkit 0.16.1",
  "wasm-bindgen",
  "wayland-client 0.29.5",
- "wayland-commons",
- "wayland-protocols",
+ "wayland-commons 0.29.5",
+ "wayland-protocols 0.29.5",
  "wayland-scanner 0.29.5",
  "web-sys",
  "windows-sys 0.45.0",
@@ -5357,9 +6543,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.5.18"
+version = "0.5.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
 dependencies = [
  "memchr",
 ]
@@ -5381,7 +6567,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a"
 dependencies = [
- "gethostname",
+ "gethostname 0.2.3",
  "nix 0.22.3",
  "winapi",
  "winapi-wsapoll",
@@ -5389,14 +6575,15 @@ dependencies = [
 
 [[package]]
 name = "x11rb"
-version = "0.11.1"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf3c79412dd91bae7a7366b8ad1565a85e35dd049affc3a6a2c549e97419617"
+checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
 dependencies = [
- "gethostname",
+ "as-raw-xcb-connection",
+ "gethostname 0.3.0",
  "libc",
  "libloading 0.7.4",
- "nix 0.25.1",
+ "nix 0.26.4",
  "once_cell",
  "winapi",
  "winapi-wsapoll",
@@ -5405,11 +6592,11 @@ dependencies = [
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.11.1"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0b1513b141123073ce54d5bb1d33f801f17508fbd61e02060b1214e96d39c56"
+checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
 dependencies = [
- "nix 0.25.1",
+ "nix 0.26.4",
 ]
 
 [[package]]
@@ -5418,7 +6605,7 @@ version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
 dependencies = [
- "nom",
+ "nom 7.1.3",
 ]
 
 [[package]]
@@ -5438,6 +6625,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "xdg-mime"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87bf7b69bb50588d70a36e467be29d3df3e8c32580276d62eded9738c1a797aa"
+dependencies = [
+ "dirs-next",
+ "glob",
+ "mime",
+ "nom 5.1.3",
+ "unicase",
+]
+
+[[package]]
 name = "xml-rs"
 version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5480,7 +6680,7 @@ dependencies = [
  "async-executor",
  "async-fs",
  "async-io 1.13.0",
- "async-lock",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -5502,6 +6702,7 @@ dependencies = [
  "serde_repr",
  "sha1",
  "static_assertions",
+ "tokio",
  "tracing",
  "uds_windows",
  "winapi",
@@ -5517,7 +6718,7 @@ version = "3.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "regex",
@@ -5544,22 +6745,22 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697"
 
 [[package]]
 name = "zerocopy"
-version = "0.7.23"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e50cbb27c30666a6108abd6bc7577556265b44f243e2be89a8bc4e07a528c107"
+checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.23"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d"
+checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -5582,6 +6783,7 @@ dependencies = [
  "libc",
  "serde",
  "static_assertions",
+ "url",
  "zvariant_derive",
 ]
 
@@ -5591,7 +6793,7 @@ version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix
new file mode 100644
index 0000000000000..854fd81230450
--- /dev/null
+++ b/pkgs/by-name/co/cosmic-edit/package.nix
@@ -0,0 +1,97 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  rust,
+  rustPlatform,
+  cmake,
+  makeBinaryWrapper,
+  cosmic-icons,
+  just,
+  pkg-config,
+  libxkbcommon,
+  glib,
+  gtk3,
+  libinput,
+  fontconfig,
+  freetype,
+  wayland,
+  xorg,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cosmic-edit";
+  version = "unstable-2023-11-29";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = pname;
+    rev = "4a3dd101f35eb3c1c585f104d78ed4ee31d393d3";
+    hash = "sha256-pk+4u13oWZ4fgXy1tlDgq+E4J+UddjTNSexMm4dgBSo=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
+      "atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
+      "cosmic-config-0.1.0" = "sha256-wBliqZbRHYiwZmu0vHeIP5DFzg/1IeQP3aMxiYC88bo=";
+      "cosmic-text-0.10.0" = "sha256-fE5HkhITLw0OBfFLFMsKEJw5idO265i4S7qylHTt7C0=";
+      "sctk-adwaita-0.5.4" = "sha256-yK0F2w/0nxyKrSiHZbx7+aPNY2vlFs7s8nu/COp2KqQ=";
+      "softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k=";
+      "smithay-client-toolkit-0.16.1" = "sha256-z7EZThbh7YmKzAACv181zaEZmWxTrMkFRzP0nfsHK6c=";
+      "systemicons-0.7.0" = "sha256-zzAI+6mnpQOh+3mX7/sJ+w4a7uX27RduQ99PNxLNF78=";
+      "taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
+      "winit-0.28.6" = "sha256-FhW6d2XnXCGJUMoT9EMQew9/OPXiehy/JraeCiVd76M=";
+    };
+  };
+
+  postPatch = ''
+    substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    just
+    pkg-config
+    makeBinaryWrapper
+  ];
+  buildInputs = [
+    libxkbcommon
+    xorg.libX11
+    libinput
+    fontconfig
+    freetype
+    wayland
+    glib
+    gtk3
+  ];
+
+  dontUseJustBuild = true;
+
+  justFlags = [
+    "--set"
+    "prefix"
+    (placeholder "out")
+    "--set"
+    "bin-src"
+    "target/${
+      rust.lib.toRustTargetSpecShort stdenv.hostPlatform
+    }/release/cosmic-edit"
+  ];
+
+  # LD_LIBRARY_PATH can be removed once tiny-xlib is bumped above 0.2.2
+  postInstall = ''
+    wrapProgram "$out/bin/${pname}" \
+      --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 ]}
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/pop-os/cosmic-edit";
+    description = "Text Editor for the COSMIC Desktop Environment";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ahoneybun ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/co/cowsql/package.nix b/pkgs/by-name/co/cowsql/package.nix
index e4e346f8c39f5..c14846d67ca06 100644
--- a/pkgs/by-name/co/cowsql/package.nix
+++ b/pkgs/by-name/co/cowsql/package.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Embeddable, replicated and fault tolerant SQL engine";
     homepage = "https://github.com/cowsql/cowsql";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.unix;
   };
 })
diff --git a/pkgs/by-name/cp/cpu-x/package.nix b/pkgs/by-name/cp/cpu-x/package.nix
index e287d379fe726..aacb3ea752258 100644
--- a/pkgs/by-name/cp/cpu-x/package.nix
+++ b/pkgs/by-name/cp/cpu-x/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpu-x";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "X0rg";
     repo = "CPU-X";
     rev = "v${version}";
-    sha256 = "sha256-g3k9P7EevVeDHvnc1dG8cI4C7xhjrDy7gwdoWj6G6zA=";
+    sha256 = "sha256-tdxIbs5jR4sQHt1ZLUmiAYszP2e5SCMqEFq+eW1k7+s=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ];
diff --git a/pkgs/by-name/db/dbus-cpp/package.nix b/pkgs/by-name/db/dbus-cpp/package.nix
index 2e834111c9d9e..542601e7fb659 100644
--- a/pkgs/by-name/db/dbus-cpp/package.nix
+++ b/pkgs/by-name/db/dbus-cpp/package.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
     # pkg-config output patching hook expects prefix variable here
     substituteInPlace data/dbus-cpp.pc.in \
       --replace 'includedir=''${exec_prefix}' 'includedir=''${prefix}'
-  '' + lib.optionalString (!finalAttrs.doCheck) ''
+  '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
     sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
   '';
 
diff --git a/pkgs/by-name/do/doge/package.nix b/pkgs/by-name/do/doge/package.nix
new file mode 100644
index 0000000000000..975fbfa849229
--- /dev/null
+++ b/pkgs/by-name/do/doge/package.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+  fetchpatch,
+}:
+python3Packages.buildPythonPackage rec {
+  pname = "doge";
+  version = "3.6.0";
+
+  src = fetchFromGitHub {
+    owner = "Olivia5k";
+    repo = "doge";
+    rev = version;
+    hash = "sha256-72nRghD5k0ofrlvV3hEdyrr6uzV4+8At1bOCmRZTxhk=";
+  };
+
+  patches = [
+    # https://github.com/Olivia5k/doge/pull/66, adds a small doge
+    (fetchpatch {
+      url = "https://github.com/Olivia5k/doge/commit/14e3ccc0a3f1e91862492e20a34d008768a34039.patch";
+      hash = "sha256-3F+7F9RuoiVWoN+69T7tM871AXX1IQbHqFxD+S3TjxQ=";
+    })
+  ];
+
+  meta = {
+    homepage = "https://github.com/Olivia5k/doge";
+    description = "Wow very terminal doge";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [Gonzih quantenzitrone];
+    mainProgram = "doge";
+  };
+}
diff --git a/pkgs/by-name/dr/drone-scp/package.nix b/pkgs/by-name/dr/drone-scp/package.nix
new file mode 100644
index 0000000000000..3a0f0fc74f78d
--- /dev/null
+++ b/pkgs/by-name/dr/drone-scp/package.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+buildGoModule rec {
+  pname = "drone-scp";
+  version = "1.6.11";
+
+  src = fetchFromGitHub {
+    owner = "appleboy";
+    repo = "drone-scp";
+    rev = "v${version}";
+    hash = "sha256-JCqiYPhuPKDcbg8eo4DFuUVazu+0e0YTnG87NZRARMU=";
+  };
+
+  vendorHash = "sha256-zPpwvU/shSK1bfm0Qc2VjifSzDTpFnsUiogQfQcdY7I=";
+
+  # Needs a specific user...
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Copy files and artifacts via SSH using a binary, docker or Drone CI";
+    homepage = "https://github.com/appleboy/drone-scp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ambroisie ];
+    mainProgram = "drone-scp";
+  };
+}
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/by-name/du/durden/package.nix
index f6677b9823ffb..3d72e132964ae 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/by-name/du/durden/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "durden";
-  version = "unstable-2023-08-11";
+  version = "unstable-2023-10-23";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "durden";
-    rev = "728d7fc3292cc162b1cea505c8a71512b2e84925";
-    hash = "sha256-UL36JeppnoFDdzdsJMsWKJL58ioz9eOaNEZp/7DGV9w=";
+    rev = "347dba6da011bbaa70c6edaf82a2d915f4057db3";
+    hash = "sha256-iNf7fOzz7mf1CXG5leCenkSTrdCc9/KL8VLw8gUIyKE=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://durden.arcan-fe.com/";
     description = "Reference Desktop Environment for Arcan";
     longDescription = ''
@@ -36,8 +36,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       features in Arcan, and as a very competent entry to the advanced-user side
       of the desktop environment spectrum.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/em/emojify/package.nix b/pkgs/by-name/em/emojify/package.nix
new file mode 100644
index 0000000000000..05833d9316549
--- /dev/null
+++ b/pkgs/by-name/em/emojify/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "emojify";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "mrowa44";
+    repo = "emojify";
+    rev = version;
+    hash = "sha256-6cV+S8wTqJxPGsxiJ3hP6/CYPMWdF3qnz4ddL+F/oJU=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 emojify $out/bin/emojify
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Emoji on the command line";
+    homepage = "https://github.com/mrowa44/emojify";
+    license = licenses.mit;
+    maintainers = with maintainers; [ snowflake ];
+    platforms = platforms.all;
+    mainProgram = "emojify";
+  };
+}
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 0e4a312bdea7d..1097abd474063 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.16.2";
+  version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-AqOvhi/26Nl3ex6iJ9DxC/jMdgZ331VdrJTsjBrc490=";
+    hash = "sha256-DD9Ae397i1+rUPSyCSoPn66ZRy3WbbX/ZOIii3J60VU=";
   };
 
-  cargoHash = "sha256-1hZZvXOV6towMVpnlf4P8jZei2pAZTKAfi362RKL+Jo=";
+  cargoHash = "sha256-U0smzRUkJOFKrdW4bHY3OT8/MJ74MH2dFnrPVXzqcXk=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix
index 4fbec1a01ab3b..c59976c694c37 100644
--- a/pkgs/by-name/fl/flarectl/package.nix
+++ b/pkgs/by-name/fl/flarectl/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.80.0";
+  version = "0.82.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-Dks5tF+mHVmtj8Uh8eK50ZPZTW8p65Da08EHUnLfF7g=";
+    hash = "sha256-GWxtbPCo0t0HXCiLJEVtuJPiY8Ahlij8zaMwe67zjqU=";
   };
 
-  vendorHash = "sha256-gQxHJNPLVcnilMIv4drDCcQ8QJCyuZ6vejsuo0elIPw=";
+  vendorHash = "sha256-VGePv/RzX1t5+Ftp3iTKYxm3mN6rr+Kdav4jRIKim9E=";
 
   subPackages = [ "cmd/flarectl" ];
 
diff --git a/pkgs/by-name/fm/fmtoy/package.nix b/pkgs/by-name/fm/fmtoy/package.nix
new file mode 100644
index 0000000000000..a3fe819ae759e
--- /dev/null
+++ b/pkgs/by-name/fm/fmtoy/package.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, alsa-lib
+, libfmvoice
+, libjack2
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fmtoy";
+  version = "0.0.0-unstable-2023-05-21";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "fmtoy";
+    rev = "2b54180d8edd0de90e2af01bf9ff303bc916e893";
+    hash = "sha256-qoMw4P+QEw4Q/wKBvFPh+WxkmOW6qH9FuFFkO2ZRrMc=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+
+    substituteInPlace Makefile \
+      --replace 'pkg-config' "$PKG_CONFIG"
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    libjack2
+    zlib
+  ];
+
+  enableParallelBuilding = true;
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 fmtoy_jack $out/bin/fmtoy_jack
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "FM synthesiser based on emulated Yamaha YM chips (OPL, OPM and OPN series)";
+    homepage = "https://github.com/vampirefrog/fmtoy";
+    license = licenses.gpl3Only;
+    mainProgram = "fmtoy_jack";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/fo/fortune-kind/package.nix b/pkgs/by-name/fo/fortune-kind/package.nix
index ca88e6f2197a5..80403d149f305 100644
--- a/pkgs/by-name/fo/fortune-kind/package.nix
+++ b/pkgs/by-name/fo/fortune-kind/package.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fortune-kind";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "cafkafk";
     repo = "fortune-kind";
     rev = "v${version}";
-    hash = "sha256-sk1Gj+QgU9eUjRySHsJTfM/tUcyLdqOxycAdrBPUSmg=";
+    hash = "sha256-1abke8wPvIFTmvEJ83TdfONFPBuJHbgmVHAoKddoTRw=";
   };
 
-  cargoHash = "sha256-u2CwBV2sz2EIqwUR+sJ+xyvAIyoq3ujkx39e/Bq2V8s=";
+  cargoHash = "sha256-SRPhALRGkFZDl23Om/obg1Crd9yNXroN7F/7agobuqw=";
 
   nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/by-name/fr/framework-system-tools/Cargo.lock b/pkgs/by-name/fr/framework-system-tools/Cargo.lock
new file mode 100644
index 0000000000000..f887187a7c75c
--- /dev/null
+++ b/pkgs/by-name/fr/framework-system-tools/Cargo.lock
@@ -0,0 +1,1312 @@
+# 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 = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bit_field"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "built"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9c056b9ed43aee5e064b683aa1ec783e19c6acec7559e3ae931b7490472fbe"
+dependencies = [
+ "cargo-lock",
+ "chrono",
+ "git2",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+
+[[package]]
+name = "cargo-lock"
+version = "8.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996"
+dependencies = [
+ "semver",
+ "serde",
+ "toml",
+ "url",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+dependencies = [
+ "jobserver",
+]
+
+[[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 = "clap"
+version = "4.0.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39"
+dependencies = [
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+]
+
+[[package]]
+name = "clap-verbosity-flag"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de"
+dependencies = [
+ "clap",
+ "log",
+]
+
+[[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 1.0.107",
+]
+
+[[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 = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "core-foundation"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
+dependencies = [
+ "core-foundation-sys 0.6.2",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "cxx"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "derive_more"
+version = "0.99.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "rustc_version",
+ "syn 1.0.107",
+]
+
+[[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 = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "framework_lib"
+version = "0.1.0"
+dependencies = [
+ "built",
+ "clap",
+ "clap-verbosity-flag",
+ "env_logger",
+ "guid_macros",
+ "hidapi",
+ "lazy_static",
+ "libc",
+ "log",
+ "nix",
+ "no-std-compat",
+ "num",
+ "num-derive",
+ "num-traits",
+ "plain",
+ "redox_hwio",
+ "regex",
+ "rusb",
+ "smbios-lib",
+ "spin 0.9.4",
+ "uefi",
+ "uefi-services",
+ "windows 0.42.0",
+]
+
+[[package]]
+name = "framework_tool"
+version = "0.1.0"
+dependencies = [
+ "framework_lib",
+]
+
+[[package]]
+name = "framework_uefi"
+version = "0.1.0"
+dependencies = [
+ "framework_lib",
+ "log",
+ "uefi",
+ "uefi-services",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "git2"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1"
+dependencies = [
+ "bitflags",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "url",
+]
+
+[[package]]
+name = "guid_macros"
+version = "0.11.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hidapi"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a090a12b53564bcb2f6053b8be08d5f9e7b91f26953d6e8e08c9affd8aeb4ec9"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "winapi",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys 0.8.4",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows 0.48.0",
+]
+
+[[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 = "io-kit-sys"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f21dcc74995dd4cd090b147e79789f8d65959cbfb5f0b118002db869ea3bd0a0"
+dependencies = [
+ "core-foundation-sys 0.6.2",
+ "mach 0.2.3",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "jobserver"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+dependencies = [
+ "libc",
+]
+
+[[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 = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.14.2+1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libusb1-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d0e2afce4245f2c9a418511e5af8718bcaf2fa408aefb259504d1a9cb25f27"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[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 = "mach"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "mach"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "no-std-compat"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[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-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "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 = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[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.107",
+ "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.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_hwio"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eb516ad341a84372b5b15a5a35cf136ba901a639c8536f521b108253d7fce74"
+
+[[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-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "rusb"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "703aa035c21c589b34fb5136b12e68fc8dcf7ea46486861381361dd8ebf5cee0"
+dependencies = [
+ "libc",
+ "libusb1-sys",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+
+[[package]]
+name = "semver"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "smbios-lib"
+version = "0.9.1"
+source = "git+https://github.com/FrameworkComputer/smbios-lib.git?branch=no-std#b3e2fff8a6f4b8c2d729467cbbf0c8c41974cd1c"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys 0.6.2",
+ "getopts",
+ "io-kit-sys",
+ "libc",
+ "mach 0.3.2",
+ "no-std-compat",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+dependencies = [
+ "lock_api",
+]
+
+[[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.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[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.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ucs2"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8"
+dependencies = [
+ "bit_field",
+]
+
+[[package]]
+name = "uefi"
+version = "0.20.0"
+source = "git+https://github.com/FrameworkComputer/uefi-rs?branch=merged#76130a0f1c1585012e598b8c514526bac09c68e0"
+dependencies = [
+ "bitflags",
+ "derive_more",
+ "log",
+ "ptr_meta",
+ "ucs2",
+ "uefi-macros",
+]
+
+[[package]]
+name = "uefi-macros"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0caeb0e7b31b9f1f347e541106be10aa8c66c76fa722a3298a4cd21433fabd4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "uefi-services"
+version = "0.17.0"
+source = "git+https://github.com/FrameworkComputer/uefi-rs?branch=merged#76130a0f1c1585012e598b8c514526bac09c68e0"
+dependencies = [
+ "cfg-if",
+ "log",
+ "uefi",
+]
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[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",
+]
+
+[[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 = "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.107",
+ "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.107",
+ "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 = "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"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0286ba339aa753e70765d521bb0242cc48e1194562bfa2a2ad7ac8a6de28f5d5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.0",
+ "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 0.42.0",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.0",
+ "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 0.42.0",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/pkgs/by-name/fr/framework-system-tools/package.nix b/pkgs/by-name/fr/framework-system-tools/package.nix
new file mode 100644
index 0000000000000..fa225f574a99d
--- /dev/null
+++ b/pkgs/by-name/fr/framework-system-tools/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, udev
+}:
+
+let
+  rev = "491a587342a5d79366a25d803b7065169314279c";
+in rustPlatform.buildRustPackage {
+  pname = "framework-system-tools";
+  version = "unstable-2023-11-14";
+
+  src = fetchFromGitHub {
+    owner = "FrameworkComputer";
+    repo = "framework-system";
+    inherit rev;
+    hash = "sha256-qDtW4DvY19enCfkOBRaako9ngAkmSreoNWlL4QE2FAk=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    udev
+  ];
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "smbios-lib-0.9.1" = "sha256-3L8JaA75j9Aaqg1z9lVs61m6CvXDeQprEFRq+UDCHQo=";
+      "uefi-0.20.0" = "sha256-/3WNHuc27N89M7s+WT64SHyFOp7YRyzz6B+neh1vejY=";
+    };
+  };
+
+  meta = with lib; {
+    description = "Rust libraries and tools to interact with the framework system.";
+    homepage = "https://github.com/FrameworkComputer/framework-system";
+    mainProgram = "framework_tool";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ kloenk leona ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix
index ffe66b30279a4..b5d2e74a0746c 100644
--- a/pkgs/by-name/fr/frankenphp/package.nix
+++ b/pkgs/by-name/fr/frankenphp/package.nix
@@ -5,6 +5,8 @@
 , php
 , testers
 , frankenphp
+, darwin
+, pkg-config
 , runCommand
 , writeText
 }:
@@ -13,19 +15,22 @@ let
   phpEmbedWithZts = php.override {
     embedSupport = true;
     ztsSupport = true;
+    staticSupport = stdenv.isDarwin;
+    zendSignalsSupport = false;
+    zendMaxExecutionTimersSupport = stdenv.isLinux;
   };
   phpUnwrapped = phpEmbedWithZts.unwrapped;
   phpConfig = "${phpUnwrapped.dev}/bin/php-config";
   pieBuild = stdenv.hostPlatform.isMusl;
 in buildGoModule rec {
   pname = "frankenphp";
-  version = "1.0.0-rc.3";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "frankenphp";
     rev = "v${version}";
-    hash = "sha256-Al0gCxTb6s41ugX9J8N8lshop9kP3RPGCzlq5etk1RY=";
+    hash = "sha256-QgLCcZUDjeEdo8ijUXeubRkLI9DDlMctzHlGSjDCZoc=";
   };
 
   sourceRoot = "source/caddy";
@@ -36,6 +41,7 @@ in buildGoModule rec {
   vendorHash = "sha256-Lgj/pFtSQIgjrycajJ1zNY3ytvArmuk0E3IjsAzsNdM=";
 
   buildInputs = [ phpUnwrapped ] ++ phpUnwrapped.buildInputs;
+  nativeBuildInputs = lib.optionals stdenv.isDarwin [ pkg-config darwin.cctools darwin.autoSignDarwinBinariesHook ];
 
   subPackages = [ "frankenphp" ];
 
@@ -52,7 +58,15 @@ in buildGoModule rec {
     export CGO_CFLAGS="$(${phpConfig} --includes)"
     export CGO_LDFLAGS="-DFRANKENPHP_VERSION=${version} \
       $(${phpConfig} --ldflags) \
-      -Wl,--start-group $(${phpConfig} --libs) -Wl,--end-group"
+      $(${phpConfig} --libs)"
+  '' + lib.optionalString stdenv.isDarwin ''
+    # replace hard-code homebrew path
+    substituteInPlace ../frankenphp.go \
+      --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${darwin.libiconv}/lib"
+
+    # remove when https://github.com/dunglas/frankenphp/pull/331 is merged and released
+    substituteInPlace ../frankenphp.go \
+      --replace "darwin pkg-config: libxml-2.0 sqlite3" "darwin pkg-config: libxml-2.0"
   '';
 
   doCheck = false;
@@ -82,7 +96,7 @@ in buildGoModule rec {
     homepage = "https://github.com/dunglas/frankenphp";
     license = licenses.mit;
     mainProgram = "frankenphp";
-    maintainers = with maintainers; [ gaelreyrol ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ gaelreyrol shyim ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/by-name/ge/get-google-fonts/package.nix b/pkgs/by-name/ge/get-google-fonts/package.nix
new file mode 100644
index 0000000000000..64c4197e87613
--- /dev/null
+++ b/pkgs/by-name/ge/get-google-fonts/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildNpmPackage {
+  pname = "get-google-fonts";
+  version = "1.2.2-unstable-2020-06-30";
+
+  src = fetchFromGitHub {
+    owner = "MrMaxie";
+    repo = "get-google-fonts";
+    rev = "2f8b15f6d7072533ca2ad5e0b74ccf28a313e8c8";
+    hash = "sha256-LD+ur0GB2uefggQsdQRkKMwWB39HGiYYiJIrTLudcLc=";
+  };
+
+  patches = [
+    # update lock file to contain all necessary information
+    # https://github.com/MrMaxie/get-google-fonts/pull/27
+    (fetchpatch {
+      url = "https://github.com/MrMaxie/get-google-fonts/commit/f2c818fc7c9ee228db020305f432fd08eda7dc5f.patch";
+      hash = "sha256-BszZdAZWpnkNETKYvSElg0lCjgcP7BNeXfMvePKAio4=";
+    })
+  ];
+
+  npmDepsHash = "sha256-VUphB0Qq94rlcGrrsO2Nat/bD2IZTtdevGKsXFu/YdQ=";
+
+  dontBuild = true;
+
+  meta = with lib; {
+    description = "Downloads and adapts Google fonts to working offline";
+    homepage = "https://github.com/MrMaxie/get-google-fonts";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/by-name/gi/gickup/package.nix b/pkgs/by-name/gi/gickup/package.nix
index 366796bd7c016..27df84517349b 100644
--- a/pkgs/by-name/gi/gickup/package.nix
+++ b/pkgs/by-name/gi/gickup/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "gickup";
-  version = "0.10.22";
+  version = "0.10.23";
 
   src = fetchFromGitHub {
     owner = "cooperspencer";
     repo = "gickup";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pF8sckOSmih5rkDv7kvSL9gU4XwBrEIycjzEce01i64=";
+    hash = "sha256-IiiYmzFr4EVBIFr0tZRRq/FPVSE3goA1XiSPJS0QkJM=";
   };
 
   vendorHash = "sha256-kEy6Per8YibUHRp7E4jzkOgATq3Ub5WCNIe0WiHo2Ro=";
diff --git a/pkgs/by-name/gi/gifgen/package.nix b/pkgs/by-name/gi/gifgen/package.nix
new file mode 100644
index 0000000000000..49c87eda795de
--- /dev/null
+++ b/pkgs/by-name/gi/gifgen/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, ffmpeg
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gifgen";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "lukechilds";
+    repo = "gifgen";
+    rev = version;
+    hash = "sha256-ni9RL4LyMejmu8vm5HC8WSTqAPQMBQNRDOZ4ZfvrkSU=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 gifgen $out/bin/gifgen
+    wrapProgram $out/bin/gifgen \
+      --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Simple high quality GIF encoding";
+    homepage = "https://github.com/lukechilds/gifgen";
+    license = licenses.mit;
+    maintainers = with maintainers; [ snowflake ];
+    mainProgram = "gifgen";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/go/goredo/fix-tests.diff b/pkgs/by-name/go/goredo/fix-tests.diff
index 22b9c8f74385d..7bb4b45725e56 100644
--- a/pkgs/by-name/go/goredo/fix-tests.diff
+++ b/pkgs/by-name/go/goredo/fix-tests.diff
@@ -32,8 +32,8 @@ diff '--color=auto' -ru goredo-2.0.0/t/goredo-double-consideration.t goredo-2.0.
  redo-stamp <"\$3"
  EOF
 diff '--color=auto' -ru goredo-2.0.0/t/redo-sh.tests/clean.do goredo-2.0.0.new/t/redo-sh.tests/clean.do
---- goredo-2.0.0/t/redo-sh.tests/clean.do	2023-10-08 18:50:45.000000000 +0200
-+++ goredo-2.0.0.new/t/redo-sh.tests/clean.do	2023-10-08 20:19:29.213465244 +0200
+--- goredo-2.0.0/t/redo-sh.tests/clean	2023-10-08 18:50:45.000000000 +0200
++++ goredo-2.0.0.new/t/redo-sh.tests/clean	2023-10-08 20:19:29.213465244 +0200
 @@ -1,4 +1,4 @@
  for f in * ; do
      [ -d $f ] || continue
diff --git a/pkgs/by-name/go/goredo/package.nix b/pkgs/by-name/go/goredo/package.nix
index a81cb8ebd3071..a1c144508acd9 100644
--- a/pkgs/by-name/go/goredo/package.nix
+++ b/pkgs/by-name/go/goredo/package.nix
@@ -9,14 +9,17 @@
 
 buildGoModule rec {
   pname = "goredo";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "http://www.goredo.cypherpunks.ru/download/${pname}-${version}.tar.zst";
-    hash = "sha256-oUC/N6NLEVBrFC3tSEsWEXUBl5oyZNmqRTFWFbgL+zg=";
+    hash = "sha256-kVxCHXQ9PjaLYviB8sf8oHiFniyNrHMO6C/qSZhjK7k=";
   };
 
-  patches = [ ./fix-tests.diff ];
+  patches = [
+    # Adapt tests to Linux/nix-build requirements:
+    ./fix-tests.diff
+  ];
 
   nativeBuildInputs = [ zstd ];
 
diff --git a/pkgs/by-name/gu/guile-lzma/package.nix b/pkgs/by-name/gu/guile-lzma/package.nix
index 66dddeb88ff78..89a361ef9e4c9 100644
--- a/pkgs/by-name/gu/guile-lzma/package.nix
+++ b/pkgs/by-name/gu/guile-lzma/package.nix
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # In procedure bytevector-u8-ref: Argument 2 out of range
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     homepage = "https://ngyro.com/software/guile-lzma.html";
     description = "Guile wrapper for lzma library";
diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix
index e20a969f8347d..6549a9b8e2763 100644
--- a/pkgs/by-name/gu/guix/package.nix
+++ b/pkgs/by-name/gu/guix/package.nix
@@ -28,6 +28,10 @@
 , bzip2
 , libgcrypt
 , sqlite
+
+, stateDir ? "/var"
+, storeDir ? "/gnu/store"
+, confDir ? "/etc"
 }:
 
 stdenv.mkDerivation rec {
@@ -100,8 +104,9 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "--localstatedir=/var"
-    "--sysconfdir=/etc"
+    "--with-store-dir=${storeDir}"
+    "--localstatedir=${stateDir}"
+    "--sysconfdir=${confDir}"
     "--with-bash-completion-dir=$(out)/etc/bash_completion.d"
   ];
 
@@ -132,7 +137,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.gnu.org/software/guix";
     license = licenses.gpl3Plus;
     mainProgram = "guix";
-    maintainers = with maintainers; [ cafkafk ];
+    maintainers = with maintainers; [ cafkafk foo-dogsquared ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/handlr-regex/default.nix b/pkgs/by-name/ha/handlr-regex/package.nix
index 7b6b886524cff..253f821647a7e 100644
--- a/pkgs/tools/misc/handlr-regex/default.nix
+++ b/pkgs/by-name/ha/handlr-regex/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "handlr-regex";
-  version = "0.8.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "Anomalocaridid";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X0j62Ntu/ouBVm09iKxU3pps8mbL5V5gA65Maa4b0AY=";
+    hash = "sha256-ndFe5GlSWVUPdGRRWuImcLtcuOMoMXMyGGIa+CXfCug=";
   };
 
-  cargoSha256 = "sha256-byR7CM876z5tAXmbcUfI0CnJrc/D6CxfjBJhuJMSFmg=";
+  cargoHash = "sha256-lCClE8U4188q5rWEEkUt0peLEmYvLoE7vJ6Q9uB5HWg=";
 
   nativeBuildInputs = [ installShellFiles shared-mime-info ];
   buildInputs = [ libiconv ];
diff --git a/pkgs/by-name/ha/haredo/package.nix b/pkgs/by-name/ha/haredo/package.nix
new file mode 100644
index 0000000000000..277250170e5d2
--- /dev/null
+++ b/pkgs/by-name/ha/haredo/package.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, lib
+, fetchFromSourcehut
+, hare
+, scdoc
+, nix-update-script
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "haredo";
+  version = "1.0.5";
+
+  outputs = [ "out" "man" ];
+
+  src = fetchFromSourcehut {
+    owner = "~autumnull";
+    repo = "haredo";
+    rev = finalAttrs.version;
+    hash = "sha256-gpui5FVRw3NKyx0AB/4kqdolrl5vkDudPOgjHc/IE4U=";
+  };
+
+  nativeBuildInputs = [
+    hare
+    scdoc
+  ];
+
+  preBuild = ''
+    HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)"
+    export HARECACHE
+    export PREFIX=${builtins.placeholder "out"}
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./bootstrap.sh
+
+    runHook postBuild
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    ./bin/haredo test
+
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    ./bootstrap.sh install
+
+    runHook postInstall
+  '';
+
+  dontConfigure = true;
+  doCheck = true;
+
+  setupHook = ./setup-hook.sh;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "A simple and unix-idiomatic build automator";
+    homepage = "https://sr.ht/~autumnull/haredo/";
+    license = lib.licenses.wtfpl;
+    maintainers = with lib.maintainers; [ onemoresuza ];
+    mainProgram = "haredo";
+    inherit (hare.meta) platforms badPlatforms;
+  };
+})
diff --git a/pkgs/by-name/ha/haredo/setup-hook.sh b/pkgs/by-name/ha/haredo/setup-hook.sh
new file mode 100644
index 0000000000000..44eb453087dbd
--- /dev/null
+++ b/pkgs/by-name/ha/haredo/setup-hook.sh
@@ -0,0 +1,69 @@
+haredoBuildPhase() {
+    runHook preBuild
+
+    local buildTargets jobs
+    read -ra buildTargets <<<"${haredoBuildTargets-}"
+    echoCmd "haredo build targets" "${buildTargets[@]}"
+    if [[ ! -v enableParallelBuilding || -n "${enableParallelBuilding-}" ]]; then
+        jobs="${NIX_BUILD_CORES}"
+    fi
+    haredo ${jobs:+"-j${jobs}"} "${buildTargets[@]}"
+
+    runHook postBuild
+}
+
+haredoCheckPhase() {
+    runHook preCheck
+
+    local checkTargets jobs
+
+    if [[ -n "${haredoCheckTargets:-}" ]]; then
+        read -ra checkTargets <<<"${haredoCheckTargets}"
+    else
+        for dofile in "check.do" "test.do"; do
+            [[ -r "${dofile}" ]] && {
+                checkTargets=("${dofile%".do"}")
+                break
+            }
+        done
+    fi
+
+    if [[ -z "${checkTargets:-}" ]]; then
+        printf -- 'haredoCheckPhase ERROR: no check targets were found' 1>&2
+        exit 1
+    else
+        echoCmd "haredo check targets" "${checkTargets[@]}"
+        if [[ ! -v enableParallelChecking || -n "${enableParallelChecking-}" ]]; then
+            jobs="${NIX_BUILD_CORES}"
+        fi
+        haredo ${jobs:+"-j${jobs}"} "${checkTargets[@]}"
+    fi
+
+    runHook postCheck
+}
+
+haredoInstallPhase() {
+    runHook preInstall
+
+    local installTargets jobs
+    read -ra installTargets <<<"${haredoInstallTargets:-"install"}"
+    echoCmd "haredo install targets" "${installTargets[@]}"
+    if [[ ! -v enableParallelInstalling || -n "${enableParallelInstalling-}" ]]; then
+        jobs="${NIX_BUILD_CORES}"
+    fi
+    haredo ${jobs:+"-j${jobs}"} "${installTargets[@]}"
+
+    runHook postInstall
+}
+
+if [[ -z "${dontUseHaredoBuild-}" && -z "${buildPhase-}" ]]; then
+    buildPhase="haredoBuildPhase"
+fi
+
+if [[ -z "${dontUseHaredoCheck-}" && -z "${checkPhase-}" ]]; then
+    checkPhase="haredoCheckPhase"
+fi
+
+if [[ -z "${dontUseHaredoInstall-}" && -z "${installPhase-}" ]]; then
+    installPhase="haredoInstallPhase"
+fi
diff --git a/pkgs/by-name/ha/hayabusa/package.nix b/pkgs/by-name/ha/hayabusa/package.nix
new file mode 100644
index 0000000000000..c8064e982c4c0
--- /dev/null
+++ b/pkgs/by-name/ha/hayabusa/package.nix
@@ -0,0 +1,50 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, vulkan-loader
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "hayabusa";
+  version = "unstable-2023-11-29";
+
+  src = fetchFromGitHub {
+    owner = "notarin";
+    repo = "hayabusa";
+    rev = "306167c632173f6633e51c5610fe32af7718ec25";
+    hash = "sha256-e2zoVIhxcE9cUypi8Uzz3YZe2JvIaEVuWOGpqHVtxn8=";
+  };
+
+  cargoHash = "sha256-aoticMTrKZkRtjVXgdiBfyXJN3YcwBpM3yt07BBd3do=";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    vulkan-loader
+  ];
+
+  postPatch = ''
+    substituteInPlace src/daemon/hayabusa.service \
+      --replace "/usr/local" "$out"
+  '';
+
+  postInstall = ''
+    install -Dm444 src/daemon/hayabusa.service -t $out/lib/systemd/system/
+  '';
+
+  meta = {
+    description = "A swift rust fetch program";
+    homepage = "https://github.com/notarin/hayabusa";
+    license = lib.licenses.cc-by-nc-nd-40;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    mainProgram = "hayabusa";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ia/ia-writer-quattro/package.nix b/pkgs/by-name/ia/ia-writer-quattro/package.nix
new file mode 100644
index 0000000000000..2f103f7cdbb7d
--- /dev/null
+++ b/pkgs/by-name/ia/ia-writer-quattro/package.nix
@@ -0,0 +1,31 @@
+{ lib, stdenvNoCC, fetchFromGitHub, }:
+
+stdenvNoCC.mkDerivation {
+  pname = "ia-writer-quattro";
+  version = "unstable-2023-06-16";
+
+  src = fetchFromGitHub {
+    owner = "iaolo";
+    rev = "f32c04c3058a75d7ce28919ce70fe8800817491b";
+    repo = "iA-fonts";
+    hash = "sha256-2T165nFfCzO65/PIHauJA//S+zug5nUwPcg8NUEydfc=";
+  };
+
+  dontConfigure = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/truetype
+    cp -R $src/iA\ Writer\ Quattro/Static/*.ttf $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "iA Writer Quattro Typeface";
+    homepage = "https://github.com/iaolo/iA-Fonts";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.x0ba ];
+  };
+}
diff --git a/pkgs/by-name/im/immersed-vr/package.nix b/pkgs/by-name/im/immersed-vr/package.nix
index 0cf8ef3e17abf..70cce2b976300 100644
--- a/pkgs/by-name/im/immersed-vr/package.nix
+++ b/pkgs/by-name/im/immersed-vr/package.nix
@@ -16,10 +16,6 @@ appimageTools.wrapType2 rec {
     mv $out/bin/{${name},${pname}}
   '';
 
-  extraPkgs = pkgs: with pkgs; [
-    libthai
-  ];
-
   meta = with lib; {
     description = "A VR coworking platform";
     homepage = "https://immersed.com";
diff --git a/pkgs/by-name/in/incus-unwrapped/package.nix b/pkgs/by-name/in/incus-unwrapped/package.nix
index 3beeff04f4fd2..907b8ce291973 100644
--- a/pkgs/by-name/in/incus-unwrapped/package.nix
+++ b/pkgs/by-name/in/incus-unwrapped/package.nix
@@ -95,7 +95,7 @@ buildGoModule rec {
     homepage = "https://linuxcontainers.org/incus";
     changelog = "https://github.com/lxc/incus/releases/tag/incus-${version}";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/in/indiepass-desktop/package.nix b/pkgs/by-name/in/indiepass-desktop/package.nix
new file mode 100644
index 0000000000000..b028755fa67a0
--- /dev/null
+++ b/pkgs/by-name/in/indiepass-desktop/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, makeWrapper
+, electron
+}:
+
+buildNpmPackage rec {
+  pname = "indiepass-desktop";
+  version = "1.4.0-unstable-2023-05-19";
+
+  src = fetchFromGitHub {
+    owner = "indiepass";
+    repo = "indiepass-desktop";
+    rev = "751660324d6bfc6f95af08bf9bc92e892841f2b2";
+    hash = "sha256-cQqL8eNb23NFMWrK9xh6bZcr0EoYbyJiid+xXQRPqMk=";
+  };
+
+  npmDepsHash = "sha256-gp77eDxturBib0JRNVNSd+nDxQyVTJVKEj4ydB7eICE=";
+
+  env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+
+  dontNpmBuild = true;
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "indiepass";
+      icon = "indiepass";
+      comment = meta.description;
+      desktopName = "Indiepass";
+      genericName = "Feed Reader";
+    })
+  ];
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  postInstall = ''
+    install -Dm 644 $out/lib/node_modules/indiepass/images/icon.png $out/share/pixmaps/indiepass.png
+
+    makeWrapper ${electron}/bin/electron $out/bin/indiepass \
+      --add-flags $out/lib/node_modules/indiepass/main.js
+  '';
+
+  meta = with lib; {
+    description = "IndieWeb app with extensions for sharing to/reading from micropub endpoints";
+    homepage = "https://github.com/IndiePass/indiepass-desktop";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+    mainProgram = "indiepass";
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/ja/jazz2/package.nix b/pkgs/by-name/ja/jazz2/package.nix
index 5b95bb8c1875a..c90365bac287d 100644
--- a/pkgs/by-name/ja/jazz2/package.nix
+++ b/pkgs/by-name/ja/jazz2/package.nix
@@ -16,13 +16,13 @@
 assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "jazz2";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "deathkiller";
     repo = "jazz2-native";
     rev = finalAttrs.version;
-    hash = "sha256-1psMeuMV8GjS+uNlgtCvKpHgV9XW+vjviQTHBPjA4Lc=";
+    hash = "sha256-oBDBq2SToab94mK0kIB0H53jJMFZrHvsdPmfAd5ZjCY=";
   };
 
   patches = [ ./nocontent.patch ];
diff --git a/pkgs/by-name/ko/kor/package.nix b/pkgs/by-name/ko/kor/package.nix
new file mode 100644
index 0000000000000..69626d884297f
--- /dev/null
+++ b/pkgs/by-name/ko/kor/package.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kor";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "yonahd";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-emijYJL054UCOAUobspDqSc7LuQjUjT2E/rQKqJDvA8=";
+  };
+
+  vendorHash = "sha256-iAqptugku3qX6e45+YYf1bU9j2YntNQj82vR04bFMOQ=";
+
+  preCheck = ''
+    HOME=$(mktemp -d)
+    export HOME
+  '';
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "A Golang Tool to discover unused Kubernetes Resources";
+    homepage = "https://github.com/yonahd/kor";
+    changelog = "https://github.com/yonahd/kor/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivankovnatsky ];
+    mainProgram = "kor";
+  };
+}
diff --git a/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch b/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch
deleted file mode 100644
index 1b2ec4c1fd814..0000000000000
--- a/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tools/cpanfile b/tools/cpanfile
-index 7385aea7..22f9b069 100755
---- a/tools/cpanfile
-+++ b/tools/cpanfile
-@@ -20,7 +20,7 @@ requires 'Sort::Naturally',     1.03;
- requires 'Authen::Passphrase',  0.008;
- requires 'File::ReadBackwards', 1.05;
- requires 'URI::Escape',         1.74;
--requires 'URI',                 5.09;
-+requires 'URI',                 5.05;
- 
- # Used by Installer
- requires 'IPC::Cmd', 1.02;
diff --git a/pkgs/by-name/la/lanraragi/package.nix b/pkgs/by-name/la/lanraragi/package.nix
index 8b2ee5ff8c06f..2a18474e2d2c4 100644
--- a/pkgs/by-name/la/lanraragi/package.nix
+++ b/pkgs/by-name/la/lanraragi/package.nix
@@ -32,7 +32,6 @@ buildNpmPackage rec {
       hash = "sha256-Cu9d/dDlO0yuFCTKOyg5A0gIuiA+FcWD9PjexB/BK0U=";
     })
     ./install.patch
-    ./loosen-dep-reqs.patch # Can be removed once perl.pkgs.URI is updated
     ./fix-paths.patch
     ./expose-password-hashing.patch # Used by the NixOS module
   ];
diff --git a/pkgs/by-name/la/lazymc/Cargo.lock b/pkgs/by-name/la/lazymc/Cargo.lock
new file mode 100644
index 0000000000000..b604ac700665e
--- /dev/null
+++ b/pkgs/by-name/la/lazymc/Cargo.lock
@@ -0,0 +1,2079 @@
+# 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 = "anyhow"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
+
+[[package]]
+name = "async-channel"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "futures-core",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
+dependencies = [
+ "async-lock",
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+ "slab",
+]
+
+[[package]]
+name = "async-global-executor"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+dependencies = [
+ "async-channel",
+ "async-executor",
+ "async-io",
+ "async-lock",
+ "blocking",
+ "futures-lite",
+ "once_cell",
+]
+
+[[package]]
+name = "async-io"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
+dependencies = [
+ "async-lock",
+ "autocfg 1.1.0",
+ "concurrent-queue",
+ "futures-lite",
+ "libc",
+ "log",
+ "parking",
+ "polling",
+ "slab",
+ "socket2",
+ "waker-fn",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685"
+dependencies = [
+ "event-listener",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-std"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+dependencies = [
+ "async-channel",
+ "async-global-executor",
+ "async-io",
+ "async-lock",
+ "crossbeam-utils",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-lite",
+ "gloo-timers",
+ "kv-log-macro",
+ "log",
+ "memchr",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+ "wasm-bindgen-futures",
+]
+
+[[package]]
+name = "async-task"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599"
+
+[[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 0.3.9",
+]
+
+[[package]]
+name = "autocfg"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
+dependencies = [
+ "autocfg 1.1.0",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
+[[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 = "blocking"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
+dependencies = [
+ "async-channel",
+ "async-lock",
+ "async-task",
+ "atomic-waker",
+ "fastrand",
+ "futures-lite",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[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.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 0.3.9",
+]
+
+[[package]]
+name = "clap"
+version = "4.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
+dependencies = [
+ "bitflags",
+ "clap_lex",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+ "unicase",
+ "unicode-width",
+]
+
+[[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 = "cloudabi"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+dependencies = [
+ "bitflags",
+]
+
+[[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 0.3.9",
+]
+
+[[package]]
+name = "concurrent-queue"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[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 1.0.0",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[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.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90d59d9acd2a682b4e40605a242f6670eaa58c5957471cbf85e8aa6a0b97a5e8"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebfa40bda659dd5c864e65f4c9a2b0aff19bea56b017b9b77c73d3766a453a38"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "457ce6757c5c70dc6ecdbda6925b958aae7f959bda7d8fb9bde889e34a09dc03"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebf883b7aacd7b2aeb2a7b338648ee19f57c140d4ee8e52c68979c6b2f7f2263"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "derive_builder"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
+dependencies = [
+ "derive_builder_macro",
+]
+
+[[package]]
+name = "derive_builder_core"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "derive_builder_macro"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
+dependencies = [
+ "derive_builder_core",
+ "syn",
+]
+
+[[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 = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "dotenv"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
+
+[[package]]
+name = "env_logger"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
+dependencies = [
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "err-derive"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34a887c8df3ed90498c1c437ce21f211c8e27672921a8ffa293cb8d6d4caa9e"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn",
+ "synstructure",
+]
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[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 = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412"
+dependencies = [
+ "cfg-if 1.0.0",
+ "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",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fsevent"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
+dependencies = [
+ "bitflags",
+ "fsevent-sys",
+]
+
+[[package]]
+name = "fsevent-sys"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
+
+[[package]]
+name = "futures-lite"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
+
+[[package]]
+name = "futures-task"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
+
+[[package]]
+name = "futures-util"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "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.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "gloo-timers"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[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 = "humantime"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+dependencies = [
+ "quick-error",
+]
+
+[[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 0.3.9",
+]
+
+[[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 = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "inotify"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
+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 = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[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 = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys 0.45.0",
+]
+
+[[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 = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "kv-log-macro"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+dependencies = [
+ "log",
+]
+
+[[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 = "lazymc"
+version = "0.2.10"
+dependencies = [
+ "anyhow",
+ "async-std",
+ "base64",
+ "bytes",
+ "chrono",
+ "clap",
+ "colored",
+ "derive_builder",
+ "dotenv",
+ "flate2",
+ "futures",
+ "libc",
+ "log",
+ "md-5",
+ "minecraft-protocol",
+ "named-binary-tag",
+ "nix",
+ "notify",
+ "pretty_env_logger",
+ "proxy-protocol",
+ "quartz_nbt",
+ "rand 0.8.5",
+ "rcon",
+ "serde",
+ "serde_json",
+ "shlex",
+ "thiserror",
+ "tokio",
+ "toml",
+ "uuid",
+ "version-compare",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[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 = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if 1.0.0",
+ "value-bag",
+]
+
+[[package]]
+name = "md-5"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "md5"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e6bcd6433cff03a4bfc3d9834d504467db1f1cf6d0ea765d37d330249ed629d"
+
+[[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 1.1.0",
+]
+
+[[package]]
+name = "minecraft-protocol"
+version = "0.1.0"
+source = "git+https://github.com/timvisee/rust-minecraft-protocol?rev=edfdf87#edfdf876c0c21be02afdd885e3400983f3137ec9"
+dependencies = [
+ "byteorder",
+ "minecraft-protocol-derive",
+ "named-binary-tag",
+ "serde",
+ "serde_json",
+ "uuid",
+]
+
+[[package]]
+name = "minecraft-protocol-derive"
+version = "0.0.0"
+source = "git+https://github.com/timvisee/rust-minecraft-protocol?rev=edfdf87#edfdf876c0c21be02afdd885e3400983f3137ec9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
+[[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 = "mio-extras"
+version = "2.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
+dependencies = [
+ "lazycell",
+ "log",
+ "mio 0.6.23",
+ "slab",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
+]
+
+[[package]]
+name = "named-binary-tag"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523298fac63bd954f9a2e03b962b8a4a0e95110ad1b2fa3e0d7048660ffecec3"
+dependencies = [
+ "byteorder",
+ "flate2",
+ "linked-hash-map",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "libc",
+ "memoffset",
+ "pin-utils",
+ "static_assertions",
+]
+
+[[package]]
+name = "notify"
+version = "4.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
+dependencies = [
+ "bitflags",
+ "filetime",
+ "fsevent",
+ "fsevent-sys",
+ "inotify",
+ "libc",
+ "mio 0.6.23",
+ "mio-extras",
+ "walkdir",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg 1.1.0",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg 1.1.0",
+]
+
+[[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.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "parking"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
+
+[[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 = "polling"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6"
+dependencies = [
+ "autocfg 1.1.0",
+ "cfg-if 1.0.0",
+ "libc",
+ "log",
+ "wepoll-ffi",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "pretty_env_logger"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
+dependencies = [
+ "env_logger",
+ "log",
+]
+
+[[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 = "proxy-protocol"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e50c72c21c738f5c5f350cc33640aee30bf7cd20f9d9da20ed41bce2671d532"
+dependencies = [
+ "bytes",
+ "snafu",
+]
+
+[[package]]
+name = "quartz_nbt"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "348031720b71761481d77969dcb3c89ab06f04132ee1503aca1bd9313eef5e67"
+dependencies = [
+ "anyhow",
+ "byteorder",
+ "cesu8",
+ "flate2",
+ "quartz_nbt_macros",
+]
+
+[[package]]
+name = "quartz_nbt_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "289baa0c8a4d1f840d2de528a7f8c29e0e9af48b3018172b3edad4f716e8daed"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+dependencies = [
+ "autocfg 0.1.8",
+ "libc",
+ "rand_chacha 0.1.1",
+ "rand_core 0.4.2",
+ "rand_hc",
+ "rand_isaac",
+ "rand_jitter",
+ "rand_os",
+ "rand_pcg",
+ "rand_xorshift",
+ "winapi 0.3.9",
+]
+
+[[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.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+dependencies = [
+ "autocfg 0.1.8",
+ "rand_core 0.3.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.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
+name = "rand_isaac"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
+name = "rand_jitter"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
+dependencies = [
+ "libc",
+ "rand_core 0.4.2",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "rand_os"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+dependencies = [
+ "cloudabi",
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.4.2",
+ "rdrand",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "rand_pcg"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+dependencies = [
+ "autocfg 0.1.8",
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_xorshift"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
+name = "rcon"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b7fdd146f86bd90fa2d4cf83a28b45f058e90bcf11ed0cce134e757928771e6"
+dependencies = [
+ "async-std",
+ "bytes",
+ "err-derive",
+]
+
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.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 = "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 = "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 = "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 = "scratch"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
+
+[[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_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_json"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg 1.1.0",
+]
+
+[[package]]
+name = "snafu"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eab12d3c261b2308b0d80c26fffb58d17eba81a4be97890101f416b478c79ca7"
+dependencies = [
+ "doc-comment",
+ "snafu-derive",
+]
+
+[[package]]
+name = "snafu-derive"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1508efa03c362e23817f96cde18abed596a25219a8b2c66e8db33c03543d315b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[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.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[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 = "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.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 = "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 0.3.9",
+]
+
+[[package]]
+name = "tokio"
+version = "1.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
+dependencies = [
+ "autocfg 1.1.0",
+ "bytes",
+ "libc",
+ "memchr",
+ "mio 0.8.6",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[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-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[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 = "uuid"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
+dependencies = [
+ "md5",
+ "rand 0.6.5",
+ "serde",
+]
+
+[[package]]
+name = "value-bag"
+version = "1.0.0-alpha.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
+dependencies = [
+ "ctor",
+ "version_check",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "waker-fn"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+
+[[package]]
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+dependencies = [
+ "same-file",
+ "winapi 0.3.9",
+ "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 1.0.0",
+ "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 1.0.0",
+ "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 = "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 = "wepoll-ffi"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[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-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[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 0.3.9",
+]
+
+[[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 = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
diff --git a/pkgs/by-name/la/lazymc/package.nix b/pkgs/by-name/la/lazymc/package.nix
new file mode 100644
index 0000000000000..ea79235245f35
--- /dev/null
+++ b/pkgs/by-name/la/lazymc/package.nix
@@ -0,0 +1,42 @@
+{
+  lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+, nix-update-script
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lazymc";
+  version = "0.2.10";
+
+  src = fetchFromGitHub {
+    owner = "timvisee";
+    repo = "lazymc";
+    rev = "v${version}";
+    hash = "sha256-IObLjxuMJDjZ3M6M1DaPvmoRqAydbLKdpTQ3Vs+B9Oo=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "minecraft-protocol-0.1.0" = "sha256-vSFS1yVxTBSpx/ZhzA3EjcZyOWHbmoGARl0eMn1fJ+4=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Remote wake-up daemon for minecraft servers";
+    homepage = "https://github.com/timvisee/lazymc";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ h7x4 dandellion ];
+    platforms = platforms.unix;
+    mainProgram = "lazymc";
+  };
+}
diff --git a/pkgs/by-name/li/lib3270/package.nix b/pkgs/by-name/li/lib3270/package.nix
new file mode 100644
index 0000000000000..bdb74eceb2829
--- /dev/null
+++ b/pkgs/by-name/li/lib3270/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, which
+, pkg-config
+, autoconf
+, automake
+, libtool
+, gettext
+, openssl
+, curl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lib3270";
+  version = "5.4";
+
+  src = fetchFromGitHub {
+    owner = "PerryWerneck";
+    repo = pname;
+    rev = version;
+    hash = "sha256-w6Bg+TvSDAuZwtu/nyAIuq6pgheM5nXtfuryECfnKng=";
+  };
+
+  nativeBuildInputs = [
+    which
+    pkg-config
+    autoconf
+    automake
+    libtool
+  ];
+
+  buildInputs = [
+    gettext
+    openssl
+    curl
+  ];
+
+  postPatch = ''
+    # Patch the required version.
+    sed -i -e "s/20211118/19800101/" src/core/session.c
+  '';
+
+  preConfigure = ''
+    NOCONFIGURE=1 sh autogen.sh
+  '';
+
+  enableParallelBuilds = true;
+
+  meta = with lib; {
+    description = "TN3270 client Library";
+    homepage = "https://github.com/PerryWerneck/lib3270";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.vifino ];
+  };
+}
diff --git a/pkgs/by-name/li/libdict/package.nix b/pkgs/by-name/li/libdict/package.nix
new file mode 100644
index 0000000000000..1c6e770299ca0
--- /dev/null
+++ b/pkgs/by-name/li/libdict/package.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, cunit
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libdict";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "rtbrick";
+    repo = "libdict";
+    rev = finalAttrs.version;
+    hash = "sha256-JM67lpXGacA0w8luQLc/83mAdHgtXnYlw543gUqUpRM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    cunit
+  ];
+
+  cmakeFlags = [
+    "-DLIBDICT_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DLIBDICT_SHARED=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/rtbrick/libdict/";
+    changelog = "https://github.com/rtbrick/libdict/releases/tag/${version}";
+    description = "C library of key-value data structures";
+    license = licenses.bsd2;
+    maintainers = teams.wdz.members;
+  };
+})
diff --git a/pkgs/by-name/li/libfmvoice/package.nix b/pkgs/by-name/li/libfmvoice/package.nix
new file mode 100644
index 0000000000000..06284bfd5eafb
--- /dev/null
+++ b/pkgs/by-name/li/libfmvoice/package.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libfmvoice";
+  version = "0.0.0-unstable-2023-12-05";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "libfmvoice";
+    rev = "38b1a0c627ef66fcd9c672c215d2b9849163df12";
+    hash = "sha256-kXthY9TynIXNX9wmgn13vs4Mrrv/dmEr7zlWiKstjGk=";
+  };
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    for prog in $(grep 'PROGS=' Makefile | cut -d'=' -f2); do
+      install -Dm755 $prog $out/bin/$prog
+    done
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "C library for loading, saving and converting FM sound chip voice files in various formats";
+    homepage = "https://github.com/vampirefrog/libfmvoice";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/by-name/li/libmbd/package.nix b/pkgs/by-name/li/libmbd/package.nix
new file mode 100644
index 0000000000000..ccb42ef49cfb7
--- /dev/null
+++ b/pkgs/by-name/li/libmbd/package.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, cmake
+, mpi
+, blas
+, lapack
+, scalapack
+, gfortran
+} :
+
+assert !blas.isILP64;
+assert !lapack.isILP64;
+
+stdenv.mkDerivation rec {
+  pname = "libMBD";
+  version = "0.12.7";
+
+  src = fetchFromGitHub {
+    owner = "libmbd";
+    repo = pname;
+    rev = version;
+    hash = "sha256-39cvOUTAuuWLGOLdapR5trmCttCnijOWvPhSBTeTxTA=";
+  };
+
+  preConfigure = ''
+    cat > cmake/libMBDVersionTag.cmake << EOF
+      set(VERSION_TAG "${version}")
+    EOF
+  '';
+
+  nativeBuildInputs = [ cmake gfortran ];
+
+  buildInputs = [ blas lapack scalapack ];
+
+  propagatedBuildInputs = [ mpi ];
+
+  meta = with lib; {
+    description = "Many-body dispersion library";
+    homepage = "https://github.com/libmbd/libmbd";
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/by-name/li/librda/package.nix b/pkgs/by-name/li/librda/package.nix
new file mode 100644
index 0000000000000..793783a2bae9e
--- /dev/null
+++ b/pkgs/by-name/li/librda/package.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, testers
+, autoreconfHook
+, glib
+, gobject-introspection
+, gtk3
+, intltool
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "librda";
+  version = "0.0.5-unstable-2023-09-15";
+
+  src = fetchFromGitHub {
+    owner = "ArcticaProject";
+    repo = "librda";
+    rev = "d7ed1368145e39b0c761947a32fa50493e70f554";
+    hash = "sha256-k6dmwIndLy9S7f0AU7FIm1S7MYfyvDuhMLMuNgHGsYo=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+    "bin"
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    glib
+    gobject-introspection
+    intltool
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
+  meta = with lib; {
+    description = "Remote Desktop Awareness Shared Library";
+    homepage = "https://github.com/ArcticaProject/librda";
+    license = licenses.gpl2Plus;
+    mainProgram = "rdacheck";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "rda"
+    ];
+  };
+})
diff --git a/pkgs/by-name/li/libv3270/package.nix b/pkgs/by-name/li/libv3270/package.nix
new file mode 100644
index 0000000000000..90b6fd9f2832c
--- /dev/null
+++ b/pkgs/by-name/li/libv3270/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, which
+, pkg-config
+, gtk3
+, lib3270
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libv3270";
+  version = "5.4";
+
+  src = fetchFromGitHub {
+    owner = "PerryWerneck";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Z3FvxPa1pfeECxfB5ZL6gwhkbTKFpfO3D/zLVLF+uiI=";
+  };
+
+  nativeBuildInputs = [
+    which
+    pkg-config
+    autoconf
+    automake
+    libtool
+  ];
+
+  buildInputs = [
+    gtk3
+    lib3270
+  ];
+
+  postPatch = ''
+    # lib3270_build_data_filename is relative to lib3270's share - not ours.
+    for f in $(find . -type f -iname "*.c"); do
+      sed -i -e "s@lib3270_build_data_filename(@g_build_filename(\"$out/share/pw3270\", @" "$f"
+    done
+  '';
+
+  preConfigure = ''
+    mkdir -p scripts
+    touch scripts/config.rpath
+    NOCONFIGURE=1 sh ./autogen.sh
+  '';
+
+  enableParallelBuilds = true;
+
+  meta = with lib; {
+    description = "3270 Virtual Terminal for GTK";
+    homepage = "https://github.com/PerryWerneck/libv3270";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.vifino ];
+  };
+}
diff --git a/pkgs/by-name/li/linien-gui/package.nix b/pkgs/by-name/li/linien-gui/package.nix
new file mode 100644
index 0000000000000..ba6f6d6b58939
--- /dev/null
+++ b/pkgs/by-name/li/linien-gui/package.nix
@@ -0,0 +1,47 @@
+{ lib
+, python3
+, qt5
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "linien-gui";
+  pyproject = true;
+
+  inherit (python3.pkgs.linien-common) src version;
+
+  sourceRoot = "source/linien-gui";
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ] ++ [
+    qt5.wrapQtAppsHook
+  ];
+
+  # Makes qt-wayland appear in the qt paths injected by the wrapper - helps users
+  # with `QT_QPA_PLATFORM=wayland` in their environment.
+  buildInputs = [
+    qt5.qtwayland
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    click
+    pyqtgraph
+    pyqt5
+    superqt
+    linien-client
+  ];
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    description = "Graphical user interface of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-gui";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/by-name/lo/loupe/package.nix b/pkgs/by-name/lo/loupe/package.nix
index 2d32c70788ece..a42fb0f87d59b 100644
--- a/pkgs/by-name/lo/loupe/package.nix
+++ b/pkgs/by-name/lo/loupe/package.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "loupe";
-  version = "45.1";
+  version = "45.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/loupe/${lib.versions.major version}/loupe-${version}.tar.xz";
-    hash = "sha256-nX+ieKEASHKUQZoopvCo1ZGL2XnRy0tGqF6Pfe0U0+w=";
+    hash = "sha256-uLP/rzZXAmsX4E8Z4EDLqNUetNDKtU5CKVsOWlJxwKs=";
   };
 
   patches = [
diff --git a/pkgs/by-name/lx/lxd-to-incus/package.nix b/pkgs/by-name/lx/lxd-to-incus/package.nix
index 1f416df6b2a4c..c08dda5a4d861 100644
--- a/pkgs/by-name/lx/lxd-to-incus/package.nix
+++ b/pkgs/by-name/lx/lxd-to-incus/package.nix
@@ -33,7 +33,7 @@ buildGoModule rec {
     description = "LXD to Incus migration tool";
     homepage = "https://linuxcontainers.org/incus";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/ma/maid/Gemfile b/pkgs/by-name/ma/maid/Gemfile
new file mode 100644
index 0000000000000..9ac699f872dcf
--- /dev/null
+++ b/pkgs/by-name/ma/maid/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+gem 'maid', '~> 0.10.0'
+gem 'rake'
diff --git a/pkgs/by-name/ma/maid/Gemfile.lock b/pkgs/by-name/ma/maid/Gemfile.lock
new file mode 100644
index 0000000000000..c78adf5ba292d
--- /dev/null
+++ b/pkgs/by-name/ma/maid/Gemfile.lock
@@ -0,0 +1,55 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    concurrent-ruby (1.2.2)
+    deprecated (3.0.1)
+    dimensions (1.3.0)
+    escape (0.0.4)
+    et-orbi (1.2.7)
+      tzinfo
+    exifr (1.3.10)
+    ffi (1.15.5)
+    fugit (1.8.1)
+      et-orbi (~> 1, >= 1.2.7)
+      raabro (~> 1.4)
+    geocoder (1.8.2)
+    listen (3.8.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
+    maid (0.10.0)
+      deprecated (~> 3.0.0)
+      dimensions (>= 1.0.0, < 2.0)
+      escape (>= 0.0.1, < 0.1.0)
+      exifr (~> 1.3.10)
+      geocoder (~> 1.8.1)
+      listen (~> 3.8.0)
+      mime-types (~> 3.0, < 4.0)
+      rubyzip (~> 2.3.2)
+      rufus-scheduler (~> 3.8.2)
+      thor (~> 1.2.1)
+      xdg (~> 2.2.3)
+    mime-types (3.5.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2023.0808)
+    raabro (1.4.0)
+    rake (13.0.6)
+    rb-fsevent (0.11.2)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
+    rubyzip (2.3.2)
+    rufus-scheduler (3.8.2)
+      fugit (~> 1.1, >= 1.1.6)
+    thor (1.2.2)
+    tzinfo (2.0.6)
+      concurrent-ruby (~> 1.0)
+    xdg (2.2.5)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  maid (~> 0.10.0)
+  rake
+
+BUNDLED WITH
+   2.3.26
diff --git a/pkgs/by-name/ma/maid/gemset.nix b/pkgs/by-name/ma/maid/gemset.nix
new file mode 100644
index 0000000000000..f82ef7bed37a2
--- /dev/null
+++ b/pkgs/by-name/ma/maid/gemset.nix
@@ -0,0 +1,230 @@
+{
+  concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  deprecated = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ky20wy29jdhfy4xdw1lgxggciq4ywizmh265fyvwxbj6svw6b03";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
+  dimensions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jlkyfqk14291wbw8ly46jvp8vrcvswlns4078y1m44bb3rgm123";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  escape = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  et-orbi = {
+    dependencies = ["tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  exifr = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc";
+      type = "gem";
+    };
+    version = "1.3.10";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      type = "gem";
+    };
+    version = "1.15.5";
+  };
+  fugit = {
+    dependencies = ["et-orbi" "raabro"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq";
+      type = "gem";
+    };
+    version = "1.8.1";
+  };
+  geocoder = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "120lqyq308q8hg8ykawd7cp3k2ck8z9g5f9ffijp8dn2k9f21fjc";
+      type = "gem";
+    };
+    version = "1.8.2";
+  };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
+      type = "gem";
+    };
+    version = "3.8.0";
+  };
+  maid = {
+    dependencies = ["deprecated" "dimensions" "escape" "exifr" "geocoder" "listen" "mime-types" "rubyzip" "rufus-scheduler" "thor" "xdg"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v1lhwgxyli10rinw6h33ikhskx9j3b20h7plrx8c69z05sfsdd9";
+      type = "gem";
+    };
+    version = "0.10.0";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
+      type = "gem";
+    };
+    version = "3.5.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
+      type = "gem";
+    };
+    version = "3.2023.0808";
+  };
+  raabro = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  rake = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      type = "gem";
+    };
+    version = "13.0.6";
+  };
+  rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
+      type = "gem";
+    };
+    version = "0.11.2";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+      type = "gem";
+    };
+    version = "0.10.1";
+  };
+  rubyzip = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
+  rufus-scheduler = {
+    dependencies = ["fugit"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1as4yrb8y5lq49div8p3vqgwrrhdgwnvx4m73y3712nmnlpx6cws";
+      type = "gem";
+    };
+    version = "3.8.2";
+  };
+  thor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  tzinfo = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
+      type = "gem";
+    };
+    version = "2.0.6";
+  };
+  xdg = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04xr4cavnzxlk926pkji7b5yiqy4qsd3gdvv8mg6jliq6sczg9gk";
+      type = "gem";
+    };
+    version = "2.2.5";
+  };
+}
diff --git a/pkgs/by-name/ma/maid/package.nix b/pkgs/by-name/ma/maid/package.nix
new file mode 100644
index 0000000000000..f7f237d085fda
--- /dev/null
+++ b/pkgs/by-name/ma/maid/package.nix
@@ -0,0 +1,23 @@
+{ bundlerApp
+, bundlerUpdateScript
+, callPackage
+, lib
+}:
+
+bundlerApp {
+  pname = "maid";
+  gemdir = ./.;
+  exes = [ "maid" ];
+
+  passthru.updateScript = bundlerUpdateScript "maid";
+
+  passthru.tests.run = callPackage ./test.nix { };
+
+  meta = with lib; {
+    description = "Rule-based file mover and cleaner in Ruby";
+    homepage = "https://github.com/maid/maid";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ alanpearce ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ma/maid/test.nix b/pkgs/by-name/ma/maid/test.nix
new file mode 100644
index 0000000000000..722481f2dfcb2
--- /dev/null
+++ b/pkgs/by-name/ma/maid/test.nix
@@ -0,0 +1,20 @@
+{ runCommandLocal, maid }:
+
+runCommandLocal "test-maid-run" {
+  nativeBuildInputs = [ maid ];
+}
+  ''
+    mkdir -p $out/test
+    export HOME=$out
+    cd $out
+    touch test/a.iso test/b.txt
+    cat > rules.rb <<EOF
+      Maid.rules do
+        rule 'ISO' do
+          trash(dir('test/*.iso'))
+        end
+      end
+    EOF
+    maid clean --rules rules.rb --force
+    [ -f test/b.txt ] && [ ! -f test/a.iso ]
+  ''
diff --git a/pkgs/by-name/ma/majima/package.nix b/pkgs/by-name/ma/majima/package.nix
new file mode 100644
index 0000000000000..d2ff843cd66af
--- /dev/null
+++ b/pkgs/by-name/ma/majima/package.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitLab, rustPlatform }:
+rustPlatform.buildRustPackage rec {
+  pname = "majima";
+  version = "0.4.0";
+
+  src = fetchFromGitLab {
+    owner = "gumball-overall";
+    repo = "majima";
+    rev = version;
+    hash = "sha256-S62DQfvZFg8C26YG+fIVJj5cJ6mz73JXSgdu5yoK0Yo=";
+  };
+
+  cargoHash = "sha256-zMQO6McnnGbp52A9n/h6yZTU9VH7vak2TSP0HLqDlKw=";
+
+  meta = {
+    description = "Generate random usernames quickly and in various formats";
+    homepage = "https://majima.matte.fyi/";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ufUNnxagpM ];
+    mainProgram = "majima";
+  };
+}
diff --git a/pkgs/by-name/ma/material-cursors/package.nix b/pkgs/by-name/ma/material-cursors/package.nix
new file mode 100644
index 0000000000000..d3d7c63672cca
--- /dev/null
+++ b/pkgs/by-name/ma/material-cursors/package.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, inkscape
+, xcursorgen
+}:
+
+stdenvNoCC.mkDerivation {
+  pname   = "material-cursors";
+  version = "unstable-2023-11-30";
+
+  src = fetchFromGitHub {
+    owner = "varlesh";
+    repo = "material-cursors";
+    rev = "2a5f302fefe04678c421473bed636b4d87774b4a";
+    hash = "sha256-uC2qx3jF4d2tGLPnXEpogm0vyC053MvDVVdVXX8AZ60=";
+  };
+
+  nativeBuildInputs = [
+    inkscape
+    xcursorgen
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    # Silences the inkscape warning spam.
+    HOME=$(pwd) bash build.sh 2> /dev/null
+
+    runHook postBuild
+  '';
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "Material cursors for Linux";
+    homepage = "https://github.com/varlesh/material-cursors";
+    license = lib.licenses.gpl3Only;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ RGBCube ];
+  };
+}
diff --git a/pkgs/by-name/ma/matlab-language-server/package.nix b/pkgs/by-name/ma/matlab-language-server/package.nix
new file mode 100644
index 0000000000000..732d8ef9acd0f
--- /dev/null
+++ b/pkgs/by-name/ma/matlab-language-server/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildNpmPackage {
+  pname = "matlab-language-server";
+  version = "1.1.6";
+
+  src = fetchFromGitHub {
+    owner = "mathworks";
+    repo = "matlab-language-server";
+    # Upstream doesn't tag commits unfortunatly, but lists versions and dates
+    # in README... See complaint at:
+    # https://github.com/mathworks/MATLAB-language-server/issues/24
+    rev = "c8c901956e3bbfbd6eab440a1b60c3fe016cf567";
+    hash = "sha256-D03gXyrvPYOMkJI2YuHfPAnWdXTz5baemykQ5j9L0rs=";
+  };
+  patches = [
+    # https://github.com/mathworks/MATLAB-language-server/pull/23
+    (fetchpatch {
+      url = "https://github.com/mathworks/MATLAB-language-server/commit/56374de620b4855529c4136539f52ab6030e2c92.patch";
+      hash = "sha256-F38ATP+eap0SnxQoib1JwIvNCFfB7g8EtXI9+iK5+HA=";
+    })
+  ];
+
+  npmDepsHash = "sha256-P3MSrwk6FVt4lK58pjwy0YOg2UZI0TG8uXjqCPudgTE=";
+
+  npmBuildScript = "package";
+
+  meta = {
+    description = "Language Server for MATLAB® code";
+    homepage = "https://github.com/mathworks/MATLAB-language-server";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ doronbehar ];
+    mainProgram = "matlab-language-server";
+  };
+}
diff --git a/pkgs/by-name/me/mev-boost/package.nix b/pkgs/by-name/me/mev-boost/package.nix
new file mode 100644
index 0000000000000..6a7bb6d1e4a4c
--- /dev/null
+++ b/pkgs/by-name/me/mev-boost/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "mev-boost";
+  version = "1.6";
+  src = fetchFromGitHub {
+      owner = "flashbots";
+      repo = "mev-boost";
+      rev = "v${version}";
+      hash = "sha256-vzgX9irpI5i85bohppyL5KWQuf71SryRu1gkhWSCVKk=";
+  };
+
+  vendorHash = "sha256-xw3xVbgKUIDXu4UQD5CGftON8E4o1u2FcrPo3n6APBE=";
+
+  meta = with lib; {
+    description = "Ethereum block-building middleware";
+    homepage = "https://github.com/flashbots/mev-boost";
+    license = licenses.mit;
+    mainProgram = "mev-boost";
+    maintainers = with maintainers; [ ekimber ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix
index eecbbca3b3f20..50cddab18be70 100644
--- a/pkgs/by-name/mo/monophony/package.nix
+++ b/pkgs/by-name/mo/monophony/package.nix
@@ -11,7 +11,7 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "monophony";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "other";
 
   sourceRoot = "source/source";
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
     owner = "zehkira";
     repo = "monophony";
     rev = "v${version}";
-    hash = "sha256-dpRTHsujaIwzgr+qY5LC9xtXz40g3akdpEiHuxiilZM=";
+    hash = "sha256-BIaBysqkNfRk7N4dzyjnN+ha2WkppkwFDSj4AAcp9UI=";
   };
 
   pythonPath = with python3Packages; [
@@ -34,18 +34,16 @@ python3Packages.buildPythonApplication rec {
     wrapGAppsHook4
   ];
 
-  buildInputs =
-    [
-      libadwaita
-      # needed for gstreamer https
-      libsoup_3
-      glib-networking
-    ]
-    ++ (with gst_all_1; [
-      gst-plugins-base
-      gst-plugins-good
-      gstreamer
-    ]);
+  buildInputs = [
+    libadwaita
+    # needed for gstreamer https
+    libsoup_3
+    glib-networking
+  ] ++ (with gst_all_1; [
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+  ]);
 
   installFlags = [ "prefix=$(out)" ];
 
@@ -55,7 +53,7 @@ python3Packages.buildPythonApplication rec {
       --prefix PYTHONPATH : "$program_PYTHONPATH"
       --prefix PATH : "${lib.makeBinPath [yt-dlp]}"
       # needed for gstreamer https
-      --prefix LD_LIBRARY_PATH : "${libsoup_3.out}/lib"
+      --prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib"
     )
   '';
 
diff --git a/pkgs/by-name/ne/net-cpp/package.nix b/pkgs/by-name/ne/net-cpp/package.nix
index d123e5bea2ec0..3397d7820ce3f 100644
--- a/pkgs/by-name/ne/net-cpp/package.nix
+++ b/pkgs/by-name/ne/net-cpp/package.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
     })
   ];
 
-  postPatch = lib.optionalString finalAttrs.doCheck ''
+  postPatch = lib.optionalString finalAttrs.finalPackage.doCheck ''
     # Use wrapped python. Removing just the /usr/bin doesn't seem to work?
     substituteInPlace tests/httpbin.h.in \
       --replace '/usr/bin/python3' '${lib.getExe pythonEnv}'
diff --git a/pkgs/by-name/nh/nh/package.nix b/pkgs/by-name/nh/nh/package.nix
new file mode 100644
index 0000000000000..c32b16876dd88
--- /dev/null
+++ b/pkgs/by-name/nh/nh/package.nix
@@ -0,0 +1,59 @@
+{ lib
+, rustPlatform
+, installShellFiles
+, makeWrapper
+, fetchFromGitHub
+, nvd
+, use-nom ? true
+, nix-output-monitor ? null
+}:
+
+assert use-nom -> nix-output-monitor != null;
+
+let
+  version = "3.4.12";
+  runtimeDeps = [ nvd ] ++ lib.optionals use-nom [ nix-output-monitor ];
+in
+rustPlatform.buildRustPackage {
+  inherit version;
+  pname = "nh";
+
+  src = fetchFromGitHub {
+    owner = "ViperML";
+    repo = "nh";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-V5TQ/1loQnegDjfLh61DxBWEQZivYEBq2kQpT0fn2cQ=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    installShellFiles
+    makeWrapper
+  ];
+
+  preFixup = ''
+    mkdir completions
+    $out/bin/nh completions --shell bash > completions/nh.bash
+    $out/bin/nh completions --shell zsh > completions/nh.zsh
+    $out/bin/nh completions --shell fish > completions/nh.fish
+
+    installShellCompletion completions/*
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/nh \
+      --prefix PATH : ${lib.makeBinPath runtimeDeps} \
+      ${lib.optionalString use-nom "--set-default NH_NOM 1"}
+  '';
+
+  cargoHash = "sha256-Ul4DM8WmKvKG32zBXzpdzHZknpTQAVvrxFcEd/C1buA=";
+
+  meta = {
+    description = "Yet another nix cli helper";
+    homepage = "https://github.com/ViperML/nh";
+    license = lib.licenses.eupl12;
+    mainProgram = "nh";
+    maintainers = with lib.maintainers; [ drupol viperML ];
+  };
+}
diff --git a/pkgs/by-name/ni/nimmm/lock.json b/pkgs/by-name/ni/nimmm/lock.json
index d55a02fefc61a..fb705b4f4fd14 100644
--- a/pkgs/by-name/ni/nimmm/lock.json
+++ b/pkgs/by-name/ni/nimmm/lock.json
@@ -27,14 +27,14 @@
     {
       "method": "fetchzip",
       "packages": [
-        "noise"
+        "wcwidth"
       ],
-      "path": "/nix/store/cqn9s90ivzsx7mq5k8m19565247sdsg6-source",
-      "ref": "v0.1.8",
-      "rev": "3cb3250ddcdaa74809aad931c066e7ef6e4af36d",
-      "sha256": "0qmak5n5nrf8nb8szhlz8sf05gmbs0x648p4vcd7ca600kaxfgj0",
-      "srcDir": "",
-      "url": "https://github.com/jangko/nim-noise/archive/3cb3250ddcdaa74809aad931c066e7ef6e4af36d.tar.gz"
+      "path": "/nix/store/inpq6nm27r7ixyjsdsm4sg6qna7d2vbc-source",
+      "ref": "v0.1.3",
+      "rev": "fd60d2dd10fd945a471450551ba471c3be80df52",
+      "sha256": "06b9ylqbjcxgm9mjfzljbi8gr9sbajykcqpcxgyqymynqyhxmqjn",
+      "srcDir": "src",
+      "url": "https://github.com/shoyu777/wcwidth-nim/archive/fd60d2dd10fd945a471450551ba471c3be80df52.tar.gz"
     }
   ]
 }
diff --git a/pkgs/by-name/ni/nimmm/package.nix b/pkgs/by-name/ni/nimmm/package.nix
index e085ed218609f..be3e01b7dcaeb 100644
--- a/pkgs/by-name/ni/nimmm/package.nix
+++ b/pkgs/by-name/ni/nimmm/package.nix
@@ -2,13 +2,13 @@
 
 buildNimPackage (finalAttrs: {
   pname = "nimmm";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "joachimschmidt557";
     repo = "nimmm";
     rev = "v${finalAttrs.version}";
-    sha256 = "168n61avphbxsxfq8qzcnlqx6wgvz5yrjvs14g25cg3k46hj4xqg";
+    hash = "sha256-gRQWReZP7bpGX9fvueQaQkX8yMmngT5DT3o4ly9Ux1g=";
   };
 
   lockFile = ./lock.json;
@@ -19,7 +19,7 @@ buildNimPackage (finalAttrs: {
     description = "Terminal file manager written in Nim";
     homepage = "https://github.com/joachimschmidt557/nimmm";
     license = lib.licenses.gpl3;
-    platforms = lib.platforms.unix;
+    platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.joachimschmidt557 ];
   };
 })
diff --git a/pkgs/by-name/ni/nixos-anywhere/package.nix b/pkgs/by-name/ni/nixos-anywhere/package.nix
index d0ade5f6580cc..d7b992c1aa3eb 100644
--- a/pkgs/by-name/ni/nixos-anywhere/package.nix
+++ b/pkgs/by-name/ni/nixos-anywhere/package.nix
@@ -28,12 +28,12 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "nixos-anywhere";
-  version = "1.0.0";
+  version = "1.1.0";
   src = fetchFromGitHub {
     owner = "numtide";
     repo = "nixos-anywhere";
     rev = finalAttrs.version;
-    hash = "sha256-zM+N7+XDR34DuTrVLJd7Ggq1JPlURddsqNOjXY/rcQM=";
+    hash = "sha256-43r1pwWv9SuMEG+Pe5laFsqE1/X0rFQ6s/wpEufPliE=";
   };
   nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
diff --git a/pkgs/by-name/no/normcap/package.nix b/pkgs/by-name/no/normcap/package.nix
new file mode 100644
index 0000000000000..8db68e9ae7e2b
--- /dev/null
+++ b/pkgs/by-name/no/normcap/package.nix
@@ -0,0 +1,117 @@
+{ lib
+, stdenv
+, python3
+, fetchFromGitHub
+, tesseract4
+, leptonica
+, wl-clipboard
+, libnotify
+, xorg
+}:
+
+let
+
+  ps = python3.pkgs;
+
+  wrapperDeps = [
+    leptonica
+    tesseract4
+    libnotify
+  ] ++ lib.optionals stdenv.isLinux [
+    wl-clipboard
+  ];
+
+in
+
+ps.buildPythonApplication rec {
+  pname = "normcap";
+  version = "0.4.4";
+  format = "pyproject";
+
+  disabled = ps.pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "dynobo";
+    repo = "normcap";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dShtmoqS9TC3PHuwq24OEOhYfBHGhDCma8Du8QCkFuI=";
+  };
+
+  pythonRemoveDeps = [
+    "PySide6-Essentials"
+  ];
+
+  nativeBuildInputs = [
+    ps.pythonRelaxDepsHook
+    ps.poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    ps.pyside6
+  ];
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${qtWrapperArgs[@]}"
+      --set QT_QPA_PLATFORM xcb
+      --prefix PATH : ${lib.makeBinPath wrapperDeps}
+    )
+  '';
+
+  nativeCheckInputs = wrapperDeps ++ [
+    ps.pytestCheckHook
+    ps.pytest-qt
+    ps.toml
+  ] ++ lib.optionals stdenv.isLinux [
+    ps.pytest-xvfb
+    xorg.xorgserver
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '' + lib.optionalString stdenv.isLinux ''
+    # setup a virtual x11 display
+    export DISPLAY=:$((2000 + $RANDOM % 1000))
+    Xvfb $DISPLAY -screen 5 1024x768x8 &
+    xvfb_pid=$!
+  '';
+
+  postCheck = lib.optionalString stdenv.isLinux ''
+    # cleanup the virtual x11 display
+    kill $xvfb_pid
+  '';
+
+  disabledTests = [
+    # requires a wayland session (no xclip support)
+    "test_wl_copy"
+    # times out, unknown why
+    "test_update_checker_triggers_checked_signal"
+    # touches network
+    "test_urls_reachable"
+    # requires xdg
+    "test_synchronized_capture"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # requires impure pbcopy
+    "test_get_copy_func_with_pbcopy"
+    "test_get_copy_func_without_pbcopy"
+    "test_perform_pbcopy"
+  ];
+
+  disabledTestPaths = [
+    # touches network
+    "tests/tests_gui/test_downloader.py"
+    # fails to import, causes pytest to freeze
+    "tests/tests_gui/test_language_manager.py"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # requires a display
+    "tests/integration/test_normcap.py"
+  ];
+
+  meta = with lib; {
+    description = "OCR powered screen-capture tool to capture information instead of images";
+    homepage = "https://dynobo.github.io/normcap/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ cafkafk pbsds ];
+    mainProgram = "normcap";
+  };
+}
diff --git a/pkgs/by-name/nw/nwg-drawer/package.nix b/pkgs/by-name/nw/nwg-drawer/package.nix
index debff8429d886..976f99158c049 100644
--- a/pkgs/by-name/nw/nwg-drawer/package.nix
+++ b/pkgs/by-name/nw/nwg-drawer/package.nix
@@ -12,13 +12,13 @@
 
 let
   pname = "nwg-drawer";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-drawer";
     rev = "v${version}";
-    hash = "sha256-2/YI91Rcm+N8tNoKBRIDAQ3T2M6T7+kWngbCzyaXOCc=";
+    hash = "sha256-1iylXR3WP39E/0L/vBe5LxXOKV+KisgUr2rxBEHahMo=";
   };
 
   vendorHash = "sha256-8s8+ukMQpciQmKt77fNE7r+3cm/UDxO8VtkrNYdKhM8=";
diff --git a/pkgs/by-name/op/openobserve/Cargo.lock b/pkgs/by-name/op/openobserve/Cargo.lock
new file mode 100644
index 0000000000000..3a5fe87a8fa47
--- /dev/null
+++ b/pkgs/by-name/op/openobserve/Cargo.lock
@@ -0,0 +1,8238 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "actix-codec"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8"
+dependencies = [
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "actix-cors"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b340e9cfa5b08690aae90fb61beb44e9b06f44fe3d0f93781aaa58cfba86245e"
+dependencies = [
+ "actix-utils",
+ "actix-web",
+ "derive_more",
+ "futures-util",
+ "log",
+ "once_cell",
+ "smallvec",
+]
+
+[[package]]
+name = "actix-http"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9"
+dependencies = [
+ "actix-codec",
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "ahash 0.8.6",
+ "base64 0.21.5",
+ "bitflags 2.4.1",
+ "brotli",
+ "bytes",
+ "bytestring",
+ "derive_more",
+ "encoding_rs",
+ "flate2",
+ "futures-core",
+ "h2",
+ "http",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "language-tags",
+ "local-channel",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rand",
+ "sha1",
+ "smallvec",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "zstd 0.12.4",
+]
+
+[[package]]
+name = "actix-macros"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
+dependencies = [
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "actix-multipart"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b960e2aea75f49c8f069108063d12a48d329fc8b60b786dfc7552a9d5918d2d"
+dependencies = [
+ "actix-multipart-derive",
+ "actix-utils",
+ "actix-web",
+ "bytes",
+ "derive_more",
+ "futures-core",
+ "futures-util",
+ "httparse",
+ "local-waker",
+ "log",
+ "memchr",
+ "mime",
+ "serde",
+ "serde_json",
+ "serde_plain",
+ "tempfile",
+ "tokio",
+]
+
+[[package]]
+name = "actix-multipart-derive"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a0a77f836d869f700e5b47ac7c3c8b9c8bc82e4aec861954c6198abee3ebd4d"
+dependencies = [
+ "darling",
+ "parse-size",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "actix-router"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799"
+dependencies = [
+ "bytestring",
+ "http",
+ "regex",
+ "serde",
+ "tracing",
+]
+
+[[package]]
+name = "actix-rt"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
+dependencies = [
+ "futures-core",
+ "tokio",
+]
+
+[[package]]
+name = "actix-server"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3eb13e7eef0423ea6eab0e59f6c72e7cb46d33691ad56a726b3cd07ddec2c2d4"
+dependencies = [
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "futures-core",
+ "futures-util",
+ "mio",
+ "socket2 0.5.5",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "actix-service"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a"
+dependencies = [
+ "futures-core",
+ "paste",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-tls"
+version = "3.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72616e7fbec0aa99c6f3164677fa48ff5a60036d0799c98cab894a44f3e0efc3"
+dependencies = [
+ "actix-rt",
+ "actix-service",
+ "actix-utils",
+ "futures-core",
+ "http",
+ "impl-more",
+ "pin-project-lite",
+ "rustls",
+ "rustls-webpki",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "actix-utils"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8"
+dependencies = [
+ "local-waker",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-web"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9"
+dependencies = [
+ "actix-codec",
+ "actix-http",
+ "actix-macros",
+ "actix-router",
+ "actix-rt",
+ "actix-server",
+ "actix-service",
+ "actix-utils",
+ "actix-web-codegen",
+ "ahash 0.8.6",
+ "bytes",
+ "bytestring",
+ "cfg-if 1.0.0",
+ "cookie",
+ "derive_more",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "itoa",
+ "language-tags",
+ "log",
+ "mime",
+ "once_cell",
+ "pin-project-lite",
+ "regex",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "smallvec",
+ "socket2 0.5.5",
+ "time",
+ "url",
+]
+
+[[package]]
+name = "actix-web-codegen"
+version = "4.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5"
+dependencies = [
+ "actix-router",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "actix-web-httpauth"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d613edf08a42ccc6864c941d30fe14e1b676a77d16f1dbadc1174d065a0a775"
+dependencies = [
+ "actix-utils",
+ "actix-web",
+ "base64 0.21.5",
+ "futures-core",
+ "futures-util",
+ "log",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "actix-web-lab"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e15f180c2bf7abacfda7d8d9ee4169e7f792ec8983313dc38809e902f61c79d0"
+dependencies = [
+ "actix-http",
+ "actix-router",
+ "actix-service",
+ "actix-utils",
+ "actix-web",
+ "actix-web-lab-derive",
+ "ahash 0.8.6",
+ "arc-swap",
+ "async-trait",
+ "bytes",
+ "bytestring",
+ "csv",
+ "derive_more",
+ "futures-core",
+ "futures-util",
+ "http",
+ "impl-more",
+ "itertools 0.11.0",
+ "local-channel",
+ "mediatype",
+ "mime",
+ "once_cell",
+ "pin-project-lite",
+ "regex",
+ "serde",
+ "serde_html_form",
+ "serde_json",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "actix-web-lab-derive"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa0b287c8de4a76b691f29dbb5451e8dd5b79d777eaf87350c9b0cbfdb5e968"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "actix-web-opentelemetry"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d164a9fe425132ff4ae92ce04912f7e31529b48a6e7cdce769ab45d272de285c"
+dependencies = [
+ "actix-http",
+ "actix-web",
+ "futures-util",
+ "opentelemetry 0.21.0",
+ "opentelemetry-semantic-conventions",
+ "serde",
+]
+
+[[package]]
+name = "actix-web-prometheus"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad5228fd1a6b5d0f60d636776c2a70acc9fc667034bb4ac02ec4259f0eeeab6c"
+dependencies = [
+ "actix-service",
+ "actix-web",
+ "futures-lite",
+ "pin-project",
+ "prometheus",
+ "quanta",
+ "thiserror",
+]
+
+[[package]]
+name = "actix-web-rust-embed-responder"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd68c2339c8e4498a4b9b83392b58b85c337c835baf38c90757e3236e1121c97"
+dependencies = [
+ "actix-web",
+ "base64 0.21.5",
+ "brotli",
+ "chrono",
+ "flate2",
+ "futures-core",
+ "lazy_static",
+ "regex",
+ "rust-embed-for-web",
+]
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "adler32"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+[[package]]
+name = "aead"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
+dependencies = [
+ "crypto-common",
+ "generic-array",
+]
+
+[[package]]
+name = "aes"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "ahash"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "ahash"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+dependencies = [
+ "cfg-if 1.0.0",
+ "const-random",
+ "getrandom",
+ "once_cell",
+ "serde",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+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 = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[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 = "anstream"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+
+[[package]]
+name = "anymap"
+version = "1.0.0-beta.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f1f8f5a6f3d50d89e3797d7593a50f96bb2aaa20ca0cc7be1fb673232c91d72"
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "argon2"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9"
+dependencies = [
+ "base64ct",
+ "blake2",
+ "cpufeatures",
+ "password-hash",
+]
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "arrow"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bc25126d18a012146a888a0298f2c22e1150327bd2765fc76d710a556b2d614"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-arith",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-cast",
+ "arrow-csv",
+ "arrow-data",
+ "arrow-ipc",
+ "arrow-json",
+ "arrow-ord",
+ "arrow-row",
+ "arrow-schema",
+ "arrow-select",
+ "arrow-string",
+]
+
+[[package]]
+name = "arrow-arith"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34ccd45e217ffa6e53bbb0080990e77113bdd4e91ddb84e97b77649810bcf1a7"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "chrono",
+ "half",
+ "num",
+]
+
+[[package]]
+name = "arrow-array"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "chrono",
+ "chrono-tz",
+ "half",
+ "hashbrown 0.14.2",
+ "num",
+ "packed_simd",
+]
+
+[[package]]
+name = "arrow-buffer"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c"
+dependencies = [
+ "bytes",
+ "half",
+ "num",
+]
+
+[[package]]
+name = "arrow-cast"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dc0368ed618d509636c1e3cc20db1281148190a78f43519487b2daf07b63b4a"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "arrow-select",
+ "base64 0.21.5",
+ "chrono",
+ "comfy-table",
+ "half",
+ "lexical-core",
+ "num",
+]
+
+[[package]]
+name = "arrow-csv"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e09aa6246a1d6459b3f14baeaa49606cfdbca34435c46320e14054d244987ca"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-cast",
+ "arrow-data",
+ "arrow-schema",
+ "chrono",
+ "csv",
+ "csv-core",
+ "lazy_static",
+ "lexical-core",
+ "regex",
+]
+
+[[package]]
+name = "arrow-data"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634"
+dependencies = [
+ "arrow-buffer",
+ "arrow-schema",
+ "half",
+ "num",
+]
+
+[[package]]
+name = "arrow-ipc"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a43d6808411886b8c7d4f6f7dd477029c1e77ffffffb7923555cc6579639cd"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-cast",
+ "arrow-data",
+ "arrow-schema",
+ "flatbuffers",
+ "lz4_flex",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "arrow-json"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d82565c91fd627922ebfe2810ee4e8346841b6f9361b87505a9acea38b614fee"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-cast",
+ "arrow-data",
+ "arrow-schema",
+ "chrono",
+ "half",
+ "indexmap 2.1.0",
+ "lexical-core",
+ "num",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "arrow-ord"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b23b0e53c0db57c6749997fd343d4c0354c994be7eca67152dd2bdb9a3e1bb4"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "arrow-select",
+ "half",
+ "num",
+]
+
+[[package]]
+name = "arrow-row"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "361249898d2d6d4a6eeb7484be6ac74977e48da12a4dd81a708d620cc558117a"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "half",
+ "hashbrown 0.14.2",
+]
+
+[[package]]
+name = "arrow-schema"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "arrow-select"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f6208466590960efc1d2a7172bc4ff18a67d6e25c529381d7f96ddaf0dc4036"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "num",
+]
+
+[[package]]
+name = "arrow-string"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a48149c63c11c9ff571e50ab8f017d2a7cb71037a882b42f6354ed2da9acc7"
+dependencies = [
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-data",
+ "arrow-schema",
+ "arrow-select",
+ "num",
+ "regex",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "ascii-canvas"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
+dependencies = [
+ "term",
+]
+
+[[package]]
+name = "askama"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb98f10f371286b177db5eeb9a6e5396609555686a35e1d4f7b9a9c6d8af0139"
+dependencies = [
+ "askama_derive",
+ "askama_escape",
+ "askama_shared",
+]
+
+[[package]]
+name = "askama_derive"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71"
+dependencies = [
+ "askama_shared",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "askama_escape"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
+
+[[package]]
+name = "askama_shared"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf722b94118a07fcbc6640190f247334027685d4e218b794dbfe17c32bf38ed0"
+dependencies = [
+ "askama_escape",
+ "humansize",
+ "mime",
+ "mime_guess",
+ "nom",
+ "num-traits",
+ "percent-encoding",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "syn 1.0.109",
+ "toml",
+]
+
+[[package]]
+name = "async-compression"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
+dependencies = [
+ "bzip2",
+ "flate2",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+ "xz2",
+ "zstd 0.13.0",
+ "zstd-safe 7.0.0",
+]
+
+[[package]]
+name = "async-recursion"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "async-stream"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.74"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "atoi"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
+dependencies = [
+ "num-traits",
+]
+
+[[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 0.3.9",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "awc"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fa3c705a9c7917ac0f41c0757a0a747b43bbc29b0b364b081bd7c5fc67fb223"
+dependencies = [
+ "actix-codec",
+ "actix-http",
+ "actix-rt",
+ "actix-service",
+ "actix-tls",
+ "actix-utils",
+ "base64 0.21.5",
+ "bytes",
+ "cfg-if 1.0.0",
+ "cookie",
+ "derive_more",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "itoa",
+ "log",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rand",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+]
+
+[[package]]
+name = "aws-config"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc6b3804dca60326e07205179847f17a4fce45af3a1106939177ad41ac08a6de"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-sdk-sso",
+ "aws-sdk-sts",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-http-tower",
+ "aws-smithy-json",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "fastrand 2.0.1",
+ "hex",
+ "http",
+ "hyper",
+ "ring 0.16.20",
+ "time",
+ "tokio",
+ "tower",
+ "tracing",
+ "zeroize",
+]
+
+[[package]]
+name = "aws-credential-types"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-types",
+ "fastrand 2.0.1",
+ "tokio",
+ "tracing",
+ "zeroize",
+]
+
+[[package]]
+name = "aws-http"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e626370f9ba806ae4c439e49675fd871f5767b093075cdf4fef16cac42ba900"
+dependencies = [
+ "aws-credential-types",
+ "aws-smithy-http",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "http",
+ "http-body",
+ "lazy_static",
+ "percent-encoding",
+ "pin-project-lite",
+ "tracing",
+]
+
+[[package]]
+name = "aws-runtime"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07ac5cf0ff19c1bca0cea7932e11b239d1025a45696a4f44f72ea86e2b8bdd07"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-sigv4",
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-types",
+ "fastrand 2.0.1",
+ "http",
+ "percent-encoding",
+ "tracing",
+ "uuid",
+]
+
+[[package]]
+name = "aws-sdk-dynamodb"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "069e3c6f367a02ee0af86616b6bf9dcc4f1eab19e11b05d4b0f71da0c86fcd9d"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-runtime",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "fastrand 2.0.1",
+ "http",
+ "regex",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "aws-sdk-sso"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "903f888ff190e64f6f5c83fb0f8d54f9c20481f1dc26359bb8896f5d99908949"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-runtime",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "http",
+ "regex",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "aws-sdk-sts"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a47ad6bf01afc00423d781d464220bf69fb6a674ad6629cbbcb06d88cdc2be82"
+dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-runtime",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-smithy-xml",
+ "aws-types",
+ "http",
+ "regex",
+ "tracing",
+]
+
+[[package]]
+name = "aws-sigv4"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7b28f4910bb956b7ab320b62e98096402354eca976c587d1eeccd523d9bac03"
+dependencies = [
+ "aws-smithy-http",
+ "form_urlencoded",
+ "hex",
+ "hmac",
+ "http",
+ "once_cell",
+ "percent-encoding",
+ "regex",
+ "sha2",
+ "time",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-async"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cdb73f85528b9d19c23a496034ac53703955a59323d581c06aa27b4e4e247af"
+dependencies = [
+ "futures-util",
+ "pin-project-lite",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "aws-smithy-client"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c27b2756264c82f830a91cb4d2d485b2d19ad5bea476d9a966e03d27f27ba59a"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-http-tower",
+ "aws-smithy-types",
+ "bytes",
+ "fastrand 2.0.1",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "lazy_static",
+ "pin-project-lite",
+ "rustls",
+ "tokio",
+ "tower",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-http"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54cdcf365d8eee60686885f750a34c190e513677db58bbc466c44c588abf4199"
+dependencies = [
+ "aws-smithy-types",
+ "bytes",
+ "bytes-utils",
+ "futures-core",
+ "http",
+ "http-body",
+ "hyper",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "pin-utils",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-http-tower"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "822de399d0ce62829a69dfa8c5cd08efdbe61a7426b953e2268f8b8b52a607bd"
+dependencies = [
+ "aws-smithy-http",
+ "aws-smithy-types",
+ "bytes",
+ "http",
+ "http-body",
+ "pin-project-lite",
+ "tower",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-json"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb1e7ab8fa7ad10c193af7ae56d2420989e9f4758bf03601a342573333ea34f"
+dependencies = [
+ "aws-smithy-types",
+]
+
+[[package]]
+name = "aws-smithy-query"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28556a3902091c1f768a34f6c998028921bdab8d47d92586f363f14a4a32d047"
+dependencies = [
+ "aws-smithy-types",
+ "urlencoding",
+]
+
+[[package]]
+name = "aws-smithy-runtime"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "745e096b3553e7e0f40622aa04971ce52765af82bebdeeac53aa6fc82fe801e6"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "bytes",
+ "fastrand 2.0.1",
+ "http",
+ "http-body",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-runtime-api"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93d0ae0c9cfd57944e9711ea610b48a963fb174a53aabacc08c5794a594b1d02"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-types",
+ "bytes",
+ "http",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-types"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d90dbc8da2f6be461fa3c1906b20af8f79d14968fe47f2b7d29d086f62a51728"
+dependencies = [
+ "base64-simd",
+ "itoa",
+ "num-integer",
+ "ryu",
+ "serde",
+ "time",
+]
+
+[[package]]
+name = "aws-smithy-xml"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e01d2dedcdd8023043716cfeeb3c6c59f2d447fce365d8e194838891794b23b6"
+dependencies = [
+ "xmlparser",
+]
+
+[[package]]
+name = "aws-types"
+version = "0.56.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85aa0451bf8af1bf22a4f028d5d28054507a14be43cb8ac0597a8471fba9edfe"
+dependencies = [
+ "aws-credential-types",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-types",
+ "http",
+ "rustc_version",
+ "tracing",
+]
+
+[[package]]
+name = "axum"
+version = "0.6.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "rustversion",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base16"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d27c3610c36aee21ce8ac510e6224498de4228ad772a171ed65643a24693a5a8"
+
+[[package]]
+name = "base64"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+
+[[package]]
+name = "base64-simd"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
+dependencies = [
+ "outref",
+ "vsimd",
+]
+
+[[package]]
+name = "base64ct"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
+[[package]]
+name = "base85rs"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7b7172542a3d446ca7b2be4e28e4f4c119a89c396712f7ca1ad2822bfc54ca2"
+
+[[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 = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "blake2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "blake3"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "cc",
+ "cfg-if 1.0.0",
+ "constant_time_eq",
+ "rayon",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "borsh"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e"
+dependencies = [
+ "borsh-derive",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate 2.0.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "syn_derive",
+]
+
+[[package]]
+name = "brotli"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "2.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
+name = "bstr"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytecheck"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+dependencies = [
+ "bytecheck_derive",
+ "ptr_meta",
+ "simdutf8",
+]
+
+[[package]]
+name = "bytecheck_derive"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "bytes-utils"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"
+dependencies = [
+ "bytes",
+ "either",
+]
+
+[[package]]
+name = "bytestring"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72"
+dependencies = [
+ "bytes",
+]
+
+[[package]]
+name = "bzip2"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
+dependencies = [
+ "bzip2-sys",
+ "libc",
+]
+
+[[package]]
+name = "bzip2-sys"
+version = "0.1.11+1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "c_linked_list"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b"
+
+[[package]]
+name = "cactus"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf034765b7d19a011c6d619e880582bf95e8186b580e6fab56589872dd87dcf5"
+
+[[package]]
+name = "cbc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[package]]
+name = "cfb-mode"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "738b8d467867f80a71351933f70461f5b56f24d5c93e0cf216e59229c968d330"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "cfgrammar"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf74ea341ae8905eac9a234b6a5a845e118c25bbbdecf85ec77431a8b3bfa0be"
+dependencies = [
+ "indexmap 1.9.3",
+ "lazy_static",
+ "num-traits",
+ "regex",
+ "serde",
+ "vob",
+]
+
+[[package]]
+name = "chacha20"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "chacha20poly1305"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
+dependencies = [
+ "aead",
+ "chacha20",
+ "cipher",
+ "poly1305",
+ "zeroize",
+]
+
+[[package]]
+name = "charset"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46"
+dependencies = [
+ "base64 0.13.1",
+ "encoding_rs",
+]
+
+[[package]]
+name = "chrono"
+version = "0.4.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "serde",
+ "wasm-bindgen",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "chrono-tz"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76"
+dependencies = [
+ "chrono",
+ "chrono-tz-build",
+ "phf",
+]
+
+[[package]]
+name = "chrono-tz-build"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f"
+dependencies = [
+ "parse-zoneinfo",
+ "phf",
+ "phf_codegen",
+]
+
+[[package]]
+name = "cidr-utils"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2315f7119b7146d6a883de6acd63ddf96071b5f79d9d98d2adaa84d749f6abf1"
+dependencies = [
+ "debug-helper",
+ "num-bigint",
+ "num-traits",
+ "once_cell",
+ "regex",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+ "zeroize",
+]
+
+[[package]]
+name = "clap"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_derive 3.2.25",
+ "clap_lex 0.2.4",
+ "indexmap 1.9.3",
+ "once_cell",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+dependencies = [
+ "clap_builder",
+ "clap_derive 4.4.7",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex 0.6.0",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[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.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "clipboard-win"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+dependencies = [
+ "error-code",
+ "str-buf",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "cloudevents-sdk"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "801713078518ab05d7c78508c14cf55173a14a1a6659421d3352c2576a6167bf"
+dependencies = [
+ "actix-http",
+ "actix-web",
+ "async-trait",
+ "base64 0.12.3",
+ "bitflags 1.3.2",
+ "bytes",
+ "chrono",
+ "delegate-attr",
+ "futures",
+ "hostname",
+ "http",
+ "serde",
+ "serde_json",
+ "snafu 0.6.10",
+ "url",
+ "uuid",
+ "web-sys",
+]
+
+[[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 = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
+
+[[package]]
+name = "comfy-table"
+version = "7.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
+dependencies = [
+ "strum",
+ "strum_macros",
+ "unicode-width",
+]
+
+[[package]]
+name = "community-id"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f6af96839c04974cf381e427792a99913ecf3f7bfb348f153dc8a8e5f9803ad"
+dependencies = [
+ "anyhow",
+ "base64 0.21.5",
+ "hex",
+ "lazy_static",
+ "num_enum",
+ "sha1",
+]
+
+[[package]]
+name = "const-oid"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+
+[[package]]
+name = "const-random"
+version = "0.1.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
+dependencies = [
+ "const-random-macro",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "constant_time_eq"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "percent-encoding",
+ "time",
+ "version_check",
+]
+
+[[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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "cpp_demangle"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if 1.0.0",
+ "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 1.0.0",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if 1.0.0",
+ "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 1.0.0",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[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",
+ "rand_core",
+ "typenum",
+]
+
+[[package]]
+name = "crypto_secretbox"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1"
+dependencies = [
+ "aead",
+ "cipher",
+ "generic-array",
+ "poly1305",
+ "salsa20",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "csv"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
+dependencies = [
+ "csv-core",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "csv-core"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ctr"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if 1.0.0",
+ "hashbrown 0.14.2",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core 0.9.9",
+ "serde",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+
+[[package]]
+name = "datafusion"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow",
+ "arrow-array",
+ "arrow-schema",
+ "async-compression",
+ "async-trait",
+ "bytes",
+ "bzip2",
+ "chrono",
+ "dashmap",
+ "datafusion-common",
+ "datafusion-execution",
+ "datafusion-expr",
+ "datafusion-optimizer",
+ "datafusion-physical-expr",
+ "datafusion-physical-plan",
+ "datafusion-sql",
+ "flate2",
+ "futures",
+ "glob",
+ "half",
+ "hashbrown 0.14.2",
+ "indexmap 2.1.0",
+ "itertools 0.12.0",
+ "log",
+ "num_cpus",
+ "object_store",
+ "parking_lot 0.12.1",
+ "parquet",
+ "pin-project-lite",
+ "rand",
+ "sqlparser",
+ "tempfile",
+ "tokio",
+ "tokio-util",
+ "url",
+ "uuid",
+ "xz2",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "datafusion-common"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-schema",
+ "chrono",
+ "half",
+ "libc",
+ "num_cpus",
+ "object_store",
+ "parquet",
+ "sqlparser",
+]
+
+[[package]]
+name = "datafusion-execution"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "arrow",
+ "chrono",
+ "dashmap",
+ "datafusion-common",
+ "datafusion-expr",
+ "futures",
+ "hashbrown 0.14.2",
+ "log",
+ "object_store",
+ "parking_lot 0.12.1",
+ "rand",
+ "tempfile",
+ "url",
+]
+
+[[package]]
+name = "datafusion-expr"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow",
+ "arrow-array",
+ "datafusion-common",
+ "paste",
+ "sqlparser",
+ "strum",
+ "strum_macros",
+]
+
+[[package]]
+name = "datafusion-optimizer"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "arrow",
+ "async-trait",
+ "chrono",
+ "datafusion-common",
+ "datafusion-expr",
+ "datafusion-physical-expr",
+ "hashbrown 0.14.2",
+ "itertools 0.12.0",
+ "log",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "datafusion-physical-expr"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-ord",
+ "arrow-schema",
+ "base64 0.21.5",
+ "blake2",
+ "blake3",
+ "chrono",
+ "datafusion-common",
+ "datafusion-expr",
+ "half",
+ "hashbrown 0.14.2",
+ "hex",
+ "indexmap 2.1.0",
+ "itertools 0.12.0",
+ "log",
+ "md-5",
+ "paste",
+ "petgraph",
+ "rand",
+ "regex",
+ "sha2",
+ "unicode-segmentation",
+ "uuid",
+]
+
+[[package]]
+name = "datafusion-physical-plan"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-schema",
+ "async-trait",
+ "chrono",
+ "datafusion-common",
+ "datafusion-execution",
+ "datafusion-expr",
+ "datafusion-physical-expr",
+ "futures",
+ "half",
+ "hashbrown 0.14.2",
+ "indexmap 2.1.0",
+ "itertools 0.12.0",
+ "log",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "pin-project-lite",
+ "rand",
+ "tokio",
+ "uuid",
+]
+
+[[package]]
+name = "datafusion-sql"
+version = "33.0.0"
+source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+dependencies = [
+ "arrow",
+ "arrow-schema",
+ "datafusion-common",
+ "datafusion-expr",
+ "log",
+ "sqlparser",
+]
+
+[[package]]
+name = "debug-helper"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
+
+[[package]]
+name = "debugid"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
+dependencies = [
+ "uuid",
+]
+
+[[package]]
+name = "delegate-attr"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee7e7ea0dba407429d816e8e38dda1a467cd74737722f2ccc8eae60429a1a3ab"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "der"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+dependencies = [
+ "const-oid",
+ "pem-rfc7468",
+ "zeroize",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+dependencies = [
+ "powerfmt",
+ "serde",
+]
+
+[[package]]
+name = "derive_more"
+version = "0.99.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
+dependencies = [
+ "convert_case 0.4.0",
+ "proc-macro2",
+ "quote",
+ "rustc_version",
+ "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 = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "const-oid",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys 0.3.7",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys 0.4.1",
+]
+
+[[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if 1.0.0",
+ "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 0.3.9",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "dissimilar"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632"
+
+[[package]]
+name = "dns-lookup"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "socket2 0.5.5",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "dotenv_config"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72ef519d2aabc15ca3dba4729976066fa23f80187bf2b19d623d24fe1a0ec3ea"
+dependencies = [
+ "anyhow",
+ "askama",
+ "convert_case 0.6.0",
+]
+
+[[package]]
+name = "dotenvy"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
+
+[[package]]
+name = "dyn-clone"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ena"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "encode_unicode"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "enrichment"
+version = "0.1.0"
+source = "git+https://github.com/openobserve/vector?rev=66667dd291482a440c5eb2032ef3cbfb7377b53b#66667dd291482a440c5eb2032ef3cbfb7377b53b"
+dependencies = [
+ "arc-swap",
+ "chrono",
+ "dyn-clone",
+ "vrl",
+]
+
+[[package]]
+name = "enum-iterator"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "error-code"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
+dependencies = [
+ "libc",
+ "str-buf",
+]
+
+[[package]]
+name = "etcd-client"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d982a3b3088a5f95d19882d298b352a2e0be20703e3080c1e6767731d5dec79"
+dependencies = [
+ "http",
+ "prost 0.12.2",
+ "tokio",
+ "tokio-stream",
+ "tonic 0.10.2",
+ "tonic-build 0.10.2",
+ "tower",
+ "tower-service",
+]
+
+[[package]]
+name = "etcetera"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
+dependencies = [
+ "cfg-if 1.0.0",
+ "home",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "exitcode"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
+
+[[package]]
+name = "expect-test"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3"
+dependencies = [
+ "dissimilar",
+ "once_cell",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "faststr"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "284eac9300ad17d2492e1e87219768b8ab97fb2c74a61cdbc0ced31d3f711159"
+dependencies = [
+ "bytes",
+ "serde",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall 0.3.5",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "findshlibs"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64"
+dependencies = [
+ "cc",
+ "lazy_static",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "finl_unicode"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flatbuffers"
+version = "23.5.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640"
+dependencies = [
+ "bitflags 1.3.2",
+ "rustc_version",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "libz-sys",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "float-cmp"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "spin 0.9.8",
+]
+
+[[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.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+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 0.3.9",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-intrusive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
+dependencies = [
+ "futures-core",
+ "lock_api",
+ "parking_lot 0.12.1",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+
+[[package]]
+name = "futures-lite"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+dependencies = [
+ "fastrand 1.9.0",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+
+[[package]]
+name = "futures-task"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+
+[[package]]
+name = "futures-util"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "fxhash"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "gcc"
+version = "0.3.55"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+ "zeroize",
+]
+
+[[package]]
+name = "get_if_addrs"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7"
+dependencies = [
+ "c_linked_list",
+ "get_if_addrs-sys",
+ "libc",
+ "winapi 0.2.8",
+]
+
+[[package]]
+name = "get_if_addrs-sys"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48"
+dependencies = [
+ "gcc",
+ "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.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+dependencies = [
+ "cfg-if 1.0.0",
+ "js-sys",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "getset"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[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.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "fnv",
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "grok"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "273797968160270573071022613fc4aa28b91fe68f3eef6c96a1b2a1947ddfbd"
+dependencies = [
+ "glob",
+ "onig",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 2.1.0",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if 1.0.0",
+ "crunchy",
+ "num-traits",
+]
+
+[[package]]
+name = "halfbrown"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec"
+dependencies = [
+ "hashbrown 0.13.2",
+ "serde",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash 0.7.7",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash 0.8.6",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+dependencies = [
+ "ahash 0.8.6",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hashlink"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
+dependencies = [
+ "hashbrown 0.14.2",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[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.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hkdf"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+dependencies = [
+ "hmac",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "hostname"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+dependencies = [
+ "libc",
+ "match_cfg",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "http"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-auth-basic"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd2e17aacf7f4a2428def798e2ff4f4f883c0987bdaf47dd5c8bc027bc9f1ebc"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[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 = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "humansize"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "hyper"
+version = "0.14.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.4.10",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "log",
+ "rustls",
+ "rustls-native-certs",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "hyper-timeout"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
+dependencies = [
+ "hyper",
+ "pin-project-lite",
+ "tokio",
+ "tokio-io-timeout",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "impl-more"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "206ca75c9c03ba3d4ace2460e57b189f39f43de612c2f85836e65c929701bb2d"
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.2",
+ "serde",
+]
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "block-padding",
+ "generic-array",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "integer-encoding"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02"
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+
+[[package]]
+name = "ipnetwork"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4088d739b183546b239688ddbc79891831df421773df95e236daf7867866d355"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ipnetwork"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "rustix 0.38.24",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if 1.0.0",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "jni-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
+
+[[package]]
+name = "jobserver"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "json"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
+
+[[package]]
+name = "keccak"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
+dependencies = [
+ "cpufeatures",
+]
+
+[[package]]
+name = "lalrpop"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8"
+dependencies = [
+ "ascii-canvas",
+ "bit-set",
+ "diff",
+ "ena",
+ "is-terminal",
+ "itertools 0.10.5",
+ "lalrpop-util",
+ "petgraph",
+ "regex",
+ "regex-syntax 0.7.5",
+ "string_cache",
+ "term",
+ "tiny-keccak",
+ "unicode-xid",
+]
+
+[[package]]
+name = "lalrpop-util"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d"
+
+[[package]]
+name = "language-tags"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "lexical-core"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46"
+dependencies = [
+ "lexical-parse-float",
+ "lexical-parse-integer",
+ "lexical-util",
+ "lexical-write-float",
+ "lexical-write-integer",
+]
+
+[[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 = "lexical-write-float"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862"
+dependencies = [
+ "lexical-util",
+ "lexical-write-integer",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-write-integer"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446"
+dependencies = [
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.150"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libflate"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18"
+dependencies = [
+ "adler32",
+ "crc32fast",
+ "libflate_lz77",
+]
+
+[[package]]
+name = "libflate_lz77"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf"
+dependencies = [
+ "rle-decode-fast",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libsqlite3-sys"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+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 = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+
+[[package]]
+name = "local-channel"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "local-waker",
+]
+
+[[package]]
+name = "local-waker"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "lrlex"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22b832738fbfa58ad036580929e973b3b6bd31c6d6c7f18f6b5ea7b626675c85"
+dependencies = [
+ "getopts",
+ "lazy_static",
+ "lrpar",
+ "num-traits",
+ "regex",
+ "serde",
+ "try_from",
+ "vergen",
+]
+
+[[package]]
+name = "lrpar"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f270b952b07995fe874b10a5ed7dd28c80aa2130e37a7de7ed667d034e0a521"
+dependencies = [
+ "bincode",
+ "cactus",
+ "cfgrammar",
+ "filetime",
+ "indexmap 1.9.3",
+ "lazy_static",
+ "lrtable",
+ "num-traits",
+ "packedvec",
+ "regex",
+ "serde",
+ "static_assertions",
+ "vergen",
+ "vob",
+]
+
+[[package]]
+name = "lrtable"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a854115c6a10772ac154261592b082436abc869c812575cadcf9d7ceda8eff0b"
+dependencies = [
+ "cfgrammar",
+ "fnv",
+ "num-traits",
+ "serde",
+ "sparsevec",
+ "static_assertions",
+ "vob",
+]
+
+[[package]]
+name = "lz4_flex"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8"
+dependencies = [
+ "twox-hash",
+]
+
+[[package]]
+name = "lzma-sys"
+version = "0.1.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "mach"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
+
+[[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 0.1.10",
+]
+
+[[package]]
+name = "matchit"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
+
+[[package]]
+name = "maxminddb"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334"
+dependencies = [
+ "ipnetwork 0.18.0",
+ "log",
+ "memchr",
+ "serde",
+]
+
+[[package]]
+name = "md-5"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+dependencies = [
+ "cfg-if 1.0.0",
+ "digest",
+]
+
+[[package]]
+name = "mediatype"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c408dc227d302f1496c84d9dc68c00fec6f56f9228a18f3023f976f3ca7c945"
+
+[[package]]
+name = "memchr"
+version = "2.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "memmap2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mimalloc"
+version = "0.1.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "multimap"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
+
+[[package]]
+name = "names"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc"
+dependencies = [
+ "clap 3.2.25",
+ "rand",
+]
+
+[[package]]
+name = "ndk-context"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "new_mime_guess"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2d684d1b59e0dc07b37e2203ef576987473288f530082512aff850585c61b1f"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg-if 1.0.0",
+ "libc",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "ntapi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "num"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+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-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "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-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "libc",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "object_store"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050"
+dependencies = [
+ "async-trait",
+ "base64 0.21.5",
+ "bytes",
+ "chrono",
+ "futures",
+ "humantime",
+ "hyper",
+ "itertools 0.11.0",
+ "parking_lot 0.12.1",
+ "percent-encoding",
+ "quick-xml",
+ "rand",
+ "reqwest",
+ "ring 0.17.5",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "snafu 0.7.5",
+ "tokio",
+ "tracing",
+ "url",
+ "walkdir",
+]
+
+[[package]]
+name = "ofb"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cc40678e045ff4eb1666ea6c0f994b133c31f673c09aed292261b6d5b6963a0"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "onig"
+version = "6.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
+dependencies = [
+ "bitflags 1.3.2",
+ "libc",
+ "once_cell",
+ "onig_sys",
+]
+
+[[package]]
+name = "onig_sys"
+version = "69.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
+dependencies = [
+ "cc",
+ "pkg-config",
+]
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "openobserve"
+version = "0.7.1"
+dependencies = [
+ "actix-cors",
+ "actix-multipart",
+ "actix-web",
+ "actix-web-httpauth",
+ "actix-web-lab",
+ "actix-web-opentelemetry",
+ "actix-web-prometheus",
+ "actix-web-rust-embed-responder",
+ "ahash 0.8.6",
+ "anyhow",
+ "argon2",
+ "arrow",
+ "arrow-schema",
+ "async-recursion",
+ "async-trait",
+ "awc",
+ "aws-config",
+ "aws-sdk-dynamodb",
+ "base64 0.21.5",
+ "blake3",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "clap 4.4.8",
+ "cloudevents-sdk",
+ "csv",
+ "dashmap",
+ "datafusion",
+ "datafusion-expr",
+ "dotenv_config",
+ "dotenvy",
+ "enrichment",
+ "env_logger",
+ "etcd-client",
+ "expect-test",
+ "faststr",
+ "flate2",
+ "float-cmp",
+ "futures",
+ "get_if_addrs",
+ "getrandom",
+ "glob",
+ "hashlink",
+ "hex",
+ "http-auth-basic",
+ "indexmap 2.1.0",
+ "ipnetwork 0.20.0",
+ "itertools 0.12.0",
+ "log",
+ "maxminddb",
+ "memchr",
+ "mimalloc",
+ "object_store",
+ "once_cell",
+ "opentelemetry 0.18.0",
+ "opentelemetry-otlp",
+ "opentelemetry-proto 0.2.0",
+ "parking_lot 0.12.1",
+ "parquet",
+ "prometheus",
+ "promql-parser",
+ "prost 0.11.9",
+ "prost-build 0.11.9",
+ "pyroscope",
+ "pyroscope_pprofrs",
+ "rand",
+ "rayon",
+ "regex",
+ "regex-syntax 0.8.2",
+ "reqwest",
+ "rs-snowflake",
+ "rust-embed-for-web",
+ "segment",
+ "serde",
+ "serde_json",
+ "sha256",
+ "simd-json",
+ "sled",
+ "snap",
+ "sqlparser",
+ "sqlx",
+ "strum",
+ "sysinfo",
+ "syslog_loose 0.18.0",
+ "tempfile",
+ "thiserror",
+ "tikv-jemallocator",
+ "time",
+ "tokio",
+ "tokio-stream",
+ "tonic 0.8.3",
+ "tonic-build 0.8.4",
+ "tracing",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+ "uaparser",
+ "url",
+ "utoipa",
+ "utoipa-swagger-ui",
+ "uuid",
+ "vrl",
+ "walkdir",
+ "xxhash-rust",
+ "zstd 0.13.0",
+]
+
+[[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 0.18.0",
+ "opentelemetry_sdk 0.18.0",
+]
+
+[[package]]
+name = "opentelemetry"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f4b8347cc26099d3aeee044065ecc3ae11469796b4d65d065a23a584ed92a6f"
+dependencies = [
+ "opentelemetry_api 0.19.0",
+ "opentelemetry_sdk 0.19.0",
+]
+
+[[package]]
+name = "opentelemetry"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "indexmap 2.1.0",
+ "js-sys",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+ "urlencoding",
+]
+
+[[package]]
+name = "opentelemetry-http"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1edc79add46364183ece1a4542592ca593e6421c60807232f5b8f7a31703825d"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "http",
+ "opentelemetry_api 0.18.0",
+ "reqwest",
+]
+
+[[package]]
+name = "opentelemetry-otlp"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde"
+dependencies = [
+ "async-trait",
+ "futures",
+ "futures-util",
+ "http",
+ "opentelemetry 0.18.0",
+ "opentelemetry-http",
+ "opentelemetry-proto 0.1.0",
+ "prost 0.11.9",
+ "reqwest",
+ "serde",
+ "thiserror",
+ "tokio",
+ "tonic 0.8.3",
+]
+
+[[package]]
+name = "opentelemetry-proto"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28"
+dependencies = [
+ "futures",
+ "futures-util",
+ "opentelemetry 0.18.0",
+ "prost 0.11.9",
+ "tonic 0.8.3",
+ "tonic-build 0.8.4",
+]
+
+[[package]]
+name = "opentelemetry-proto"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "045f8eea8c0fa19f7d48e7bc3128a39c2e5c533d5c61298c548dfefc1064474c"
+dependencies = [
+ "futures",
+ "futures-util",
+ "opentelemetry 0.19.0",
+ "prost 0.11.9",
+ "protobuf",
+ "serde",
+ "serde_json",
+ "tonic 0.8.3",
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84"
+dependencies = [
+ "opentelemetry 0.21.0",
+]
+
+[[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 1.9.3",
+ "js-sys",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+]
+
+[[package]]
+name = "opentelemetry_api"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed41783a5bf567688eb38372f2b7a8530f5a607a4b49d38dd7573236c23ca7e2"
+dependencies = [
+ "fnv",
+ "futures-channel",
+ "futures-util",
+ "indexmap 1.9.3",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+ "urlencoding",
+]
+
+[[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 0.18.0",
+ "percent-encoding",
+ "rand",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "opentelemetry_sdk"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1"
+dependencies = [
+ "async-trait",
+ "crossbeam-channel",
+ "dashmap",
+ "fnv",
+ "futures-channel",
+ "futures-executor",
+ "futures-util",
+ "once_cell",
+ "opentelemetry_api 0.19.0",
+ "percent-encoding",
+ "rand",
+ "thiserror",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "ordered-float"
+version = "2.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "ordered-float"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "536900a8093134cf9ccf00a27deb3532421099e958d9dd431135d0c7543ca1e8"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+
+[[package]]
+name = "outref"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "packed_simd"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f9f08af0c877571712e2e3e686ad79efad9657dbf0f7c3c8ba943ff6c38932d"
+dependencies = [
+ "cfg-if 1.0.0",
+ "num-traits",
+]
+
+[[package]]
+name = "packedvec"
+version = "1.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bde3c690ec20e4a2b4fb46f0289a451181eb50011a1e2acc8d85e2fde9062a45"
+dependencies = [
+ "num-traits",
+ "serde",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core 0.8.6",
+]
+
+[[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 0.9.9",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if 1.0.0",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall 0.4.1",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "parquet"
+version = "49.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af88740a842787da39b3d69ce5fbf6fce97d20211d3b299fee0a0da6430c74d4"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-array",
+ "arrow-buffer",
+ "arrow-cast",
+ "arrow-data",
+ "arrow-ipc",
+ "arrow-schema",
+ "arrow-select",
+ "base64 0.21.5",
+ "brotli",
+ "bytes",
+ "chrono",
+ "flate2",
+ "futures",
+ "hashbrown 0.14.2",
+ "lz4_flex",
+ "num",
+ "num-bigint",
+ "object_store",
+ "paste",
+ "seq-macro",
+ "snap",
+ "thrift",
+ "tokio",
+ "twox-hash",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "parse-size"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "944553dd59c802559559161f9816429058b869003836120e262e8caec061b7ae"
+
+[[package]]
+name = "parse-zoneinfo"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41"
+dependencies = [
+ "regex",
+]
+
+[[package]]
+name = "password-hash"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
+dependencies = [
+ "base64ct",
+ "rand_core",
+ "subtle",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "peeking_take_while"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e9ed2178b0575fff8e1b83b58ba6f75e727aafac2e1b6c795169ad3b17eb518"
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+
+[[package]]
+name = "pest"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+dependencies = [
+ "memchr",
+ "thiserror",
+ "ucd-trie",
+]
+
+[[package]]
+name = "pest_derive"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
+dependencies = [
+ "pest",
+ "pest_generator",
+]
+
+[[package]]
+name = "pest_generator"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
+dependencies = [
+ "pest",
+ "pest_meta",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "pest_meta"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
+dependencies = [
+ "once_cell",
+ "pest",
+ "sha2",
+]
+
+[[package]]
+name = "petgraph"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
+dependencies = [
+ "fixedbitset",
+ "indexmap 2.1.0",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared 0.11.2",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+dependencies = [
+ "phf_generator",
+ "phf_shared 0.11.2",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared 0.11.2",
+ "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.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der",
+ "pkcs8",
+ "spki",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der",
+ "spki",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "poly1305"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
+dependencies = [
+ "cpufeatures",
+ "opaque-debug",
+ "universal-hash",
+]
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "pprof"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978385d59daf9269189d052ca8a84c1acfd0715c0599a5d5188d4acc078ca46a"
+dependencies = [
+ "backtrace",
+ "cfg-if 1.0.0",
+ "findshlibs",
+ "libc",
+ "log",
+ "nix",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "smallvec",
+ "symbolic-demangle",
+ "tempfile",
+ "thiserror",
+]
+
+[[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 = "prettyplease"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
+dependencies = [
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "prettyplease"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
+dependencies = [
+ "proc-macro2",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "prettytable-rs"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a"
+dependencies = [
+ "encode_unicode",
+ "is-terminal",
+ "lazy_static",
+ "term",
+ "unicode-width",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+dependencies = [
+ "toml_edit 0.20.7",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "procfs"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1de8dacb0873f77e6aefc6d71e044761fcc68060290f5b1089fcdf84626bb69"
+dependencies = [
+ "bitflags 1.3.2",
+ "byteorder",
+ "hex",
+ "lazy_static",
+ "rustix 0.36.17",
+]
+
+[[package]]
+name = "prometheus"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "fnv",
+ "lazy_static",
+ "libc",
+ "memchr",
+ "parking_lot 0.12.1",
+ "procfs",
+ "protobuf",
+ "thiserror",
+]
+
+[[package]]
+name = "promql-parser"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49ba47c84c4e66bcde38e8ac608feebddf65636d5fc8ed1763836e05013850f3"
+dependencies = [
+ "cfgrammar",
+ "lazy_static",
+ "lrlex",
+ "lrpar",
+ "regex",
+]
+
+[[package]]
+name = "prost"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
+dependencies = [
+ "bytes",
+ "prost-derive 0.11.9",
+]
+
+[[package]]
+name = "prost"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5a410fc7882af66deb8d01d01737353cf3ad6204c408177ba494291a626312"
+dependencies = [
+ "bytes",
+ "prost-derive 0.12.2",
+]
+
+[[package]]
+name = "prost-build"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
+dependencies = [
+ "bytes",
+ "heck",
+ "itertools 0.10.5",
+ "lazy_static",
+ "log",
+ "multimap",
+ "petgraph",
+ "prettyplease 0.1.25",
+ "prost 0.11.9",
+ "prost-types 0.11.9",
+ "regex",
+ "syn 1.0.109",
+ "tempfile",
+ "which",
+]
+
+[[package]]
+name = "prost-build"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fa3d084c8704911bfefb2771be2f9b6c5c0da7343a71e0021ee3c665cada738"
+dependencies = [
+ "bytes",
+ "heck",
+ "itertools 0.11.0",
+ "log",
+ "multimap",
+ "once_cell",
+ "petgraph",
+ "prettyplease 0.2.15",
+ "prost 0.12.2",
+ "prost-types 0.12.2",
+ "regex",
+ "syn 2.0.39",
+ "tempfile",
+ "which",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
+dependencies = [
+ "anyhow",
+ "itertools 0.10.5",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "065717a5dfaca4a83d2fe57db3487b311365200000551d7a364e715dbf4346bc"
+dependencies = [
+ "anyhow",
+ "itertools 0.11.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+dependencies = [
+ "prost 0.11.9",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8339f32236f590281e2f6368276441394fcd1b2133b549cc895d0ae80f2f9a52"
+dependencies = [
+ "prost 0.12.2",
+]
+
+[[package]]
+name = "protobuf"
+version = "2.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
+dependencies = [
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyroscope"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac8a53ce01af1087eaeee6ce7c4fbf50ea4040ab1825c0115c4bafa039644ba9"
+dependencies = [
+ "json",
+ "libc",
+ "libflate",
+ "log",
+ "names",
+ "prost 0.11.9",
+ "reqwest",
+ "thiserror",
+ "url",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "pyroscope_pprofrs"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43f010b2a981a7f8449a650f25f309e520b5206ea2d89512dcb146aaa5518ff4"
+dependencies = [
+ "log",
+ "pprof",
+ "pyroscope",
+ "thiserror",
+]
+
+[[package]]
+name = "quanta"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "mach",
+ "once_cell",
+ "raw-cpuid",
+ "wasi 0.10.2+wasi-snapshot-preview1",
+ "web-sys",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "quoted_printable"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
+
+[[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 = "raw-cpuid"
+version = "10.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "raw-window-handle"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
+
+[[package]]
+name = "rayon"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[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_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "ref-cast"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280"
+dependencies = [
+ "ref-cast-impl",
+]
+
+[[package]]
+name = "ref-cast-impl"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.3",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rend"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+dependencies = [
+ "base64 0.21.5",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "system-configuration",
+ "tokio",
+ "tokio-rustls",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
+ "web-sys",
+ "webpki-roots 0.25.2",
+ "winreg",
+]
+
+[[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 0.5.2",
+ "untrusted 0.7.1",
+ "web-sys",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin 0.9.8",
+ "untrusted 0.9.0",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rkyv"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
+dependencies = [
+ "bitvec",
+ "bytecheck",
+ "hashbrown 0.12.3",
+ "ptr_meta",
+ "rend",
+ "rkyv_derive",
+ "seahash",
+ "tinyvec",
+ "uuid",
+]
+
+[[package]]
+name = "rkyv_derive"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "rle-decode-fast"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
+
+[[package]]
+name = "roxmltree"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
+dependencies = [
+ "xmlparser",
+]
+
+[[package]]
+name = "rs-snowflake"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e60ef3b82994702bbe4e134d98aadca4b49ed04440148985678d415c68127666"
+
+[[package]]
+name = "rsa"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+dependencies = [
+ "const-oid",
+ "digest",
+ "num-bigint-dig",
+ "num-integer",
+ "num-traits",
+ "pkcs1",
+ "pkcs8",
+ "rand_core",
+ "signature",
+ "spki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rust-embed"
+version = "8.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
+dependencies = [
+ "rust-embed-impl",
+ "rust-embed-utils",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-for-web"
+version = "11.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb0ac27c82044eed85bb65ff80438d9c9a9b7335ccded5ee43d5d90c5e69be75"
+dependencies = [
+ "rust-embed-for-web-impl",
+ "rust-embed-for-web-utils",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-for-web-impl"
+version = "11.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8550045ff1cf11e67aaa2b651163256461cb6aa4ba1e13957a98ac1472206a3"
+dependencies = [
+ "brotli",
+ "flate2",
+ "globset",
+ "proc-macro2",
+ "quote",
+ "rust-embed-for-web-utils",
+ "shellexpand 3.1.0",
+ "syn 2.0.39",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-for-web-utils"
+version = "11.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c747ac20c1b87c0a7dee62f2b47ca26a9112b164a66b1c2d2fafae958d8cfd75"
+dependencies = [
+ "base85rs",
+ "chrono",
+ "globset",
+ "new_mime_guess",
+ "sha2",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-impl"
+version = "8.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "rust-embed-utils",
+ "shellexpand 2.1.2",
+ "syn 2.0.39",
+ "walkdir",
+]
+
+[[package]]
+name = "rust-embed-utils"
+version = "8.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada"
+dependencies = [
+ "sha2",
+ "walkdir",
+]
+
+[[package]]
+name = "rust_decimal"
+version = "1.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "076ba1058b036d3ca8bcafb1d54d0b0572e99d7ecd3e4222723e18ca8e9ca9a8"
+dependencies = [
+ "arrayvec",
+ "borsh",
+ "bytes",
+ "num-traits",
+ "rand",
+ "rkyv",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.1.4",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.11",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.21.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+dependencies = [
+ "log",
+ "ring 0.17.5",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64 0.21.5",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring 0.17.5",
+ "untrusted 0.9.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "rustyline"
+version = "12.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "994eca4bca05c87e86e15d90fc7a91d1be64b4482b38cb2d27474568fe7c9db9"
+dependencies = [
+ "bitflags 2.4.1",
+ "cfg-if 1.0.0",
+ "clipboard-win",
+ "libc",
+ "log",
+ "memchr",
+ "nix",
+ "scopeguard",
+ "unicode-segmentation",
+ "unicode-width",
+ "utf8parse",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "salsa20"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
+dependencies = [
+ "cipher",
+]
+
+[[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 = "schannel"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "sct"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+dependencies = [
+ "ring 0.17.5",
+ "untrusted 0.9.0",
+]
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "segment"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12485833e00457a6bbba60397d3f19362751a0caefe27f6755fff1a2be4fd601"
+dependencies = [
+ "async-trait",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+
+[[package]]
+name = "seq-macro"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
+
+[[package]]
+name = "serde"
+version = "1.0.192"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.192"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "serde_html_form"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cde65b75f2603066b78d6fa239b2c07b43e06ead09435f60554d3912962b4a3c"
+dependencies = [
+ "form_urlencoded",
+ "indexmap 2.1.0",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.108"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_plain"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50"
+dependencies = [
+ "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.8.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+dependencies = [
+ "indexmap 1.9.3",
+ "ryu",
+ "serde",
+ "yaml-rust",
+]
+
+[[package]]
+name = "sha-1"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha256"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7895c8ae88588ccead14ff438b939b0c569cd619116f14b4d13fdff7b8333386"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "hex",
+ "sha2",
+ "tokio",
+]
+
+[[package]]
+name = "sha3"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+dependencies = [
+ "digest",
+ "keccak",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shellexpand"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
+dependencies = [
+ "dirs 4.0.0",
+]
+
+[[package]]
+name = "shellexpand"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
+dependencies = [
+ "dirs 5.0.1",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "signature"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
+dependencies = [
+ "digest",
+ "rand_core",
+]
+
+[[package]]
+name = "simd-json"
+version = "0.13.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5a3720326b20bf5b95b72dbbd133caae7e0dcf71eae8f6e6656e71a7e5c9aaa"
+dependencies = [
+ "getrandom",
+ "halfbrown",
+ "lexical-core",
+ "ref-cast",
+ "serde",
+ "serde_json",
+ "simdutf8",
+ "value-trait",
+]
+
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "sled"
+version = "0.34.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
+dependencies = [
+ "crc32fast",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "fs2",
+ "fxhash",
+ "libc",
+ "log",
+ "parking_lot 0.11.2",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+
+[[package]]
+name = "snafu"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eab12d3c261b2308b0d80c26fffb58d17eba81a4be97890101f416b478c79ca7"
+dependencies = [
+ "doc-comment",
+ "snafu-derive 0.6.10",
+]
+
+[[package]]
+name = "snafu"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6"
+dependencies = [
+ "doc-comment",
+ "snafu-derive 0.7.5",
+]
+
+[[package]]
+name = "snafu-derive"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1508efa03c362e23817f96cde18abed596a25219a8b2c66e8db33c03543d315b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "snafu-derive"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "snap"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831"
+
+[[package]]
+name = "socket2"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
+dependencies = [
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "sparsevec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "928d1ef5df00aec8c5643c2ac37db4dd282763013c0fcc81efbb8e13db8dd8ec"
+dependencies = [
+ "num-traits",
+ "packedvec",
+ "serde",
+ "vob",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "spki"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+dependencies = [
+ "base64ct",
+ "der",
+]
+
+[[package]]
+name = "sqlformat"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85"
+dependencies = [
+ "itertools 0.11.0",
+ "nom",
+ "unicode_categories",
+]
+
+[[package]]
+name = "sqlparser"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7"
+dependencies = [
+ "log",
+ "serde",
+ "sqlparser_derive",
+]
+
+[[package]]
+name = "sqlparser_derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55fe75cb4a364c7f7ae06c7dbbc8d84bddd85d6cdf9975963c3935bc1991761e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "sqlx"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
+dependencies = [
+ "sqlx-core",
+ "sqlx-macros",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
+]
+
+[[package]]
+name = "sqlx-core"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
+dependencies = [
+ "ahash 0.8.6",
+ "atoi",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "crc",
+ "crossbeam-queue",
+ "dotenvy",
+ "either",
+ "event-listener",
+ "futures-channel",
+ "futures-core",
+ "futures-intrusive",
+ "futures-io",
+ "futures-util",
+ "hashlink",
+ "hex",
+ "indexmap 2.1.0",
+ "log",
+ "memchr",
+ "once_cell",
+ "paste",
+ "percent-encoding",
+ "rustls",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "sha2",
+ "smallvec",
+ "sqlformat",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+ "url",
+ "webpki-roots 0.24.0",
+]
+
+[[package]]
+name = "sqlx-macros"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "sqlx-core",
+ "sqlx-macros-core",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "sqlx-macros-core"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
+dependencies = [
+ "dotenvy",
+ "either",
+ "heck",
+ "hex",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "sha2",
+ "sqlx-core",
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
+ "syn 1.0.109",
+ "tempfile",
+ "tokio",
+ "url",
+]
+
+[[package]]
+name = "sqlx-mysql"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
+dependencies = [
+ "atoi",
+ "base64 0.21.5",
+ "bitflags 2.4.1",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "crc",
+ "digest",
+ "dotenvy",
+ "either",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "generic-array",
+ "hex",
+ "hkdf",
+ "hmac",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "percent-encoding",
+ "rand",
+ "rsa",
+ "serde",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-postgres"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
+dependencies = [
+ "atoi",
+ "base64 0.21.5",
+ "bitflags 2.4.1",
+ "byteorder",
+ "chrono",
+ "crc",
+ "dotenvy",
+ "etcetera",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "hex",
+ "hkdf",
+ "hmac",
+ "home",
+ "itoa",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "rand",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "sqlx-core",
+ "stringprep",
+ "thiserror",
+ "tracing",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-sqlite"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
+dependencies = [
+ "atoi",
+ "chrono",
+ "flume",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "libsqlite3-sys",
+ "log",
+ "percent-encoding",
+ "serde",
+ "sqlx-core",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "str-buf"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
+
+[[package]]
+name = "string_cache"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
+dependencies = [
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
+]
+
+[[package]]
+name = "stringprep"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6"
+dependencies = [
+ "finl_unicode",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "strip-ansi-escapes"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ff8ef943b384c414f54aefa961dd2bd853add74ec75e7ac74cf91dba62bcfa"
+dependencies = [
+ "vte",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strum"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+dependencies = [
+ "strum_macros",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.25.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "symbolic-common"
+version = "12.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "405af7bd5edd866cef462e22ef73f11cf9bf506c9d62824fef8364eb69d4d4ad"
+dependencies = [
+ "debugid",
+ "memmap2",
+ "stable_deref_trait",
+ "uuid",
+]
+
+[[package]]
+name = "symbolic-demangle"
+version = "12.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bcd041ccfb77d9c70639efcd5b804b508ac7a273e9224d227379e225625daf9"
+dependencies = [
+ "cpp_demangle",
+ "rustc-demangle",
+ "symbolic-common",
+]
+
+[[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.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn_derive"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "sysinfo"
+version = "0.29.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5"
+dependencies = [
+ "cfg-if 1.0.0",
+ "core-foundation-sys",
+ "libc",
+ "ntapi",
+ "once_cell",
+ "rayon",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "syslog_loose"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fb75f176928530867b2a659e470f9c9ff71904695bab6556f7ad30f9039efd"
+dependencies = [
+ "chrono",
+ "nom",
+]
+
+[[package]]
+name = "syslog_loose"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acf5252d1adec0a489a0225f867c1a7fd445e41674530a396d0629cff0c4b211"
+dependencies = [
+ "chrono",
+ "nom",
+]
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tempfile"
+version = "3.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+dependencies = [
+ "cfg-if 1.0.0",
+ "fastrand 2.0.1",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.24",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "term"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
+dependencies = [
+ "dirs-next",
+ "rustversion",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+[[package]]
+name = "thiserror"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if 1.0.0",
+ "once_cell",
+]
+
+[[package]]
+name = "thrift"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09"
+dependencies = [
+ "byteorder",
+ "integer-encoding",
+ "ordered-float 2.10.1",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+dependencies = [
+ "deranged",
+ "itoa",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[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 = "tokio"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "parking_lot 0.12.1",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.5",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-io-timeout"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+dependencies = [
+ "rustls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+
+[[package]]
+name = "toml_edit"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap 2.1.0",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+dependencies = [
+ "indexmap 2.1.0",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tonic"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.13.1",
+ "bytes",
+ "flate2",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost 0.11.9",
+ "prost-derive 0.11.9",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "tonic"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.21.5",
+ "bytes",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost 0.12.2",
+ "rustls",
+ "rustls-pemfile",
+ "tokio",
+ "tokio-rustls",
+ "tokio-stream",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tonic-build"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4"
+dependencies = [
+ "prettyplease 0.1.25",
+ "proc-macro2",
+ "prost-build 0.11.9",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "tonic-build"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
+dependencies = [
+ "prettyplease 0.2.15",
+ "proc-macro2",
+ "prost-build 0.12.2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "indexmap 1.9.3",
+ "pin-project",
+ "pin-project-lite",
+ "rand",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "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.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "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 0.18.0",
+ "tracing",
+ "tracing-core",
+ "tracing-log 0.1.4",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log 0.2.0",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+[[package]]
+name = "try_from"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
+dependencies = [
+ "cfg-if 0.1.10",
+]
+
+[[package]]
+name = "twox-hash"
+version = "1.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
+dependencies = [
+ "cfg-if 1.0.0",
+ "static_assertions",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "uaparser"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf694e7b0434d4fad6c879e984e8fdc3a62f5533c3d421762244f9e9d03f6927"
+dependencies = [
+ "derive_more",
+ "lazy_static",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_yaml",
+]
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+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-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[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-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unicode_categories"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
+
+[[package]]
+name = "universal-hash"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
+dependencies = [
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "url"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
+name = "utf8-width"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "utoipa"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ff05e3bac2c9428f57ade702667753ca3f5cf085e2011fe697de5bfd49aa72d"
+dependencies = [
+ "indexmap 2.1.0",
+ "serde",
+ "serde_json",
+ "utoipa-gen",
+]
+
+[[package]]
+name = "utoipa-gen"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f0b6f4667edd64be0e820d6631a60433a269710b6ee89ac39525b872b76d61d"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "utoipa-swagger-ui"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "154517adf0d0b6e22e8e1f385628f14fcaa3db43531dc74303d3edef89d6dfe5"
+dependencies = [
+ "actix-web",
+ "mime_guess",
+ "regex",
+ "rust-embed",
+ "serde",
+ "serde_json",
+ "utoipa",
+ "zip",
+]
+
+[[package]]
+name = "uuid"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
+dependencies = [
+ "getrandom",
+ "rand",
+ "uuid-macro-internal",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "uuid-macro-internal"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d8c6bba9b149ee82950daefc9623b32bb1dacbfb1890e352f6b887bd582adaf"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "value-trait"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea87257cfcbedcb9444eda79c59fdfea71217e6305afee8ee33f500375c2ac97"
+dependencies = [
+ "float-cmp",
+ "halfbrown",
+ "itoa",
+ "ryu",
+]
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "vergen"
+version = "7.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f21b881cd6636ece9735721cf03c1fe1e774fe258683d084bb2812ab67435749"
+dependencies = [
+ "anyhow",
+ "cfg-if 1.0.0",
+ "enum-iterator",
+ "getset",
+ "rustversion",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "vob"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c058f4c41e71a043c67744cb76dcc1ae63ece328c1732a72489ccccc2dec23e6"
+dependencies = [
+ "num-traits",
+ "rustc_version",
+ "serde",
+]
+
+[[package]]
+name = "vrl"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a93ee342590c4df0ff63961d7d76a347e0c7b6e6c0be4c001317ca1ff11b53"
+dependencies = [
+ "aes",
+ "anymap",
+ "base16",
+ "base64 0.21.5",
+ "bytes",
+ "cbc",
+ "cfb-mode",
+ "cfg-if 1.0.0",
+ "chacha20poly1305",
+ "charset",
+ "chrono",
+ "chrono-tz",
+ "cidr-utils",
+ "clap 4.4.8",
+ "codespan-reporting",
+ "community-id",
+ "crypto_secretbox",
+ "csv",
+ "ctr",
+ "data-encoding",
+ "dns-lookup",
+ "dyn-clone",
+ "exitcode",
+ "flate2",
+ "grok",
+ "hex",
+ "hmac",
+ "hostname",
+ "indexmap 2.1.0",
+ "indoc",
+ "itertools 0.11.0",
+ "lalrpop",
+ "lalrpop-util",
+ "md-5",
+ "nom",
+ "ofb",
+ "once_cell",
+ "onig",
+ "ordered-float 4.1.1",
+ "paste",
+ "peeking_take_while",
+ "percent-encoding",
+ "pest",
+ "pest_derive",
+ "prettytable-rs",
+ "quoted_printable",
+ "rand",
+ "regex",
+ "roxmltree",
+ "rust_decimal",
+ "rustyline",
+ "seahash",
+ "serde",
+ "serde_json",
+ "sha-1",
+ "sha2",
+ "sha3",
+ "snafu 0.7.5",
+ "strip-ansi-escapes",
+ "syslog_loose 0.19.0",
+ "termcolor",
+ "thiserror",
+ "tracing",
+ "uaparser",
+ "url",
+ "utf8-width",
+ "uuid",
+ "webbrowser",
+ "woothee",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "vsimd"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
+
+[[package]]
+name = "vte"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197"
+dependencies = [
+ "utf8parse",
+ "vte_generate_state_changes",
+]
+
+[[package]]
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "waker-fn"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.10.2+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+
+[[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.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+dependencies = [
+ "cfg-if 1.0.0",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+dependencies = [
+ "cfg-if 1.0.0",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+
+[[package]]
+name = "wasm-streams"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+dependencies = [
+ "futures-util",
+ "js-sys",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webbrowser"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+dependencies = [
+ "core-foundation",
+ "home",
+ "jni",
+ "log",
+ "ndk-context",
+ "objc",
+ "raw-window-handle",
+ "url",
+ "web-sys",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
+dependencies = [
+ "rustls-webpki",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.25.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix 0.38.24",
+]
+
+[[package]]
+name = "whoami"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[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-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winnow"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if 1.0.0",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "woothee"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "896174c6a4779d4d7d4523dd27aef7d46609eda2497e370f6c998325c6bf6971"
+dependencies = [
+ "lazy_static",
+ "regex",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xmlparser"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
+
+[[package]]
+name = "xxhash-rust"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
+
+[[package]]
+name = "xz2"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2"
+dependencies = [
+ "lzma-sys",
+]
+
+[[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 = "zerocopy"
+version = "0.7.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12a3946ecfc929b583800f4629b6c25b88ac6e92a40ea5670f77112a85d40a8b"
+
+[[package]]
+name = "zip"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+dependencies = [
+ "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+]
+
+[[package]]
+name = "zstd"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
+dependencies = [
+ "zstd-safe 6.0.6",
+]
+
+[[package]]
+name = "zstd"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
+dependencies = [
+ "zstd-safe 7.0.0",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "6.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "7.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
+dependencies = [
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "2.0.9+zstd.1.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
+dependencies = [
+ "cc",
+ "pkg-config",
+]
diff --git a/pkgs/by-name/op/openobserve/build.rs.patch b/pkgs/by-name/op/openobserve/build.rs.patch
new file mode 100644
index 0000000000000..1cfb91c7c12b7
--- /dev/null
+++ b/pkgs/by-name/op/openobserve/build.rs.patch
@@ -0,0 +1,29 @@
+diff --git a/build.rs b/build.rs
+index 0f66ace..be74fad 100644
+--- a/build.rs
++++ b/build.rs
+@@ -99,24 +99,5 @@ fn main() -> Result<()> {
+         &["proto"],
+     )?;
+ 
+-    // build information
+-    let output = Command::new("git")
+-        .args(["describe", "--tags", "--abbrev=0"])
+-        .output()
+-        .unwrap();
+-    let git_tag = String::from_utf8(output.stdout).unwrap();
+-    println!("cargo:rustc-env=GIT_VERSION={git_tag}");
+-
+-    let output = Command::new("git")
+-        .args(["rev-parse", "HEAD"])
+-        .output()
+-        .unwrap();
+-    let git_commit = String::from_utf8(output.stdout).unwrap();
+-    println!("cargo:rustc-env=GIT_COMMIT_HASH={git_commit}");
+-
+-    let now: DateTime<Utc> = Utc::now();
+-    let build_date = now.to_rfc3339_opts(SecondsFormat::Secs, true);
+-    println!("cargo:rustc-env=GIT_BUILD_DATE={build_date}");
+-
+     Ok(())
+ }
diff --git a/pkgs/by-name/op/openobserve/package.nix b/pkgs/by-name/op/openobserve/package.nix
new file mode 100644
index 0000000000000..3cc229348bba7
--- /dev/null
+++ b/pkgs/by-name/op/openobserve/package.nix
@@ -0,0 +1,139 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, protobuf
+, bzip2
+, oniguruma
+, sqlite
+, xz
+, zlib
+, zstd
+, stdenv
+, darwin
+, buildNpmPackage
+}:
+
+let
+  version = "0.7.2";
+  src = fetchFromGitHub {
+    owner = "openobserve";
+    repo = "openobserve";
+    rev = "v${version}";
+    hash = "sha256-BFLQL3msDuurRSFOCbqN0vK4NrTS9M6k1hNwet/9mnw=";
+  };
+  web = buildNpmPackage {
+    inherit src version;
+    pname = "openobserve-ui";
+
+    sourceRoot = "source/web";
+
+    npmDepsHash = "sha256-eYrspgejb5VR51wAXdGr+pSXDdGnRyX5cwwopK3Kex8=";
+
+    preBuild = ''
+      # Patch vite config to not open the browser to visualize plugin composition
+      substituteInPlace vite.config.ts \
+        --replace "open: true" "open: false";
+    '';
+
+    env = {
+      # cypress tries to download binaries otherwise
+      CYPRESS_INSTALL_BINARY = 0;
+    };
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/share
+      mv dist $out/share/openobserve-ui
+      runHook postInstall
+    '';
+  };
+in
+rustPlatform.buildRustPackage {
+  pname = "openobserve";
+  inherit version src;
+
+  # prevent using git to determine version info during build time
+  patches = [
+    ./build.rs.patch
+  ];
+
+  preBuild = ''
+    cp -r ${web}/share/openobserve-ui web/dist
+  '';
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "enrichment-0.1.0" = "sha256-FDPSCBkx+DPeWwTBz9+ORcbbiSBC2a8tJaay9Pxwz4w=";
+      "datafusion-33.0.0" = "sha256-RZAgk7up83zxPbmNzdnzB6M0yjjK9MYms+6TpXVDJ1o=";
+    };
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+  ];
+
+  buildInputs = [
+    bzip2
+    oniguruma
+    sqlite
+    xz
+    zlib
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    CoreFoundation
+    IOKit
+    Security
+    SystemConfiguration
+  ]);
+
+  env = {
+    RUSTONIG_SYSTEM_LIBONIG = true;
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+
+    RUSTC_BOOTSTRAP = 1; # uses experimental features
+
+    # the patched build.rs file sets these variables
+    GIT_VERSION = src.rev;
+    GIT_COMMIT_HASH = "builtByNix";
+    GIT_BUILD_DATE = "1970-01-01T00:00:00Z";
+  };
+
+  # requires network access or filesystem mutations
+  checkFlags = [
+    "--skip handler::http::auth::tests::test_validate"
+    "--skip handler::http::router::ui::tests::test_index_not_ok"
+    "--skip handler::http::router::ui::tests::test_index_ok"
+    "--skip handler::http::request::search::saved_view::tests::test_create_view_post"
+    "--skip infra::cache::file_list::tests::test_get_file_from_cache"
+    "--skip infra::cache::tmpfs::tests::test_delete_prefix"
+    "--skip infra::cluster::tests::test_get_node_ip"
+    "--skip infra::db::tests::test_delete"
+    "--skip service::alerts::test::test_alerts"
+    "--skip service::compact::merge::tests::test_compact"
+    "--skip service::db::compact::file_list::tests::test_files"
+    "--skip service::db::compact::file_list::tests::test_file_list_offset"
+    "--skip service::db::compact::file_list::tests::test_file_list_process_offset"
+    "--skip service::db::compact::files::tests::test_compact_files"
+    "--skip service::db::user::tests::test_user"
+    "--skip service::ingestion::grpc::tests::test_get_val"
+    "--skip service::organization::tests::test_organization"
+    "--skip service::search::sql::tests::test_sql_full"
+    "--skip service::triggers::tests::test_triggers"
+    "--skip service::users::tests::test_post_user"
+    "--skip service::users::tests::test_user"
+    "--skip common::infra::cache::file_data::disk::tests::test_get_file_from_cache"
+    "--skip common::infra::db::tests::test_get"
+    "--skip common::utils::auth::tests::test_is_root_user2"
+    "--skip tests::e2e_test"
+  ];
+
+  meta = with lib; {
+    description = "10x easier, 🚀 140x lower storage cost, 🚀 high performance,  🚀 petabyte scale - Elasticsearch/Splunk/Datadog alternative for 🚀 (logs, metrics, traces";
+    homepage = "https://github.com/openobserve/openobserve";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    mainProgram = "openobserve";
+  };
+}
diff --git a/pkgs/by-name/op/opentype-sanitizer/package.nix b/pkgs/by-name/op/opentype-sanitizer/package.nix
new file mode 100644
index 0000000000000..2e7e7e62180ee
--- /dev/null
+++ b/pkgs/by-name/op/opentype-sanitizer/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, freetype
+, gtest
+, lz4
+, meson
+, ninja
+, pkg-config
+, woff2
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "opentype-sanitizer";
+  version = "9.1.0";
+
+  src = fetchFromGitHub {
+    owner = "khaledhosny";
+    repo = "ots";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-gsNMPNPcfHyOgjJnIrJ5tLYHbCfIfTowEhcaGOUPb2Q=";
+  };
+
+  buildInputs = [
+    freetype
+    gtest
+    lz4
+    woff2
+  ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Sanitizing parser for OpenType fonts";
+    homepage = "https://github.com/khaledhosny/ots";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+})
diff --git a/pkgs/by-name/pa/pam-honeycreds/package.nix b/pkgs/by-name/pa/pam-honeycreds/package.nix
new file mode 100644
index 0000000000000..9c96e1c317fdf
--- /dev/null
+++ b/pkgs/by-name/pa/pam-honeycreds/package.nix
@@ -0,0 +1,25 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pam
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "pam-honeycreds";
+  version = "1.9";
+  src = fetchFromGitHub {
+    owner = "ColumPaget";
+    repo = "pam_honeycreds";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-GRJnH431foNI10g95rrtgi31DM15FWhzNq9L0SwoZoM=";
+  };
+
+  buildInputs = [ pam ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ColumPaget/pam_honeycreds";
+    description = "PAM module that sends warnings when fake passwords are used";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ h7x4 ];
+  };
+})
diff --git a/pkgs/by-name/pa/passwdqc/package.nix b/pkgs/by-name/pa/passwdqc/package.nix
new file mode 100644
index 0000000000000..f70076243fbbd
--- /dev/null
+++ b/pkgs/by-name/pa/passwdqc/package.nix
@@ -0,0 +1,67 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, libxcrypt
+, pam
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "passwdqc";
+  version = "2.0.3";
+
+  src = fetchFromGitHub {
+    owner = "openwall";
+    repo = "passwdqc";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-EgPeccqS+DDDMBVMc4bd70EMnXFuyglftxuqoaYHwNY=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "0001-fix-solaris-macos-builds.patch";
+      url = "https://github.com/openwall/passwdqc/commit/fbf38229857f3d1982aa305c20da5e1ea0195b3e.patch";
+      hash = "sha256-FaEWROHwFzd4ZTeKyPvuAr9vcgnHEv8MhERblIU8JC4=";
+    })
+  ];
+
+  outputs = [ "out" "man" ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libxcrypt
+    pam
+  ];
+
+  strictDeps = true;
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
+  installFlags = [
+    # Yet another software that does not use GNUInstallDirs Convention...
+    "BINDIR=$(out)/bin"
+    "CONFDIR=$(out)/etc"
+    "DEVEL_LIBDIR=$(out)/lib"
+    "INCLUDEDIR=$(out)/include"
+    "LOCALEDIR=$(out)/share/locale"
+    "MANDIR=$(man)/man"
+    "PKGCONFIGDIR=$(out)/lib/pkgconfig"
+    "SECUREDIR=$(out)/lib/security"
+    "SECUREDIR_DARWIN=$(out)/lib/security"
+    "SHARED_LIBDIR=$(out)/lib"
+    "SHARED_LIBDIR_REL=$(out)/lib"
+  ];
+
+  meta = {
+    homepage = "https://www.openwall.com/passwdqc/";
+    description = "Passphrase strength checking and enforcement";
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    mainProgram = "passwdqc";
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/pe/perl-debug-adapter/package.nix b/pkgs/by-name/pe/perl-debug-adapter/package.nix
new file mode 100644
index 0000000000000..4b1dd4e09ee67
--- /dev/null
+++ b/pkgs/by-name/pe/perl-debug-adapter/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, fetchpatch
+, makeWrapper
+, perl
+# Needed if you want to use it for a perl script with dependencies.
+, extraPerlPackages ? []
+}:
+
+let
+  perlInterpreter = perl.withPackages(ps: [
+    ps.PadWalker
+  ] ++ extraPerlPackages);
+in buildNpmPackage rec {
+  pname = "perl-debug-adapter";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "Nihilus118";
+    repo = "perl-debug-adapter";
+    rev = version;
+    hash = "sha256-IXXKhk4rzsWSPA0RT0L3CZuKlgTWtweZ4dQtruTigRs=";
+  };
+
+  npmDepsHash = "sha256-iw7+YC4qkrTVEJuZ9lnjNlUopTCp+fMNoIjFLutmrMw=";
+
+  npmBuildScript = "compile";
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ perlInterpreter ])
+  ];
+  passthru = {
+    inherit perlInterpreter;
+  };
+
+  meta = {
+    description = "Debug adapter, invokes perl -d and handles communication with VS Code or other editors";
+    homepage = "https://github.com/Nihilus118/perl-debug-adapter";
+    changelog = "https://github.com/Nihilus118/perl-debug-adapter/blob/${version}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ doronbehar ];
+    mainProgram = "perl-debug-adapter";
+  };
+}
diff --git a/pkgs/development/tools/misc/phpunit/default.nix b/pkgs/by-name/ph/phpunit/package.nix
index 3442f95c31643..e68a56fd2ae46 100644
--- a/pkgs/development/tools/misc/phpunit/default.nix
+++ b/pkgs/by-name/ph/phpunit/package.nix
@@ -2,25 +2,23 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "phpunit";
-  version = "10.4.2";
+  version = "10.5.1";
 
   src = fetchFromGitHub {
     owner = "sebastianbergmann";
     repo = "phpunit";
     rev = finalAttrs.version;
-    hash = "sha256-7hgDeg8K+Iuo8Lb8mV5ACQV3BDBotKIZ0/IdlLCXuIc=";
+    hash = "sha256-uYSVzKLefcBMqfrHaF6pg4gohAeb6LVg8QGaTS8jwfE=";
   };
 
-  # Add missing composer.lock
-  # https://github.com/sebastianbergmann/phpunit/pull/5576
-  composerLock = ./composer.lock;
-  vendorHash = "sha256-PYcXB8MEhZabAreR2GluyrEkgnTvUEgEkfFnUT5Fqps=";
+  vendorHash = "sha256-uUdgz3ZZ+3nU07pUC1sdkNgU1b1beo3sS/yySUzdZwU=";
 
   meta = {
     changelog = "https://github.com/sebastianbergmann/phpunit/blob/${finalAttrs.version}/ChangeLog-${lib.versions.majorMinor finalAttrs.version}.md";
     description = "PHP Unit Testing framework";
     homepage = "https://phpunit.de";
     license = lib.licenses.bsd3;
+    mainProgram = "phpunit";
     maintainers = [ lib.maintainers.onny ] ++ lib.teams.php.members;
   };
 })
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/by-name/pi/pipeworld/package.nix
index 9474535133fdb..52c411d837774 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/by-name/pi/pipeworld/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalPackages: {
   pname = "pipeworld";
-  version = "unstable-2023-03-02";
+  version = "unstable-2023-02-05";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "pipeworld";
-    rev = "9ea79f72ad500fe78b9f46e680be87eaac3bfb0e";
-    hash = "sha256-/cjse6XXrdLoUB35GLgl871qINOm4SvKPTbfoBceLu0=";
+    rev = "edc3821404b3a1274b8a50d2fb1c6b523fbd4a1c";
+    hash = "sha256-PbKejghMkLZdeQJD9fObw9xhGH24IX72X7pyjapTXJM=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalPackages: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/pipeworld";
     description = "Dataflow 'spreadsheet' desktop environment";
     longDescription = ''
@@ -43,8 +43,8 @@ stdenvNoCC.mkDerivation (finalPackages: {
       application within another desktop as a 'substitute' for your normal
       terminal emulator.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/pl/pls/Cargo.lock b/pkgs/by-name/pl/pls/Cargo.lock
new file mode 100644
index 0000000000000..42856918831a8
--- /dev/null
+++ b/pkgs/by-name/pl/pls/Cargo.lock
@@ -0,0 +1,856 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is-terminal",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+dependencies = [
+ "anstyle",
+ "windows-sys",
+]
+
+[[package]]
+name = "atomic"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
+
+[[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.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+dependencies = [
+ "jobserver",
+]
+
+[[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.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+ "once_cell",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+ "terminal_size",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "colored"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+dependencies = [
+ "is-terminal",
+ "lazy_static",
+ "windows-sys",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "figment"
+version = "0.10.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4547e226f4c9ab860571e070a9034192b3175580ecea38da34fcdb53a018c9a5"
+dependencies = [
+ "atomic",
+ "parking_lot",
+ "serde",
+ "serde_yaml",
+ "tempfile",
+ "uncased",
+ "version_check",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "git2"
+version = "0.17.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
+dependencies = [
+ "bitflags 1.3.2",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "url",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+
+[[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.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "idna"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "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.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi",
+ "rustix 0.38.3",
+ "windows-sys",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
+name = "jobserver"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+dependencies = [
+ "libc",
+]
+
+[[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.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.15.2+1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "121f7402cc6ab5821dad08d1b9d11618a9ea4da992343909fecf8e430e86364c"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+
+[[package]]
+name = "lock_api"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[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.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "pls"
+version = "0.0.1-beta.2"
+dependencies = [
+ "clap",
+ "colored",
+ "env_logger",
+ "figment",
+ "git2",
+ "home",
+ "lazy_static",
+ "log",
+ "number_prefix",
+ "regex",
+ "serde",
+ "serde_regex",
+ "terminal_size",
+ "time",
+ "unicode-segmentation",
+ "users",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89089e897c013b3deb627116ae56a6955a72b8bed395c9526af31c9fe528b484"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa250384981ea14565685dea16a9ccc4d1c541a13f82b9c168572264d1df8c56"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
+
+[[package]]
+name = "rustix"
+version = "0.37.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.3.8",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4"
+dependencies = [
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+
+[[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.166"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.166"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_regex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf"
+dependencies = [
+ "regex",
+ "serde",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.9.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "2.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix 0.37.23",
+ "windows-sys",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
+dependencies = [
+ "rustix 0.37.23",
+ "windows-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.3.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd"
+dependencies = [
+ "itoa",
+ "libc",
+ "num_threads",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+
+[[package]]
+name = "time-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "uncased"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68"
+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-ident"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+
+[[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-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6"
+
+[[package]]
+name = "url"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "users"
+version = "0.11.0"
+source = "git+https://github.com/dhruvkb/rust-users.git#e6ba8a88e0127f0d17ddd99f80f85d2c1722b227"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[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 = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+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.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/pkgs/by-name/pl/pls/package.nix b/pkgs/by-name/pl/pls/package.nix
new file mode 100644
index 0000000000000..cbd46d09e1ab4
--- /dev/null
+++ b/pkgs/by-name/pl/pls/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pls";
+  version = "0.0.1-beta.2";
+
+  src = fetchFromGitHub {
+    owner = "dhruvkb";
+    repo = "pls";
+    rev = "v${version}";
+    hash = "sha256-yMZygYrLi3V9MA+6vgqG+RHme5jtHMnork8aALbFVXc=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "users-0.11.0" = "sha256-xBds73h68oWjKivEw92jEx0dVh08H2EIlBWnGx9DhyE=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = {
+    description = "Prettier and powerful ls";
+    homepage = "https://pls-rs.github.io/pls/";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "pls";
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/pkgs/by-name/po/polybar-pulseaudio-control/package.nix b/pkgs/by-name/po/polybar-pulseaudio-control/package.nix
new file mode 100644
index 0000000000000..a4063dd34f8c6
--- /dev/null
+++ b/pkgs/by-name/po/polybar-pulseaudio-control/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, bash
+, coreutils
+, fetchFromGitHub
+, gawk
+, makeWrapper
+, pulseaudio
+, stdenv
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "polybar-pulseaudio-control";
+  version = "3.1.1";
+
+  src = fetchFromGitHub {
+    owner = "marioortizmanero";
+    repo = "polybar-pulseaudio-control";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-egCBCnhnmHHKFeDkpaF9Upv/oZ0K3XGyutnp4slq9Vc=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 pulseaudio-control.bash $out/bin/pulseaudio-control
+    wrapProgram "$out/bin/pulseaudio-control" \
+      --prefix PATH : "${lib.makeBinPath [ bash coreutils gawk pulseaudio ]}"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    mainProgram = "pulseaudio-control";
+    description = "Polybar module to control PulseAudio devices, also known as Pavolume";
+    homepage = "https://github.com/marioortizmanero/polybar-pulseaudio-control";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ benlemasurier ];
+  };
+})
diff --git a/pkgs/by-name/po/polybar/package.nix b/pkgs/by-name/po/polybar/package.nix
index ee649f396fa3f..613b75d646af7 100644
--- a/pkgs/by-name/po/polybar/package.nix
+++ b/pkgs/by-name/po/polybar/package.nix
@@ -42,13 +42,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "polybar";
-  version = "3.7.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "polybar";
     repo = "polybar";
     rev = finalAttrs.version;
-    hash = "sha256-Z1rL9WvEZHr5M03s9KCJ6O6rNuaK7PpwUDaatYuCocI=";
+    hash = "sha256-DX648jY1vewl3ImK84gF6/vtcSCg3wtgq6Ie3fCwZoA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/pr/presenterm/package.nix b/pkgs/by-name/pr/presenterm/package.nix
index df5342311cd1d..47440166c9157 100644
--- a/pkgs/by-name/pr/presenterm/package.nix
+++ b/pkgs/by-name/pr/presenterm/package.nix
@@ -1,4 +1,8 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, libsixel
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "presenterm";
@@ -7,12 +11,18 @@ rustPlatform.buildRustPackage rec {
   src = fetchFromGitHub {
     owner = "mfontanini";
     repo = "presenterm";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-uwLVg/bURz2jLAQZgLujDR2Zewu5pcE9bwEBg/DQ4Iw=";
   };
 
+  buildInputs = [
+    libsixel
+  ];
+
   cargoHash = "sha256-tEgXqvSyScO/J/56ykCda3ERrTDQj5jCxlMEDof/fCA=";
 
+  buildFeatures = [ "sixel" ];
+
   # Skip test that currently doesn't work
   checkFlags = [ "--skip=execute::test::shell_code_execution" ];
 
diff --git a/pkgs/by-name/pr/prettypst/Cargo.lock b/pkgs/by-name/pr/prettypst/Cargo.lock
new file mode 100644
index 0000000000000..3bda3573ab4f0
--- /dev/null
+++ b/pkgs/by-name/pr/prettypst/Cargo.lock
@@ -0,0 +1,471 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "anstream"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+dependencies = [
+ "anstyle",
+ "windows-sys",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "comemo"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92"
+dependencies = [
+ "comemo-macros",
+ "siphasher",
+]
+
+[[package]]
+name = "comemo-macros"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168cc09917f6a014a4cf6ed166d1b541a20a768c60f9cc348f25203ee8312940"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ecow"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ea5e3f9cda726431da9d1a8d5a29785d544b31e98e1ca7a210906244002e02"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "indexmap"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "memchr"
+version = "2.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "prettypst"
+version = "1.0.0"
+dependencies = [
+ "clap",
+ "serde",
+ "thiserror",
+ "toml",
+ "typst-syntax",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.193"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.193"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[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.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "typst-syntax"
+version = "0.9.0"
+source = "git+https://github.com/typst/typst.git?tag=v0.9.0#7bb4f6df44086b4c1120b227f7ae963e6c2ad5ab"
+dependencies = [
+ "comemo",
+ "ecow",
+ "once_cell",
+ "serde",
+ "tracing",
+ "unicode-ident",
+ "unicode-math-class",
+ "unicode-segmentation",
+ "unscanny",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-math-class"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unscanny"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+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.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winnow"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+dependencies = [
+ "memchr",
+]
diff --git a/pkgs/by-name/pr/prettypst/package.nix b/pkgs/by-name/pr/prettypst/package.nix
new file mode 100644
index 0000000000000..52529f1846b90
--- /dev/null
+++ b/pkgs/by-name/pr/prettypst/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "prettypst";
+  version = "unstable-2023-11-27";
+
+  src = fetchFromGitHub {
+    owner = "antonWetzel";
+    repo = "prettypst";
+    rev = "0bf6aa013efa2b059d8c7dcae3441a6004b02fa1";
+    hash = "sha256-8rAF7tzs+0qGphmanTvx6MXhYOSG6igAMY4ZLkljRp8=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "typst-syntax-0.9.0" = "sha256-LwRB/AQE8TZZyHEQ7kKB10itzEgYjg4R/k+YFqmutDc=";
+    };
+  };
+
+  meta = {
+    description = "Formatter for Typst";
+    homepage = "https://github.com/antonWetzel/prettypst";
+    license = lib.licenses.mit;
+    mainProgram = "prettypst";
+    maintainers = with lib.maintainers; [ drupol ];
+  };
+}
diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/by-name/pr/prio/package.nix
index f733b189757b3..620e4f9382cee 100644
--- a/pkgs/desktops/arcan/prio/default.nix
+++ b/pkgs/by-name/pr/prio/package.nix
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/prio";
     description = "Plan9- Rio like Window Manager for Arcan";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/pw/pw3270/package.nix b/pkgs/by-name/pw/pw3270/package.nix
new file mode 100644
index 0000000000000..4e35f393dbcb1
--- /dev/null
+++ b/pkgs/by-name/pw/pw3270/package.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, which
+, pkg-config
+, automake
+, autoconf
+, m4
+, libtool
+, gtk3
+, libv3270
+, lib3270
+, openssl
+, gettext
+, desktop-file-utils
+, glib
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pw3270";
+  version = "5.4";
+
+  src = fetchFromGitHub {
+    owner = "PerryWerneck";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Nk/OUqrWngKgb1D1Wi8q5ygKtvuRKUPhPQaLvWi1Z4g=";
+  };
+
+  nativeBuildInputs = [
+    which
+    pkg-config
+    autoconf
+    automake
+    libtool
+    desktop-file-utils
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    gettext
+    libv3270
+    lib3270
+    openssl
+  ];
+
+  postPatch = ''
+    # lib3270_build_data_filename is relative to lib3270's share - not ours.
+    for f in $(find . -type f -iname "*.c"); do
+      sed -i -e "s@lib3270_build_data_filename(@g_build_filename(\"$out/share/pw3270\", @" "$f"
+    done
+  '';
+
+  preConfigure = ''
+    NOCONFIGURE=1 sh autogen.sh
+  '';
+
+  postFixup = ''
+    # Schemas get installed to wrong directory.
+    mkdir -p $out/share/glib-2.0
+    mv $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas $out/share/glib-2.0/
+    rm -rf $out/share/gsettings-schemas
+  '';
+
+  enableParallelBuilds = true;
+
+  meta = with lib; {
+    description = "3270 Emulator for gtk";
+    homepage = "https://softwarepublico.gov.br/social/pw3270/";
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.vifino ];
+    mainProgram = "pw3270";
+  };
+}
diff --git a/pkgs/by-name/py/pywalfox-native/package.nix b/pkgs/by-name/py/pywalfox-native/package.nix
index e52feb2d297d8..7f7884de57ec9 100644
--- a/pkgs/by-name/py/pywalfox-native/package.nix
+++ b/pkgs/by-name/py/pywalfox-native/package.nix
@@ -1,22 +1,22 @@
 { lib, python3, fetchPypi }:
 
 python3.pkgs.buildPythonApplication rec {
-    pname = "pywalfox-native";
-    version = "2.7.4";
+  pname = "pywalfox-native";
+  version = "2.7.4";
 
-    src = fetchPypi {
-      inherit version;
-      pname = "pywalfox";
-      hash = "sha256-Wec9fic4lXT7gBY04D2EcfCb/gYoZcrYA/aMRWaA7WY=";
-    };
+  src = fetchPypi {
+    inherit version;
+    pname = "pywalfox";
+    hash = "sha256-Wec9fic4lXT7gBY04D2EcfCb/gYoZcrYA/aMRWaA7WY=";
+  };
 
-    pythonImportsCheck = [ "pywalfox" ];
+  pythonImportsCheck = [ "pywalfox" ];
 
-    meta = with lib; {
-      homepage = "https://github.com/Frewacom/pywalfox-native";
-      description = "Native app used alongside the Pywalfox addon";
-      mainProgram = "pywalfox";
-      license = licenses.mpl20;
-      maintainers = with maintainers; [ tsandrini ];
-    };
-  }
+  meta = with lib; {
+    homepage = "https://github.com/Frewacom/pywalfox-native";
+    description = "Native app used alongside the Pywalfox addon";
+    mainProgram = "pywalfox";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ tsandrini ];
+  };
+}
diff --git a/pkgs/by-name/qu/quicktype/package.nix b/pkgs/by-name/qu/quicktype/package.nix
index 2b52d2370b8c3..759b92b933197 100644
--- a/pkgs/by-name/qu/quicktype/package.nix
+++ b/pkgs/by-name/qu/quicktype/package.nix
@@ -2,13 +2,13 @@
 
 buildNpmPackage rec {
   pname = "quicktype";
-  version = "23.0.78"; # version from https://npm.im/quicktype
+  version = "23.0.80"; # version from https://npm.im/quicktype
 
   src = fetchFromGitHub {
-    owner = "quicktype";
+    owner = "glideapps";
     repo = "quicktype";
-    rev = "317deefa6a0c8ba0201b9b2b50d00c7e93c41d78"; # version not tagged
-    hash = "sha256-KkyxS3mxOmUA8ZpB0tqdpdafvP429R5Y39C3CszTiZk=";
+    rev = "2a60269d431b392b658e671df2c1fb5479aec855"; # version not tagged
+    hash = "sha256-3VW/CyvgetS9sqLflJgOmQERn4e/0nLQsezRHb6km3s=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ra/raft-cowsql/package.nix b/pkgs/by-name/ra/raft-cowsql/package.nix
index f4e94d8f4106c..307c3ea8117e1 100644
--- a/pkgs/by-name/ra/raft-cowsql/package.nix
+++ b/pkgs/by-name/ra/raft-cowsql/package.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/cowsql/raft";
     license = licenses.lgpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ adamcstephens ];
+    maintainers = teams.lxc.members;
   };
 }
diff --git a/pkgs/by-name/rc/rclip/package.nix b/pkgs/by-name/rc/rclip/package.nix
new file mode 100644
index 0000000000000..072c4ccafa05f
--- /dev/null
+++ b/pkgs/by-name/rc/rclip/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "rclip";
+  version = "1.7.6";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "yurijmikhalevich";
+    repo = "rclip";
+    rev = "v${version}";
+    hash = "sha256-lWaWq+dcAa/2pONka4xRpixqDuL6iYDF46vCyCmVWwE=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    open-clip-torch
+    pillow
+    requests
+    torch
+    torchvision
+    tqdm
+  ];
+
+  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "rclip" ];
+
+  disabledTestPaths = [
+    # requires network
+    "tests/e2e/test_rclip.py"
+  ];
+
+  meta = with lib; {
+    description = "AI-Powered Command-Line Photo Search Tool";
+    homepage = "https://github.com/yurijmikhalevich/rclip";
+    license = licenses.mit;
+    maintainers = with maintainers; [ iynaix ];
+    mainProgram = "rclip";
+  };
+}
diff --git a/pkgs/by-name/re/redocly-cli/package.nix b/pkgs/by-name/re/redocly-cli/package.nix
new file mode 100644
index 0000000000000..18d853c58da9a
--- /dev/null
+++ b/pkgs/by-name/re/redocly-cli/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, makeWrapper
+}:
+
+buildNpmPackage rec {
+  pname = "redocly-cli";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "Redocly";
+    repo = "redocly-cli";
+    rev = "@redocly/cli@${version}";
+    hash = "sha256-Wi3IxPeNqD1s1Q0Pi9cCus6jCQM0noBTHIAp9HUSpZk=";
+  };
+
+  npmDepsHash = "sha256-BcjQ9z2i1YBt6lBqgkRcv29P/WZeuGjVSeVmekaFugM=";
+
+  npmBuildScript = "prepare";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    rm $out/lib/node_modules/@redocly/cli/node_modules/@redocly/{cli,openapi-core}
+    cp -R packages/cli $out/lib/node_modules/@redocly/cli/node_modules/@redocly/cli
+    cp -R packages/core $out/lib/node_modules/@redocly/cli/node_modules/@redocly/openapi-core
+
+    mkdir $out/bin
+    makeWrapper $out/lib/node_modules/@redocly/cli/node_modules/@redocly/cli/bin/cli.js $out/bin/redocly-cli --set REDOCLY_TELEMETRY off
+  '';
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/redocly-cli --version
+    runHook postInstallCheck
+  '';
+
+  doInstallCheck = true;
+
+  meta = {
+    description = "Redocly CLI makes OpenAPI easy. Lint/validate to any standard, generate beautiful docs, and more.";
+    homepage = "https://github.com/Redocly/redocly-cli";
+    license = lib.licenses.mit;
+    mainProgram = "redocly-cli";
+    maintainers = with lib.maintainers; [ szlend ];
+  };
+}
diff --git a/pkgs/by-name/re/resources/package.nix b/pkgs/by-name/re/resources/package.nix
new file mode 100644
index 0000000000000..c3fc15b9f3940
--- /dev/null
+++ b/pkgs/by-name/re/resources/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, appstream-glib
+, cargo
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, rustPlatform
+, rustc
+, wrapGAppsHook4
+, glib
+, gtk4
+, libadwaita
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "resources";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "nokyan";
+    repo = "resources";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-OVz1vsmOtH/5sEuyl2BfDqG2/9D1HGtHA0FtPntKQT0=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit (finalAttrs) src;
+    name = "resources-${finalAttrs.version}";
+    hash = "sha256-MNYKfvbLQPWm7MKS5zYGrc+aoC9WeU5FTftkCrogZg0=";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook4
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+  ];
+
+  mesonFlags = [
+    (lib.mesonOption "profile" "default")
+  ];
+
+  meta = {
+    changelog = "https://github.com/nokyan/resources/releases/tag/${finalAttrs.version}";
+    description = "Monitor your system resources and processes";
+    homepage = "https://github.com/nokyan/resources";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "resources";
+    maintainers = with lib.maintainers; [ lukas-heiligenbrunner ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/re/revup/package.nix b/pkgs/by-name/re/revup/package.nix
new file mode 100644
index 0000000000000..2aacb3ce5670a
--- /dev/null
+++ b/pkgs/by-name/re/revup/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, python3
+, fetchPypi
+}:
+
+let
+  pname = "revup";
+  version = "0.2.1";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-EaBI414m5kihuaOkaHYAzvVxeJCgMIh9lD0JnCeVdZM=";
+  };
+in
+python3.pkgs.buildPythonPackage {
+  inherit pname version src;
+
+  nativeBuildInputs = with python3.pkgs; [
+    pip
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    aiosignal
+    async-lru
+    async-timeout
+    charset-normalizer
+    multidict
+    requests
+    rich
+    yarl
+  ];
+
+  nativeCheckInputs = with python3.pkgs; [
+    pytest
+  ];
+
+  meta = {
+    homepage = "https://github.com/Skydio/revup";
+    description = " Revolutionary github tools";
+    longDescription = ''
+      Revup provides command-line tools that allow developers to iterate faster
+      on parallel changes and reduce the overhead of creating and maintaining
+      code reviews.
+
+      Features:
+
+      - Revup creates multiple independent chains of branches for you in the
+        background and without touching your working tree. It then creates and
+        manages github pull requests for all those branches.
+      - Pull requests target the actual base branch and can be merged manually
+        or by continuous integration
+      - Rebase detection saves time and continuous integration cost by not
+        re-pushing if the patch hasn't changed
+      - Adds reviewers, labels, and creates drafts all from the commit text
+      - Adds auto-updating "review graph" and "patchsets" elements to make pull
+        requests easier to navigate revup amend and revup restack save time by
+        replacing slow rebases
+    '';
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    mainProgram = "revup";
+  };
+}
diff --git a/pkgs/by-name/ri/rita/package.nix b/pkgs/by-name/ri/rita/package.nix
new file mode 100644
index 0000000000000..d64002072a414
--- /dev/null
+++ b/pkgs/by-name/ri/rita/package.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "rita";
+  version = "4.8.0";
+
+  src = fetchFromGitHub {
+    owner = "activecm";
+    repo = "rita";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-w86fGRH9pIqONgvdYpsHDNkE0BAuhzArET+NLIpRg/w=";
+  };
+
+  vendorHash = "sha256-KyC7VPgWlgKD6KWWRo3hFQHl2HjTub+VSMtJCpYE6Zk=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=github.com/activecm/rita/config.Version=${version}"
+    "-X=github.com/activecm/rita/config.ExactVersion=${version}"
+  ];
+
+  meta = with lib; {
+    description = "Framework for detecting command and control communication through network traffic analysis";
+    homepage = "https://github.com/activecm/rita";
+    changelog = "https://github.com/activecm/rita/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "rita";
+  };
+}
diff --git a/pkgs/by-name/se/seclists/package.nix b/pkgs/by-name/se/seclists/package.nix
index f452eb313f510..51017d7373f1c 100644
--- a/pkgs/by-name/se/seclists/package.nix
+++ b/pkgs/by-name/se/seclists/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "seclists";
-  version = "2023.3";
+  version = "2023.4";
 
   src = fetchFromGitHub {
     owner = "danielmiessler";
     repo = "SecLists";
-    rev = "2023.3";
-    hash = "sha256-mJgCzp8iKzSWf4Tud5xDpnuY4aNJmnEo/hTcuGTaOWM=";
+    rev = "2023.4";
+    hash = "sha256-AX2n+kpXJGYEI88iJKHHcR7NFf0YCvu4FakEPkiwXTo=";
   };
 
   installPhase = ''
diff --git a/pkgs/by-name/se/serverless/package-lock.json b/pkgs/by-name/se/serverless/package-lock.json
new file mode 100644
index 0000000000000..e75ae77f4a939
--- /dev/null
+++ b/pkgs/by-name/se/serverless/package-lock.json
@@ -0,0 +1,13752 @@
+{
+  "name": "serverless",
+  "version": "3.38.0",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "serverless",
+      "version": "3.38.0",
+      "hasInstallScript": true,
+      "license": "MIT",
+      "dependencies": {
+        "@serverless/dashboard-plugin": "^7.2.0",
+        "@serverless/platform-client": "^4.5.1",
+        "@serverless/utils": "^6.13.1",
+        "abort-controller": "^3.0.0",
+        "ajv": "^8.12.0",
+        "ajv-formats": "^2.1.1",
+        "archiver": "^5.3.1",
+        "aws-sdk": "^2.1404.0",
+        "bluebird": "^3.7.2",
+        "cachedir": "^2.3.0",
+        "chalk": "^4.1.2",
+        "child-process-ext": "^2.1.1",
+        "ci-info": "^3.8.0",
+        "cli-progress-footer": "^2.3.2",
+        "d": "^1.0.1",
+        "dayjs": "^1.11.8",
+        "decompress": "^4.2.1",
+        "dotenv": "^16.3.1",
+        "dotenv-expand": "^10.0.0",
+        "essentials": "^1.2.0",
+        "ext": "^1.7.0",
+        "fastest-levenshtein": "^1.0.16",
+        "filesize": "^10.0.7",
+        "fs-extra": "^10.1.0",
+        "get-stdin": "^8.0.0",
+        "globby": "^11.1.0",
+        "graceful-fs": "^4.2.11",
+        "https-proxy-agent": "^5.0.1",
+        "is-docker": "^2.2.1",
+        "js-yaml": "^4.1.0",
+        "json-colorizer": "^2.2.2",
+        "json-cycle": "^1.5.0",
+        "json-refs": "^3.0.15",
+        "lodash": "^4.17.21",
+        "memoizee": "^0.4.15",
+        "micromatch": "^4.0.5",
+        "node-fetch": "^2.6.11",
+        "npm-registry-utilities": "^1.0.0",
+        "object-hash": "^3.0.0",
+        "open": "^8.4.2",
+        "path2": "^0.1.0",
+        "process-utils": "^4.0.0",
+        "promise-queue": "^2.2.5",
+        "require-from-string": "^2.0.2",
+        "semver": "^7.5.3",
+        "signal-exit": "^3.0.7",
+        "stream-buffers": "^3.0.2",
+        "strip-ansi": "^6.0.1",
+        "supports-color": "^8.1.1",
+        "tar": "^6.1.15",
+        "timers-ext": "^0.1.7",
+        "type": "^2.7.2",
+        "untildify": "^4.0.0",
+        "uuid": "^9.0.0",
+        "ws": "^7.5.9",
+        "yaml-ast-parser": "0.0.43"
+      },
+      "bin": {
+        "serverless": "bin/serverless.js",
+        "sls": "bin/serverless.js"
+      },
+      "devDependencies": {
+        "@commitlint/cli": "^12.1.4",
+        "@serverless/eslint-config": "^5.1.0",
+        "@serverless/test": "^11.1.1",
+        "adm-zip": "^0.5.10",
+        "aws4": "^1.12.0",
+        "chai": "^4.3.7",
+        "chai-as-promised": "^7.1.1",
+        "cos-nodejs-sdk-v5": "^2.12.1",
+        "eslint": "^8.43.0",
+        "eslint-plugin-import": "^2.27.5",
+        "git-list-updated": "^1.2.1",
+        "github-release-from-cc-changelog": "^2.3.0",
+        "husky": "^4.3.8",
+        "jszip": "^3.10.1",
+        "lint-staged": "^13.2.2",
+        "log": "^6.3.1",
+        "log-node": "^8.0.3",
+        "mocha": "^9.2.2",
+        "mock-require": "^3.0.3",
+        "ncjsm": "^4.3.2",
+        "nyc": "^15.1.0",
+        "pkg": "^5.8.1",
+        "prettier": "^2.8.8",
+        "proxyquire": "^2.1.3",
+        "semver-regex": "^3.1.4",
+        "sinon": "^13.0.2",
+        "sinon-chai": "^3.7.0",
+        "standard-version": "^9.5.0",
+        "xml2js": "^0.4.23"
+      },
+      "engines": {
+        "node": ">=12.0"
+      }
+    },
+    "node_modules/@aashutoshrathi/word-wrap": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+      "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@ampproject/remapping": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+      "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@aws-crypto/crc32": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
+      "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
+      "dependencies": {
+        "@aws-crypto/util": "^3.0.0",
+        "@aws-sdk/types": "^3.222.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/crc32/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-crypto/ie11-detection": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz",
+      "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==",
+      "dependencies": {
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-crypto/sha256-browser": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz",
+      "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==",
+      "dependencies": {
+        "@aws-crypto/ie11-detection": "^3.0.0",
+        "@aws-crypto/sha256-js": "^3.0.0",
+        "@aws-crypto/supports-web-crypto": "^3.0.0",
+        "@aws-crypto/util": "^3.0.0",
+        "@aws-sdk/types": "^3.222.0",
+        "@aws-sdk/util-locate-window": "^3.0.0",
+        "@aws-sdk/util-utf8-browser": "^3.0.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-crypto/sha256-js": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz",
+      "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==",
+      "dependencies": {
+        "@aws-crypto/util": "^3.0.0",
+        "@aws-sdk/types": "^3.222.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/sha256-js/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-crypto/supports-web-crypto": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz",
+      "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==",
+      "dependencies": {
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-crypto/util": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
+      "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+      "dependencies": {
+        "@aws-sdk/types": "^3.222.0",
+        "@aws-sdk/util-utf8-browser": "^3.0.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/util/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+    },
+    "node_modules/@aws-sdk/client-cloudformation": {
+      "version": "3.461.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.461.0.tgz",
+      "integrity": "sha512-A2u9B9IxSfx+NpWMRA/3rRTcddm3pj0set87pMmOgpmaQRxo9s7DHc6/0MANkd/y65ckEtP6wdPabt53yOEl5w==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/client-sts": "3.461.0",
+        "@aws-sdk/core": "3.451.0",
+        "@aws-sdk/credential-provider-node": "3.460.0",
+        "@aws-sdk/middleware-host-header": "3.460.0",
+        "@aws-sdk/middleware-logger": "3.460.0",
+        "@aws-sdk/middleware-recursion-detection": "3.460.0",
+        "@aws-sdk/middleware-signing": "3.461.0",
+        "@aws-sdk/middleware-user-agent": "3.460.0",
+        "@aws-sdk/region-config-resolver": "3.451.0",
+        "@aws-sdk/types": "3.460.0",
+        "@aws-sdk/util-endpoints": "3.460.0",
+        "@aws-sdk/util-user-agent-browser": "3.460.0",
+        "@aws-sdk/util-user-agent-node": "3.460.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
+        "@smithy/util-body-length-browser": "^2.0.0",
+        "@smithy/util-body-length-node": "^2.1.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
+        "@smithy/util-waiter": "^2.0.13",
+        "fast-xml-parser": "4.2.5",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-cloudformation/node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/@aws-sdk/client-sso": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.460.0.tgz",
+      "integrity": "sha512-p5D9C8LKJs5yoBn5cCs2Wqzrp5YP5BYcP774bhGMFEu/LCIUyWzudwN3+/AObSiq8R8SSvBY2zQD4h+k3NjgTQ==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/core": "3.451.0",
+        "@aws-sdk/middleware-host-header": "3.460.0",
+        "@aws-sdk/middleware-logger": "3.460.0",
+        "@aws-sdk/middleware-recursion-detection": "3.460.0",
+        "@aws-sdk/middleware-user-agent": "3.460.0",
+        "@aws-sdk/region-config-resolver": "3.451.0",
+        "@aws-sdk/types": "3.460.0",
+        "@aws-sdk/util-endpoints": "3.460.0",
+        "@aws-sdk/util-user-agent-browser": "3.460.0",
+        "@aws-sdk/util-user-agent-node": "3.460.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
+        "@smithy/util-body-length-browser": "^2.0.0",
+        "@smithy/util-body-length-node": "^2.1.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sts": {
+      "version": "3.461.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.461.0.tgz",
+      "integrity": "sha512-1u+t31m23vuc9zkiUk51L4QbwuRQEuBeMArHK/thmq4V+A0VmjoAr/x2D0eQ0deOuBqG5YC62oaqUfIhj03SIw==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/core": "3.451.0",
+        "@aws-sdk/credential-provider-node": "3.460.0",
+        "@aws-sdk/middleware-host-header": "3.460.0",
+        "@aws-sdk/middleware-logger": "3.460.0",
+        "@aws-sdk/middleware-recursion-detection": "3.460.0",
+        "@aws-sdk/middleware-sdk-sts": "3.461.0",
+        "@aws-sdk/middleware-signing": "3.461.0",
+        "@aws-sdk/middleware-user-agent": "3.460.0",
+        "@aws-sdk/region-config-resolver": "3.451.0",
+        "@aws-sdk/types": "3.460.0",
+        "@aws-sdk/util-endpoints": "3.460.0",
+        "@aws-sdk/util-user-agent-browser": "3.460.0",
+        "@aws-sdk/util-user-agent-node": "3.460.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
+        "@smithy/util-body-length-browser": "^2.0.0",
+        "@smithy/util-body-length-node": "^2.1.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
+        "fast-xml-parser": "4.2.5",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/core": {
+      "version": "3.451.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.451.0.tgz",
+      "integrity": "sha512-SamWW2zHEf1ZKe3j1w0Piauryl8BQIlej0TBS18A4ACzhjhWXhCs13bO1S88LvPR5mBFXok3XOT6zPOnKDFktw==",
+      "dependencies": {
+        "@smithy/smithy-client": "^2.1.15",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-env": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.460.0.tgz",
+      "integrity": "sha512-WWdaRJFuYRc2Ue9NKDy2NIf8pQRNx/QRVmrsk6EkIID8uWlQIOePk3SWTVV0TZIyPrbfSEaSnJRZoShphJ6PAg==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-ini": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.460.0.tgz",
+      "integrity": "sha512-1IEUmyaWzt2M3mONO8QyZtPy0f9ccaEjCo48ZQLgptWxUI+Ohga9gPK0mqu1kTJOjv4JJGACYHzLwEnnpltGlA==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.460.0",
+        "@aws-sdk/credential-provider-process": "3.460.0",
+        "@aws-sdk/credential-provider-sso": "3.460.0",
+        "@aws-sdk/credential-provider-web-identity": "3.460.0",
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/credential-provider-imds": "^2.0.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/shared-ini-file-loader": "^2.0.6",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-node": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.460.0.tgz",
+      "integrity": "sha512-PbPo92WIgNlF6V4eWKehYGYjTqf0gU9vr09LeQUc3bTm1DJhJw1j+HU/3PfQ8LwTkBQePO7MbJ5A2n6ckMwfMg==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.460.0",
+        "@aws-sdk/credential-provider-ini": "3.460.0",
+        "@aws-sdk/credential-provider-process": "3.460.0",
+        "@aws-sdk/credential-provider-sso": "3.460.0",
+        "@aws-sdk/credential-provider-web-identity": "3.460.0",
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/credential-provider-imds": "^2.0.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/shared-ini-file-loader": "^2.0.6",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-process": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.460.0.tgz",
+      "integrity": "sha512-ng+0FMc4EaxLAwdttCwf2nzNf4AgcqAHZ8pKXUf8qF/KVkoyTt3UZKW7P2FJI01zxwP+V4yAwVt95PBUKGn4YQ==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/shared-ini-file-loader": "^2.0.6",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-sso": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.460.0.tgz",
+      "integrity": "sha512-KnrQieOw17+aHEzE3SwfxjeSQ5ZTe2HeAzxkaZF++GxhNul/PkVnLzjGpIuB9bn71T9a2oNfG3peDUA+m2l2kw==",
+      "dependencies": {
+        "@aws-sdk/client-sso": "3.460.0",
+        "@aws-sdk/token-providers": "3.460.0",
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/shared-ini-file-loader": "^2.0.6",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-web-identity": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.460.0.tgz",
+      "integrity": "sha512-7OeaZgC3HmJZGE0I0ZiKInUMF2LyA0IZiW85AYFnAZzAIfv1cXk/1UnDAoFIQhOZfnUBXivStagz892s480ryw==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-host-header": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.460.0.tgz",
+      "integrity": "sha512-qBeDyuJkEuHe87Xk6unvFO9Zg5j6zM8bQOOZITocTLfu9JN0u5V4GQ/yopvpv+nQHmC/MGr0G7p+kIXMrg/Q2A==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-logger": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.460.0.tgz",
+      "integrity": "sha512-w2AJ6HOJ+Ggx9+VDKuWBHk5S0ZxYEo2EY2IFh0qtCQ1RDix/ur1QEzOOL5vNjHlZKPv/dseIwhgsTCac8UHXbQ==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-recursion-detection": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.460.0.tgz",
+      "integrity": "sha512-wmzm1/2NzpcCVCAsGqqiTBK+xNyLmQwTOq63rcW6eeq6gYOO0cyTZROOkVRrrsKWPBigrSFFHvDrEvonOMtKAg==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-sdk-sts": {
+      "version": "3.461.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.461.0.tgz",
+      "integrity": "sha512-sgNxkwKdJ/NZm7SJZBnbYPkbspmzn3lDyRSJH7PTCvyzDBzY2PB6yS/dfnGkitR+PYwromuOYMha37W4su2SOw==",
+      "dependencies": {
+        "@aws-sdk/middleware-signing": "3.461.0",
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-signing": {
+      "version": "3.461.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.461.0.tgz",
+      "integrity": "sha512-aM/7VupHlsgeRG1UZSAQMWJX+2Jam4GG8ZGVAbLfBr9yh9cBwnUUndpUpYI9rU7atA8n+vISr162EbR7WTiFhQ==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/signature-v4": "^2.0.0",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-middleware": "^2.0.6",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-user-agent": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.460.0.tgz",
+      "integrity": "sha512-0gBSOCr+RtwRUCSRLn9H3RVnj9ercvk/QKTHIr33CgfEdyZtIGpHWUSs6uqiQydPTRzjCm5SfUa6ESGhRVMM6A==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@aws-sdk/util-endpoints": "3.460.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/region-config-resolver": {
+      "version": "3.451.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.451.0.tgz",
+      "integrity": "sha512-3iMf4OwzrFb4tAAmoROXaiORUk2FvSejnHIw/XHvf/jjR4EqGGF95NZP/n/MeFZMizJWVssrwS412GmoEyoqhg==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-config-provider": "^2.0.0",
+        "@smithy/util-middleware": "^2.0.6",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/token-providers": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.460.0.tgz",
+      "integrity": "sha512-EvSIPMI1gXk3gEkdtbZCW+p3Bjmt2gOR1m7ibQD7qLj4l0dKXhp4URgTqB1ExH3S4qUq0M/XSGKbGLZpvunHNg==",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/middleware-host-header": "3.460.0",
+        "@aws-sdk/middleware-logger": "3.460.0",
+        "@aws-sdk/middleware-recursion-detection": "3.460.0",
+        "@aws-sdk/middleware-user-agent": "3.460.0",
+        "@aws-sdk/region-config-resolver": "3.451.0",
+        "@aws-sdk/types": "3.460.0",
+        "@aws-sdk/util-endpoints": "3.460.0",
+        "@aws-sdk/util-user-agent-browser": "3.460.0",
+        "@aws-sdk/util-user-agent-node": "3.460.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/shared-ini-file-loader": "^2.0.6",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
+        "@smithy/util-body-length-browser": "^2.0.0",
+        "@smithy/util-body-length-node": "^2.1.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/types": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.460.0.tgz",
+      "integrity": "sha512-MyZSWS/FV8Bnux5eD9en7KLgVxevlVrGNEP3X2D7fpnUlLhl0a7k8+OpSI2ozEQB8hIU2DLc/XXTKRerHSefxQ==",
+      "dependencies": {
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-endpoints": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.460.0.tgz",
+      "integrity": "sha512-myH6kM5WP4IWULHDHMYf2Q+BCYVGlzqJgiBmO10kQEtJSeAGZZ49eoFFYgKW8ZAYB5VnJ+XhXVB1TRA+vR4l5A==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/util-endpoints": "^1.0.4",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-locate-window": {
+      "version": "3.310.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz",
+      "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-user-agent-browser": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.460.0.tgz",
+      "integrity": "sha512-FRCzW+TyjKnvxsargPVrjayBfp/rvObYHZyZ2OSqrVw8lkkPCb4e/WZOeIiXZuhdhhoah7wMuo6zGwtFF3bYKg==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/types": "^2.5.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-user-agent-node": {
+      "version": "3.460.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.460.0.tgz",
+      "integrity": "sha512-+kSoR9ABGpJ5Xc7v0VwpgTQbgyI4zuezC8K4pmKAGZsSsVWg4yxptoy2bDqoFL7qfRlWviMVTkQRMvR4D44WxA==",
+      "dependencies": {
+        "@aws-sdk/types": "3.460.0",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "aws-crt": ">=1.0.0"
+      },
+      "peerDependenciesMeta": {
+        "aws-crt": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@aws-sdk/util-utf8-browser": {
+      "version": "3.259.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz",
+      "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==",
+      "dependencies": {
+        "tslib": "^2.3.1"
+      }
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.23.4",
+        "chalk": "^2.4.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "dev": true
+    },
+    "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/code-frame/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/compat-data": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/core": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
+      "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
+        "@babel/helper-compilation-targets": "^7.22.15",
+        "@babel/helper-module-transforms": "^7.23.3",
+        "@babel/helpers": "^7.23.5",
+        "@babel/parser": "^7.23.5",
+        "@babel/template": "^7.22.15",
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@babel/core/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/generator": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
+      "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.23.5",
+        "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets": {
+      "version": "7.22.15",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
+      "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.22.9",
+        "@babel/helper-validator-option": "^7.22.15",
+        "browserslist": "^4.21.9",
+        "lru-cache": "^5.1.1",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^3.0.2"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+      "dev": true
+    },
+    "node_modules/@babel/helper-environment-visitor": {
+      "version": "7.22.20",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-function-name": {
+      "version": "7.23.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.22.15",
+        "@babel/types": "^7.23.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-hoist-variables": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-imports": {
+      "version": "7.22.15",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.15"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms": {
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.22.20",
+        "@babel/helper-module-imports": "^7.22.15",
+        "@babel/helper-simple-access": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/helper-validator-identifier": "^7.22.20"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-simple-access": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.22.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-string-parser": {
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.22.20",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-option": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helpers": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
+      "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.22.15",
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/highlight": {
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.22.20",
+        "chalk": "^2.4.2",
+        "js-tokens": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "dev": true
+    },
+    "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/highlight/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
+      "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/template": {
+      "version": "7.22.15",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+      "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.13",
+        "@babel/parser": "^7.22.15",
+        "@babel/types": "^7.22.15"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/traverse": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
+      "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
+        "@babel/helper-environment-visitor": "^7.22.20",
+        "@babel/helper-function-name": "^7.23.0",
+        "@babel/helper-hoist-variables": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/parser": "^7.23.5",
+        "@babel/types": "^7.23.5",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/traverse/node_modules/globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@babel/types": {
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
+      "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-string-parser": "^7.23.4",
+        "@babel/helper-validator-identifier": "^7.22.20",
+        "to-fast-properties": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@commitlint/cli": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.4.tgz",
+      "integrity": "sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/format": "^12.1.4",
+        "@commitlint/lint": "^12.1.4",
+        "@commitlint/load": "^12.1.4",
+        "@commitlint/read": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "lodash": "^4.17.19",
+        "resolve-from": "5.0.0",
+        "resolve-global": "1.0.0",
+        "yargs": "^16.2.0"
+      },
+      "bin": {
+        "commitlint": "cli.js"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/ensure": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.4.tgz",
+      "integrity": "sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "lodash": "^4.17.19"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/execute-rule": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz",
+      "integrity": "sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/format": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-12.1.4.tgz",
+      "integrity": "sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/is-ignored": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz",
+      "integrity": "sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "semver": "7.3.5"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/is-ignored/node_modules/semver": {
+      "version": "7.3.5",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/lint": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.4.tgz",
+      "integrity": "sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/is-ignored": "^12.1.4",
+        "@commitlint/parse": "^12.1.4",
+        "@commitlint/rules": "^12.1.4",
+        "@commitlint/types": "^12.1.4"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/load": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-12.1.4.tgz",
+      "integrity": "sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/execute-rule": "^12.1.4",
+        "@commitlint/resolve-extends": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "chalk": "^4.0.0",
+        "cosmiconfig": "^7.0.0",
+        "lodash": "^4.17.19",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/message": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-12.1.4.tgz",
+      "integrity": "sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/parse": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.4.tgz",
+      "integrity": "sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/types": "^12.1.4",
+        "conventional-changelog-angular": "^5.0.11",
+        "conventional-commits-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/read": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-12.1.4.tgz",
+      "integrity": "sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/top-level": "^12.1.4",
+        "@commitlint/types": "^12.1.4",
+        "fs-extra": "^9.0.0",
+        "git-raw-commits": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/read/node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@commitlint/resolve-extends": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz",
+      "integrity": "sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg==",
+      "dev": true,
+      "dependencies": {
+        "import-fresh": "^3.0.0",
+        "lodash": "^4.17.19",
+        "resolve-from": "^5.0.0",
+        "resolve-global": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/rules": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.4.tgz",
+      "integrity": "sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg==",
+      "dev": true,
+      "dependencies": {
+        "@commitlint/ensure": "^12.1.4",
+        "@commitlint/message": "^12.1.4",
+        "@commitlint/to-lines": "^12.1.4",
+        "@commitlint/types": "^12.1.4"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/to-lines": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.4.tgz",
+      "integrity": "sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw==",
+      "dev": true,
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/top-level": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.4.tgz",
+      "integrity": "sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@commitlint/types": {
+      "version": "12.1.4",
+      "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-12.1.4.tgz",
+      "integrity": "sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=v10"
+      }
+    },
+    "node_modules/@eslint-community/eslint-utils": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+      "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+      "dev": true,
+      "dependencies": {
+        "eslint-visitor-keys": "^3.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+      }
+    },
+    "node_modules/@eslint-community/regexpp": {
+      "version": "4.10.0",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+      "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+      }
+    },
+    "node_modules/@eslint/eslintrc": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
+      "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.6.0",
+        "globals": "^13.19.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/@eslint/js": {
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz",
+      "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      }
+    },
+    "node_modules/@humanwhocodes/config-array": {
+      "version": "0.11.13",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+      "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+      "dev": true,
+      "dependencies": {
+        "@humanwhocodes/object-schema": "^2.0.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.5"
+      },
+      "engines": {
+        "node": ">=10.10.0"
+      }
+    },
+    "node_modules/@humanwhocodes/module-importer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+      "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12.22"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
+      }
+    },
+    "node_modules/@humanwhocodes/object-schema": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+      "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+      "dev": true
+    },
+    "node_modules/@hutson/parse-repository-url": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
+      "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/schema": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/set-array": "^1.0.1",
+        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/trace-mapping": "^0.3.9"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+      "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/set-array": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.4.15",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+      "dev": true
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.20",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+      "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
+      }
+    },
+    "node_modules/@kwsites/file-exists": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
+      "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
+      "dependencies": {
+        "debug": "^4.1.1"
+      }
+    },
+    "node_modules/@kwsites/promise-deferred": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
+      "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@octokit/auth-token": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
+      "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.0.3"
+      }
+    },
+    "node_modules/@octokit/core": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
+      "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/auth-token": "^2.4.4",
+        "@octokit/graphql": "^4.5.8",
+        "@octokit/request": "^5.6.3",
+        "@octokit/request-error": "^2.0.5",
+        "@octokit/types": "^6.0.3",
+        "before-after-hook": "^2.2.0",
+        "universal-user-agent": "^6.0.0"
+      }
+    },
+    "node_modules/@octokit/endpoint": {
+      "version": "6.0.12",
+      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
+      "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.0.3",
+        "is-plain-object": "^5.0.0",
+        "universal-user-agent": "^6.0.0"
+      }
+    },
+    "node_modules/@octokit/graphql": {
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
+      "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/request": "^5.6.0",
+        "@octokit/types": "^6.0.3",
+        "universal-user-agent": "^6.0.0"
+      }
+    },
+    "node_modules/@octokit/openapi-types": {
+      "version": "12.11.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
+      "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
+      "dev": true
+    },
+    "node_modules/@octokit/plugin-paginate-rest": {
+      "version": "2.21.3",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
+      "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.40.0"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=2"
+      }
+    },
+    "node_modules/@octokit/plugin-request-log": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+      "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
+      "dev": true,
+      "peerDependencies": {
+        "@octokit/core": ">=3"
+      }
+    },
+    "node_modules/@octokit/plugin-rest-endpoint-methods": {
+      "version": "5.16.2",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
+      "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.39.0",
+        "deprecation": "^2.3.1"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=3"
+      }
+    },
+    "node_modules/@octokit/request": {
+      "version": "5.6.3",
+      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
+      "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/endpoint": "^6.0.1",
+        "@octokit/request-error": "^2.1.0",
+        "@octokit/types": "^6.16.1",
+        "is-plain-object": "^5.0.0",
+        "node-fetch": "^2.6.7",
+        "universal-user-agent": "^6.0.0"
+      }
+    },
+    "node_modules/@octokit/request-error": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
+      "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.0.3",
+        "deprecation": "^2.0.0",
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/@octokit/rest": {
+      "version": "18.12.0",
+      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
+      "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/core": "^3.5.1",
+        "@octokit/plugin-paginate-rest": "^2.16.8",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-rest-endpoint-methods": "^5.12.0"
+      }
+    },
+    "node_modules/@octokit/types": {
+      "version": "6.41.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
+      "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/openapi-types": "^12.11.0"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-7.2.0.tgz",
+      "integrity": "sha512-Gqzgef+KmrX1OxJW9aubrIN6AvPrtDARMv+NegMNEe+pfkZA/IMuZiSyYUaHgARokdw2/IALOysTLgdFJIrXvA==",
+      "dependencies": {
+        "@aws-sdk/client-cloudformation": "^3.410.0",
+        "@aws-sdk/client-sts": "^3.410.0",
+        "@serverless/event-mocks": "^1.1.1",
+        "@serverless/platform-client": "^4.5.1",
+        "@serverless/utils": "^6.14.0",
+        "child-process-ext": "^3.0.1",
+        "chokidar": "^3.5.3",
+        "flat": "^5.0.2",
+        "fs-extra": "^9.1.0",
+        "js-yaml": "^4.1.0",
+        "jszip": "^3.10.1",
+        "lodash": "^4.17.21",
+        "memoizee": "^0.4.15",
+        "ncjsm": "^4.3.2",
+        "node-dir": "^0.1.17",
+        "node-fetch": "^2.6.8",
+        "open": "^7.4.2",
+        "semver": "^7.3.8",
+        "simple-git": "^3.16.0",
+        "timers-ext": "^0.1.7",
+        "type": "^2.7.2",
+        "uuid": "^8.3.2",
+        "yamljs": "^0.3.0"
+      },
+      "engines": {
+        "node": ">=12.0"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/child-process-ext": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/child-process-ext/-/child-process-ext-3.0.2.tgz",
+      "integrity": "sha512-oBePsLbQpTJFxzwyCvs9yWWF0OEM6vGGepHwt1stqmX7QQqOuDc8j2ywdvAs9Tvi44TT7d9ackqhR4Q10l1u8w==",
+      "dependencies": {
+        "cross-spawn": "^7.0.3",
+        "es5-ext": "^0.10.62",
+        "log": "^6.3.1",
+        "split2": "^3.2.2",
+        "stream-promise": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/open": {
+      "version": "7.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
+      "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
+      "dependencies": {
+        "is-docker": "^2.0.0",
+        "is-wsl": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/@serverless/dashboard-plugin/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@serverless/eslint-config": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/@serverless/eslint-config/-/eslint-config-5.1.0.tgz",
+      "integrity": "sha512-tEqL5fjQf9ZRYwDHXh2XFDHx75cmrJncYjmpODYmxMKG2bytr1FkcLlZF6PuNzVJCjDUBa719xcif8WHnqcvsA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependencies": {
+        "eslint": ">=6"
+      }
+    },
+    "node_modules/@serverless/event-mocks": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@serverless/event-mocks/-/event-mocks-1.1.1.tgz",
+      "integrity": "sha512-YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==",
+      "dependencies": {
+        "@types/lodash": "^4.14.123",
+        "lodash": "^4.17.11"
+      }
+    },
+    "node_modules/@serverless/platform-client": {
+      "version": "4.5.1",
+      "resolved": "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.5.1.tgz",
+      "integrity": "sha512-XltmO/029X76zi0LUFmhsnanhE2wnqH1xf+WBt5K8gumQA9LnrfwLgPxj+VA+mm6wQhy+PCp7H5SS0ZPu7F2Cw==",
+      "dependencies": {
+        "adm-zip": "^0.5.5",
+        "archiver": "^5.3.0",
+        "axios": "^1.6.2",
+        "fast-glob": "^3.2.7",
+        "https-proxy-agent": "^5.0.0",
+        "ignore": "^5.1.8",
+        "isomorphic-ws": "^4.0.1",
+        "js-yaml": "^3.14.1",
+        "jwt-decode": "^2.2.0",
+        "minimatch": "^3.0.4",
+        "querystring": "^0.2.1",
+        "run-parallel-limit": "^1.1.0",
+        "throat": "^5.0.0",
+        "traverse": "^0.6.6",
+        "ws": "^7.5.3"
+      },
+      "engines": {
+        "node": ">=10.0"
+      }
+    },
+    "node_modules/@serverless/platform-client/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/@serverless/platform-client/node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/@serverless/test": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/@serverless/test/-/test-11.1.1.tgz",
+      "integrity": "sha512-oTDJdK3AV8TkF37T4uPK9f46zA+XPqyT4jqyGAE3EWMJqto7vcjZnyDtuXdpFmwx4Jogs4magKDjIAfJb8VXuw==",
+      "dev": true,
+      "dependencies": {
+        "@serverless/utils": "^6.11.1",
+        "bluebird": "^3.7.2",
+        "chalk": "^4.1.2",
+        "child-process-ext": "^2.1.1",
+        "cli-progress-footer": "^2.3.2",
+        "essentials": "^1.2.0",
+        "fs-extra": "^10.1.0",
+        "js-yaml": "^4.1.0",
+        "lodash": "^4.17.21",
+        "log": "^6.3.1",
+        "log-node": "^8.0.3",
+        "memoizee": "^0.4.15",
+        "minimist": "^1.2.8",
+        "ncjsm": "^4.3.2",
+        "p-limit": "^3.1.0",
+        "process-utils": "^4.0.0",
+        "sinon": "^13.0.2",
+        "timers-ext": "^0.1.7",
+        "type": "^2.7.2"
+      },
+      "bin": {
+        "mocha-isolated": "bin/mocha-isolated.js"
+      },
+      "engines": {
+        "node": ">=12.0"
+      },
+      "peerDependencies": {
+        "mocha": "9 || 10"
+      },
+      "peerDependenciesMeta": {
+        "mocha": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@serverless/utils": {
+      "version": "6.15.0",
+      "resolved": "https://registry.npmjs.org/@serverless/utils/-/utils-6.15.0.tgz",
+      "integrity": "sha512-7eDbqKv/OBd11jjdZjUwFGN8sHWkeUqLeHXHQxQ1azja2IM7WIH+z/aLgzR6LhB3/MINNwtjesDpjGqTMj2JKQ==",
+      "dependencies": {
+        "archive-type": "^4.0.0",
+        "chalk": "^4.1.2",
+        "ci-info": "^3.8.0",
+        "cli-progress-footer": "^2.3.2",
+        "content-disposition": "^0.5.4",
+        "d": "^1.0.1",
+        "decompress": "^4.2.1",
+        "event-emitter": "^0.3.5",
+        "ext": "^1.7.0",
+        "ext-name": "^5.0.0",
+        "file-type": "^16.5.4",
+        "filenamify": "^4.3.0",
+        "get-stream": "^6.0.1",
+        "got": "^11.8.6",
+        "inquirer": "^8.2.5",
+        "js-yaml": "^4.1.0",
+        "jwt-decode": "^3.1.2",
+        "lodash": "^4.17.21",
+        "log": "^6.3.1",
+        "log-node": "^8.0.3",
+        "make-dir": "^4.0.0",
+        "memoizee": "^0.4.15",
+        "ms": "^2.1.3",
+        "ncjsm": "^4.3.2",
+        "node-fetch": "^2.6.11",
+        "open": "^8.4.2",
+        "p-event": "^4.2.0",
+        "supports-color": "^8.1.1",
+        "timers-ext": "^0.1.7",
+        "type": "^2.7.2",
+        "uni-global": "^1.0.0",
+        "uuid": "^8.3.2",
+        "write-file-atomic": "^4.0.2"
+      },
+      "engines": {
+        "node": ">=12.0"
+      }
+    },
+    "node_modules/@serverless/utils/node_modules/jwt-decode": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
+      "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
+    },
+    "node_modules/@serverless/utils/node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/@sindresorhus/is": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+      "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/is?sponsor=1"
+      }
+    },
+    "node_modules/@sinonjs/commons": {
+      "version": "1.8.6",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+      "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "node_modules/@sinonjs/fake-timers": {
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
+      "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^1.7.0"
+      }
+    },
+    "node_modules/@sinonjs/samsam": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz",
+      "integrity": "sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^1.6.0",
+        "lodash.get": "^4.4.2",
+        "type-detect": "^4.0.8"
+      }
+    },
+    "node_modules/@sinonjs/text-encoding": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
+      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
+      "dev": true
+    },
+    "node_modules/@smithy/abort-controller": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.14.tgz",
+      "integrity": "sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/config-resolver": {
+      "version": "2.0.19",
+      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.19.tgz",
+      "integrity": "sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-config-provider": "^2.0.0",
+        "@smithy/util-middleware": "^2.0.7",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/credential-provider-imds": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz",
+      "integrity": "sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/eventstream-codec": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz",
+      "integrity": "sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA==",
+      "dependencies": {
+        "@aws-crypto/crc32": "3.0.0",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-hex-encoding": "^2.0.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/fetch-http-handler": {
+      "version": "2.2.7",
+      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz",
+      "integrity": "sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ==",
+      "dependencies": {
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/hash-node": {
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.16.tgz",
+      "integrity": "sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-buffer-from": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/invalid-dependency": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz",
+      "integrity": "sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/is-array-buffer": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz",
+      "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-content-length": {
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz",
+      "integrity": "sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==",
+      "dependencies": {
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-endpoint": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz",
+      "integrity": "sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==",
+      "dependencies": {
+        "@smithy/middleware-serde": "^2.0.14",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
+        "@smithy/util-middleware": "^2.0.7",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-retry": {
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz",
+      "integrity": "sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-middleware": "^2.0.7",
+        "@smithy/util-retry": "^2.0.7",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-retry/node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/@smithy/middleware-serde": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz",
+      "integrity": "sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-stack": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz",
+      "integrity": "sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/node-config-provider": {
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz",
+      "integrity": "sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==",
+      "dependencies": {
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/node-http-handler": {
+      "version": "2.1.10",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz",
+      "integrity": "sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw==",
+      "dependencies": {
+        "@smithy/abort-controller": "^2.0.14",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/property-provider": {
+      "version": "2.0.15",
+      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.15.tgz",
+      "integrity": "sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/protocol-http": {
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.10.tgz",
+      "integrity": "sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/querystring-builder": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz",
+      "integrity": "sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-uri-escape": "^2.0.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/querystring-parser": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz",
+      "integrity": "sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/service-error-classification": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz",
+      "integrity": "sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/shared-ini-file-loader": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz",
+      "integrity": "sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/signature-v4": {
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.16.tgz",
+      "integrity": "sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg==",
+      "dependencies": {
+        "@smithy/eventstream-codec": "^2.0.14",
+        "@smithy/is-array-buffer": "^2.0.0",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-hex-encoding": "^2.0.0",
+        "@smithy/util-middleware": "^2.0.7",
+        "@smithy/util-uri-escape": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/smithy-client": {
+      "version": "2.1.16",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.16.tgz",
+      "integrity": "sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ==",
+      "dependencies": {
+        "@smithy/middleware-stack": "^2.0.8",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-stream": "^2.0.21",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/types": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.6.0.tgz",
+      "integrity": "sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/url-parser": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.14.tgz",
+      "integrity": "sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==",
+      "dependencies": {
+        "@smithy/querystring-parser": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/util-base64": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz",
+      "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==",
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.0.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-body-length-browser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz",
+      "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/util-body-length-node": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz",
+      "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-buffer-from": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz",
+      "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==",
+      "dependencies": {
+        "@smithy/is-array-buffer": "^2.0.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-config-provider": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz",
+      "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-defaults-mode-browser": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz",
+      "integrity": "sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==",
+      "dependencies": {
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@smithy/util-defaults-mode-node": {
+      "version": "2.0.26",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz",
+      "integrity": "sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==",
+      "dependencies": {
+        "@smithy/config-resolver": "^2.0.19",
+        "@smithy/credential-provider-imds": "^2.1.2",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@smithy/util-endpoints": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz",
+      "integrity": "sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-hex-encoding": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz",
+      "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-middleware": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.7.tgz",
+      "integrity": "sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==",
+      "dependencies": {
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-retry": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.7.tgz",
+      "integrity": "sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q==",
+      "dependencies": {
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-stream": {
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.21.tgz",
+      "integrity": "sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA==",
+      "dependencies": {
+        "@smithy/fetch-http-handler": "^2.2.7",
+        "@smithy/node-http-handler": "^2.1.10",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
+        "@smithy/util-buffer-from": "^2.0.0",
+        "@smithy/util-hex-encoding": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-uri-escape": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz",
+      "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-utf8": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz",
+      "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==",
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.0.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-waiter": {
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.14.tgz",
+      "integrity": "sha512-Q6gSz4GUNjNGhrfNg+2Mjy+7K4pEI3r82x1b/+3dSc03MQqobMiUrRVN/YK/4nHVagvBELCoXsiHAFQJNQ5BeA==",
+      "dependencies": {
+        "@smithy/abort-controller": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@szmarczak/http-timer": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+      "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+      "dependencies": {
+        "defer-to-connect": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@tokenizer/token": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
+      "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="
+    },
+    "node_modules/@types/cacheable-request": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
+      "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
+      "dependencies": {
+        "@types/http-cache-semantics": "*",
+        "@types/keyv": "^3.1.4",
+        "@types/node": "*",
+        "@types/responselike": "^1.0.0"
+      }
+    },
+    "node_modules/@types/http-cache-semantics": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
+      "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="
+    },
+    "node_modules/@types/json5": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+      "dev": true
+    },
+    "node_modules/@types/keyv": {
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
+      "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/lodash": {
+      "version": "4.14.202",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
+      "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ=="
+    },
+    "node_modules/@types/minimist": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+      "dev": true
+    },
+    "node_modules/@types/node": {
+      "version": "20.10.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz",
+      "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==",
+      "dependencies": {
+        "undici-types": "~5.26.4"
+      }
+    },
+    "node_modules/@types/normalize-package-data": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+      "dev": true
+    },
+    "node_modules/@types/parse-json": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+      "dev": true
+    },
+    "node_modules/@types/responselike": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+      "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@ungap/promise-all-settled": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
+      "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
+      "dev": true
+    },
+    "node_modules/@ungap/structured-clone": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+      "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+      "dev": true
+    },
+    "node_modules/2-thenable": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/2-thenable/-/2-thenable-1.0.0.tgz",
+      "integrity": "sha512-HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "^0.10.47"
+      }
+    },
+    "node_modules/abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "dependencies": {
+        "event-target-shim": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6.5"
+      }
+    },
+    "node_modules/acorn": {
+      "version": "8.11.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+      "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/add-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
+      "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
+      "dev": true
+    },
+    "node_modules/adm-zip": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
+      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dependencies": {
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+      "dev": true,
+      "dependencies": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ajv": {
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+      "dependencies": {
+        "ajv": "^8.0.0"
+      },
+      "peerDependencies": {
+        "ajv": "^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ajv": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "dependencies": {
+        "type-fest": "^0.21.3"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ansi-escapes/node_modules/type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/anymatch": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+      "dependencies": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+      "dev": true,
+      "dependencies": {
+        "default-require-extensions": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/archive-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz",
+      "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==",
+      "dependencies": {
+        "file-type": "^4.2.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/archive-type/node_modules/file-type": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
+      "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/archiver": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+      "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
+      "dependencies": {
+        "archiver-utils": "^2.1.0",
+        "async": "^3.2.4",
+        "buffer-crc32": "^0.2.1",
+        "readable-stream": "^3.6.0",
+        "readdir-glob": "^1.1.2",
+        "tar-stream": "^2.2.0",
+        "zip-stream": "^4.1.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/archiver-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
+      "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+      "dependencies": {
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.0",
+        "lazystream": "^1.0.0",
+        "lodash.defaults": "^4.2.0",
+        "lodash.difference": "^4.5.0",
+        "lodash.flatten": "^4.4.0",
+        "lodash.isplainobject": "^4.0.6",
+        "lodash.union": "^4.6.0",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/archiver-utils/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/archiver-utils/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "node_modules/archiver-utils/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
+      "dev": true
+    },
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+    },
+    "node_modules/array-buffer-byte-length": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
+      "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "is-array-buffer": "^3.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/array-ify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+      "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
+      "dev": true
+    },
+    "node_modules/array-includes": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
+      "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "get-intrinsic": "^1.2.1",
+        "is-string": "^1.0.7"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/array.prototype.findlastindex": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
+      "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0",
+        "get-intrinsic": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/array.prototype.flat": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+      "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/array.prototype.flatmap": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+      "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/arraybuffer.prototype.slice": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
+      "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+      "dev": true,
+      "dependencies": {
+        "array-buffer-byte-length": "^1.0.0",
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "get-intrinsic": "^1.2.1",
+        "is-array-buffer": "^3.0.2",
+        "is-shared-array-buffer": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
+    },
+    "node_modules/asn1": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": "~2.1.0"
+      }
+    },
+    "node_modules/assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/assertion-error": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/async": {
+      "version": "3.2.5",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+    },
+    "node_modules/at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/atomically": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz",
+      "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.12.0"
+      }
+    },
+    "node_modules/available-typed-arrays": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/aws-sdk": {
+      "version": "2.1506.0",
+      "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1506.0.tgz",
+      "integrity": "sha512-jSBbofvPa7HJykyM7Xph9psMcWPl6UgdiKjG2E7fHJb6psW+BZN9ZvSGOBvRIlT8Y6+JGzI0qkouS1OLK9slhg==",
+      "dependencies": {
+        "buffer": "4.9.2",
+        "events": "1.1.1",
+        "ieee754": "1.1.13",
+        "jmespath": "0.16.0",
+        "querystring": "0.2.0",
+        "sax": "1.2.1",
+        "url": "0.10.3",
+        "util": "^0.12.4",
+        "uuid": "8.0.0",
+        "xml2js": "0.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/aws-sdk/node_modules/querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
+      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/aws-sdk/node_modules/uuid": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
+      "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/aws-sdk/node_modules/xml2js": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
+      "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
+      "dependencies": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/aws4": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+      "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
+      "dev": true
+    },
+    "node_modules/axios": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
+      "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
+      "dependencies": {
+        "follow-redirects": "^1.15.0",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
+      }
+    },
+    "node_modules/balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+    },
+    "node_modules/base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+      "dev": true,
+      "dependencies": {
+        "tweetnacl": "^0.14.3"
+      }
+    },
+    "node_modules/before-after-hook": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+      "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
+      "dev": true
+    },
+    "node_modules/binary-extensions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/bl": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+      "dependencies": {
+        "buffer": "^5.5.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "node_modules/bl/node_modules/buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "node_modules/bluebird": {
+      "version": "3.7.2",
+      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
+    },
+    "node_modules/bowser": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+      "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+    },
+    "node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dependencies": {
+        "fill-range": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/browser-stdout": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+      "dev": true
+    },
+    "node_modules/browserslist": {
+      "version": "4.22.1",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+      "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "dependencies": {
+        "caniuse-lite": "^1.0.30001541",
+        "electron-to-chromium": "^1.4.535",
+        "node-releases": "^2.0.13",
+        "update-browserslist-db": "^1.0.13"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+      }
+    },
+    "node_modules/buffer": {
+      "version": "4.9.2",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+      "dependencies": {
+        "base64-js": "^1.0.2",
+        "ieee754": "^1.1.4",
+        "isarray": "^1.0.0"
+      }
+    },
+    "node_modules/buffer-alloc": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+      "dependencies": {
+        "buffer-alloc-unsafe": "^1.1.0",
+        "buffer-fill": "^1.0.0"
+      }
+    },
+    "node_modules/buffer-alloc-unsafe": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
+    },
+    "node_modules/buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/buffer-fill": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
+    "node_modules/builtin-modules": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+      "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/builtins": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+      "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ=="
+    },
+    "node_modules/cacheable-lookup": {
+      "version": "5.0.4",
+      "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
+      "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+      "engines": {
+        "node": ">=10.6.0"
+      }
+    },
+    "node_modules/cacheable-request": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+      "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+      "dependencies": {
+        "clone-response": "^1.0.2",
+        "get-stream": "^5.1.0",
+        "http-cache-semantics": "^4.0.0",
+        "keyv": "^4.0.0",
+        "lowercase-keys": "^2.0.0",
+        "normalize-url": "^6.0.1",
+        "responselike": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cacheable-request/node_modules/get-stream": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cachedir": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
+      "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/caching-transform": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
+      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
+      "dev": true,
+      "dependencies": {
+        "hasha": "^5.0.0",
+        "make-dir": "^3.0.0",
+        "package-hash": "^4.0.0",
+        "write-file-atomic": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/caching-transform/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/caching-transform/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/caching-transform/node_modules/write-file-atomic": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "is-typedarray": "^1.0.0",
+        "signal-exit": "^3.0.2",
+        "typedarray-to-buffer": "^3.1.5"
+      }
+    },
+    "node_modules/call-bind": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+      "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+      "dependencies": {
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.1",
+        "set-function-length": "^1.1.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/camelcase-keys": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "map-obj": "^4.0.0",
+        "quick-lru": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/camelcase-keys/node_modules/quick-lru": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001565",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz",
+      "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ]
+    },
+    "node_modules/caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+      "dev": true
+    },
+    "node_modules/chai": {
+      "version": "4.3.10",
+      "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz",
+      "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==",
+      "dev": true,
+      "dependencies": {
+        "assertion-error": "^1.1.0",
+        "check-error": "^1.0.3",
+        "deep-eql": "^4.1.3",
+        "get-func-name": "^2.0.2",
+        "loupe": "^2.3.6",
+        "pathval": "^1.1.1",
+        "type-detect": "^4.0.8"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chai-as-promised": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",
+      "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
+      "dev": true,
+      "dependencies": {
+        "check-error": "^1.0.2"
+      },
+      "peerDependencies": {
+        "chai": ">= 2.1.2 < 5"
+      }
+    },
+    "node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/chardet": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+    },
+    "node_modules/check-error": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
+      "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
+      "dev": true,
+      "dependencies": {
+        "get-func-name": "^2.0.2"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/child-process-ext": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/child-process-ext/-/child-process-ext-2.1.1.tgz",
+      "integrity": "sha512-0UQ55f51JBkOFa+fvR76ywRzxiPwQS3Xe8oe5bZRphpv+dIMeerW5Zn5e4cUy4COJwVtJyU0R79RMnw+aCqmGA==",
+      "dependencies": {
+        "cross-spawn": "^6.0.5",
+        "es5-ext": "^0.10.53",
+        "log": "^6.0.0",
+        "split2": "^3.1.1",
+        "stream-promise": "^3.2.0"
+      }
+    },
+    "node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/chownr": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/ci-info": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+      "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/sibiraj-s"
+        }
+      ],
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/cli-color": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
+      "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.61",
+        "es6-iterator": "^2.0.3",
+        "memoizee": "^0.4.15",
+        "timers-ext": "^0.1.7"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/cli-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+      "dependencies": {
+        "restore-cursor": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cli-progress-footer": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/cli-progress-footer/-/cli-progress-footer-2.3.2.tgz",
+      "integrity": "sha512-uzHGgkKdeA9Kr57eyH1W5HGiNShP8fV1ETq04HDNM1Un6ShXbHhwi/H8LNV9L1fQXKjEw0q5FUkEVNuZ+yZdSw==",
+      "dependencies": {
+        "cli-color": "^2.0.2",
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.61",
+        "mute-stream": "0.0.8",
+        "process-utils": "^4.0.0",
+        "timers-ext": "^0.1.7",
+        "type": "^2.6.0"
+      },
+      "engines": {
+        "node": ">=10.0"
+      }
+    },
+    "node_modules/cli-spinners": {
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+      "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-sprintf-format": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz",
+      "integrity": "sha512-BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg==",
+      "dependencies": {
+        "cli-color": "^2.0.1",
+        "es5-ext": "^0.10.53",
+        "sprintf-kit": "^2.0.1",
+        "supports-color": "^6.1.0"
+      },
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/cli-sprintf-format/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/cli-sprintf-format/node_modules/supports-color": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/cli-truncate": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz",
+      "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==",
+      "dev": true,
+      "dependencies": {
+        "slice-ansi": "^5.0.0",
+        "string-width": "^5.0.0"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-truncate/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/cli-truncate/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+      "dev": true
+    },
+    "node_modules/cli-truncate/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dev": true,
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cli-truncate/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
+    "node_modules/cli-width": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^7.0.0"
+      }
+    },
+    "node_modules/cliui/node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/clone-response": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
+      "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
+      "dependencies": {
+        "mimic-response": "^1.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/colorette": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+      "dev": true
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/commander": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "dev": true
+    },
+    "node_modules/compare-func": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
+      "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
+      "dev": true,
+      "dependencies": {
+        "array-ify": "^1.0.0",
+        "dot-prop": "^5.1.0"
+      }
+    },
+    "node_modules/compare-versions": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
+      "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==",
+      "dev": true
+    },
+    "node_modules/component-emitter": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+      "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/compress-commons": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+      "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
+      "dependencies": {
+        "buffer-crc32": "^0.2.13",
+        "crc32-stream": "^4.0.2",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+    },
+    "node_modules/concat-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+      "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+      "dev": true,
+      "engines": [
+        "node >= 6.0"
+      ],
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.0.2",
+        "typedarray": "^0.0.6"
+      }
+    },
+    "node_modules/conf": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/conf/-/conf-9.0.2.tgz",
+      "integrity": "sha512-rLSiilO85qHgaTBIIHQpsv8z+NnVfZq3cKuYNCXN1AOqPzced0GWZEe/A517VldRLyQYXUMyV+vszavE2jSAqw==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^7.0.3",
+        "ajv-formats": "^1.5.1",
+        "atomically": "^1.7.0",
+        "debounce-fn": "^4.0.0",
+        "dot-prop": "^6.0.1",
+        "env-paths": "^2.2.0",
+        "json-schema-typed": "^7.0.3",
+        "make-dir": "^3.1.0",
+        "onetime": "^5.1.2",
+        "pkg-up": "^3.1.0",
+        "semver": "^7.3.4"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/conf/node_modules/ajv": {
+      "version": "7.2.4",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz",
+      "integrity": "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/conf/node_modules/ajv-formats": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-1.6.1.tgz",
+      "integrity": "sha512-4CjkH20If1lhR5CGtqkrVg3bbOtFEG80X9v6jDOIUhbzzbB+UzPBGy8GQhUNVZ0yvMHdMpawCOcy5ydGMsagGQ==",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^7.0.0"
+      },
+      "peerDependencies": {
+        "ajv": "^7.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ajv": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/conf/node_modules/dot-prop": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
+      "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/conf/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/conf/node_modules/make-dir/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/content-disposition": {
+      "version": "0.5.4",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+      "dependencies": {
+        "safe-buffer": "5.2.1"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/conventional-changelog": {
+      "version": "3.1.25",
+      "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz",
+      "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==",
+      "dev": true,
+      "dependencies": {
+        "conventional-changelog-angular": "^5.0.12",
+        "conventional-changelog-atom": "^2.0.8",
+        "conventional-changelog-codemirror": "^2.0.8",
+        "conventional-changelog-conventionalcommits": "^4.5.0",
+        "conventional-changelog-core": "^4.2.1",
+        "conventional-changelog-ember": "^2.0.9",
+        "conventional-changelog-eslint": "^3.0.9",
+        "conventional-changelog-express": "^2.0.6",
+        "conventional-changelog-jquery": "^3.0.11",
+        "conventional-changelog-jshint": "^2.0.9",
+        "conventional-changelog-preset-loader": "^2.3.4"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-angular": {
+      "version": "5.0.13",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz",
+      "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-atom": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz",
+      "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-codemirror": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz",
+      "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-config-spec": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz",
+      "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==",
+      "dev": true
+    },
+    "node_modules/conventional-changelog-conventionalcommits": {
+      "version": "4.6.3",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz",
+      "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "lodash": "^4.17.15",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-core": {
+      "version": "4.2.4",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz",
+      "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==",
+      "dev": true,
+      "dependencies": {
+        "add-stream": "^1.0.0",
+        "conventional-changelog-writer": "^5.0.0",
+        "conventional-commits-parser": "^3.2.0",
+        "dateformat": "^3.0.0",
+        "get-pkg-repo": "^4.0.0",
+        "git-raw-commits": "^2.0.8",
+        "git-remote-origin-url": "^2.0.0",
+        "git-semver-tags": "^4.1.1",
+        "lodash": "^4.17.15",
+        "normalize-package-data": "^3.0.0",
+        "q": "^1.5.1",
+        "read-pkg": "^3.0.0",
+        "read-pkg-up": "^3.0.0",
+        "through2": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/find-up": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+      "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/conventional-changelog-core/node_modules/locate-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+      "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^2.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/p-limit": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/p-locate": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+      "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/p-try": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+      "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/path-type": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+      "dev": true,
+      "dependencies": {
+        "pify": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/read-pkg": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+      "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+      "dev": true,
+      "dependencies": {
+        "load-json-file": "^4.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/read-pkg-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+      "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^2.0.0",
+        "read-pkg": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/read-pkg/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/conventional-changelog-core/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/conventional-changelog-ember": {
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz",
+      "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-eslint": {
+      "version": "3.0.9",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz",
+      "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-express": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz",
+      "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-jquery": {
+      "version": "3.0.11",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz",
+      "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==",
+      "dev": true,
+      "dependencies": {
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-jshint": {
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz",
+      "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==",
+      "dev": true,
+      "dependencies": {
+        "compare-func": "^2.0.0",
+        "q": "^1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-preset-loader": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz",
+      "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-writer": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz",
+      "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==",
+      "dev": true,
+      "dependencies": {
+        "conventional-commits-filter": "^2.0.7",
+        "dateformat": "^3.0.0",
+        "handlebars": "^4.7.7",
+        "json-stringify-safe": "^5.0.1",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "semver": "^6.0.0",
+        "split": "^1.0.0",
+        "through2": "^4.0.0"
+      },
+      "bin": {
+        "conventional-changelog-writer": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-changelog-writer/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/conventional-commits-filter": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz",
+      "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==",
+      "dev": true,
+      "dependencies": {
+        "lodash.ismatch": "^4.4.0",
+        "modify-values": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-commits-parser": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz",
+      "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==",
+      "dev": true,
+      "dependencies": {
+        "is-text-path": "^1.0.1",
+        "JSONStream": "^1.0.4",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "split2": "^3.0.0",
+        "through2": "^4.0.0"
+      },
+      "bin": {
+        "conventional-commits-parser": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/conventional-recommended-bump": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz",
+      "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==",
+      "dev": true,
+      "dependencies": {
+        "concat-stream": "^2.0.0",
+        "conventional-changelog-preset-loader": "^2.3.4",
+        "conventional-commits-filter": "^2.0.7",
+        "conventional-commits-parser": "^3.2.0",
+        "git-raw-commits": "^2.0.8",
+        "git-semver-tags": "^4.1.1",
+        "meow": "^8.0.0",
+        "q": "^1.5.1"
+      },
+      "bin": {
+        "conventional-recommended-bump": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/convert-source-map": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+      "dev": true
+    },
+    "node_modules/cookiejar": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
+      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
+    },
+    "node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+    },
+    "node_modules/cos-nodejs-sdk-v5": {
+      "version": "2.12.5",
+      "resolved": "https://registry.npmjs.org/cos-nodejs-sdk-v5/-/cos-nodejs-sdk-v5-2.12.5.tgz",
+      "integrity": "sha512-LziLL0P4CjuaFUN5aingfrZySFaonoN5A5YWjATT+5UXBFbJI6Lz2MPXGOWzR+UBgqZqkQ7aNnd4Fb4krRE/+A==",
+      "dev": true,
+      "dependencies": {
+        "conf": "^9.0.0",
+        "fast-xml-parser": "4.2.5",
+        "mime-types": "^2.1.24",
+        "request": "^2.88.2"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/cosmiconfig": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+      "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+      "dev": true,
+      "dependencies": {
+        "@types/parse-json": "^4.0.0",
+        "import-fresh": "^3.2.1",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0",
+        "yaml": "^1.10.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/crc-32": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+      "bin": {
+        "crc32": "bin/crc32.njs"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/crc32-stream": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+      "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
+      "dependencies": {
+        "crc-32": "^1.2.0",
+        "readable-stream": "^3.4.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/cross-spawn": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "dependencies": {
+        "nice-try": "^1.0.4",
+        "path-key": "^2.0.1",
+        "semver": "^5.5.0",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
+      },
+      "engines": {
+        "node": ">=4.8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/d": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+      "dependencies": {
+        "es5-ext": "^0.10.50",
+        "type": "^1.0.1"
+      }
+    },
+    "node_modules/d/node_modules/type": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+      "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+    },
+    "node_modules/dargs": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
+      "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/dateformat": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+      "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/dayjs": {
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
+      "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
+    },
+    "node_modules/debounce-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz",
+      "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/debug/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+    },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decamelize-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
+      "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
+      "dev": true,
+      "dependencies": {
+        "decamelize": "^1.1.0",
+        "map-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/decamelize-keys/node_modules/map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+      "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decompress": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
+      "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
+      "dependencies": {
+        "decompress-tar": "^4.0.0",
+        "decompress-tarbz2": "^4.0.0",
+        "decompress-targz": "^4.0.0",
+        "decompress-unzip": "^4.0.1",
+        "graceful-fs": "^4.1.10",
+        "make-dir": "^1.0.0",
+        "pify": "^2.3.0",
+        "strip-dirs": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-response": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+      "dependencies": {
+        "mimic-response": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/decompress-response/node_modules/mimic-response": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/decompress-tar": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
+      "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
+      "dependencies": {
+        "file-type": "^5.2.0",
+        "is-stream": "^1.1.0",
+        "tar-stream": "^1.5.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-tar/node_modules/bl": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
+      "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
+      "dependencies": {
+        "readable-stream": "^2.3.5",
+        "safe-buffer": "^5.1.1"
+      }
+    },
+    "node_modules/decompress-tar/node_modules/file-type": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
+      "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-tar/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/decompress-tar/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "node_modules/decompress-tar/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/decompress-tar/node_modules/tar-stream": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
+      "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
+      "dependencies": {
+        "bl": "^1.0.0",
+        "buffer-alloc": "^1.2.0",
+        "end-of-stream": "^1.0.0",
+        "fs-constants": "^1.0.0",
+        "readable-stream": "^2.3.0",
+        "to-buffer": "^1.1.1",
+        "xtend": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/decompress-tarbz2": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
+      "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
+      "dependencies": {
+        "decompress-tar": "^4.1.0",
+        "file-type": "^6.1.0",
+        "is-stream": "^1.1.0",
+        "seek-bzip": "^1.0.5",
+        "unbzip2-stream": "^1.0.9"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-tarbz2/node_modules/file-type": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
+      "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-targz": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
+      "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
+      "dependencies": {
+        "decompress-tar": "^4.1.1",
+        "file-type": "^5.2.0",
+        "is-stream": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-targz/node_modules/file-type": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
+      "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-unzip": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
+      "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==",
+      "dependencies": {
+        "file-type": "^3.8.0",
+        "get-stream": "^2.2.0",
+        "pify": "^2.3.0",
+        "yauzl": "^2.4.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress-unzip/node_modules/file-type": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+      "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decompress-unzip/node_modules/get-stream": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
+      "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==",
+      "dependencies": {
+        "object-assign": "^4.0.1",
+        "pinkie-promise": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decompress/node_modules/make-dir": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+      "dependencies": {
+        "pify": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/decompress/node_modules/make-dir/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/deep-eql": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
+      "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/deep-extend": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+      "dev": true
+    },
+    "node_modules/default-require-extensions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz",
+      "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==",
+      "dev": true,
+      "dependencies": {
+        "strip-bom": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/defaults": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+      "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+      "dependencies": {
+        "clone": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/defer-to-connect": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
+      "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/deferred": {
+      "version": "0.7.11",
+      "resolved": "https://registry.npmjs.org/deferred/-/deferred-0.7.11.tgz",
+      "integrity": "sha512-8eluCl/Blx4YOGwMapBvXRKxHXhA8ejDXYzEaK8+/gtcm8hRMhSLmXSqDmNUKNc/C8HNSmuyyp/hflhqDAvK2A==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.50",
+        "event-emitter": "^0.3.5",
+        "next-tick": "^1.0.0",
+        "timers-ext": "^0.1.7"
+      }
+    },
+    "node_modules/define-data-property": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+      "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/define-lazy-prop": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/define-properties": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+      "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+      "dev": true,
+      "dependencies": {
+        "define-data-property": "^1.0.1",
+        "has-property-descriptors": "^1.0.0",
+        "object-keys": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/deprecation": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+      "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
+      "dev": true
+    },
+    "node_modules/detect-indent": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
+      "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/detect-libc": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
+      "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/detect-newline": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dezalgo": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+      "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+      "dependencies": {
+        "asap": "^2.0.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "node_modules/dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dependencies": {
+        "path-type": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/doctrine": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/dot-prop": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dotenv": {
+      "version": "16.3.1",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
+      "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/motdotla/dotenv?sponsor=1"
+      }
+    },
+    "node_modules/dotenv-expand": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
+      "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/dotgitignore": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz",
+      "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^3.0.0",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/dotgitignore/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/duration": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz",
+      "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "~0.10.46"
+      }
+    },
+    "node_modules/eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+      "dev": true
+    },
+    "node_modules/ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+      "dev": true,
+      "dependencies": {
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.4.596",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.596.tgz",
+      "integrity": "sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg==",
+      "dev": true
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dependencies": {
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/env-paths": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "dependencies": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "node_modules/es-abstract": {
+      "version": "1.22.3",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
+      "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
+      "dev": true,
+      "dependencies": {
+        "array-buffer-byte-length": "^1.0.0",
+        "arraybuffer.prototype.slice": "^1.0.2",
+        "available-typed-arrays": "^1.0.5",
+        "call-bind": "^1.0.5",
+        "es-set-tostringtag": "^2.0.1",
+        "es-to-primitive": "^1.2.1",
+        "function.prototype.name": "^1.1.6",
+        "get-intrinsic": "^1.2.2",
+        "get-symbol-description": "^1.0.0",
+        "globalthis": "^1.0.3",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0",
+        "has-proto": "^1.0.1",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0",
+        "internal-slot": "^1.0.5",
+        "is-array-buffer": "^3.0.2",
+        "is-callable": "^1.2.7",
+        "is-negative-zero": "^2.0.2",
+        "is-regex": "^1.1.4",
+        "is-shared-array-buffer": "^1.0.2",
+        "is-string": "^1.0.7",
+        "is-typed-array": "^1.1.12",
+        "is-weakref": "^1.0.2",
+        "object-inspect": "^1.13.1",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.4",
+        "regexp.prototype.flags": "^1.5.1",
+        "safe-array-concat": "^1.0.1",
+        "safe-regex-test": "^1.0.0",
+        "string.prototype.trim": "^1.2.8",
+        "string.prototype.trimend": "^1.0.7",
+        "string.prototype.trimstart": "^1.0.7",
+        "typed-array-buffer": "^1.0.0",
+        "typed-array-byte-length": "^1.0.0",
+        "typed-array-byte-offset": "^1.0.0",
+        "typed-array-length": "^1.0.4",
+        "unbox-primitive": "^1.0.2",
+        "which-typed-array": "^1.1.13"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es-set-tostringtag": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
+      "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+      "dev": true,
+      "dependencies": {
+        "get-intrinsic": "^1.2.2",
+        "has-tostringtag": "^1.0.0",
+        "hasown": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-shim-unscopables": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+      "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+      "dev": true,
+      "dependencies": {
+        "hasown": "^2.0.0"
+      }
+    },
+    "node_modules/es-to-primitive": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+      "dev": true,
+      "dependencies": {
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es5-ext": {
+      "version": "0.10.62",
+      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
+      "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "es6-iterator": "^2.0.3",
+        "es6-symbol": "^3.1.3",
+        "next-tick": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/es6-error": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+      "dev": true
+    },
+    "node_modules/es6-iterator": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+      "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "^0.10.35",
+        "es6-symbol": "^3.1.1"
+      }
+    },
+    "node_modules/es6-set": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz",
+      "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.62",
+        "es6-iterator": "~2.0.3",
+        "es6-symbol": "^3.1.3",
+        "event-emitter": "^0.3.5",
+        "type": "^2.7.2"
+      },
+      "engines": {
+        "node": ">=0.12"
+      }
+    },
+    "node_modules/es6-symbol": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+      "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "ext": "^1.1.2"
+      }
+    },
+    "node_modules/es6-weak-map": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+      "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "^0.10.46",
+        "es6-iterator": "^2.0.3",
+        "es6-symbol": "^3.1.1"
+      }
+    },
+    "node_modules/escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/eslint": {
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz",
+      "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==",
+      "dev": true,
+      "dependencies": {
+        "@eslint-community/eslint-utils": "^4.2.0",
+        "@eslint-community/regexpp": "^4.6.1",
+        "@eslint/eslintrc": "^2.1.3",
+        "@eslint/js": "8.54.0",
+        "@humanwhocodes/config-array": "^0.11.13",
+        "@humanwhocodes/module-importer": "^1.0.1",
+        "@nodelib/fs.walk": "^1.2.8",
+        "@ungap/structured-clone": "^1.2.0",
+        "ajv": "^6.12.4",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
+        "debug": "^4.3.2",
+        "doctrine": "^3.0.0",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^7.2.2",
+        "eslint-visitor-keys": "^3.4.3",
+        "espree": "^9.6.1",
+        "esquery": "^1.4.2",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^6.0.1",
+        "find-up": "^5.0.0",
+        "glob-parent": "^6.0.2",
+        "globals": "^13.19.0",
+        "graphemer": "^1.4.0",
+        "ignore": "^5.2.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "is-path-inside": "^3.0.3",
+        "js-yaml": "^4.1.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "levn": "^0.4.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.3",
+        "strip-ansi": "^6.0.1",
+        "text-table": "^0.2.0"
+      },
+      "bin": {
+        "eslint": "bin/eslint.js"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint-import-resolver-node": {
+      "version": "0.3.9",
+      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+      "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^3.2.7",
+        "is-core-module": "^2.13.0",
+        "resolve": "^1.22.4"
+      }
+    },
+    "node_modules/eslint-import-resolver-node/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/eslint-module-utils": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
+      "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^3.2.7"
+      },
+      "engines": {
+        "node": ">=4"
+      },
+      "peerDependenciesMeta": {
+        "eslint": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/eslint-module-utils/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/eslint-plugin-import": {
+      "version": "2.29.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz",
+      "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==",
+      "dev": true,
+      "dependencies": {
+        "array-includes": "^3.1.7",
+        "array.prototype.findlastindex": "^1.2.3",
+        "array.prototype.flat": "^1.3.2",
+        "array.prototype.flatmap": "^1.3.2",
+        "debug": "^3.2.7",
+        "doctrine": "^2.1.0",
+        "eslint-import-resolver-node": "^0.3.9",
+        "eslint-module-utils": "^2.8.0",
+        "hasown": "^2.0.0",
+        "is-core-module": "^2.13.1",
+        "is-glob": "^4.0.3",
+        "minimatch": "^3.1.2",
+        "object.fromentries": "^2.0.7",
+        "object.groupby": "^1.0.1",
+        "object.values": "^1.1.7",
+        "semver": "^6.3.1",
+        "tsconfig-paths": "^3.14.2"
+      },
+      "engines": {
+        "node": ">=4"
+      },
+      "peerDependencies": {
+        "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
+      }
+    },
+    "node_modules/eslint-plugin-import/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/eslint-plugin-import/node_modules/doctrine": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/eslint-plugin-import/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/eslint-scope": {
+      "version": "7.2.2",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+      "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+      "dev": true,
+      "dependencies": {
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint-visitor-keys": {
+      "version": "3.4.3",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/eslint/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/eslint/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/eslint/node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "node_modules/eslint/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/eslint/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/eslint/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/esniff": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz",
+      "integrity": "sha512-vmHXOeOt7FJLsqofvFk4WB3ejvcHizCd8toXXwADmYfd02p2QwHRgkUbhYDX54y08nqk818CUTWipgZGlyN07g==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "^0.10.12"
+      }
+    },
+    "node_modules/espree": {
+      "version": "9.6.1",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+      "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^8.9.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^3.4.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
+      }
+    },
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/esquery": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+      "dev": true,
+      "dependencies": {
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/essentials": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/essentials/-/essentials-1.2.0.tgz",
+      "integrity": "sha512-kP/j7Iw7KeNE8b/o7+tr9uX2s1wegElGOoGZ2Xm35qBr4BbbEcH3/bxR2nfH9l9JANCq9AUrvKw+gRuHtZp0HQ==",
+      "dependencies": {
+        "uni-global": "^1.0.0"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/event-emitter": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+      "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+      "dependencies": {
+        "d": "1",
+        "es5-ext": "~0.10.14"
+      }
+    },
+    "node_modules/event-target-shim": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/eventemitter3": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+      "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+      "dev": true
+    },
+    "node_modules/events": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+      "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/execa": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
+      "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^6.0.1",
+        "human-signals": "^4.3.0",
+        "is-stream": "^3.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^5.1.0",
+        "onetime": "^6.0.0",
+        "signal-exit": "^3.0.7",
+        "strip-final-newline": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+      }
+    },
+    "node_modules/execa/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/execa/node_modules/is-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+      "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/execa/node_modules/mimic-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+      "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/execa/node_modules/onetime": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+      "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/execa/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/execa/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/execa/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/execa/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/expand-template": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ext": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+      "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+      "dependencies": {
+        "type": "^2.7.2"
+      }
+    },
+    "node_modules/ext-list": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
+      "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
+      "dependencies": {
+        "mime-db": "^1.28.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ext-name": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
+      "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
+      "dependencies": {
+        "ext-list": "^2.0.0",
+        "sort-keys-length": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
+    "node_modules/external-editor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+      "dependencies": {
+        "chardet": "^0.7.0",
+        "iconv-lite": "^0.4.24",
+        "tmp": "^0.0.33"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ]
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+    },
+    "node_modules/fast-glob": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=8.6.0"
+      }
+    },
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "node_modules/fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "dev": true
+    },
+    "node_modules/fast-safe-stringify": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
+    },
+    "node_modules/fast-xml-parser": {
+      "version": "4.2.5",
+      "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
+      "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
+      "funding": [
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/naturalintelligence"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/NaturalIntelligence"
+        }
+      ],
+      "dependencies": {
+        "strnum": "^1.0.5"
+      },
+      "bin": {
+        "fxparser": "src/cli/cli.js"
+      }
+    },
+    "node_modules/fastest-levenshtein": {
+      "version": "1.0.16",
+      "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+      "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+      "engines": {
+        "node": ">= 4.9.1"
+      }
+    },
+    "node_modules/fastq": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
+      "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/fd-slicer": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+      "dependencies": {
+        "pend": "~1.2.0"
+      }
+    },
+    "node_modules/figures": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+      "dependencies": {
+        "escape-string-regexp": "^1.0.5"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/figures/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/file-entry-cache": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "dev": true,
+      "dependencies": {
+        "flat-cache": "^3.0.4"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/file-type": {
+      "version": "16.5.4",
+      "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz",
+      "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==",
+      "dependencies": {
+        "readable-web-to-node-stream": "^3.0.0",
+        "strtok3": "^6.2.4",
+        "token-types": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/file-type?sponsor=1"
+      }
+    },
+    "node_modules/filename-reserved-regex": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
+      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/filenamify": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
+      "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
+      "dependencies": {
+        "filename-reserved-regex": "^2.0.0",
+        "strip-outer": "^1.0.1",
+        "trim-repeated": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/filesize": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.0.tgz",
+      "integrity": "sha512-GTLKYyBSDz3nPhlLVPjPWZCnhkd9TrrRArNcy8Z+J2cqScB7h2McAzR6NBX6nYOoWafql0roY8hrocxnZBv9CQ==",
+      "engines": {
+        "node": ">= 10.4.0"
+      }
+    },
+    "node_modules/fill-keys": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz",
+      "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==",
+      "dev": true,
+      "dependencies": {
+        "is-object": "~1.0.1",
+        "merge-descriptors": "~1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+      "dev": true,
+      "dependencies": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.2",
+        "pkg-dir": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/find-requires": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/find-requires/-/find-requires-1.0.0.tgz",
+      "integrity": "sha512-UME7hNwBfzeISSFQcBEDemEEskpOjI/shPrpJM5PI4DSdn6hX0dmz+2dL70blZER2z8tSnTRL+2rfzlYgtbBoQ==",
+      "dependencies": {
+        "es5-ext": "^0.10.49",
+        "esniff": "^1.1.0"
+      },
+      "bin": {
+        "find-requires": "bin/find-requires.js"
+      }
+    },
+    "node_modules/find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/find-versions": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz",
+      "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==",
+      "dev": true,
+      "dependencies": {
+        "semver-regex": "^3.1.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/flat": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+      "bin": {
+        "flat": "cli.js"
+      }
+    },
+    "node_modules/flat-cache": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+      "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+      "dev": true,
+      "dependencies": {
+        "flatted": "^3.2.9",
+        "keyv": "^4.5.3",
+        "rimraf": "^3.0.2"
+      },
+      "engines": {
+        "node": "^10.12.0 || >=12.0.0"
+      }
+    },
+    "node_modules/flatted": {
+      "version": "3.2.9",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+      "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+      "dev": true
+    },
+    "node_modules/follow-redirects": {
+      "version": "1.15.3",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
+      "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/RubenVerborgh"
+        }
+      ],
+      "engines": {
+        "node": ">=4.0"
+      },
+      "peerDependenciesMeta": {
+        "debug": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/for-each": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+      "dependencies": {
+        "is-callable": "^1.1.3"
+      }
+    },
+    "node_modules/foreground-child": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
+      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/foreground-child/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/foreground-child/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/foreground-child/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/foreground-child/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/foreground-child/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/form-data": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/formidable": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
+      "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
+      "dependencies": {
+        "dezalgo": "^1.0.4",
+        "hexoid": "^1.0.0",
+        "once": "^1.4.0",
+        "qs": "^6.11.0"
+      },
+      "funding": {
+        "url": "https://ko-fi.com/tunnckoCore/commissions"
+      }
+    },
+    "node_modules/formidable/node_modules/qs": {
+      "version": "6.11.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+      "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+      "dependencies": {
+        "side-channel": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/from2": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+      "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.0.0"
+      }
+    },
+    "node_modules/from2/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/from2/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/from2/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/fromentries": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
+      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/fs-constants": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
+    },
+    "node_modules/fs-extra": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/fs-minipass": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+      "dependencies": {
+        "minipass": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/fs-minipass/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+    },
+    "node_modules/fs2": {
+      "version": "0.3.9",
+      "resolved": "https://registry.npmjs.org/fs2/-/fs2-0.3.9.tgz",
+      "integrity": "sha512-WsOqncODWRlkjwll+73bAxVW3JPChDgaPX3DT4iTTm73UmG4VgALa7LaFblP232/DN60itkOrPZ8kaP1feksGQ==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "deferred": "^0.7.11",
+        "es5-ext": "^0.10.53",
+        "event-emitter": "^0.3.5",
+        "ignore": "^5.1.8",
+        "memoizee": "^0.4.14",
+        "type": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/function.prototype.name": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+      "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "functions-have-names": "^1.2.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/functions-have-names": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/gensync": {
+      "version": "1.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+      "dev": true
+    },
+    "node_modules/get-func-name": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
+      "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/get-intrinsic": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+      "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+      "dependencies": {
+        "function-bind": "^1.1.2",
+        "has-proto": "^1.0.1",
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/get-pkg-repo": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
+      "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==",
+      "dev": true,
+      "dependencies": {
+        "@hutson/parse-repository-url": "^3.0.0",
+        "hosted-git-info": "^4.0.0",
+        "through2": "^2.0.0",
+        "yargs": "^16.2.0"
+      },
+      "bin": {
+        "get-pkg-repo": "src/cli.js"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/get-pkg-repo/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/get-pkg-repo/node_modules/through2": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "~2.3.6",
+        "xtend": "~4.0.1"
+      }
+    },
+    "node_modules/get-stdin": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+      "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/get-stream": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/get-symbol-description": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+      "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "node_modules/git-list-updated": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/git-list-updated/-/git-list-updated-1.2.1.tgz",
+      "integrity": "sha512-llCzqjMEwMiU2TuX1PPajrX8cHBOaCVjw0aPDEXAIWvU3JuSZii8B4pvk8vEH8oibObQImFO/E2IwS20DoORCA==",
+      "dev": true,
+      "dependencies": {
+        "2-thenable": "^1.0.0",
+        "child-process-ext": "^2.0.0",
+        "es5-ext": "^0.10.50",
+        "essentials": "^1.0.0",
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "git-list-updated": "bin/git-list-updated.js",
+        "pipe-git-updated": "bin/pipe-git-updated.js"
+      }
+    },
+    "node_modules/git-raw-commits": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
+      "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==",
+      "dev": true,
+      "dependencies": {
+        "dargs": "^7.0.0",
+        "lodash": "^4.17.15",
+        "meow": "^8.0.0",
+        "split2": "^3.0.0",
+        "through2": "^4.0.0"
+      },
+      "bin": {
+        "git-raw-commits": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/git-remote-origin-url": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+      "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
+      "dev": true,
+      "dependencies": {
+        "gitconfiglocal": "^1.0.0",
+        "pify": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/git-semver-tags": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz",
+      "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==",
+      "dev": true,
+      "dependencies": {
+        "meow": "^8.0.0",
+        "semver": "^6.0.0"
+      },
+      "bin": {
+        "git-semver-tags": "cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/git-semver-tags/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/gitconfiglocal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+      "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
+      "dev": true,
+      "dependencies": {
+        "ini": "^1.3.2"
+      }
+    },
+    "node_modules/github-from-package": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+      "dev": true
+    },
+    "node_modules/github-release-from-cc-changelog": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/github-release-from-cc-changelog/-/github-release-from-cc-changelog-2.3.0.tgz",
+      "integrity": "sha512-Zuwu1tS/wUq7uLvokZh02fCxIDvVP2wgIGGqfECUUtfj6TbPPBlsOym3Yq1Mp7j8l5PFNk3DZ2G3WsMj1ugESA==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/rest": "^18.12.0",
+        "chalk": "^3.0.0",
+        "cli-progress-footer": "^1.1.1",
+        "essentials": "^1.2.0",
+        "event-emitter": "^0.3.5",
+        "minimist": "^1.2.6",
+        "parse-github-url": "^1.0.2",
+        "split2": "^3.2.2",
+        "stream-promise": "^3.2.0",
+        "type": "^2.6.0"
+      },
+      "bin": {
+        "dump-release-notes-from-cc-changelog": "bin/dump-release-notes-from-cc-changelog.js",
+        "github-release-all-from-cc-changelog": "bin/github-release-all-from-cc-changelog.js",
+        "github-release-from-cc-changelog": "bin/github-release-from-cc-changelog.js"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/cli-color": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz",
+      "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.1.1",
+        "d": "1",
+        "es5-ext": "^0.10.46",
+        "es6-iterator": "^2.0.3",
+        "memoizee": "^0.4.14",
+        "timers-ext": "^0.1.5"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/cli-progress-footer": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/cli-progress-footer/-/cli-progress-footer-1.1.1.tgz",
+      "integrity": "sha512-J0uW2u06pWI0tMKCbcCiMOZd8TbWj4EpuYgPo4Jiwih/FfGbd4dbLcJieO0Ior1pY1HBrnmCuHFk6GB9azE4pg==",
+      "dev": true,
+      "dependencies": {
+        "cli-color": "^1.4",
+        "d": "1",
+        "es5-ext": "^0.10.47",
+        "process-utils": "^2.0.1",
+        "timers-ext": "^0.1.7"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/process-utils": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/process-utils/-/process-utils-2.6.0.tgz",
+      "integrity": "sha512-2zKFADQDvHiUDyJQTsBTdu1+Q2D/WtReBotZwXmD9oUueb0kNv4rXulK/78hMM+nclBNFZ/ZlHOJtobt8oHpqQ==",
+      "dev": true,
+      "dependencies": {
+        "ext": "^1.1.0",
+        "type": "^2.0.0"
+      }
+    },
+    "node_modules/github-release-from-cc-changelog/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/global-dirs": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+      "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==",
+      "dev": true,
+      "dependencies": {
+        "ini": "^1.3.4"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/globals": {
+      "version": "13.23.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+      "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^0.20.2"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/globalthis": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/globby": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.2.9",
+        "ignore": "^5.2.0",
+        "merge2": "^1.4.1",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/gopd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+      "dependencies": {
+        "get-intrinsic": "^1.1.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/got": {
+      "version": "11.8.6",
+      "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+      "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
+      "dependencies": {
+        "@sindresorhus/is": "^4.0.0",
+        "@szmarczak/http-timer": "^4.0.5",
+        "@types/cacheable-request": "^6.0.1",
+        "@types/responselike": "^1.0.0",
+        "cacheable-lookup": "^5.0.3",
+        "cacheable-request": "^7.0.2",
+        "decompress-response": "^6.0.0",
+        "http2-wrapper": "^1.0.0-beta.5.2",
+        "lowercase-keys": "^2.0.0",
+        "p-cancelable": "^2.0.0",
+        "responselike": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/got?sponsor=1"
+      }
+    },
+    "node_modules/graceful-fs": {
+      "version": "4.2.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+    },
+    "node_modules/graphemer": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+      "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+      "dev": true
+    },
+    "node_modules/graphlib": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
+      "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
+      "dependencies": {
+        "lodash": "^4.17.15"
+      }
+    },
+    "node_modules/growl": {
+      "version": "1.10.5",
+      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.x"
+      }
+    },
+    "node_modules/handlebars": {
+      "version": "4.7.8",
+      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+      "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.5",
+        "neo-async": "^2.6.2",
+        "source-map": "^0.6.1",
+        "wordwrap": "^1.0.0"
+      },
+      "bin": {
+        "handlebars": "bin/handlebars"
+      },
+      "engines": {
+        "node": ">=0.4.7"
+      },
+      "optionalDependencies": {
+        "uglify-js": "^3.1.4"
+      }
+    },
+    "node_modules/har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/har-validator": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+      "deprecated": "this library is no longer supported",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.12.3",
+        "har-schema": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/har-validator/node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/har-validator/node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/hard-rejection": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/has": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+      "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/has-bigints": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+      "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/has-property-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
+      "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+      "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-symbols": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-tostringtag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+      "dependencies": {
+        "has-symbols": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/hasha": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
+      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
+      "dev": true,
+      "dependencies": {
+        "is-stream": "^2.0.0",
+        "type-fest": "^0.8.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/hasha/node_modules/is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/hasha/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hasown": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+      "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+      "dev": true,
+      "bin": {
+        "he": "bin/he"
+      }
+    },
+    "node_modules/hexoid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+      "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hosted-git-info": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/html-escaper": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+      "dev": true
+    },
+    "node_modules/http-cache-semantics": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+      "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
+    },
+    "node_modules/http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "jsprim": "^1.2.2",
+        "sshpk": "^1.7.0"
+      },
+      "engines": {
+        "node": ">=0.8",
+        "npm": ">=1.3.7"
+      }
+    },
+    "node_modules/http2-wrapper": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
+      "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+      "dependencies": {
+        "quick-lru": "^5.1.1",
+        "resolve-alpn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=10.19.0"
+      }
+    },
+    "node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/human-signals": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
+      "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.18.0"
+      }
+    },
+    "node_modules/husky": {
+      "version": "4.3.8",
+      "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz",
+      "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "ci-info": "^2.0.0",
+        "compare-versions": "^3.6.0",
+        "cosmiconfig": "^7.0.0",
+        "find-versions": "^4.0.0",
+        "opencollective-postinstall": "^2.0.2",
+        "pkg-dir": "^5.0.0",
+        "please-upgrade-node": "^3.2.0",
+        "slash": "^3.0.0",
+        "which-pm-runs": "^1.0.0"
+      },
+      "bin": {
+        "husky-run": "bin/run.js",
+        "husky-upgrade": "lib/upgrader/bin.js"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/husky"
+      }
+    },
+    "node_modules/husky/node_modules/ci-info": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+      "dev": true
+    },
+    "node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ieee754": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+    },
+    "node_modules/ignore": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+      "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/immediate": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+      "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "dev": true,
+      "dependencies": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/import-fresh/node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "engines": {
+        "node": ">=0.8.19"
+      }
+    },
+    "node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+    },
+    "node_modules/ini": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+      "dev": true
+    },
+    "node_modules/inquirer": {
+      "version": "8.2.6",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz",
+      "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==",
+      "dependencies": {
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.1.1",
+        "cli-cursor": "^3.1.0",
+        "cli-width": "^3.0.0",
+        "external-editor": "^3.0.3",
+        "figures": "^3.0.0",
+        "lodash": "^4.17.21",
+        "mute-stream": "0.0.8",
+        "ora": "^5.4.1",
+        "run-async": "^2.4.0",
+        "rxjs": "^7.5.5",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "through": "^2.3.6",
+        "wrap-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      }
+    },
+    "node_modules/internal-slot": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
+      "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+      "dev": true,
+      "dependencies": {
+        "get-intrinsic": "^1.2.2",
+        "hasown": "^2.0.0",
+        "side-channel": "^1.0.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/into-stream": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz",
+      "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==",
+      "dev": true,
+      "dependencies": {
+        "from2": "^2.3.0",
+        "p-is-promise": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-arguments": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-array-buffer": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
+      "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.2.0",
+        "is-typed-array": "^1.1.10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+      "dev": true
+    },
+    "node_modules/is-bigint": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+      "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+      "dev": true,
+      "dependencies": {
+        "has-bigints": "^1.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-binary-path": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+      "dependencies": {
+        "binary-extensions": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-boolean-object": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+      "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-callable": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-core-module": {
+      "version": "2.13.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+      "dev": true,
+      "dependencies": {
+        "hasown": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-date-object": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-docker": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+      "bin": {
+        "is-docker": "cli.js"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
+      "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-generator-function": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-interactive": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-natural-number": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
+      "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ=="
+    },
+    "node_modules/is-negative-zero": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+      "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/is-number-object": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+      "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-obj": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-object": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
+      "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-path-inside": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+      "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-plain-object": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-promise": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+      "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
+    },
+    "node_modules/is-regex": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-shared-array-buffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+      "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-stream": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-string": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+      "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+      "dev": true,
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-symbol": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+      "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+      "dev": true,
+      "dependencies": {
+        "has-symbols": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-text-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+      "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==",
+      "dev": true,
+      "dependencies": {
+        "text-extensions": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-typed-array": {
+      "version": "1.1.12",
+      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+      "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+      "dependencies": {
+        "which-typed-array": "^1.1.11"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+      "dev": true
+    },
+    "node_modules/is-unicode-supported": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+      "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-weakref": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+      "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-windows": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-wsl": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+      "dependencies": {
+        "is-docker": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+    },
+    "node_modules/isomorphic-ws": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
+      "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==",
+      "peerDependencies": {
+        "ws": "*"
+      }
+    },
+    "node_modules/isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
+      "dev": true
+    },
+    "node_modules/istanbul-lib-coverage": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+      "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-hook": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
+      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
+      "dev": true,
+      "dependencies": {
+        "append-transform": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/core": "^7.7.5",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.0.0",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
+      "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==",
+      "dev": true,
+      "dependencies": {
+        "archy": "^1.0.0",
+        "cross-spawn": "^7.0.3",
+        "istanbul-lib-coverage": "^3.2.0",
+        "p-map": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "uuid": "^8.3.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "dev": true,
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/istanbul-lib-report": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+      "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+      "dev": true,
+      "dependencies": {
+        "istanbul-lib-coverage": "^3.0.0",
+        "make-dir": "^4.0.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/istanbul-lib-report/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-source-maps": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+      "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/istanbul-reports": {
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+      "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
+      "dev": true,
+      "dependencies": {
+        "html-escaper": "^2.0.0",
+        "istanbul-lib-report": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jmespath": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz",
+      "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==",
+      "engines": {
+        "node": ">= 0.6.0"
+      }
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
+    },
+    "node_modules/js-yaml": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+      "dev": true
+    },
+    "node_modules/jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-buffer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
+    },
+    "node_modules/json-colorizer": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/json-colorizer/-/json-colorizer-2.2.2.tgz",
+      "integrity": "sha512-56oZtwV1piXrQnRNTtJeqRv+B9Y/dXAYLqBBaYl/COcUdoZxgLBLAO88+CnkbT6MxNs0c5E9mPBIb2sFcNz3vw==",
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "lodash.get": "^4.4.2"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+    },
+    "node_modules/json-colorizer/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-colorizer/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-cycle": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/json-cycle/-/json-cycle-1.5.0.tgz",
+      "integrity": "sha512-GOehvd5PO2FeZ5T4c+RxobeT5a1PiGpF4u9/3+UvrMU4bhnVqzJY7hm39wg8PDCqkU91fWGH8qjWR4bn+wgq9w==",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "node_modules/json-refs": {
+      "version": "3.0.15",
+      "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz",
+      "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==",
+      "dependencies": {
+        "commander": "~4.1.1",
+        "graphlib": "^2.1.8",
+        "js-yaml": "^3.13.1",
+        "lodash": "^4.17.15",
+        "native-promise-only": "^0.8.1",
+        "path-loader": "^1.0.10",
+        "slash": "^3.0.0",
+        "uri-js": "^4.2.2"
+      },
+      "bin": {
+        "json-refs": "bin/json-refs"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/json-refs/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/json-refs/node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/json-schema": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+      "dev": true
+    },
+    "node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+    },
+    "node_modules/json-schema-typed": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz",
+      "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==",
+      "dev": true
+    },
+    "node_modules/json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "dev": true
+    },
+    "node_modules/json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+      "dev": true
+    },
+    "node_modules/json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+      "dev": true,
+      "bin": {
+        "json5": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/jsonfile": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dependencies": {
+        "universalify": "^2.0.0"
+      },
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+      "dev": true,
+      "engines": [
+        "node >= 0.2.0"
+      ]
+    },
+    "node_modules/JSONStream": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+      "dev": true,
+      "dependencies": {
+        "jsonparse": "^1.2.0",
+        "through": ">=2.2.7 <3"
+      },
+      "bin": {
+        "JSONStream": "bin.js"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/jsprim": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.4.0",
+        "verror": "1.10.0"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/jszip": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+      "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+      "dependencies": {
+        "lie": "~3.3.0",
+        "pako": "~1.0.2",
+        "readable-stream": "~2.3.6",
+        "setimmediate": "^1.0.5"
+      }
+    },
+    "node_modules/jszip/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/jszip/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "node_modules/jszip/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/just-extend": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
+      "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
+      "dev": true
+    },
+    "node_modules/jwt-decode": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz",
+      "integrity": "sha512-86GgN2vzfUu7m9Wcj63iUkuDzFNYFVmjeDm2GzWpUk+opB0pEpMsw6ePCMrhYkumz2C1ihqtZzOMAg7FiXcNoQ=="
+    },
+    "node_modules/keyv": {
+      "version": "4.5.4",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+      "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+      "dependencies": {
+        "json-buffer": "3.0.1"
+      }
+    },
+    "node_modules/kind-of": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/lazystream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+      "dependencies": {
+        "readable-stream": "^2.0.5"
+      },
+      "engines": {
+        "node": ">= 0.6.3"
+      }
+    },
+    "node_modules/lazystream/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/lazystream/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "node_modules/lazystream/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/lie": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+      "dependencies": {
+        "immediate": "~3.0.5"
+      }
+    },
+    "node_modules/lilconfig": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+      "dev": true
+    },
+    "node_modules/lint-staged": {
+      "version": "13.3.0",
+      "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz",
+      "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "5.3.0",
+        "commander": "11.0.0",
+        "debug": "4.3.4",
+        "execa": "7.2.0",
+        "lilconfig": "2.1.0",
+        "listr2": "6.6.1",
+        "micromatch": "4.0.5",
+        "pidtree": "0.6.0",
+        "string-argv": "0.3.2",
+        "yaml": "2.3.1"
+      },
+      "bin": {
+        "lint-staged": "bin/lint-staged.js"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/lint-staged"
+      }
+    },
+    "node_modules/lint-staged/node_modules/chalk": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+      "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/lint-staged/node_modules/commander": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+      "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=16"
+      }
+    },
+    "node_modules/lint-staged/node_modules/yaml": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
+      "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/listr2": {
+      "version": "6.6.1",
+      "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz",
+      "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==",
+      "dev": true,
+      "dependencies": {
+        "cli-truncate": "^3.1.0",
+        "colorette": "^2.0.20",
+        "eventemitter3": "^5.0.1",
+        "log-update": "^5.0.1",
+        "rfdc": "^1.3.0",
+        "wrap-ansi": "^8.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0"
+      },
+      "peerDependencies": {
+        "enquirer": ">= 2.3.0 < 3"
+      },
+      "peerDependenciesMeta": {
+        "enquirer": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/listr2/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/listr2/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/listr2/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+      "dev": true
+    },
+    "node_modules/listr2/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dev": true,
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/listr2/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
+    "node_modules/listr2/node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/load-json-file": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+      "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^4.0.0",
+        "pify": "^3.0.0",
+        "strip-bom": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/load-json-file/node_modules/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+      "dev": true,
+      "dependencies": {
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/load-json-file/node_modules/pify": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/load-json-file/node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+    },
+    "node_modules/lodash.defaults": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+      "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+    },
+    "node_modules/lodash.difference": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+      "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="
+    },
+    "node_modules/lodash.flatten": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+      "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+    },
+    "node_modules/lodash.flattendeep": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+      "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
+      "dev": true
+    },
+    "node_modules/lodash.get": {
+      "version": "4.4.2",
+      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
+    },
+    "node_modules/lodash.ismatch": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
+      "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
+      "dev": true
+    },
+    "node_modules/lodash.isplainobject": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+      "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "node_modules/lodash.union": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
+      "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw=="
+    },
+    "node_modules/log": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/log/-/log-6.3.1.tgz",
+      "integrity": "sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "duration": "^0.2.2",
+        "es5-ext": "^0.10.53",
+        "event-emitter": "^0.3.5",
+        "sprintf-kit": "^2.0.1",
+        "type": "^2.5.0",
+        "uni-global": "^1.0.0"
+      }
+    },
+    "node_modules/log-node": {
+      "version": "8.0.3",
+      "resolved": "https://registry.npmjs.org/log-node/-/log-node-8.0.3.tgz",
+      "integrity": "sha512-1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1",
+        "cli-color": "^2.0.1",
+        "cli-sprintf-format": "^1.1.1",
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.53",
+        "sprintf-kit": "^2.0.1",
+        "supports-color": "^8.1.1",
+        "type": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=10.0"
+      },
+      "peerDependencies": {
+        "log": "^6.0.0"
+      }
+    },
+    "node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz",
+      "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==",
+      "dev": true,
+      "dependencies": {
+        "ansi-escapes": "^5.0.0",
+        "cli-cursor": "^4.0.0",
+        "slice-ansi": "^5.0.0",
+        "strip-ansi": "^7.0.1",
+        "wrap-ansi": "^8.0.1"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/ansi-escapes": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz",
+      "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==",
+      "dev": true,
+      "dependencies": {
+        "type-fest": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/log-update/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/log-update/node_modules/cli-cursor": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz",
+      "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==",
+      "dev": true,
+      "dependencies": {
+        "restore-cursor": "^4.0.0"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+      "dev": true
+    },
+    "node_modules/log-update/node_modules/restore-cursor": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz",
+      "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==",
+      "dev": true,
+      "dependencies": {
+        "onetime": "^5.1.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dev": true,
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
+    "node_modules/log-update/node_modules/type-fest": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+      "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/log-update/node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/loupe": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
+      "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
+      "dev": true,
+      "dependencies": {
+        "get-func-name": "^2.0.1"
+      }
+    },
+    "node_modules/lowercase-keys": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/lru-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+      "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
+      "dependencies": {
+        "es5-ext": "~0.10.2"
+      }
+    },
+    "node_modules/make-dir": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+      "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+      "dependencies": {
+        "semver": "^7.5.3"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/map-obj": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
+      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/memoizee": {
+      "version": "0.4.15",
+      "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+      "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+      "dependencies": {
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.53",
+        "es6-weak-map": "^2.0.3",
+        "event-emitter": "^0.3.5",
+        "is-promise": "^2.2.2",
+        "lru-queue": "^0.1.0",
+        "next-tick": "^1.1.0",
+        "timers-ext": "^0.1.7"
+      }
+    },
+    "node_modules/meow": {
+      "version": "8.1.2",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
+      "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/minimist": "^1.2.0",
+        "camelcase-keys": "^6.2.2",
+        "decamelize-keys": "^1.1.0",
+        "hard-rejection": "^2.1.0",
+        "minimist-options": "4.1.0",
+        "normalize-package-data": "^3.0.0",
+        "read-pkg-up": "^7.0.1",
+        "redent": "^3.0.0",
+        "trim-newlines": "^3.0.0",
+        "type-fest": "^0.18.0",
+        "yargs-parser": "^20.2.3"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/meow/node_modules/type-fest": {
+      "version": "0.18.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/merge-descriptors": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+      "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "dev": true
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "dependencies": {
+        "braces": "^3.0.2",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/mime": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+      "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "dependencies": {
+        "mime-db": "1.52.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mimic-fn": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz",
+      "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/mimic-response": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/min-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/minimist": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/minimist-options": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1",
+        "is-plain-obj": "^1.1.0",
+        "kind-of": "^6.0.3"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/minizlib": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+      "dependencies": {
+        "minipass": "^3.0.0",
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/minizlib/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
+    "node_modules/mocha": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
+      "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
+      "dev": true,
+      "dependencies": {
+        "@ungap/promise-all-settled": "1.1.2",
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.3",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "growl": "1.10.5",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "4.2.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.1",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "which": "2.0.2",
+        "workerpool": "6.2.0",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
+      },
+      "bin": {
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha"
+      },
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
+      }
+    },
+    "node_modules/mocha/node_modules/debug": {
+      "version": "4.3.3",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+      "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/mocha/node_modules/debug/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/mocha/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/mocha/node_modules/minimatch": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
+      "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/mocha/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/mocha/node_modules/yargs-parser": {
+      "version": "20.2.4",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+      "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/mock-require": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz",
+      "integrity": "sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==",
+      "dev": true,
+      "dependencies": {
+        "get-caller-file": "^1.0.2",
+        "normalize-path": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=4.3.0"
+      }
+    },
+    "node_modules/mock-require/node_modules/normalize-path": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+      "dev": true,
+      "dependencies": {
+        "remove-trailing-separator": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/modify-values": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
+      "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/module-not-found-error": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz",
+      "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==",
+      "dev": true
+    },
+    "node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+    },
+    "node_modules/multistream": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz",
+      "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "once": "^1.4.0",
+        "readable-stream": "^3.6.0"
+      }
+    },
+    "node_modules/mute-stream": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+      "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/napi-build-utils": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
+      "dev": true
+    },
+    "node_modules/native-promise-only": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
+      "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg=="
+    },
+    "node_modules/natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "dev": true
+    },
+    "node_modules/ncjsm": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ncjsm/-/ncjsm-4.3.2.tgz",
+      "integrity": "sha512-6d1VWA7FY31CpI4Ki97Fpm36jfURkVbpktizp8aoVViTZRQgr/0ddmlKerALSSlzfwQRBeSq1qwwVcBJK4Sk7Q==",
+      "dependencies": {
+        "builtin-modules": "^3.3.0",
+        "deferred": "^0.7.11",
+        "es5-ext": "^0.10.62",
+        "es6-set": "^0.1.6",
+        "ext": "^1.7.0",
+        "find-requires": "^1.0.0",
+        "fs2": "^0.3.9",
+        "type": "^2.7.2"
+      }
+    },
+    "node_modules/neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "node_modules/next-tick": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+      "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+    },
+    "node_modules/nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+    },
+    "node_modules/nise": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz",
+      "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^2.0.0",
+        "@sinonjs/fake-timers": "^10.0.2",
+        "@sinonjs/text-encoding": "^0.7.1",
+        "just-extend": "^4.0.2",
+        "path-to-regexp": "^1.7.0"
+      }
+    },
+    "node_modules/nise/node_modules/@sinonjs/commons": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
+      "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "node_modules/nise/node_modules/@sinonjs/fake-timers": {
+      "version": "10.3.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+      "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^3.0.0"
+      }
+    },
+    "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
+      "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "node_modules/node-abi": {
+      "version": "3.51.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz",
+      "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/node-dir": {
+      "version": "0.1.17",
+      "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz",
+      "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==",
+      "dependencies": {
+        "minimatch": "^3.0.2"
+      },
+      "engines": {
+        "node": ">= 0.10.5"
+      }
+    },
+    "node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+      "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/node-preload": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
+      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
+      "dev": true,
+      "dependencies": {
+        "process-on-spawn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/node-releases": {
+      "version": "2.0.13",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
+      "dev": true
+    },
+    "node_modules/normalize-package-data": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^4.0.1",
+        "is-core-module": "^2.5.0",
+        "semver": "^7.3.4",
+        "validate-npm-package-license": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/normalize-url": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+      "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/npm-registry-utilities": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/npm-registry-utilities/-/npm-registry-utilities-1.0.0.tgz",
+      "integrity": "sha512-9xYfSJy2IFQw1i6462EJzjChL9e65EfSo2Cw6kl0EFeDp05VvU+anrQk3Fc0d1MbVCq7rWIxeer89O9SUQ/uOg==",
+      "dependencies": {
+        "ext": "^1.6.0",
+        "fs2": "^0.3.9",
+        "memoizee": "^0.4.15",
+        "node-fetch": "^2.6.7",
+        "semver": "^7.3.5",
+        "type": "^2.6.0",
+        "validate-npm-package-name": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=12.0"
+      }
+    },
+    "node_modules/npm-run-path": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
+      "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^4.0.0"
+      },
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/npm-run-path/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/nyc": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
+      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "caching-transform": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "decamelize": "^1.2.0",
+        "find-cache-dir": "^3.2.0",
+        "find-up": "^4.1.0",
+        "foreground-child": "^2.0.0",
+        "get-package-type": "^0.1.0",
+        "glob": "^7.1.6",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-hook": "^3.0.0",
+        "istanbul-lib-instrument": "^4.0.0",
+        "istanbul-lib-processinfo": "^2.0.2",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^4.0.0",
+        "istanbul-reports": "^3.0.2",
+        "make-dir": "^3.0.0",
+        "node-preload": "^0.2.1",
+        "p-map": "^3.0.0",
+        "process-on-spawn": "^1.0.0",
+        "resolve-from": "^5.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "spawn-wrap": "^2.0.0",
+        "test-exclude": "^6.0.0",
+        "yargs": "^15.0.2"
+      },
+      "bin": {
+        "nyc": "bin/nyc.js"
+      },
+      "engines": {
+        "node": ">=8.9"
+      }
+    },
+    "node_modules/nyc/node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
+    "node_modules/nyc/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/nyc/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/nyc/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/nyc/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/nyc/node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "dev": true
+    },
+    "node_modules/nyc/node_modules/yargs": {
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/oauth-sign": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-hash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+      "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/object-inspect": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/object.assign": {
+      "version": "4.1.4",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
+      "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.1.4",
+        "has-symbols": "^1.0.3",
+        "object-keys": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object.fromentries": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
+      "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object.groupby": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
+      "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "get-intrinsic": "^1.2.1"
+      }
+    },
+    "node_modules/object.values": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
+      "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/onetime": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+      "dependencies": {
+        "mimic-fn": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/onetime/node_modules/mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/open": {
+      "version": "8.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+      "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+      "dependencies": {
+        "define-lazy-prop": "^2.0.0",
+        "is-docker": "^2.1.1",
+        "is-wsl": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/opencollective-postinstall": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
+      "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==",
+      "dev": true,
+      "bin": {
+        "opencollective-postinstall": "index.js"
+      }
+    },
+    "node_modules/optionator": {
+      "version": "0.9.3",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+      "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+      "dev": true,
+      "dependencies": {
+        "@aashutoshrathi/word-wrap": "^1.2.3",
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/ora": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+      "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+      "dependencies": {
+        "bl": "^4.1.0",
+        "chalk": "^4.1.0",
+        "cli-cursor": "^3.1.0",
+        "cli-spinners": "^2.5.0",
+        "is-interactive": "^1.0.0",
+        "is-unicode-supported": "^0.1.0",
+        "log-symbols": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "wcwidth": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/p-cancelable": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
+      "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-event": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
+      "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==",
+      "dependencies": {
+        "p-timeout": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-finally": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+      "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/p-is-promise": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
+      "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "dev": true,
+      "dependencies": {
+        "yocto-queue": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-map": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+      "dev": true,
+      "dependencies": {
+        "aggregate-error": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-timeout": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+      "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
+      "dependencies": {
+        "p-finally": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/package-hash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
+      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.15",
+        "hasha": "^5.0.0",
+        "lodash.flattendeep": "^4.4.0",
+        "release-zalgo": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+    },
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "dev": true,
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/parse-github-url": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
+      "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
+      "dev": true,
+      "bin": {
+        "parse-github-url": "cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-key": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/path-loader": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz",
+      "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==",
+      "dependencies": {
+        "native-promise-only": "^0.8.1",
+        "superagent": "^7.1.6"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "node_modules/path-to-regexp": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+      "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+      "dev": true,
+      "dependencies": {
+        "isarray": "0.0.1"
+      }
+    },
+    "node_modules/path-to-regexp/node_modules/isarray": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+      "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
+      "dev": true
+    },
+    "node_modules/path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path2": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/path2/-/path2-0.1.0.tgz",
+      "integrity": "sha512-TX+cz8Jk+ta7IvRy2FAej8rdlbrP0+uBIkP/5DTODez/AuL/vSb30KuAdDxGVREXzn8QfAiu5mJYJ1XjbOhEPA=="
+    },
+    "node_modules/pathval": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+      "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/peek-readable": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
+      "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Borewit"
+      }
+    },
+    "node_modules/pend": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
+    },
+    "node_modules/performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+      "dev": true
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/pidtree": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
+      "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+      "dev": true,
+      "bin": {
+        "pidtree": "bin/pidtree.js"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
+      "dependencies": {
+        "pinkie": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/pkg": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.8.1.tgz",
+      "integrity": "sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/generator": "7.18.2",
+        "@babel/parser": "7.18.4",
+        "@babel/types": "7.19.0",
+        "chalk": "^4.1.2",
+        "fs-extra": "^9.1.0",
+        "globby": "^11.1.0",
+        "into-stream": "^6.0.0",
+        "is-core-module": "2.9.0",
+        "minimist": "^1.2.6",
+        "multistream": "^4.1.0",
+        "pkg-fetch": "3.4.2",
+        "prebuild-install": "7.1.1",
+        "resolve": "^1.22.0",
+        "stream-meter": "^1.0.4"
+      },
+      "bin": {
+        "pkg": "lib-es5/bin.js"
+      },
+      "peerDependencies": {
+        "node-notifier": ">=9.0.1"
+      },
+      "peerDependenciesMeta": {
+        "node-notifier": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/pkg-dir": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+      "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/pkg-fetch": {
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.2.tgz",
+      "integrity": "sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.2",
+        "fs-extra": "^9.1.0",
+        "https-proxy-agent": "^5.0.0",
+        "node-fetch": "^2.6.6",
+        "progress": "^2.0.3",
+        "semver": "^7.3.5",
+        "tar-fs": "^2.1.1",
+        "yargs": "^16.2.0"
+      },
+      "bin": {
+        "pkg-fetch": "lib-es5/bin.js"
+      }
+    },
+    "node_modules/pkg-fetch/node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/pkg-up": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+      "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/pkg-up/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-up/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-up/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/pkg-up/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-up/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/pkg/node_modules/@babel/generator": {
+      "version": "7.18.2",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
+      "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.18.2",
+        "@jridgewell/gen-mapping": "^0.3.0",
+        "jsesc": "^2.5.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/pkg/node_modules/@babel/parser": {
+      "version": "7.18.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
+      "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/pkg/node_modules/@babel/types": {
+      "version": "7.19.0",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
+      "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-string-parser": "^7.18.10",
+        "@babel/helper-validator-identifier": "^7.18.6",
+        "to-fast-properties": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/pkg/node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/pkg/node_modules/is-core-module": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+      "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/please-upgrade-node": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+      "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
+      "dev": true,
+      "dependencies": {
+        "semver-compare": "^1.0.0"
+      }
+    },
+    "node_modules/prebuild-install": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
+      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
+      "dev": true,
+      "dependencies": {
+        "detect-libc": "^2.0.0",
+        "expand-template": "^2.0.3",
+        "github-from-package": "0.0.0",
+        "minimist": "^1.2.3",
+        "mkdirp-classic": "^0.5.3",
+        "napi-build-utils": "^1.0.1",
+        "node-abi": "^3.3.0",
+        "pump": "^3.0.0",
+        "rc": "^1.2.7",
+        "simple-get": "^4.0.0",
+        "tar-fs": "^2.0.0",
+        "tunnel-agent": "^0.6.0"
+      },
+      "bin": {
+        "prebuild-install": "bin.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/prettier": {
+      "version": "2.8.8",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "dev": true,
+      "bin": {
+        "prettier": "bin-prettier.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "url": "https://github.com/prettier/prettier?sponsor=1"
+      }
+    },
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+    },
+    "node_modules/process-on-spawn": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
+      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+      "dev": true,
+      "dependencies": {
+        "fromentries": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/process-utils": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/process-utils/-/process-utils-4.0.0.tgz",
+      "integrity": "sha512-fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg==",
+      "dependencies": {
+        "ext": "^1.4.0",
+        "fs2": "^0.3.9",
+        "memoizee": "^0.4.14",
+        "type": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10.0"
+      }
+    },
+    "node_modules/progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/promise-queue": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz",
+      "integrity": "sha512-p/iXrPSVfnqPft24ZdNNLECw/UrtLTpT3jpAAMzl/o5/rDsGCPo3/CQS2611flL6LkoEJ3oQZw7C8Q80ZISXRQ==",
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+    },
+    "node_modules/proxyquire": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz",
+      "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==",
+      "dev": true,
+      "dependencies": {
+        "fill-keys": "^1.0.2",
+        "module-not-found-error": "^1.0.1",
+        "resolve": "^1.11.1"
+      }
+    },
+    "node_modules/psl": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+      "dev": true
+    },
+    "node_modules/pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "node_modules/punycode": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+      "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6.0",
+        "teleport": ">=0.2.0"
+      }
+    },
+    "node_modules/qs": {
+      "version": "6.5.3",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/querystring": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
+      "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
+      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/quick-lru": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+      "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/rc": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "dev": true,
+      "dependencies": {
+        "deep-extend": "^0.6.0",
+        "ini": "~1.3.0",
+        "minimist": "^1.2.0",
+        "strip-json-comments": "~2.0.1"
+      },
+      "bin": {
+        "rc": "cli.js"
+      }
+    },
+    "node_modules/rc/node_modules/strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/read-pkg": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+      "dev": true,
+      "dependencies": {
+        "@types/normalize-package-data": "^2.4.0",
+        "normalize-package-data": "^2.5.0",
+        "parse-json": "^5.0.0",
+        "type-fest": "^0.6.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg-up": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.1.0",
+        "read-pkg": "^5.2.0",
+        "type-fest": "^0.8.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg-up/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg/node_modules/hosted-git-info": {
+      "version": "2.8.9",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+      "dev": true
+    },
+    "node_modules/read-pkg/node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/read-pkg/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/read-pkg/node_modules/type-fest": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/readable-web-to-node-stream": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
+      "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
+      "dependencies": {
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Borewit"
+      }
+    },
+    "node_modules/readdir-glob": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+      "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
+      "dependencies": {
+        "minimatch": "^5.1.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/readdirp": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+      "dependencies": {
+        "picomatch": "^2.2.1"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
+    "node_modules/redent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+      "dev": true,
+      "dependencies": {
+        "indent-string": "^4.0.0",
+        "strip-indent": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/regexp.prototype.flags": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+      "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "set-function-name": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
+      "dev": true,
+      "dependencies": {
+        "es6-error": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+      "dev": true
+    },
+    "node_modules/request": {
+      "version": "2.88.2",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+      "dev": true,
+      "dependencies": {
+        "aws-sign2": "~0.7.0",
+        "aws4": "^1.8.0",
+        "caseless": "~0.12.0",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
+        "forever-agent": "~0.6.1",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.3",
+        "http-signature": "~1.2.0",
+        "is-typedarray": "~1.0.0",
+        "isstream": "~0.1.2",
+        "json-stringify-safe": "~5.0.1",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
+        "performance-now": "^2.1.0",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.5.0",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/request/node_modules/form-data": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.6",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 0.12"
+      }
+    },
+    "node_modules/request/node_modules/uuid": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+      "dev": true,
+      "bin": {
+        "uuid": "bin/uuid"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-from-string": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
+    "node_modules/resolve": {
+      "version": "1.22.8",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+      "dev": true,
+      "dependencies": {
+        "is-core-module": "^2.13.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/resolve-alpn": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
+      "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
+    },
+    "node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-global": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
+      "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
+      "dev": true,
+      "dependencies": {
+        "global-dirs": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/responselike": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
+      "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+      "dependencies": {
+        "lowercase-keys": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/restore-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+      "dependencies": {
+        "onetime": "^5.1.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/rfdc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
+      "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+      "dev": true
+    },
+    "node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/run-async": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/run-parallel-limit": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz",
+      "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "queue-microtask": "^1.2.2"
+      }
+    },
+    "node_modules/rxjs": {
+      "version": "7.8.1",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+      "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/safe-array-concat": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
+      "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.2.1",
+        "has-symbols": "^1.0.3",
+        "isarray": "^2.0.5"
+      },
+      "engines": {
+        "node": ">=0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/safe-array-concat/node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+      "dev": true
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/safe-regex-test": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+      "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.1.3",
+        "is-regex": "^1.1.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+    },
+    "node_modules/sax": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
+      "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
+    },
+    "node_modules/seek-bzip": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
+      "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
+      "dependencies": {
+        "commander": "^2.8.1"
+      },
+      "bin": {
+        "seek-bunzip": "bin/seek-bunzip",
+        "seek-table": "bin/seek-bzip-table"
+      }
+    },
+    "node_modules/seek-bzip/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+    },
+    "node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/semver-compare": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+      "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
+      "dev": true
+    },
+    "node_modules/semver-regex": {
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz",
+      "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/serialize-javascript": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+      "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+      "dev": true
+    },
+    "node_modules/set-function-length": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
+      "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+      "dependencies": {
+        "define-data-property": "^1.1.1",
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/set-function-name": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+      "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+      "dev": true,
+      "dependencies": {
+        "define-data-property": "^1.0.1",
+        "functions-have-names": "^1.2.3",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+    },
+    "node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+      "dependencies": {
+        "shebang-regex": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/side-channel": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+      "dependencies": {
+        "call-bind": "^1.0.0",
+        "get-intrinsic": "^1.0.2",
+        "object-inspect": "^1.9.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+    },
+    "node_modules/simple-concat": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/simple-get": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "decompress-response": "^6.0.0",
+        "once": "^1.3.1",
+        "simple-concat": "^1.0.0"
+      }
+    },
+    "node_modules/simple-git": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.21.0.tgz",
+      "integrity": "sha512-oTzw9248AF5bDTMk9MrxsRzEzivMlY+DWH0yWS4VYpMhNLhDWnN06pCtaUyPnqv/FpsdeNmRqmZugMABHRPdDA==",
+      "dependencies": {
+        "@kwsites/file-exists": "^1.1.1",
+        "@kwsites/promise-deferred": "^1.1.1",
+        "debug": "^4.3.4"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/steveukx/git-js?sponsor=1"
+      }
+    },
+    "node_modules/sinon": {
+      "version": "13.0.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.2.tgz",
+      "integrity": "sha512-KvOrztAVqzSJWMDoxM4vM+GPys1df2VBoXm+YciyB/OLMamfS3VXh3oGh5WtrAGSzrgczNWFFY22oKb7Fi5eeA==",
+      "deprecated": "16.1.1",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^1.8.3",
+        "@sinonjs/fake-timers": "^9.1.2",
+        "@sinonjs/samsam": "^6.1.1",
+        "diff": "^5.0.0",
+        "nise": "^5.1.1",
+        "supports-color": "^7.2.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
+      }
+    },
+    "node_modules/sinon-chai": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz",
+      "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==",
+      "dev": true,
+      "peerDependencies": {
+        "chai": "^4.0.0",
+        "sinon": ">=4.0.0"
+      }
+    },
+    "node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/slice-ansi": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
+      "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^6.0.0",
+        "is-fullwidth-code-point": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+      }
+    },
+    "node_modules/slice-ansi/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/sort-keys": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+      "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==",
+      "dependencies": {
+        "is-plain-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/sort-keys-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
+      "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==",
+      "dependencies": {
+        "sort-keys": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/spawn-wrap": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
+      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^2.0.0",
+        "is-windows": "^1.0.2",
+        "make-dir": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dev": true,
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-exceptions": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+      "dev": true
+    },
+    "node_modules/spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
+      "dependencies": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.16",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+      "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+      "dev": true
+    },
+    "node_modules/split": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+      "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+      "dev": true,
+      "dependencies": {
+        "through": "2"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/split2": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
+      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+      "dependencies": {
+        "readable-stream": "^3.0.0"
+      }
+    },
+    "node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
+    },
+    "node_modules/sprintf-kit": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz",
+      "integrity": "sha512-2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==",
+      "dependencies": {
+        "es5-ext": "^0.10.53"
+      }
+    },
+    "node_modules/sshpk": {
+      "version": "1.18.0",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+      "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
+      "dev": true,
+      "dependencies": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      },
+      "bin": {
+        "sshpk-conv": "bin/sshpk-conv",
+        "sshpk-sign": "bin/sshpk-sign",
+        "sshpk-verify": "bin/sshpk-verify"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/standard-version": {
+      "version": "9.5.0",
+      "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz",
+      "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.2",
+        "conventional-changelog": "3.1.25",
+        "conventional-changelog-config-spec": "2.1.0",
+        "conventional-changelog-conventionalcommits": "4.6.3",
+        "conventional-recommended-bump": "6.1.0",
+        "detect-indent": "^6.0.0",
+        "detect-newline": "^3.1.0",
+        "dotgitignore": "^2.1.0",
+        "figures": "^3.1.0",
+        "find-up": "^5.0.0",
+        "git-semver-tags": "^4.0.0",
+        "semver": "^7.1.1",
+        "stringify-package": "^1.0.1",
+        "yargs": "^16.0.0"
+      },
+      "bin": {
+        "standard-version": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/standard-version/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/standard-version/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/standard-version/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/standard-version/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "dev": true
+    },
+    "node_modules/standard-version/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/standard-version/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/standard-version/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/stream-buffers": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz",
+      "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==",
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/stream-meter": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
+      "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "^2.1.4"
+      }
+    },
+    "node_modules/stream-meter/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/stream-meter/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/stream-meter/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/stream-promise": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/stream-promise/-/stream-promise-3.2.0.tgz",
+      "integrity": "sha512-P+7muTGs2C8yRcgJw/PPt61q7O517tDHiwYEzMWo1GSBCcZedUMT/clz7vUNsSxFphIlJ6QUL4GexQKlfJoVtA==",
+      "dependencies": {
+        "2-thenable": "^1.0.0",
+        "es5-ext": "^0.10.49",
+        "is-stream": "^1.1.0"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "node_modules/string-argv": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+      "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6.19"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width/node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string.prototype.trim": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+      "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/string.prototype.trimend": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+      "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/string.prototype.trimstart": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+      "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/stringify-package": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz",
+      "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==",
+      "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json",
+      "dev": true
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-bom": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-dirs": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
+      "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
+      "dependencies": {
+        "is-natural-number": "^4.0.1"
+      }
+    },
+    "node_modules/strip-final-newline": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+      "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/strip-indent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+      "dev": true,
+      "dependencies": {
+        "min-indent": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/strip-outer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
+      "dependencies": {
+        "escape-string-regexp": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/strip-outer/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/strnum": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+      "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
+    },
+    "node_modules/strtok3": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
+      "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
+      "dependencies": {
+        "@tokenizer/token": "^0.3.0",
+        "peek-readable": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Borewit"
+      }
+    },
+    "node_modules/superagent": {
+      "version": "7.1.6",
+      "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
+      "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
+      "deprecated": "Please downgrade to v7.1.5 if you need IE/ActiveXObject support OR upgrade to v8.0.0 as we no longer support IE and published an incorrect patch version (see https://github.com/visionmedia/superagent/issues/1731)",
+      "dependencies": {
+        "component-emitter": "^1.3.0",
+        "cookiejar": "^2.1.3",
+        "debug": "^4.3.4",
+        "fast-safe-stringify": "^2.1.1",
+        "form-data": "^4.0.0",
+        "formidable": "^2.0.1",
+        "methods": "^1.1.2",
+        "mime": "2.6.0",
+        "qs": "^6.10.3",
+        "readable-stream": "^3.6.0",
+        "semver": "^7.3.7"
+      },
+      "engines": {
+        "node": ">=6.4.0 <13 || >=14"
+      }
+    },
+    "node_modules/superagent/node_modules/qs": {
+      "version": "6.11.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+      "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+      "dependencies": {
+        "side-channel": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/tar": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
+      "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
+      "dependencies": {
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.0.0",
+        "minipass": "^5.0.0",
+        "minizlib": "^2.1.1",
+        "mkdirp": "^1.0.3",
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/tar-fs": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+      "dev": true,
+      "dependencies": {
+        "chownr": "^1.1.1",
+        "mkdirp-classic": "^0.5.2",
+        "pump": "^3.0.0",
+        "tar-stream": "^2.1.4"
+      }
+    },
+    "node_modules/tar-fs/node_modules/chownr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
+    },
+    "node_modules/tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+      "dependencies": {
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/text-extensions": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
+      "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+      "dev": true
+    },
+    "node_modules/throat": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+      "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA=="
+    },
+    "node_modules/through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
+    },
+    "node_modules/through2": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
+      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "3"
+      }
+    },
+    "node_modules/timers-ext": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+      "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+      "dependencies": {
+        "es5-ext": "~0.10.46",
+        "next-tick": "1"
+      }
+    },
+    "node_modules/tmp": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dependencies": {
+        "os-tmpdir": "~1.0.2"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/to-buffer": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
+      "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
+    },
+    "node_modules/to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/token-types": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
+      "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
+      "dependencies": {
+        "@tokenizer/token": "^0.3.0",
+        "ieee754": "^1.2.1"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Borewit"
+      }
+    },
+    "node_modules/token-types/node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/tough-cookie": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+      "dev": true,
+      "dependencies": {
+        "psl": "^1.1.28",
+        "punycode": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+    },
+    "node_modules/traverse": {
+      "version": "0.6.7",
+      "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
+      "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/trim-newlines": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/trim-repeated": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
+      "dependencies": {
+        "escape-string-regexp": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/trim-repeated/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/tsconfig-paths": {
+      "version": "3.14.2",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
+      "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
+      "dev": true,
+      "dependencies": {
+        "@types/json5": "^0.0.29",
+        "json5": "^1.0.2",
+        "minimist": "^1.2.6",
+        "strip-bom": "^3.0.0"
+      }
+    },
+    "node_modules/tsconfig-paths/node_modules/json5": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      }
+    },
+    "node_modules/tsconfig-paths/node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+    },
+    "node_modules/tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.0.1"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+      "dev": true
+    },
+    "node_modules/type": {
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+      "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+    },
+    "node_modules/type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/type-detect": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/typed-array-buffer": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
+      "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "get-intrinsic": "^1.2.1",
+        "is-typed-array": "^1.1.10"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/typed-array-byte-length": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
+      "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "for-each": "^0.3.3",
+        "has-proto": "^1.0.1",
+        "is-typed-array": "^1.1.10"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typed-array-byte-offset": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
+      "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+      "dev": true,
+      "dependencies": {
+        "available-typed-arrays": "^1.0.5",
+        "call-bind": "^1.0.2",
+        "for-each": "^0.3.3",
+        "has-proto": "^1.0.1",
+        "is-typed-array": "^1.1.10"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typed-array-length": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+      "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "for-each": "^0.3.3",
+        "is-typed-array": "^1.1.9"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+      "dev": true
+    },
+    "node_modules/typedarray-to-buffer": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+      "dev": true,
+      "dependencies": {
+        "is-typedarray": "^1.0.0"
+      }
+    },
+    "node_modules/uglify-js": {
+      "version": "3.17.4",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
+      "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "uglifyjs": "bin/uglifyjs"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/unbox-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+      "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "has-bigints": "^1.0.2",
+        "has-symbols": "^1.0.3",
+        "which-boxed-primitive": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/unbzip2-stream": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
+      "dependencies": {
+        "buffer": "^5.2.1",
+        "through": "^2.3.8"
+      }
+    },
+    "node_modules/unbzip2-stream/node_modules/buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "node_modules/undici-types": {
+      "version": "5.26.5",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
+    },
+    "node_modules/uni-global": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/uni-global/-/uni-global-1.0.0.tgz",
+      "integrity": "sha512-WWM3HP+siTxzIWPNUg7hZ4XO8clKi6NoCAJJWnuRL+BAqyFXF8gC03WNyTefGoUXYc47uYgXxpKLIEvo65PEHw==",
+      "dependencies": {
+        "type": "^2.5.0"
+      }
+    },
+    "node_modules/universal-user-agent": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+      "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
+      "dev": true
+    },
+    "node_modules/universalify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/untildify": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
+      "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/update-browserslist-db": {
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "dependencies": {
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
+      },
+      "bin": {
+        "update-browserslist-db": "cli.js"
+      },
+      "peerDependencies": {
+        "browserslist": ">= 4.21.0"
+      }
+    },
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/url": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+      "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
+      "dependencies": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      }
+    },
+    "node_modules/url/node_modules/punycode": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+      "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
+    },
+    "node_modules/url/node_modules/querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
+      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/util": {
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "is-arguments": "^1.0.4",
+        "is-generator-function": "^1.0.7",
+        "is-typed-array": "^1.1.3",
+        "which-typed-array": "^1.1.2"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+    },
+    "node_modules/uuid": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+      "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+      "funding": [
+        "https://github.com/sponsors/broofa",
+        "https://github.com/sponsors/ctavan"
+      ],
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "dependencies": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "node_modules/validate-npm-package-name": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+      "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
+      "dependencies": {
+        "builtins": "^1.0.3"
+      }
+    },
+    "node_modules/verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
+      }
+    },
+    "node_modules/wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+      "dependencies": {
+        "defaults": "^1.0.3"
+      }
+    },
+    "node_modules/webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+    },
+    "node_modules/whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+      "dependencies": {
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
+      }
+    },
+    "node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "which": "bin/which"
+      }
+    },
+    "node_modules/which-boxed-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+      "dev": true,
+      "dependencies": {
+        "is-bigint": "^1.0.1",
+        "is-boolean-object": "^1.1.0",
+        "is-number-object": "^1.0.4",
+        "is-string": "^1.0.5",
+        "is-symbol": "^1.0.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/which-module": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+      "dev": true
+    },
+    "node_modules/which-pm-runs": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
+      "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/which-typed-array": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
+      "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+      "dependencies": {
+        "available-typed-arrays": "^1.0.5",
+        "call-bind": "^1.0.4",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/wordwrap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+      "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+      "dev": true
+    },
+    "node_modules/workerpool": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
+      "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==",
+      "dev": true
+    },
+    "node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+    },
+    "node_modules/write-file-atomic": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+      "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^3.0.7"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+      }
+    },
+    "node_modules/ws": {
+      "version": "7.5.9",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+      "engines": {
+        "node": ">=8.3.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/xml2js": {
+      "version": "0.4.23",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+      "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+      "dev": true,
+      "dependencies": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/xmlbuilder": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+      "engines": {
+        "node": ">=0.4"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+    },
+    "node_modules/yaml": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/yaml-ast-parser": {
+      "version": "0.0.43",
+      "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+      "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="
+    },
+    "node_modules/yamljs": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz",
+      "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==",
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "glob": "^7.0.5"
+      },
+      "bin": {
+        "json2yaml": "bin/json2yaml",
+        "yaml2json": "bin/yaml2json"
+      }
+    },
+    "node_modules/yamljs/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "20.2.9",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs-unparser/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/yargs-unparser/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/yargs-unparser/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+      "dependencies": {
+        "buffer-crc32": "~0.2.3",
+        "fd-slicer": "~1.1.0"
+      }
+    },
+    "node_modules/yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/zip-stream": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+      "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
+      "dependencies": {
+        "archiver-utils": "^3.0.4",
+        "compress-commons": "^4.1.2",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/zip-stream/node_modules/archiver-utils": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+      "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+      "dependencies": {
+        "glob": "^7.2.3",
+        "graceful-fs": "^4.2.0",
+        "lazystream": "^1.0.0",
+        "lodash.defaults": "^4.2.0",
+        "lodash.difference": "^4.5.0",
+        "lodash.flatten": "^4.4.0",
+        "lodash.isplainobject": "^4.0.6",
+        "lodash.union": "^4.6.0",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    }
+  }
+}
diff --git a/pkgs/by-name/se/serverless/package.nix b/pkgs/by-name/se/serverless/package.nix
new file mode 100644
index 0000000000000..31745c7778c9b
--- /dev/null
+++ b/pkgs/by-name/se/serverless/package.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "serverless";
+  version = "3.38.0";
+
+  src = fetchFromGitHub {
+    owner = "serverless";
+    repo = "serverless";
+    rev = "v${version}";
+    hash = "sha256-DplJRJOdIpZfIvpyPo9VcaXCHVPWB8FwhOH4vISUh3Q=";
+  };
+
+  postPatch = ''
+    cp ${./package-lock.json} ./package-lock.json
+  '';
+
+  npmDepsHash = "sha256-Vy3GQelssTqsGsvZqIdctsPlxZQkqrhN0p6AY1T2L/k=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    changelog = "https://github.com/serverless/serverless/blob/${src.rev}/CHANGELOG.md";
+    description = "Build applications on AWS Lambda and other next-gen cloud services, that auto-scale and only charge you when they run";
+    homepage = "https://serverless.com";
+    license = lib.licenses.mit;
+    mainProgram = "serverless";
+    maintainers = with lib.maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/by-name/sg/sgfutils/package.nix b/pkgs/by-name/sg/sgfutils/package.nix
new file mode 100644
index 0000000000000..7548ab42107e1
--- /dev/null
+++ b/pkgs/by-name/sg/sgfutils/package.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, openssl
+, iconv
+, makeWrapper
+, imagemagick
+, makeFontsConf
+}:
+stdenv.mkDerivation
+{
+  pname = "sgfutils";
+  version = "0.25-unstable-2017-11-27";
+  src = fetchFromGitHub {
+    owner = "yangboz";
+    repo = "sgfutils";
+    rev = "11ab171c46cc16cc71ac6fc901d38ea88d6532a4";
+    hash = "sha256-KWYgTxz32WK3MKouj1WAJtZmleKt5giCpzQPwfWruZQ=";
+  };
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ iconv ];
+  buildPhase = ''
+    runHook preBuild
+    make all
+    runHook postBuild
+  '';
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp sgf sgfsplit sgfvarsplit sgfstrip sgfinfo sgfmerge sgftf \
+      sgfcheck sgfdb sgfdbinfo sgfcharset sgfcmp sgfx \
+      ngf2sgf nip2sgf nk2sgf gib2sgf sgftopng ugi2sgf \
+      $out/bin
+    runHook postInstall
+  '';
+  postFixup = ''
+    wrapProgram $out/bin/sgftopng \
+      --prefix PATH : ${lib.makeBinPath [ imagemagick ]} \
+      --set-default FONTCONFIG_FILE ${makeFontsConf { fontDirectories = []; }}
+  '';
+  meta = with lib; {
+    homepage = "https://homepages.cwi.nl/~aeb/go/sgfutils/html/sgfutils.html";
+    description = "Command line utilities that help working with SGF files";
+    longDescription = ''
+      The package sgfutils is a collection of command line utilities that help working with SGF files,
+      especially when they describe go (igo, weiqi, baduk) games.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ggpeti ];
+    platforms = platforms.all; # tested on x86_64-linux and aarch64-darwin
+  };
+}
diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix
index 3822feb381f9f..200200bdaa1cb 100644
--- a/pkgs/by-name/si/simdutf/package.nix
+++ b/pkgs/by-name/si/simdutf/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "simdutf";
-  version = "4.0.5";
+  version = "4.0.8";
 
   src = fetchFromGitHub {
     owner = "simdutf";
     repo = "simdutf";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-HNTVo/uB7UTCy5VVdmf6vka9T+htra7Vk7NF4hByGP4=";
+    hash = "sha256-QZH21dFUX3NVpk1zyS/zSV+uOJYV3+V6XmuKeOvfc6c=";
   };
 
   # Fix build on darwin
diff --git a/pkgs/by-name/sn/snowmachine/package.nix b/pkgs/by-name/sn/snowmachine/package.nix
new file mode 100644
index 0000000000000..a6d3aedf0b41c
--- /dev/null
+++ b/pkgs/by-name/sn/snowmachine/package.nix
@@ -0,0 +1,25 @@
+{ python3Packages, lib, fetchPypi }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "snowmachine";
+  version = "2.0.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256:119e6da12f430af1519f1a9f091b77b7676c7a9dbeaab6616cb196fe793d8e61";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ click colorama hatchling ];
+
+  doCheck = false;
+  pythonImportsCheck = [ "snowmachine" ];
+
+  meta = with lib; {
+    description = "A python script that will make your terminal snow";
+    homepage = "https://github.com/sontek/snowmachine";
+    mainProgram = "snowmachine";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ djanatyn sontek ];
+  };
+}
diff --git a/pkgs/tools/wayland/sov/default.nix b/pkgs/by-name/so/sov/package.nix
index c8ddc6524f28b..d6d9f40531237 100644
--- a/pkgs/tools/wayland/sov/default.nix
+++ b/pkgs/by-name/so/sov/package.nix
@@ -11,17 +11,18 @@
 , libxkbcommon
 , wayland
 , wayland-protocols
+, gitUpdater
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sov";
-  version = "0.92b";
+  version = "0.93";
 
   src = fetchFromGitHub {
     owner = "milgra";
     repo = "sov";
     rev = finalAttrs.version;
-    hash = "sha256-1L5D0pzcXbkz3VS7VB6ID8BJEbGeNxjo3xCr71CGcIo=";
+    hash = "sha256-Oc25ixrl0QX0jBBMV34BPAixyBikvevXJ1JNGZymPhg=";
   };
 
   patches = [
@@ -54,6 +55,8 @@ stdenv.mkDerivation (finalAttrs: {
     wayland-protocols
   ];
 
+  passthru.updateScript = gitUpdater { };
+
   meta = {
     description = "Workspace overview app for sway";
     homepage = "https://github.com/milgra/sov";
diff --git a/pkgs/by-name/sp/spacedrive/package.nix b/pkgs/by-name/sp/spacedrive/package.nix
new file mode 100644
index 0000000000000..362b02043af7d
--- /dev/null
+++ b/pkgs/by-name/sp/spacedrive/package.nix
@@ -0,0 +1,39 @@
+{ lib, appimageTools, fetchurl, pkgs }:
+
+let
+  pname = "spacedrive";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "https://github.com/spacedriveapp/spacedrive/releases/download/${version}/Spacedrive-linux-x86_64.AppImage";
+    hash = "sha256-iBdW8iPuvztP0L5xLyVs7/K8yFe7kD7QwdTuKJLhB+c=";
+  };
+
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
+in appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraPkgs = pkgs:
+    (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libthai ];
+
+  extraInstallCommands = ''
+    # Remove version from entrypoint
+    mv $out/bin/spacedrive-"${version}" $out/bin/spacedrive
+
+    # Install .desktop files
+    install -Dm444 ${appimageContents}/spacedrive.desktop -t $out/share/applications
+    install -Dm444 ${appimageContents}/spacedrive.png -t $out/share/pixmaps
+    substituteInPlace $out/share/applications/spacedrive.desktop \
+      --replace 'Exec=AppRun --no-sandbox %U' 'Exec=spacedrive'
+  '';
+
+  meta = with lib; {
+    description = "An open source file manager, powered by a virtual distributed filesystem";
+    homepage = "https://www.spacedrive.com/";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.agpl3Plus;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    maintainers = with maintainers; [ mikaelfangel heisfer ];
+    mainProgram = "spacedrive";
+  };
+}
diff --git a/pkgs/by-name/sp/spade/Cargo.lock b/pkgs/by-name/sp/spade/Cargo.lock
new file mode 100644
index 0000000000000..02f87b96c6b8b
--- /dev/null
+++ b/pkgs/by-name/sp/spade/Cargo.lock
@@ -0,0 +1,1813 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "assert_matches"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
+
+[[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 = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base64"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+
+[[package]]
+name = "basic-toml"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f2139706359229bfa8f19142ac1155b4b80beafb7a60471ac5dd109d4a19778"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "beef"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[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.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "codespan"
+version = "0.12.0"
+source = "git+https://gitlab.com/spade-lang/codespan.git?branch=master#a5656af9ed33460258fd1921bc6bede1ba0fb00e"
+dependencies = [
+ "codespan-reporting 0.12.0",
+ "serde",
+]
+
+[[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 = "codespan-reporting"
+version = "0.12.0"
+source = "git+https://gitlab.com/spade-lang/codespan.git?branch=master#a5656af9ed33460258fd1921bc6bede1ba0fb00e"
+dependencies = [
+ "serde",
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "color-eyre"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204"
+dependencies = [
+ "backtrace",
+ "color-spantrace",
+ "eyre",
+ "indenter",
+ "once_cell",
+ "owo-colors",
+ "tracing-error",
+]
+
+[[package]]
+name = "color-spantrace"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce"
+dependencies = [
+ "once_cell",
+ "owo-colors",
+ "tracing-core",
+ "tracing-error",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "colored"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+dependencies = [
+ "is-terminal",
+ "lazy_static",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "console"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.110"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7129e341034ecb940c9072817cd9007974ea696844fc4dd582dc1653a7fbe2e8"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.110"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2a24f3f5f8eed71936f21e570436f024f5c2e25628f7496aa7ccd03b90109d5"
+dependencies = [
+ "cc",
+ "codespan-reporting 0.11.1",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.110"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06fdd177fc61050d63f67f5bd6351fac6ab5526694ea8e359cd9cd3b75857f44"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.110"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "587663dd5fb3d10932c8aecfe7c844db1bcf0aee93eeab08fac13dc1212c2e7f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "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 = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[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.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "eyre"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[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.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
+name = "indoc"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "insta"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc"
+dependencies = [
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "similar",
+ "yaml-rust",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "rustix",
+ "windows-sys 0.48.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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[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.149"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9"
+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.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+
+[[package]]
+name = "local-impl"
+version = "0.1.0"
+source = "git+https://gitlab.com/sornas/local-impl#09293b492c653d78bb2f5fd64187e0c68ea51733"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "logos"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1"
+dependencies = [
+ "logos-derive",
+]
+
+[[package]]
+name = "logos-codegen"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68"
+dependencies = [
+ "beef",
+ "fnv",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "logos-derive"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e"
+dependencies = [
+ "logos-codegen",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "memchr"
+version = "2.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "memoffset"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "nesty"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dac700f47763ee1984f0034c1b606e84fb00002cd2fbaabdd5a5473cf9e90ef5"
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+ "serde",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+dependencies = [
+ "num-traits",
+ "serde",
+]
+
+[[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-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "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-bigint",
+ "num-integer",
+ "num-traits",
+ "serde",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "owo-colors"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pretty_assertions"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+dependencies = [
+ "diff",
+ "yansi",
+]
+
+[[package]]
+name = "prettydiff"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ff1fec61082821f8236cf6c0c14e8172b62ce8a72a0eedc30d3b247bb68dc11"
+dependencies = [
+ "ansi_term",
+ "pad",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+dependencies = [
+ "cfg-if",
+ "eyre",
+ "indoc 1.0.9",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent 0.1.11",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.3",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "ron"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
+dependencies = [
+ "base64",
+ "bitflags 2.4.1",
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustix"
+version = "0.38.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "scratch"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
+
+[[package]]
+name = "serde"
+version = "1.0.190"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.190"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.108"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "similar"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"
+
+[[package]]
+name = "smallvec"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+
+[[package]]
+name = "spade"
+version = "0.4.0"
+dependencies = [
+ "atty",
+ "clap",
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "color-eyre",
+ "colored",
+ "indoc 2.0.4",
+ "itertools",
+ "logos",
+ "pretty_assertions",
+ "prettydiff",
+ "ron",
+ "serde",
+ "spade-ast",
+ "spade-ast-lowering",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-hir-lowering",
+ "spade-macros",
+ "spade-mir",
+ "spade-parser",
+ "spade-typeinference",
+ "spade-types",
+ "spade-wordlength-inference",
+ "thiserror",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tree",
+]
+
+[[package]]
+name = "spade-ast"
+version = "0.4.0"
+dependencies = [
+ "num",
+ "spade-common",
+]
+
+[[package]]
+name = "spade-ast-lowering"
+version = "0.4.0"
+dependencies = [
+ "itertools",
+ "local-impl",
+ "matches",
+ "num",
+ "pretty_assertions",
+ "spade-ast",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-macros",
+ "spade-types",
+ "tracing",
+]
+
+[[package]]
+name = "spade-common"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "logos",
+ "num",
+ "serde",
+ "tracing",
+]
+
+[[package]]
+name = "spade-cxx"
+version = "0.1.0"
+dependencies = [
+ "color-eyre",
+ "cxx",
+ "cxx-build",
+ "num",
+ "ron",
+ "spade",
+ "spade-mir",
+ "spade-simulation-ext",
+]
+
+[[package]]
+name = "spade-diagnostics"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "insta",
+ "local-impl",
+ "logos",
+ "spade-ast",
+ "spade-common",
+ "spade-macros",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "spade-hir"
+version = "0.4.0"
+dependencies = [
+ "codespan-reporting 0.12.0",
+ "colored",
+ "itertools",
+ "local-impl",
+ "num",
+ "serde",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-types",
+ "tap",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "spade-hir-lowering"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "indoc 2.0.4",
+ "itertools",
+ "local-impl",
+ "num",
+ "pretty_assertions",
+ "prettydiff",
+ "serde",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-mir",
+ "spade-typeinference",
+ "spade-types",
+ "spade-wordlength-inference",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "spade-macros"
+version = "0.4.0"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "trybuild",
+]
+
+[[package]]
+name = "spade-mir"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "derivative",
+ "indoc 2.0.4",
+ "itertools",
+ "logos",
+ "nesty",
+ "num",
+ "pretty_assertions",
+ "prettydiff",
+ "serde",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-macros",
+]
+
+[[package]]
+name = "spade-parser"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "itertools",
+ "local-impl",
+ "logos",
+ "num",
+ "spade-ast",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-macros",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "spade-python"
+version = "0.4.0"
+dependencies = [
+ "codespan-reporting 0.12.0",
+ "color-eyre",
+ "itertools",
+ "logos",
+ "num",
+ "pyo3",
+ "ron",
+ "spade",
+ "spade-ast",
+ "spade-ast-lowering",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-hir-lowering",
+ "spade-mir",
+ "spade-parser",
+ "spade-simulation-ext",
+ "spade-typeinference",
+ "spade-types",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tree",
+ "vcd-translate",
+]
+
+[[package]]
+name = "spade-simulation-ext"
+version = "0.4.0"
+dependencies = [
+ "codespan-reporting 0.12.0",
+ "color-eyre",
+ "itertools",
+ "logos",
+ "num",
+ "pyo3",
+ "ron",
+ "spade",
+ "spade-ast",
+ "spade-ast-lowering",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-hir-lowering",
+ "spade-mir",
+ "spade-parser",
+ "spade-typeinference",
+ "spade-types",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tree",
+ "vcd-translate",
+]
+
+[[package]]
+name = "spade-tests"
+version = "0.4.0"
+dependencies = [
+ "codespan-reporting 0.12.0",
+ "colored",
+ "indoc 2.0.4",
+ "insta",
+ "logos",
+ "pretty_assertions",
+ "prettydiff",
+ "spade",
+ "spade-ast-lowering",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-hir-lowering",
+ "spade-mir",
+ "spade-parser",
+ "spade-typeinference",
+ "spade-types",
+ "spade-wordlength-inference",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tree",
+ "unindent 0.2.3",
+]
+
+[[package]]
+name = "spade-typeinference"
+version = "0.4.0"
+dependencies = [
+ "assert_matches",
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "itertools",
+ "local-impl",
+ "num",
+ "serde",
+ "spade-ast",
+ "spade-ast-lowering",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-macros",
+ "spade-types",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "spade-types"
+version = "0.4.0"
+dependencies = [
+ "num",
+ "serde",
+ "spade-common",
+]
+
+[[package]]
+name = "spade-wordlength-inference"
+version = "0.4.0"
+dependencies = [
+ "codespan",
+ "codespan-reporting 0.12.0",
+ "colored",
+ "local-impl",
+ "num",
+ "serde",
+ "spade-ast",
+ "spade-common",
+ "spade-diagnostics",
+ "spade-hir",
+ "spade-macros",
+ "spade-parser",
+ "spade-typeinference",
+ "spade-types",
+ "thiserror",
+ "tracing",
+]
+
+[[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.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+
+[[package]]
+name = "termcolor"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[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 = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-error"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"
+dependencies = [
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "tracing-tree"
+version = "0.2.0"
+source = "git+https://github.com/jonathanmorley/tracing-tree?rev=8b97ec6e50e3f755644d1a0aaf4c45a2112607b2#8b97ec6e50e3f755644d1a0aaf4c45a2112607b2"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "trybuild"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "196a58260a906cedb9bf6d8034b6379d0c11f552416960452f267402ceeddff1"
+dependencies = [
+ "basic-toml",
+ "glob",
+ "once_cell",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "termcolor",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
+name = "unindent"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcd"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a5ed196124bf3bb32418e5f79cd7548a455500bba37e094f7ef4cfe91161fc"
+
+[[package]]
+name = "vcd-translate"
+version = "0.1.0"
+dependencies = [
+ "clap",
+ "color-eyre",
+ "itertools",
+ "num",
+ "ron",
+ "spade",
+ "spade-ast",
+ "spade-common",
+ "spade-hir-lowering",
+ "spade-mir",
+ "spade-typeinference",
+ "spade-types",
+ "vcd",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+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.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[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"
diff --git a/pkgs/by-name/sp/spade/package.nix b/pkgs/by-name/sp/spade/package.nix
new file mode 100644
index 0000000000000..b8e00125753c8
--- /dev/null
+++ b/pkgs/by-name/sp/spade/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, rustPlatform
+, fetchFromGitLab
+, stdenv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "spade";
+  version = "0.5.0";
+
+  src = fetchFromGitLab {
+    owner = "spade-lang";
+    repo = "spade";
+    rev = "v${version}";
+    hash = "sha256-PvheMYpsDWAXPf8K3K8yloCH0UTjzzVPuMBlcGC1xKU=";
+    # only needed for vatch, which contains test data
+    fetchSubmodules = true;
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "codespan-0.12.0" = "sha256-3F2006BR3hyhxcUTaQiOjzTEuRECKJKjIDyXonS/lrE=";
+      "local-impl-0.1.0" = "sha256-w6kQ4wM/ZQJmOqmAAq9FFDzyt9xHOY14av5dsSIFRU0=";
+      "tracing-tree-0.2.0" = "sha256-/JNeAKjAXmKPh0et8958yS7joORDbid9dhFB0VUAhZc=";
+    };
+  };
+
+  # Cargo.lock is outdated
+  postConfigure = ''
+    cargo metadata --offline
+  '';
+
+  meta = with lib; {
+    description = "A better hardware description language";
+    homepage = "https://gitlab.com/spade-lang/spade";
+    changelog = "https://gitlab.com/spade-lang/spade/-/blob/${src.rev}/CHANGELOG.md";
+    # compiler is eupl12, spade-lang stdlib is both asl20 and mit
+    license = with licenses; [ eupl12 asl20 mit ];
+    maintainers = with maintainers; [ pbsds ];
+    mainProgram = "spade";
+    broken = stdenv.isDarwin; # ld: symbol(s) not found for architecture ${system}
+  };
+}
diff --git a/pkgs/by-name/ss/sshx/package.nix b/pkgs/by-name/ss/sshx/package.nix
deleted file mode 100644
index ff3de67054534..0000000000000
--- a/pkgs/by-name/ss/sshx/package.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, protobuf
-, zstd
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "sshx";
-  version = "unstable-2023-11-04";
-
-  src = fetchFromGitHub {
-    owner = "ekzhang";
-    repo = "sshx";
-    rev = "91c82d46cde4d1ffa0ae34e2a9a49911e2e53baa";
-    hash = "sha256-X9c7ZKIpWI5EsbkgB8FJWlwQQXHAcPjLKp2Bvo0fo/w=";
-  };
-
-  cargoHash = "sha256-mOK5gpPuUKzN5xnJs5nFyslxr9IIHtiCylMP53ObDqg=";
-
-  nativeBuildInputs = [
-    pkg-config
-    protobuf
-  ];
-
-  buildInputs = [
-    zstd
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  env = {
-    ZSTD_SYS_USE_PKG_CONFIG = true;
-  };
-
-  outputs = [ "out" "server" ];
-
-  postInstall = ''
-    moveToOutput 'bin/sshx' "$out"
-    moveToOutput 'bin/sshx-server' "$server"
-  '';
-
-  meta = with lib; {
-    description = "Fast, collaborative live terminal sharing over the web";
-    homepage = "https://github.com/ekzhang/sshx";
-    license = licenses.mit;
-    maintainers = with maintainers; [ pinpox ];
-    mainProgram = "sshx";
-  };
-}
diff --git a/pkgs/by-name/sy/syntax/package.nix b/pkgs/by-name/sy/syntax/package.nix
new file mode 100644
index 0000000000000..eceffd5aa0b4e
--- /dev/null
+++ b/pkgs/by-name/sy/syntax/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildNpmPackage
+, stdenv
+, nix-update-script
+}:
+
+buildNpmPackage rec {
+  pname = "syntax";
+  version = "0.1.27";
+  src = fetchFromGitHub {
+    owner = "DmitrySoshnikov";
+    repo = "syntax";
+    rev = "v${version}";
+    hash = "sha256-5ZbelnZQvJ9k4GbWR+lDEgxXGLt4VsXput9nBV8nUdc=";
+  };
+
+  npmDepsHash = "sha256-jZwbRGGg4tek6Jr+V7/SceJlsbIv7jFWQ+qa+fnChTw=";
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    homepage = "https://github.com/DmitrySoshnikov/syntax";
+    description = "Syntactic analysis toolkit, language-agnostic parser generator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ h7x4 ];
+    mainProgram = "syntax-cli";
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
new file mode 100644
index 0000000000000..58e30462757c2
--- /dev/null
+++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+
+let
+  version = "1.48.2";
+in
+buildGoModule {
+  pname = "tailscale-nginx-auth";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "tailscale";
+    repo = "tailscale";
+    rev = "v${version}";
+    hash = "sha256-5Usi7W4y6JniyxBIfQid1XjDIZRS5oIw+KUMMiFRBwk=";
+  };
+  vendorHash = "sha256-Fr4VZcKrXnT1PZuEG110KBefjcZzRsQRBSvByELKAy4=";
+
+  CGO_ENABLED = 0;
+
+  subPackages = [ "cmd/nginx-auth" ];
+
+  ldflags = [
+    "-w"
+    "-s"
+    "-X tailscale.com/version.longStamp=${version}"
+    "-X tailscale.com/version.shortStamp=${version}"
+  ];
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    mv $out/bin/nginx-auth $out/bin/tailscale.nginx-auth
+    sed -i -e "s#/usr/sbin#$out/bin#" ./cmd/nginx-auth/tailscale.nginx-auth.service
+    install -D -m0444 -t $out/lib/systemd/system ./cmd/nginx-auth/tailscale.nginx-auth.service
+    install -D -m0444 -t $out/lib/systemd/system ./cmd/nginx-auth/tailscale.nginx-auth.socket
+  '';
+
+  meta = with lib; {
+    homepage = "https://tailscale.com";
+    description = "Tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy.";
+    license = licenses.bsd3;
+    mainProgram = "tailscale.nginx-auth";
+    maintainers = with maintainers; [ danderson phaer ];
+  };
+}
diff --git a/pkgs/by-name/th/themix-gui/package.nix b/pkgs/by-name/th/themix-gui/package.nix
new file mode 100644
index 0000000000000..c73724a0ca272
--- /dev/null
+++ b/pkgs/by-name/th/themix-gui/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, sassc
+, gdk-pixbuf
+, glib
+, gobject-introspection
+, librsvg
+, gtk3
+, python3
+, fetchFromGitHub
+, wrapGAppsHook
+}:
+
+let
+  py = python3.withPackages (p: [
+    p.pygobject3
+  ]);
+  pname = "themix-gui";
+  version = "1.15.1";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "themix-project";
+    repo = "themix-gui";
+    rev = version;
+    hash = "sha256-xFtwNx1c7Atb+9yorZhs/uVkkoxbZiELJ0SZ88L7KMs=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    py
+    sassc
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    glib
+    gtk3
+    librsvg
+    py
+  ];
+
+  postPatch = ''
+    substituteInPlace gui.sh packaging/bin/{oomox,themix}-gui --replace python3 ${lib.getExe py}
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    make DESTDIR=/ APPDIR=$out/opt/oomox PREFIX=$out install_gui install_import_xresources install_export_xresources
+    python -O -m compileall $out/opt/oomox/oomox_gui -d /opt/oomox/oomox_gui
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Graphical application for designing themes and exporting them using plugins";
+    longDescription = ''
+      Graphical application for generating different color variations of
+      Oomox (Numix-based) and Materia (ex-Flat-Plat) themes (GTK2, GTK3,
+      Cinnamon, GNOME, Openbox, Xfwm), Archdroid, Gnome-Color, Numix, Papirus
+      and Suru++ icon themes. Have a hack for HiDPI in gtk2. Its Base16 plugin
+      also allowing a lot of app themes support like Alacritty, Emacs, GTK4,
+      KDE, VIM and many more.
+    '';
+    homepage = "https://github.com/themix-project/themix-gui";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "themix-gui";
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/tr/trealla/package.nix b/pkgs/by-name/tr/trealla/package.nix
index c8fc25f206962..25786428dfbf4 100644
--- a/pkgs/by-name/tr/trealla/package.nix
+++ b/pkgs/by-name/tr/trealla/package.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optional enableSSL openssl
     ++ lib.optional (lineEditingLibrary == "readline") readline;
 
-  nativeCheckInputs = lib.optionals finalAttrs.doCheck [ valgrind ];
+  nativeCheckInputs = lib.optionals finalAttrs.finalPackage.doCheck [ valgrind ];
 
   strictDeps = true;
 
diff --git a/pkgs/tools/games/trigger-control/default.nix b/pkgs/by-name/tr/trigger-control/package.nix
index 0d1ef9ef1d47c..b0a389e29ec4e 100644
--- a/pkgs/tools/games/trigger-control/default.nix
+++ b/pkgs/by-name/tr/trigger-control/package.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , makeWrapper
 , pkg-config
@@ -16,15 +17,17 @@ let
   inherit (gnome) zenity;
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "trigger-control";
-  version = "unstable-2023-06-18";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "Etaash-mathamsetty";
     repo = "trigger-control";
-    rev = "d457ebd9e0844cfc456bfa4fa4bb694bb8ad982a";
-    hash = "sha256-QWhUQ8xqS8oRVF0KUpEthlrOoXmhcfEkIHauDI1/5a8=";
+    # upstream does not use consistant tags pattern, so we use git commit hash
+    # https://github.com/Etaash-mathamsetty/trigger-control/tags
+    rev = "7b46e743227830d3a97720067d0a6cf20133af90";
+    hash = "sha256-nWSvsgksZ4Cxy1+i0xy8pNalgsiAuaqxNVwT/CThaBI=";
   };
 
   nativeBuildInputs = [
@@ -41,6 +44,15 @@ stdenv.mkDerivation rec {
     libdecor
   ];
 
+  patches = [
+    # Fix build on clang https://github.com/Etaash-mathamsetty/trigger-control/pull/23
+    (fetchpatch {
+      name = "clang.patch";
+      url = "https://github.com/Etaash-mathamsetty/trigger-control/commit/bbec33296fdac7e2ca0398ae19ca8de8ad883407.patch";
+      hash = "sha256-x6RymdzBlzAJ8O8QGqXQtvkZkjdTaC5X8syFPunqZik=";
+    })
+  ];
+
   # The app crashes without a changed fontdir and upstream recommends dejavu as font
   postPatch = ''
     substituteInPlace trigger-control.cpp --replace "/usr/share/fonts/" "${dejavu_fonts}/share/fonts/"
@@ -63,7 +75,8 @@ stdenv.mkDerivation rec {
     description = "Control the dualsense's triggers on Linux (and Windows) with a gui and C++ api";
     homepage = "https://github.com/Etaash-mathamsetty/trigger-control";
     license = licenses.mit;
+    mainProgram = "trigger-control";
     maintainers = with maintainers; [ azuwis ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/tools/typesetting/typst/Cargo.lock b/pkgs/by-name/ty/typst/Cargo.lock
index ae81d73200a35..b5a869b62793c 100644
--- a/pkgs/tools/typesetting/typst/Cargo.lock
+++ b/pkgs/by-name/ty/typst/Cargo.lock
@@ -9,28 +9,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
-name = "aes"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
-[[package]]
-name = "ahash"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
 name = "ahash"
 version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -155,16 +133,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
 
 [[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
 name = "biblatex"
-version = "0.8.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e41df82f0d1c4919d946bb0c7c3d179b6071246243d308a1bdee6cfecee3bc7"
+checksum = "88be3c837773ba281f5fd6674c1c82565c62726abe3d76707da6fb9d434cc392"
 dependencies = [
  "numerals",
  "paste",
@@ -225,43 +197,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
 name = "bumpalo"
 version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
-name = "bytecheck"
-version = "0.6.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
-dependencies = [
- "bytecheck_derive",
- "ptr_meta",
- "simdutf8",
-]
-
-[[package]]
-name = "bytecheck_derive"
-version = "0.6.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "bytemuck"
 version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -274,33 +215,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
-name = "bzip2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
-dependencies = [
- "bzip2-sys",
- "libc",
-]
-
-[[package]]
-name = "bzip2-sys"
-version = "0.1.11+1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
-
-[[package]]
 name = "cc"
 version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
- "jobserver",
  "libc",
 ]
 
@@ -324,9 +243,9 @@ dependencies = [
 
 [[package]]
 name = "chinese-variant"
-version = "1.0.9"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeea139b89efab957972956e5d3e4efb66a6c261f726abf6911040cc8ef700f7"
+checksum = "17df2e16b0704fc5413214165d1bfdd619f18b1044d5991d5c5351b05fee852e"
 
 [[package]]
 name = "chrono"
@@ -368,20 +287,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
-]
-
-[[package]]
 name = "citationberg"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c857faf24e89710f105b623c174508070a9e11e056a749f251ca4c56f59ad88"
+checksum = "c15a0bf8014b266d11f20451dc9202d8d26180ffd8b094d73ecbe74d821f01fb"
 dependencies = [
  "quick-xml 0.28.2",
  "serde",
@@ -389,9 +298,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -399,9 +308,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.7"
+version = "4.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
 dependencies = [
  "anstream",
  "anstyle",
@@ -427,7 +336,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -476,32 +385,26 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "comemo"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92"
+checksum = "bf5705468fa80602ee6a5f9318306e6c428bffd53e43209a78bc05e6e667c6f4"
 dependencies = [
  "comemo-macros",
- "siphasher",
+ "siphasher 1.0.0",
 ]
 
 [[package]]
 name = "comemo-macros"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168cc09917f6a014a4cf6ed166d1b541a20a768c60f9cc348f25203ee8312940"
+checksum = "54af6ac68ada2d161fa9cc1ab52676228e340866d094d6542107e74b82acc095"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.39",
 ]
 
 [[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-sys"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -517,15 +420,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cpufeatures"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "crc32fast"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -578,16 +472,6 @@ dependencies = [
 ]
 
 [[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 = "csv"
 version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -615,7 +499,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -623,29 +507,9 @@ dependencies = [
 
 [[package]]
 name = "data-url"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f"
-
-[[package]]
-name = "deranged"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
-dependencies = [
- "powerfmt",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "dirs"
@@ -676,7 +540,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -716,14 +580,14 @@ dependencies = [
  "num-traits",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
  "log",
 ]
@@ -746,9 +610,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
 dependencies = [
  "libc",
  "windows-sys",
@@ -787,9 +651,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
 dependencies = [
  "simd-adler32",
 ]
@@ -853,9 +717,9 @@ dependencies = [
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -876,16 +740,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
 
 [[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
 name = "getopts"
 version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -896,9 +750,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -926,29 +780,25 @@ name = "hashbrown"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.7",
-]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "hayagriva"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5af3d464a6b5ae882f15fe1da4e696fd96b77fee78ded933e0ad81d1d87cbc5"
+checksum = "f9f97c07366b7f686741521ca63cc14baf18cea53c39b0c09873cd1d4a1b2b8c"
 dependencies = [
  "biblatex",
  "ciborium",
  "citationberg",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "numerals",
  "paste",
- "rkyv",
  "serde",
  "serde_yaml 0.9.27",
  "thiserror",
@@ -971,15 +821,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
 name = "hypher"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -988,7 +829,7 @@ checksum = "94bf16dd62ea2bec617a6f8a3e1ba03107311783069a647787ac689d1f35321e"
 [[package]]
 name = "iai"
 version = "0.1.1"
-source = "git+https://github.com/typst/iai#3f0f92736408ebce6545808b98e0cb2aea89b7dd"
+source = "git+https://github.com/typst/iai?rev=3f0f927#3f0f92736408ebce6545808b98e0cb2aea89b7dd"
 dependencies = [
  "cfg-if",
 ]
@@ -1018,9 +859,9 @@ dependencies = [
 
 [[package]]
 name = "icu_collections"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3907b2246e8dd5a29ead8a965e7c0c8a90e9b928e614a4279257d45c5e553e91"
+checksum = "137d96353afc8544d437e8a99eceb10ab291352699573b0de5b08bda38c78c60"
 dependencies = [
  "displaydoc",
  "serde",
@@ -1031,9 +872,9 @@ dependencies = [
 
 [[package]]
 name = "icu_locid"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f284eb342dc49d3e9d9f3b188489d76b5d22dfb1d1a5e0d1941811253bac625c"
+checksum = "5c0aa2536adc14c07e2a521e95512b75ed8ef832f0fdf9299d4a0a45d2be2a9d"
 dependencies = [
  "displaydoc",
  "litemap",
@@ -1044,9 +885,9 @@ dependencies = [
 
 [[package]]
 name = "icu_locid_transform"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6551daf80882d8e68eee186cc19e132d8bde1b1f059a79b93384a5ca0e8fc5e7"
+checksum = "57c17d8f6524fdca4471101dd71f0a132eb6382b5d6d7f2970441cb25f6f435a"
 dependencies = [
  "displaydoc",
  "icu_locid",
@@ -1058,15 +899,15 @@ dependencies = [
 
 [[package]]
 name = "icu_locid_transform_data"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a741eba5431f75eb2f1f9022d3cffabcadda6771e54fb4e77c8ba8653e4da44"
+checksum = "545c6c3e8bf9580e2dafee8de6f9ec14826aaf359787789c7724f1f85f47d3dc"
 
 [[package]]
 name = "icu_properties"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3477ae70f8ca8dc08ff7574b5398ed0a2f2e4e6b66bdff2558a92ed67e262be1"
+checksum = "976e296217453af983efa25f287a4c1da04b9a63bf1ed63719455068e4453eb5"
 dependencies = [
  "displaydoc",
  "icu_collections",
@@ -1080,15 +921,15 @@ dependencies = [
 
 [[package]]
 name = "icu_properties_data"
-version = "1.3.4"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98507b488098f45eb95ef495612a2012e4d8ad6095dda86cb2f1728aa2204a60"
+checksum = "f6a86c0e384532b06b6c104814f9c1b13bcd5b64409001c0d05713a1f3529d99"
 
 [[package]]
 name = "icu_provider"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68acdef80034b5e35d8524e9817479d389a4f9774f3f0cbe1bf3884d80fd5934"
+checksum = "ba58e782287eb6950247abbf11719f83f5d4e4a5c1f2cd490d30a334bc47c2f4"
 dependencies = [
  "displaydoc",
  "icu_locid",
@@ -1105,9 +946,9 @@ dependencies = [
 
 [[package]]
 name = "icu_provider_adapters"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36b380ef2d3d93b015cd0563d7e0d005cc07f82a5503716dbc191798d0079e1d"
+checksum = "a229f978260da7c3aabb68cb7dc7316589936680570fe55e50fdd3f97711a4dd"
 dependencies = [
  "icu_locid",
  "icu_locid_transform",
@@ -1118,33 +959,34 @@ dependencies = [
 
 [[package]]
 name = "icu_provider_blob"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31326d28c7f95a964a4f0ee86c24002da5f6db907e3bcb079949b4ff103b6a9"
+checksum = "4a7202cddda672db167c6352719959e9b01cb1ca576d32fa79103f61b5a73601"
 dependencies = [
  "icu_provider",
  "postcard",
  "serde",
  "writeable",
+ "zerotrie",
  "zerovec",
 ]
 
 [[package]]
 name = "icu_provider_macros"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2060258edfcfe32ca7058849bf0f146cb5c59aadbedf480333c0d0002f97bc99"
+checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "icu_segmenter"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcb3c1981ce2187a745f391a741cb14e77453325acb3b2e014b05da51c0a39f2"
+checksum = "b2dc1e8f4ba33a6a4956770ac5c08570f255d6605519fb3a859a0c0a270a2f8f"
 dependencies = [
  "core_maths",
  "displaydoc",
@@ -1159,15 +1001,15 @@ dependencies = [
 
 [[package]]
 name = "icu_segmenter_data"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9703f6713044d1c0a1335a6d78ffece4c9380582416ace6feeb608e84d279fc7"
+checksum = "3673d6698dcffce08cfe8fc5da3c11c3f2c663d5d6137fd58ab2cbf44235ab46"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1232,12 +1074,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "rayon",
  "serde",
 ]
@@ -1250,17 +1092,17 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590"
 
 [[package]]
 name = "inferno"
-version = "0.11.17"
+version = "0.11.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50453ec3a6555fad17b1cd1a80d16af5bc7cb35094f64e429fd46549018c6a3"
+checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9"
 dependencies = [
- "ahash 0.8.6",
+ "ahash",
  "clap",
  "crossbeam-channel",
  "crossbeam-utils",
  "dashmap",
  "env_logger",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "is-terminal",
  "itoa",
  "log",
@@ -1292,15 +1134,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "inout"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1346,15 +1179,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
-name = "jobserver"
-version = "0.1.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "jpeg-decoder"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1362,9 +1186,9 @@ checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1406,24 +1230,24 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libdeflate-sys"
-version = "0.14.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "012437ac39c1e7d7ba12af3aceceb5c93149779aa17c2b1c483f33954957ddc8"
+checksum = "67921a7f85100c1559efc3d1c7c472091b7da05f304b4bbd5356f075e97f1cc2"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "libdeflater"
-version = "0.14.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58b30f982ddb14aae2a24a7ed7b3d512d687c2483493f95de7a6d167942a19c3"
+checksum = "3a31b22f662350ec294b13859f935aea772ba7b2bc8776269f4a5627308eab7d"
 dependencies = [
  "libdeflate-sys",
 ]
@@ -1435,6 +1259,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "line-wrap"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1451,9 +1286,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
 
 [[package]]
 name = "lipsum"
@@ -1467,9 +1302,12 @@ dependencies = [
 
 [[package]]
 name = "litemap"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2647d5b7134127971a6de0d533c49de2159167e7f259c427195f87168a1"
+checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "lock_api"
@@ -1638,9 +1476,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "open"
-version = "5.0.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfabf1927dce4d6fdf563d63328a0a506101ced3ec780ca2135747336c98cef8"
+checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349"
 dependencies = [
  "is-wsl",
  "libc",
@@ -1661,13 +1499,14 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "oxipng"
-version = "8.0.0"
-source = "git+https://github.com/typst/oxipng?rev=b8ec65b#b8ec65b3ca42dde33c85149b6e402e891527f802"
+version = "9.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28e5c341ef78a228e47a551bfd15ff885d8c501af49f953358763a538c01f14d"
 dependencies = [
  "bitvec",
  "crossbeam-channel",
  "filetime",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "libdeflater",
  "log",
  "rayon",
@@ -1697,7 +1536,7 @@ checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1714,17 +1553,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "password-hash"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core",
- "subtle",
-]
-
-[[package]]
 name = "paste"
 version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1737,22 +1565,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
-name = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest",
- "hmac",
- "password-hash",
- "sha2",
-]
-
-[[package]]
 name = "pdf-writer"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "690874e8cf95d36ddffbdbdaad6ef8714c88bf8085996b673559389a04e38a02"
+checksum = "644b654f2de28457bf1e25a4905a76a563d1128a33ce60cf042f721f6818feaf"
 dependencies = [
  "bitflags 1.3.2",
  "itoa",
@@ -1762,9 +1578,47 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher 0.3.11",
+]
 
 [[package]]
 name = "pico-args"
@@ -1832,12 +1686,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "powerfmt"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
-
-[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1845,9 +1693,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -1862,26 +1710,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "ptr_meta"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
-dependencies = [
- "ptr_meta_derive",
-]
-
-[[package]]
-name = "ptr_meta_derive"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "pulldown-cmark"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1942,6 +1770,8 @@ version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
+ "libc",
+ "rand_chacha",
  "rand_core",
 ]
 
@@ -1960,6 +1790,9 @@ name = "rand_core"
 version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
 
 [[package]]
 name = "rayon"
@@ -1989,15 +1822,6 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
 
 [[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_syscall"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
@@ -2016,12 +1840,12 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
@@ -2061,15 +1885,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
-name = "rend"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
-dependencies = [
- "bytecheck",
-]
-
-[[package]]
 name = "resvg"
 version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2110,34 +1925,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rkyv"
-version = "0.7.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
-dependencies = [
- "bitvec",
- "bytecheck",
- "hashbrown 0.12.3",
- "ptr_meta",
- "rend",
- "rkyv_derive",
- "seahash",
- "tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.7.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "roff"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2169,9 +1956,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.21"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
@@ -2182,9 +1969,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.8"
+version = "0.21.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
 dependencies = [
  "log",
  "ring",
@@ -2194,9 +1981,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
  "base64",
 ]
@@ -2271,15 +2058,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "seahash"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
-
-[[package]]
 name = "self-replace"
-version = "1.3.5"
-source = "git+https://github.com/typst/self-replace#2e6d5e4808bba73b713fd85cf5616b7d846143c2"
+version = "1.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "525db198616b2bcd0f245daf7bfd8130222f7ee6af9ff9984c19a61bf1160c55"
 dependencies = [
  "fastrand 1.9.0",
  "tempfile",
@@ -2294,22 +2076,22 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2350,7 +2132,7 @@ version = "0.9.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "itoa",
  "ryu",
  "serde",
@@ -2358,28 +2140,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sha1"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
 name = "sharded-slab"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2395,12 +2155,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
-name = "simdutf8"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
-
-[[package]]
 name = "simplecss"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2416,6 +2170,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
+name = "siphasher"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
+
+[[package]]
 name = "slotmap"
 version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2426,9 +2186,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "spin"
@@ -2505,19 +2265,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9"
 
 [[package]]
-name = "subtle"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-
-[[package]]
 name = "svg2pdf"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "363c5346967da04bf3ebb3d8bafa7f52c53c810167047904df1960eac3fc08b7"
+checksum = "a81da66842e426278f20062cd249779565e13f9ab4bfe0ac9e94eb476bc3a0f3"
 dependencies = [
  "image",
  "miniz_oxide",
+ "once_cell",
  "pdf-writer",
  "usvg",
 ]
@@ -2529,7 +2284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d71499ff2d42f59d26edb21369a308ede691421f79ebc0f001e2b1fd3a7c9e52"
 dependencies = [
  "kurbo",
- "siphasher",
+ "siphasher 0.3.11",
 ]
 
 [[package]]
@@ -2545,9 +2300,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2562,7 +2317,7 @@ checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "unicode-xid",
 ]
 
@@ -2619,9 +2374,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -2643,7 +2398,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2658,13 +2413,11 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
 dependencies = [
- "deranged",
  "itoa",
- "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -2672,15 +2425,15 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.2"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
 dependencies = [
  "time-core",
 ]
@@ -2713,9 +2466,9 @@ dependencies = [
 
 [[package]]
 name = "tinystr"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0e245e80bdc9b4e5356fc45a72184abbc3861992603f515270e9340f5a219"
+checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
 dependencies = [
  "displaydoc",
  "serde",
@@ -2739,9 +2492,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "toml"
-version = "0.8.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -2760,11 +2513,11 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -2790,7 +2543,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2826,9 +2579,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-log"
-version = "0.1.4"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
  "log",
  "once_cell",
@@ -2837,9 +2590,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "nu-ansi-term",
  "sharded-slab",
@@ -2862,62 +2615,60 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
 
 [[package]]
-name = "typenum"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-
-[[package]]
 name = "typst"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
- "base64",
+ "az",
  "bitflags 2.4.1",
- "bytemuck",
+ "chinese-number",
+ "ciborium",
  "comemo",
+ "csv",
  "ecow",
- "flate2",
  "fontdb",
+ "hayagriva",
+ "hypher",
+ "icu_properties",
+ "icu_provider",
+ "icu_provider_adapters",
+ "icu_provider_blob",
+ "icu_segmenter",
  "image",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
  "kurbo",
+ "lipsum",
  "log",
- "miniz_oxide",
  "once_cell",
  "palette",
- "pdf-writer",
- "pixglyph",
+ "rayon",
  "regex",
- "resvg",
  "roxmltree",
  "rustybuzz",
  "serde",
- "siphasher",
+ "serde_json",
+ "serde_yaml 0.9.27",
+ "siphasher 1.0.0",
+ "smallvec",
  "stacker",
- "subsetter",
- "svg2pdf",
+ "syntect",
  "time",
- "tiny-skia",
  "toml",
  "tracing",
  "ttf-parser",
+ "typed-arena",
  "typst-macros",
  "typst-syntax",
- "unicode-ident",
+ "unicode-bidi",
  "unicode-math-class",
- "unicode-properties",
+ "unicode-script",
  "unicode-segmentation",
- "unscanny",
  "usvg",
  "wasmi",
- "xmlparser",
- "xmlwriter",
- "xmp-writer",
 ]
 
 [[package]]
 name = "typst-cli"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "chrono",
  "clap",
@@ -2928,7 +2679,6 @@ dependencies = [
  "dirs",
  "ecow",
  "env_proxy",
- "filetime",
  "flate2",
  "fontdb",
  "inferno",
@@ -2944,7 +2694,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_yaml 0.9.27",
- "siphasher",
+ "siphasher 1.0.0",
  "tar",
  "tempfile",
  "tracing",
@@ -2952,7 +2702,9 @@ dependencies = [
  "tracing-flame",
  "tracing-subscriber",
  "typst",
- "typst-library",
+ "typst-pdf",
+ "typst-render",
+ "typst-svg",
  "ureq",
  "xz2",
  "zip",
@@ -2960,7 +2712,7 @@ dependencies = [
 
 [[package]]
 name = "typst-docs"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "comemo",
  "ecow",
@@ -2973,7 +2725,6 @@ dependencies = [
  "syntect",
  "typed-arena",
  "typst",
- "typst-library",
  "unicode_names2",
  "unscanny",
  "yaml-front-matter",
@@ -2981,7 +2732,7 @@ dependencies = [
 
 [[package]]
 name = "typst-ide"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "comemo",
  "ecow",
@@ -2993,58 +2744,72 @@ dependencies = [
 ]
 
 [[package]]
-name = "typst-library"
-version = "0.9.0"
+name = "typst-macros"
+version = "0.10.0"
 dependencies = [
- "az",
- "chinese-number",
- "ciborium",
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "typst-pdf"
+version = "0.10.0"
+dependencies = [
+ "base64",
+ "bytemuck",
  "comemo",
- "csv",
  "ecow",
- "hayagriva",
- "hypher",
- "icu_properties",
- "icu_provider",
- "icu_provider_adapters",
- "icu_provider_blob",
- "icu_segmenter",
- "indexmap 2.0.2",
- "kurbo",
- "lipsum",
- "log",
+ "image",
+ "miniz_oxide",
  "once_cell",
- "roxmltree",
- "rustybuzz",
- "serde_json",
- "serde_yaml 0.9.27",
- "smallvec",
- "syntect",
- "time",
- "toml",
+ "pdf-writer",
+ "subsetter",
+ "svg2pdf",
  "tracing",
  "ttf-parser",
- "typed-arena",
  "typst",
- "unicode-bidi",
- "unicode-math-class",
- "unicode-script",
- "unicode-segmentation",
+ "unicode-properties",
+ "unscanny",
+ "xmp-writer",
 ]
 
 [[package]]
-name = "typst-macros"
-version = "0.9.0"
+name = "typst-render"
+version = "0.10.0"
 dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.38",
+ "bytemuck",
+ "comemo",
+ "flate2",
+ "image",
+ "pixglyph",
+ "resvg",
+ "roxmltree",
+ "tiny-skia",
+ "ttf-parser",
+ "typst",
+ "usvg",
+]
+
+[[package]]
+name = "typst-svg"
+version = "0.10.0"
+dependencies = [
+ "base64",
+ "comemo",
+ "ecow",
+ "flate2",
+ "tracing",
+ "ttf-parser",
+ "typst",
+ "xmlparser",
+ "xmlwriter",
 ]
 
 [[package]]
 name = "typst-syntax"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "comemo",
  "ecow",
@@ -3053,13 +2818,14 @@ dependencies = [
  "tracing",
  "unicode-ident",
  "unicode-math-class",
+ "unicode-script",
  "unicode-segmentation",
  "unscanny",
 ]
 
 [[package]]
 name = "typst-tests"
-version = "0.9.0"
+version = "0.10.0"
 dependencies = [
  "clap",
  "comemo",
@@ -3071,7 +2837,9 @@ dependencies = [
  "tiny-skia",
  "ttf-parser",
  "typst",
- "typst-library",
+ "typst-pdf",
+ "typst-render",
+ "typst-svg",
  "unscanny",
  "walkdir",
 ]
@@ -3181,9 +2949,26 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "unicode_names2"
-version = "0.6.0"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d5506ae2c3c1ccbdf468e52fc5ef536c2ccd981f01273a4cb81aa61021f3a5f"
+dependencies = [
+ "phf",
+ "unicode_names2_generator",
+]
+
+[[package]]
+name = "unicode_names2_generator"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446c96c6dd42604779487f0a981060717156648c1706aa1f464677f03c6cc059"
+checksum = "b6dfc680313e95bc6637fa278cd7a22390c3c2cd7b8b2bd28755bc6c0fc811e7"
+dependencies = [
+ "getopts",
+ "log",
+ "phf_codegen",
+ "rand",
+ "time",
+]
 
 [[package]]
 name = "unsafe-libyaml"
@@ -3205,9 +2990,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "ureq"
-version = "2.8.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3"
+checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
 dependencies = [
  "base64",
  "flate2",
@@ -3223,9 +3008,9 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -3261,7 +3046,7 @@ dependencies = [
  "log",
  "roxmltree",
  "simplecss",
- "siphasher",
+ "siphasher 0.3.11",
  "svgtypes",
  "usvg-tree",
 ]
@@ -3307,12 +3092,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
-name = "uuid"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
-
-[[package]]
 name = "valuable"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3342,9 +3121,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3352,24 +3131,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3377,22 +3156,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "wasmi"
@@ -3436,9 +3215,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.2"
+version = "0.25.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
 
 [[package]]
 name = "weezl"
@@ -3554,18 +3333,18 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "winnow"
-version = "0.5.18"
+version = "0.5.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "writeable"
-version = "0.5.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0af0c3d13faebf8dda0b5256fa7096a2d5ccb662f7b9f54a40fe201077ab1c2"
+checksum = "dad7bb64b8ef9c0aa27b6da38b452b0ee9fd82beaf276a87dd796fb55cbae14e"
 
 [[package]]
 name = "wyz"
@@ -3633,9 +3412,9 @@ dependencies = [
 
 [[package]]
 name = "yoke"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61e38c508604d6bbbd292dadb3c02559aa7fff6b654a078a36217cad871636e4"
+checksum = "65e71b2e4f287f467794c671e2b8f8a5f3716b3c829079a1c44740148eff07e4"
 dependencies = [
  "serde",
  "stable_deref_trait",
@@ -3645,34 +3424,34 @@ dependencies = [
 
 [[package]]
 name = "yoke-derive"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5e19fb6ed40002bab5403ffa37e53e0e56f914a4450c8765f533018db1db35f"
+checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "synstructure",
 ]
 
 [[package]]
 name = "zerocopy"
-version = "0.7.20"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd66a62464e3ffd4e37bd09950c2b9dd6c4f8767380fabba0d523f9a775bc85a"
+checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.20"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "255c4596d41e6916ced49cfafea18727b24d67878fa180ddfd69b9df34fd1726"
+checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3692,15 +3471,27 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "synstructure",
 ]
 
 [[package]]
+name = "zerotrie"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0594125a0574fb93059c92c588ab209cc036a23d1baeb3410fa9181bea551a0"
+dependencies = [
+ "displaydoc",
+ "litemap",
+ "serde",
+ "zerovec",
+]
+
+[[package]]
 name = "zerovec"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1194130c5b155bf8ae50ab16c86ab758cd695cf9ad176d2f870b744cbdbb572e"
+checksum = "eff4439ae91fb5c72b8abc12f3f2dbf51bd27e6eadb9f8a5bc8898dddb0e27ea"
 dependencies = [
  "serde",
  "yoke",
@@ -3710,13 +3501,13 @@ dependencies = [
 
 [[package]]
 name = "zerovec-derive"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acabf549809064225ff8878baedc4ce3732ac3b07e7c7ce6e5c2ccdbc485c324"
+checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -3725,57 +3516,20 @@ version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
 dependencies = [
- "aes",
  "byteorder",
- "bzip2",
- "constant_time_eq",
  "crc32fast",
  "crossbeam-utils",
  "flate2",
- "hmac",
- "pbkdf2",
- "sha1",
- "time",
- "zstd",
 ]
 
 [[package]]
 name = "zopfli"
-version = "0.7.4"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e0650ae6a051326d798eb099b632f1afb0d323d25ee4ec82ffb0779512084d5"
+checksum = "5c1f48f3508a3a3f2faee01629564400bc12260f6214a056d06a3aaaa6ef0736"
 dependencies = [
  "crc32fast",
  "log",
  "simd-adler32",
  "typed-arena",
 ]
-
-[[package]]
-name = "zstd"
-version = "0.11.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
-dependencies = [
- "zstd-safe",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
-dependencies = [
- "libc",
- "zstd-sys",
-]
-
-[[package]]
-name = "zstd-sys"
-version = "2.0.9+zstd.1.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
-dependencies = [
- "cc",
- "pkg-config",
-]
diff --git a/pkgs/tools/typesetting/typst/default.nix b/pkgs/by-name/ty/typst/package.nix
index eeb25fa30bde6..24d333f669cc1 100644
--- a/pkgs/tools/typesetting/typst/default.nix
+++ b/pkgs/by-name/ty/typst/package.nix
@@ -8,21 +8,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typst";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "typst";
     repo = "typst";
     rev = "v${version}";
-    hash = "sha256-LwRB/AQE8TZZyHEQ7kKB10itzEgYjg4R/k+YFqmutDc=";
+    hash = "sha256-qiskc0G/ZdLRZjTicoKIOztRFem59TM4ki23Rl55y9s=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "iai-0.1.1" = "sha256-EdNzCPht5chg7uF9O8CtPWR/bzSYyfYIXNdLltqdlR0=";
-      "oxipng-8.0.0" = "sha256-KIbSsQEjwJ12DxYpBTUD1g9CqJqCfSAmnFcSTiGIoio=";
-      "self-replace-1.3.5" = "sha256-N57nmLHgxhVR1CDtkgjYwpo1ypdGyVpjJY7vzuncxDc=";
     };
   };
 
@@ -45,12 +43,12 @@ rustPlatform.buildRustPackage rec {
       --zsh crates/typst-cli/artifacts/_typst
   '';
 
-  meta = with lib; {
-    description = "A new markup-based typesetting system that is powerful and easy to learn";
-    homepage = "https://typst.app";
+  meta = {
     changelog = "https://github.com/typst/typst/releases/tag/${src.rev}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ drupol figsoda kanashimia ];
+    description = "A new markup-based typesetting system that is powerful and easy to learn";
+    homepage = "https://github.com/typst/typst";
+    license = lib.licenses.asl20;
     mainProgram = "typst";
+    maintainers = with lib.maintainers; [ drupol figsoda kanashimia ];
   };
 }
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index ec8ee6a63ced5..5e91612f3613e 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.3.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-UINjoleubgYV7qsjQyOz+8PXCmLBrXxknIc1OKuPPMU=";
+    hash = "sha256-xDHr3U+Lc/C2L7jER2VqJvvw9mxCkDzO+K8tzC4Fw2A=";
   };
 
-  cargoHash = "sha256-wSa70jBHNPdyf1NHj+jHr8VwGXNw8p/bJRHc8PUE7BU=";
+  cargoHash = "sha256-9xjTXQJVGIvdx+SfJGPVa5Ax9wvS4Fms7blxAVrt6IY=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
diff --git a/pkgs/by-name/us/usql/package.nix b/pkgs/by-name/us/usql/package.nix
index 07cada7aed51a..10de1a6116dd9 100644
--- a/pkgs/by-name/us/usql/package.nix
+++ b/pkgs/by-name/us/usql/package.nix
@@ -11,18 +11,18 @@
 
 buildGoModule rec {
   pname = "usql";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "xo";
     repo = "usql";
     rev = "v${version}";
-    hash = "sha256-XfzCJOr0lOkimUKbOW0+qFNQMmYc0DBgi+0ItmEOjwE=";
+    hash = "sha256-AcxtIdPflMT2SGM2dgbbiFx5S+NlM7neMuXrIhysFPo=";
   };
 
   buildInputs = [ unixODBC icu ];
 
-  vendorHash = "sha256-sijt6YOp1pFNhaxLIOLH90Z5ODVbWFj/mp8Csx8n+ac=";
+  vendorHash = "sha256-UsYEhqsQUhRROe9HX4WIyi0OeMLHE87JOfp6vwbVMMo=";
   proxyVendor = true;
 
   # Exclude broken genji, hive & impala drivers (bad group)
diff --git a/pkgs/by-name/vc/vcpkg-tool/change-lock-location.patch b/pkgs/by-name/vc/vcpkg-tool/change-lock-location.patch
new file mode 100644
index 0000000000000..d3cf8e0f8137e
--- /dev/null
+++ b/pkgs/by-name/vc/vcpkg-tool/change-lock-location.patch
@@ -0,0 +1,14 @@
+diff --git a/src/vcpkg/vcpkgpaths.cpp b/src/vcpkg/vcpkgpaths.cpp
+index 3f588c21..e6f2bbed 100644
+--- a/src/vcpkg/vcpkgpaths.cpp
++++ b/src/vcpkg/vcpkgpaths.cpp
+@@ -579,7 +579,8 @@ namespace vcpkg
+                 if (!args.do_not_take_lock)
+                 {
+                     std::error_code ec;
+-                    const auto vcpkg_root_file = root / ".vcpkg-root";
++                    fs.create_directories(Path{"/tmp/vcpkg"}, VCPKG_LINE_INFO);
++                    const auto vcpkg_root_file = Path{"/tmp/vcpkg"} / Hash::get_string_sha256(root.c_str());
+                     if (args.wait_for_lock.value_or(false))
+                     {
+                         file_lock_handle = fs.take_exclusive_file_lock(vcpkg_root_file, ec);
diff --git a/pkgs/by-name/vc/vcpkg-tool/package.nix b/pkgs/by-name/vc/vcpkg-tool/package.nix
new file mode 100644
index 0000000000000..0dbeac1643693
--- /dev/null
+++ b/pkgs/by-name/vc/vcpkg-tool/package.nix
@@ -0,0 +1,73 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cacert
+, cmake
+, cmakerc
+, fmt
+, git
+, gzip
+, makeWrapper
+, meson
+, ninja
+, openssh
+, python3
+, zip
+, zstd
+, extraRuntimeDeps ? []
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "vcpkg-tool";
+  version = "2023-10-18";
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "vcpkg-tool";
+    rev = finalAttrs.version;
+    hash = "sha256-Hm+GSKov9A6tmN10BHOTVy8aWkLOJNBMOQJNm4HnWuI=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    cmakerc
+    fmt
+    ninja
+    makeWrapper
+  ];
+
+  patches = [
+    ./change-lock-location.patch
+  ];
+
+  cmakeFlags = [
+    "-DVCPKG_DEPENDENCY_EXTERNAL_FMT=ON"
+    "-DVCPKG_DEPENDENCY_CMAKERC=ON"
+  ];
+
+  postFixup = let
+    # These are the most common binaries used by vcpkg
+    # Extra binaries can be added via overlay when needed
+    runtimeDeps = [
+      cacert
+      cmake
+      git
+      gzip
+      meson
+      ninja
+      openssh
+      python3
+      zip
+      zstd
+    ] ++ extraRuntimeDeps;
+  in ''
+    wrapProgram $out/bin/vcpkg --prefix PATH ${lib.makeBinPath runtimeDeps}
+  '';
+
+  meta = {
+    description = "Components of microsoft/vcpkg's binary";
+    homepage = "https://github.com/microsoft/vcpkg-tool";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ guekka gracicot ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/vc/vcpkg/package.nix b/pkgs/by-name/vc/vcpkg/package.nix
new file mode 100644
index 0000000000000..e8beeb0756a16
--- /dev/null
+++ b/pkgs/by-name/vc/vcpkg/package.nix
@@ -0,0 +1,51 @@
+{ fetchFromGitHub
+, stdenvNoCC
+, lib
+, vcpkg-tool
+, writeShellScript
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "vcpkg";
+  version = "2023.10.19";
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "vcpkg";
+    rev = finalAttrs.version;
+    hash = "sha256-u+4vyOphnowoaZgfkCbzF7Q4tuz2GN1bHylaKw352Lc=";
+  };
+
+  installPhase = let
+    # vcpkg needs two directories to write to that is independent of installation directory.
+    # Since vcpkg already creates $HOME/.vcpkg/ we use that to create a root where vcpkg can write into.
+    vcpkgScript = writeShellScript "vcpkg" ''
+      vcpkg_writable_path="$HOME/.vcpkg/root/"
+
+      VCPKG_ROOT="@out@/share/vcpkg" ${vcpkg-tool}/bin/vcpkg \
+        --x-downloads-root="$vcpkg_writable_path"/downloads \
+        --x-buildtrees-root="$vcpkg_writable_path"/buildtrees \
+        --x-packages-root="$vcpkg_writable_path"/packages \
+        "$@"
+      '';
+    in ''
+      runHook preInstall
+
+      mkdir -p $out/bin $out/share/vcpkg/scripts/buildsystems
+      cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt} $out/share/vcpkg/
+      substitute ${vcpkgScript} $out/bin/vcpkg --subst-var-by out $out
+      chmod +x $out/bin/vcpkg
+      ln -s $out/bin/vcpkg $out/share/vcpkg/vcpkg
+      touch $out/share/vcpkg/vcpkg.disable-metrics
+
+      runHook postInstall
+    '';
+
+  meta = {
+    description = "C++ Library Manager";
+    homepage = "https://vcpkg.io/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ guekka gracicot ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index fd0135a849167..320e942012d41 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -19,13 +19,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vesktop";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "Vencord";
     repo = "Vesktop";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wGOyDGY0FpAVS5+MTiKrOpDyd13ng0RLGAENW5tXuR4=";
+    hash = "sha256-Ot2O5J1wUZAWgdpJNaEUSwtbcNqDdGhzuCtx8Qg+4gg=";
   };
 
   # NOTE: This requires pnpm 8.10.0 or newer
@@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
       dontBuild = true;
       dontFixup = true;
       outputHashMode = "recursive";
-      outputHash = "sha256-nNXe0vSQiQTkiRqgScKlpkpG/BJc2eIY2ueAd9sk36c=";
+      outputHash = "sha256-v6ibAcfYgr1VjGK7NUF4DKd5da03mZndPUAnSl++RqE=";
     };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/vg/vgm2x/package.nix b/pkgs/by-name/vg/vgm2x/package.nix
new file mode 100644
index 0000000000000..ff2fa28e7be79
--- /dev/null
+++ b/pkgs/by-name/vg/vgm2x/package.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, libfmvoice
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "vgm2x";
+  version = "0.0.0-unstable-2023-08-27";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "vgm2x";
+    rev = "5128055ab2b356e173b53e2afd31202a59505a39";
+    hash = "sha256-DwDcSUdfOsDlajYtzg5xM5P9QPOqLp8b0sEpE18kfzA=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+  '';
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 vgm2opm $out/bin/vgm2opm
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "VGM file extraction tools";
+    homepage = "https://github.com/vampirefrog/vgm2x";
+    license = licenses.gpl3Only;
+    mainProgram = "vgm2opm";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/by-name/vi/vieb/package.nix
index fa5fad4934c10..8d3b3de6a124f 100644
--- a/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/pkgs/by-name/vi/vieb/package.nix
@@ -2,20 +2,20 @@
 
 buildNpmPackage rec {
   pname = "vieb";
-  version = "10.4.0";
+  version = "10.6.0";
 
   src = fetchFromGitHub {
     owner = "Jelmerro";
     repo = pname;
     rev = version;
-    hash = "sha256-SQQDlOSP1MZeN6BHdahpxpZ0e60lgA4ph0r2jkmTdP8=";
+    hash = "sha256-WVG30wkyGiqd3uEhk2h2MHu4L0yE6DRP6NAKMExjuOs=";
   };
 
   postPatch = ''
     sed -i '/"electron"/d' package.json
   '';
 
-  npmDepsHash = "sha256-yCWSEuhiP6DfcFns6uyUrLBJeQbOK7yJ9QfGhHkTlHI=";
+  npmDepsHash = "sha256-kvC1+odojkSFWqcyNUg2SbeEn1EkA+EdfaVWY9QmPz4=";
   makeCacheWritable = true;
   dontNpmBuild = true;
 
@@ -52,8 +52,6 @@ buildNpmPackage rec {
 
   distPhase = ":"; # disable useless $out/tarballs directory
 
-  passthru.updateScript = nix-update-script {};
-
   meta = with lib; {
     homepage = "https://vieb.dev/";
     changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}";
diff --git a/pkgs/by-name/vi/vinegar/package.nix b/pkgs/by-name/vi/vinegar/package.nix
new file mode 100644
index 0000000000000..6fe0035dab6bc
--- /dev/null
+++ b/pkgs/by-name/vi/vinegar/package.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, wine
+, makeBinaryWrapper
+, pkg-config
+, libGL
+, libxkbcommon
+, xorg
+}:
+
+buildGoModule rec {
+  pname = "vinegar";
+  version = "1.5.8";
+
+  src = fetchFromGitHub {
+    owner = "vinegarhq";
+    repo = "vinegar";
+    rev = "v${version}";
+    hash = "sha256-1KDcc9Hms1hQgpvf/49zFJ85kDUsieNcoOTYaZWV+S0=";
+  };
+
+  vendorHash = "sha256-UJLwSOJ4vZt3kquKllm5OMfFheZtAG5gLSA20313PpA=";
+
+  nativeBuildInputs = [ pkg-config makeBinaryWrapper ];
+  buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wine ];
+
+  buildPhase = ''
+    runHook preBuild
+    make PREFIX=$out
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    make PREFIX=$out install
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/vinegar \
+      --prefix PATH : ${lib.makeBinPath [ wine ]}
+  '';
+
+  meta = with lib; {
+    description = "An open-source, minimal, configurable, fast bootstrapper for running Roblox on Linux";
+    homepage = "https://github.com/vinegarhq/vinegar";
+    changelog = "https://github.com/vinegarhq/vinegar/releases/tag/v${version}";
+    mainProgram = "vinegar";
+    license = licenses.gpl3Only;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ nyanbinary ];
+  };
+}
diff --git a/pkgs/by-name/wa/wannier90/package.nix b/pkgs/by-name/wa/wannier90/package.nix
new file mode 100644
index 0000000000000..9a06bc5faabf6
--- /dev/null
+++ b/pkgs/by-name/wa/wannier90/package.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, lib
+, gfortran
+, blas
+, lapack
+, python3
+, fetchFromGitHub
+}:
+assert (!blas.isILP64);
+assert blas.isILP64 == lapack.isILP64;
+
+stdenv.mkDerivation rec {
+  pname = "wannier90";
+  version = "3.1.0";
+
+  nativeBuildInputs = [ gfortran ];
+  buildInputs = [
+    blas
+    lapack
+  ];
+
+  src = fetchFromGitHub {
+    owner = "wannier-developers";
+    repo = "wannier90";
+    rev = "v${version}";
+    hash = "sha256-+Mq7lM6WuwAnK/2FlDz9gNRIg2sRazQRezb3BfD0veY=";
+  };
+
+  # test cases are removed as error bounds of wannier90 are obviously to tight
+  postPatch = ''
+    rm -r test-suite/tests/testpostw90_{fe_kpathcurv,fe_kslicecurv,si_geninterp,si_geninterp_wsdistance}
+    rm -r test-suite/tests/testw90_example26   # Fails without AVX optimizations
+    patchShebangs test-suite/run_tests test-suite/testcode/bin/testcode.py
+  '';
+
+  configurePhase = ''
+    cp config/make.inc.gfort make.inc
+  '';
+
+  buildFlags = [ "all" "dynlib" ];
+
+  preInstall = ''
+    installFlagsArray+=(
+      PREFIX=$out
+    )
+  '';
+
+  postInstall = ''
+    cp libwannier.so $out/lib/libwannier.so
+
+    mkdir $out/include
+    find ./src/obj/ -name "*.mod" -exec cp {} $out/include/. \;
+  '';
+
+  doCheck = true;
+  checkInputs = [ python3 ];
+  checkTarget = [ "test-serial" ];
+  preCheck = ''
+    export OMP_NUM_THREADS=4
+  '';
+
+  enableParallelBuilding = true;
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    description = "Calculation of maximally localised Wannier functions";
+    homepage = "https://github.com/wannier-developers/wannier90";
+    license = licenses.gpl2Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/by-name/wa/wash-cli/package.nix b/pkgs/by-name/wa/wash-cli/package.nix
new file mode 100644
index 0000000000000..c186a035814ba
--- /dev/null
+++ b/pkgs/by-name/wa/wash-cli/package.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, darwin, fetchurl }:
+
+let
+  wasiPreviewCommandComponentAdapter = fetchurl {
+    url = "https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasi_snapshot_preview1.command.wasm";
+    hash = "sha256-QihT0Iaq9VJs2mLL9CdS32lVMtDc9M952k/ZZ4tO6qs=";
+  };
+  wasiPreviewReactorComponentAdapter = fetchurl {
+    url = "https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasi_snapshot_preview1.reactor.wasm";
+    hash = "sha256-bNmx/IqYPkA7YHvlYvHPmIMF/fkKtSXlZx1bjR3Neow=";
+  };
+
+in rustPlatform.buildRustPackage rec {
+  pname = "wash-cli";
+  version = "0.24.0";
+
+  src = fetchCrate {
+    inherit version pname;
+      hash = "sha256-exhN+44Sikcn2JiIry/jHOpYrPG2oQOpwq/Mq+0VK0U=";
+  };
+
+  cargoHash = "sha256-eEfkMoi4BPpKWkiTshHj59loFPzyrhFN/S8HKdMCGFM=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.SystemConfiguration
+      darwin.apple_sdk.frameworks.CoreServices
+    ];
+
+  preBuild = "
+    export WASI_PREVIEW1_COMMAND_COMPONENT_ADAPTER=${wasiPreviewCommandComponentAdapter}
+    export WASI_PREVIEW1_REACTOR_COMPONENT_ADAPTER=${wasiPreviewReactorComponentAdapter}
+  ";
+
+  # Tests require the internet and don't work when running in nix
+  doCheck = false;
+
+  meta = with lib; {
+    description = "wasmCloud Shell (wash) CLI tool";
+    homepage = "https://wasmcloud.com/";
+    mainProgram = "wash";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bloveless ];
+  };
+}
diff --git a/pkgs/servers/windmill/Cargo.lock b/pkgs/by-name/wi/windmill/Cargo.lock
index 155987a1ab3a3..147cd4477e5e1 100644
--- a/pkgs/servers/windmill/Cargo.lock
+++ b/pkgs/by-name/wi/windmill/Cargo.lock
@@ -187,6 +187,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "argminmax"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "202108b46429b765ef483f8a24d5c46f48c14acfdacc086dd4ab6dddf6bcdbd2"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
 name = "argon2"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -205,12 +214,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d62b7694a562cdf5a74227903507c56ab2cc8bdd1f781ed5cb4cf9c9f810bfc"
 
 [[package]]
+name = "array-init-cursor"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76"
+
+[[package]]
 name = "arrayvec"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
+name = "arrow-format"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07884ea216994cdc32a2d5f8274a8bee979cfe90274b83f86f440866ee3132c7"
+dependencies = [
+ "planus",
+ "serde",
+]
+
+[[package]]
 name = "ast_node"
 version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -236,12 +261,12 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "event-listener-strategy",
  "futures-core",
  "pin-project-lite",
@@ -280,30 +305,30 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.6.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock 2.8.0",
+ "async-lock 3.1.2",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite 1.13.0",
+ "futures-lite 2.0.1",
  "slab",
 ]
 
 [[package]]
 name = "async-global-executor"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+checksum = "9b4353121d5644cdf2beb5726ab752e79a8db1ebb52031770ec47db31d245526"
 dependencies = [
- "async-channel 1.9.0",
+ "async-channel 2.1.1",
  "async-executor",
- "async-io",
- "async-lock 2.8.0",
+ "async-io 2.2.1",
+ "async-lock 3.1.2",
  "blocking",
- "futures-lite 1.13.0",
+ "futures-lite 2.0.1",
  "once_cell",
 ]
 
@@ -320,7 +345,7 @@ dependencies = [
  "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
+ "polling 2.8.0",
  "rustix 0.37.27",
  "slab",
  "socket2 0.4.10",
@@ -328,6 +353,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-io"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff"
+dependencies = [
+ "async-lock 3.1.2",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.0.1",
+ "parking",
+ "polling 3.3.1",
+ "rustix 0.38.26",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -338,11 +382,11 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.1.0"
+version = "3.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7"
+checksum = "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
 dependencies = [
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "event-listener-strategy",
  "pin-project-lite",
 ]
@@ -385,7 +429,7 @@ checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
 dependencies = [
  "async-channel 1.9.0",
  "async-global-executor",
- "async-io",
+ "async-io 1.13.0",
  "async-lock 2.8.0",
  "crossbeam-utils",
  "futures-channel",
@@ -404,6 +448,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-stream"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
 name = "async-stripe"
 version = "0.25.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -492,12 +558,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "atoi_simd"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccfc14f5c3e34de57539a7ba9c18ecde3d9bbde48d232ea1da3e468adb307fd0"
+
+[[package]]
 name = "atomic-waker"
 version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
+name = "atomic-write-file"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
+dependencies = [
+ "nix",
+ "rand 0.8.5",
+]
+
+[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -505,9 +587,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "aws-config"
-version = "0.57.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2bf00cb9416daab4ce4927c54ebe63c08b9caf4d7b9314b6d7a4a2c5a1afb09"
+checksum = "80c950a809d39bc9480207cb1cfc879ace88ea7e3a4392a8e9999e45d6e5692e"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -527,7 +609,7 @@ dependencies = [
  "hex",
  "http",
  "hyper",
- "ring 0.17.5",
+ "ring 0.17.6",
  "time",
  "tokio",
  "tracing",
@@ -536,9 +618,9 @@ dependencies = [
 
 [[package]]
 name = "aws-credential-types"
-version = "0.57.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb9073c88dbf12f68ce7d0e149f989627a1d1ae3d2b680459f04ccc29d1cbd0f"
+checksum = "8c1317e1a3514b103cf7d5828bbab3b4d30f56bd22d684f8568bc51b6cfbbb1c"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-runtime-api",
@@ -548,11 +630,10 @@ dependencies = [
 
 [[package]]
 name = "aws-http"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24067106d09620cf02d088166cdaedeaca7146d4d499c41b37accecbea11b246"
+checksum = "361c4310fdce94328cc2d1ca0c8a48c13f43009c61d3367585685a50ca8c66b6"
 dependencies = [
- "aws-smithy-http",
  "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
@@ -565,9 +646,9 @@ dependencies = [
 
 [[package]]
 name = "aws-runtime"
-version = "0.57.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc6ee0152c06d073602236a4e94a8c52a327d310c1ecd596570ce795af8777ff"
+checksum = "1ed7ef604a15fd0d4d9e43701295161ea6b504b63c44990ead352afea2bc15e9"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -582,14 +663,14 @@ dependencies = [
  "http",
  "percent-encoding",
  "tracing",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
 name = "aws-sdk-s3"
-version = "0.36.0"
+version = "0.39.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf188e8af89adb0b41ae2f21b6c666c618959e40242e79aaa43fafa9c0c90a8a"
+checksum = "29223b1074621f1d011bac836d995c002936663052b1e7ad02927551b17d6625"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -617,9 +698,9 @@ dependencies = [
 
 [[package]]
 name = "aws-sdk-sso"
-version = "0.36.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb8158015232b4596ccef74a205600398e152d704b40b7ec9f486092474d7fa"
+checksum = "0619ab97a5ca8982e7de073cdc66f93e5f6a1b05afc09e696bec1cb3607cd4df"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -639,9 +720,9 @@ dependencies = [
 
 [[package]]
 name = "aws-sdk-ssooidc"
-version = "0.36.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36a1493e1c57f173e53621935bfb5b6217376168dbdb4cd459aebcf645924a48"
+checksum = "f04b9f5474cc0f35d829510b2ec8c21e352309b46bf9633c5a81fb9321e9b1c7"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -661,9 +742,9 @@ dependencies = [
 
 [[package]]
 name = "aws-sdk-sts"
-version = "0.36.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e032b77f5cd1dd3669d777a38ac08cbf8ec68e29460d4ef5d3e50cffa74ec75a"
+checksum = "798c8d82203af9e15a8b406574e0b36da91dd6db533028b74676489a1bc8bc7d"
 dependencies = [
  "aws-credential-types",
  "aws-http",
@@ -684,26 +765,28 @@ dependencies = [
 
 [[package]]
 name = "aws-sigv4"
-version = "0.57.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f81a6abc4daab06b53cabf27c54189928893283093e37164ca53aa47488a5b"
+checksum = "380adcc8134ad8bbdfeb2ace7626a869914ee266322965276cbc54066186d236"
 dependencies = [
  "aws-credential-types",
  "aws-smithy-eventstream",
  "aws-smithy-http",
  "aws-smithy-runtime-api",
+ "aws-smithy-types",
  "bytes",
+ "crypto-bigint 0.5.5",
  "form_urlencoded",
  "hex",
  "hmac",
  "http",
- "num-bigint",
  "once_cell",
  "p256",
  "percent-encoding",
  "regex",
- "ring 0.17.5",
+ "ring 0.17.6",
  "sha2 0.10.8",
+ "subtle",
  "time",
  "tracing",
  "zeroize",
@@ -711,9 +794,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-async"
-version = "0.57.2"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe53fccd3b10414b9cae63767a15a2789b34e6c6727b6e32b33e8c7998a3e80"
+checksum = "3e37ca17d25fe1e210b6d4bdf59b81caebfe99f986201a1228cb5061233b4b13"
 dependencies = [
  "futures-util",
  "pin-project-lite",
@@ -722,9 +805,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-checksums"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb5701fbfb40600cc0fa547f318552dfd4e632b2099bd75d95fb0faae70675d"
+checksum = "c5a373ec01aede3dd066ec018c1bc4e8f5dd11b2c11c59c8eef1a5c68101f397"
 dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
@@ -743,9 +826,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-eventstream"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b33fa99f928a5815b94ee07e1377901bcf51aa749034a2c802dc38f9dcfacf5"
+checksum = "1c669e1e5fc0d79561bf7a122b118bd50c898758354fe2c53eb8f2d31507cbc3"
 dependencies = [
  "aws-smithy-types",
  "bytes",
@@ -754,9 +837,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-http"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7972373213d1d6e619c0edc9dda2d6634154e4ed75c5e0b2bf065cd5ec9f0d1"
+checksum = "5b1de8aee22f67de467b2e3d0dd0fb30859dc53f579a63bd5381766b987db644"
 dependencies = [
  "aws-smithy-eventstream",
  "aws-smithy-runtime-api",
@@ -775,18 +858,18 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-json"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6d64d5af16dd585de9ff6c606423c1aaad47c6baa38de41c2beb32ef21c6645"
+checksum = "6a46dd338dc9576d6a6a5b5a19bd678dcad018ececee11cf28ecd7588bd1a55c"
 dependencies = [
  "aws-smithy-types",
 ]
 
 [[package]]
 name = "aws-smithy-query"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7527bf5335154ba1b285479c50b630e44e93d1b4a759eaceb8d0bf9fbc82caa5"
+checksum = "feb5b8c7a86d4b6399169670723b7e6f21a39fc833a30f5c5a2f997608178129"
 dependencies = [
  "aws-smithy-types",
  "urlencoding",
@@ -794,9 +877,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-runtime"
-version = "0.57.2"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "839b363adf3b2bdab2742a1f540fec23039ea8bc9ec0f9f61df48470cfe5527b"
+checksum = "273479291efc55e7b0bce985b139d86b6031adb8e50f65c1f712f20ba38f6388"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-http",
@@ -804,6 +887,7 @@ dependencies = [
  "aws-smithy-types",
  "bytes",
  "fastrand 2.0.1",
+ "h2",
  "http",
  "http-body",
  "hyper",
@@ -818,9 +902,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-runtime-api"
-version = "0.57.2"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f24ecc446e62c3924539e7c18dec8038dba4fdf8718d5c2de62f9d2fecca8ba9"
+checksum = "c6cebff0d977b6b6feed2fd07db52aac58ba3ccaf26cdd49f1af4add5061bef9"
 dependencies = [
  "aws-smithy-async",
  "aws-smithy-types",
@@ -834,9 +918,9 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-types"
-version = "0.57.2"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "051de910296522a21178a2ea402ea59027eef4b63f1cef04a0be2bb5e25dea03"
+checksum = "d7f48b3f27ddb40ab19892a5abda331f403e3cb877965e4e51171447807104af"
 dependencies = [
  "base64-simd",
  "bytes",
@@ -857,18 +941,18 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-xml"
-version = "0.57.2"
+version = "0.60.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb1e3ac22c652662096c8e37a6f9af80c6f3520cab5610b2fe76c725bce18eac"
+checksum = "0ec40d74a67fd395bc3f6b4ccbdf1543672622d905ef3f979689aea5b730cb95"
 dependencies = [
  "xmlparser",
 ]
 
 [[package]]
 name = "aws-types"
-version = "0.57.2"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "048bbf1c24cdf4eb1efcdc243388a93a90ebf63979e25fc1c7b8cbd9cb6beb38"
+checksum = "8403fc56b1f3761e8efe45771ddc1165e47ec3417c68e68a4519b5cb030159ca"
 dependencies = [
  "aws-credential-types",
  "aws-smithy-async",
@@ -1159,8 +1243,8 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel 2.1.0",
- "async-lock 3.1.0",
+ "async-channel 2.1.1",
+ "async-lock 3.1.2",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
@@ -1491,9 +1575,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.8"
+version = "4.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -1501,9 +1585,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.8"
+version = "4.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
 dependencies = [
  "anstream",
  "anstyle",
@@ -1559,6 +1643,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "comfy-table"
+version = "7.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
+dependencies = [
+ "crossterm",
+ "strum",
+ "strum_macros",
+ "unicode-width",
+]
+
+[[package]]
 name = "concurrent-queue"
 version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1657,9 +1753,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -1667,9 +1763,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
@@ -1801,6 +1897,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "crossterm"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
+dependencies = [
+ "bitflags 2.4.1",
+ "crossterm_winapi",
+ "libc",
+ "parking_lot 0.12.1",
+ "winapi",
+]
+
+[[package]]
+name = "crossterm_winapi"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "crunchy"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1819,6 +1937,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "crypto-bigint"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
+dependencies = [
+ "rand_core 0.6.4",
+ "subtle",
+]
+
+[[package]]
 name = "crypto-common"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1905,7 +2033,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core 0.9.9",
@@ -1913,9 +2041,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "data-url"
@@ -1925,9 +2053,9 @@ checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
 
 [[package]]
 name = "data-url"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "debug-helper"
@@ -1942,7 +2070,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
 dependencies = [
  "serde",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -2063,7 +2191,7 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a798670c20308e5770cc0775de821424ff9e85665b602928509c8c70430b3ee0"
 dependencies = [
- "data-url 0.3.0",
+ "data-url 0.3.1",
  "serde",
  "url",
 ]
@@ -2129,7 +2257,7 @@ dependencies = [
  "flate2",
  "serde",
  "tokio",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "windows-sys 0.48.0",
 ]
 
@@ -2313,6 +2441,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
 name = "dotenv"
 version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2390,7 +2524,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
 dependencies = [
  "base16ct",
- "crypto-bigint",
+ "crypto-bigint 0.4.9",
  "der 0.6.1",
  "digest 0.10.7",
  "ff",
@@ -2495,6 +2629,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "enum_dispatch"
+version = "0.3.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
+dependencies = [
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
 name = "enumflags2"
 version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2522,12 +2668,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2551,6 +2697,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
+[[package]]
 name = "event-listener"
 version = "2.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2558,9 +2710,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.1.0"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -2569,11 +2721,11 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "pin-project-lite",
 ]
 
@@ -2584,6 +2736,18 @@ 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 = "fast-float"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c"
+
+[[package]]
 name = "fastrand"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2671,10 +2835,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
+name = "foreign_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673"
+
+[[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -2850,7 +3020,11 @@ version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
 dependencies = [
+ "fastrand 2.0.1",
  "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
  "pin-project-lite",
 ]
 
@@ -3092,9 +3266,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "git-version"
@@ -3149,9 +3323,9 @@ dependencies = [
 
 [[package]]
 name = "gosyn"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c003b8c167a1abb8b170baacf075dcdac2aaf5732bc94fead3d6ce429df7aa8"
+checksum = "099e29e0cf77a5b706f9e05e425cfeeed0debb2ee6c74c2c86bd9b17178bf8e0"
 dependencies = [
  "anyhow",
  "strum",
@@ -3223,12 +3397,13 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash 0.8.6",
  "allocator-api2",
+ "rayon",
 ]
 
 [[package]]
@@ -3237,7 +3412,7 @@ version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
 dependencies = [
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -3391,6 +3566,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
 name = "hyper"
 version = "0.14.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3474,9 +3655,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -3506,7 +3687,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -3623,6 +3804,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
+name = "itoap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8"
+
+[[package]]
 name = "jobserver"
 version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3633,9 +3820,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3778,9 +3965,9 @@ dependencies = [
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
 dependencies = [
  "cc",
  "pkg-config",
@@ -3828,9 +4015,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[package]]
 name = "lock_api"
@@ -3863,11 +4050,31 @@ dependencies = [
 
 [[package]]
 name = "lru"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1efa59af2ddfad1854ae27d75009d538d0998b4b2fd47083e743ac1a10e46c60"
+checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7"
 dependencies = [
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
+]
+
+[[package]]
+name = "lz4"
+version = "1.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1"
+dependencies = [
+ "libc",
+ "lz4-sys",
+]
+
+[[package]]
+name = "lz4-sys"
+version = "1.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900"
+dependencies = [
+ "cc",
+ "libc",
 ]
 
 [[package]]
@@ -3936,7 +4143,7 @@ dependencies = [
  "smtp-proto",
  "tokio",
  "tokio-rustls 0.24.1",
- "webpki-roots 0.25.2",
+ "webpki-roots 0.25.3",
 ]
 
 [[package]]
@@ -4127,6 +4334,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "multiversion"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2c7b9d7fe61760ce5ea19532ead98541f6b4c495d87247aff9826445cf6872a"
+dependencies = [
+ "multiversion-macros",
+ "target-features",
+]
+
+[[package]]
+name = "multiversion-macros"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26a83d8500ed06d68877e9de1dde76c1dbb83885dcdbda4ef44ccbc3fbda2ac8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "target-features",
+]
+
+[[package]]
 name = "mysql-common-derive"
 version = "0.30.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4213,7 +4442,7 @@ dependencies = [
  "subprocess",
  "thiserror",
  "time",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "zstd 0.12.4",
 ]
 
@@ -4263,6 +4492,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "now"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d89e9874397a1f0a52fc1f197a8effd9735223cb2390e9dcc83ac6cd02923d0"
+dependencies = [
+ "chrono",
+]
+
+[[package]]
+name = "ntapi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "nu-ansi-term"
 version = "0.46.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4369,6 +4616,35 @@ dependencies = [
 ]
 
 [[package]]
+name = "object_store"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050"
+dependencies = [
+ "async-trait",
+ "base64 0.21.5",
+ "bytes",
+ "chrono",
+ "futures",
+ "humantime",
+ "hyper",
+ "itertools 0.11.0",
+ "parking_lot 0.12.1",
+ "percent-encoding",
+ "quick-xml 0.31.0",
+ "rand 0.8.5",
+ "reqwest",
+ "ring 0.17.6",
+ "serde",
+ "serde_json",
+ "snafu",
+ "tokio",
+ "tracing",
+ "url",
+ "walkdir",
+]
+
+[[package]]
 name = "once_cell"
 version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4415,9 +4691,9 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.59"
+version = "0.10.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
 dependencies = [
  "bitflags 2.4.1",
  "cfg-if",
@@ -4447,9 +4723,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.95"
+version = "0.9.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
 dependencies = [
  "cc",
  "libc",
@@ -4541,6 +4817,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "parquet-format-safe"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1131c54b167dd4e4799ce762e1ab01549ebb94d5bdd13e6ec1b467491c378e1f"
+dependencies = [
+ "async-trait",
+ "futures",
+]
+
+[[package]]
 name = "parse-zoneinfo"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4640,9 +4926,9 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pg-embed"
@@ -4822,7 +5108,7 @@ checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
 dependencies = [
  "der 0.7.8",
  "pkcs8 0.10.2",
- "spki 0.7.2",
+ "spki 0.7.3",
 ]
 
 [[package]]
@@ -4842,7 +5128,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
 dependencies = [
  "der 0.7.8",
- "spki 0.7.2",
+ "spki 0.7.3",
 ]
 
 [[package]]
@@ -4852,6 +5138,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
+name = "planus"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f"
+dependencies = [
+ "array-init-cursor",
+]
+
+[[package]]
 name = "pmutil"
 version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4874,6 +5169,330 @@ dependencies = [
 ]
 
 [[package]]
+name = "polars"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8e52f9236eb722da0990a70bbb1216dcc7a77bcb00c63439d2d982823e90d5"
+dependencies = [
+ "getrandom 0.2.11",
+ "polars-core",
+ "polars-io",
+ "polars-lazy",
+ "polars-ops",
+ "polars-sql",
+ "polars-time",
+ "version_check",
+]
+
+[[package]]
+name = "polars-arrow"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd503430a6d9779b07915d858865fe998317ef3cfef8973881f578ac5d4baae7"
+dependencies = [
+ "ahash 0.8.6",
+ "arrow-format",
+ "atoi 2.0.0",
+ "atoi_simd",
+ "bytemuck",
+ "chrono",
+ "dyn-clone",
+ "either",
+ "ethnum",
+ "fast-float",
+ "foreign_vec",
+ "futures",
+ "getrandom 0.2.11",
+ "hashbrown 0.14.3",
+ "itoa",
+ "lz4",
+ "multiversion",
+ "num-traits",
+ "polars-error",
+ "polars-utils",
+ "rustc_version 0.4.0",
+ "ryu",
+ "simdutf8",
+ "streaming-iterator",
+ "strength_reduce",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "polars-core"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae73d5b8e55decde670caba1cc82b61f14bfb9a72503198f0997d657a98dcfd6"
+dependencies = [
+ "ahash 0.8.6",
+ "bitflags 2.4.1",
+ "bytemuck",
+ "chrono",
+ "comfy-table",
+ "either",
+ "hashbrown 0.14.3",
+ "indexmap 2.1.0",
+ "itoap",
+ "num-traits",
+ "once_cell",
+ "polars-arrow",
+ "polars-error",
+ "polars-row",
+ "polars-utils",
+ "rand 0.8.5",
+ "rand_distr",
+ "rayon",
+ "regex",
+ "smartstring",
+ "thiserror",
+ "version_check",
+ "xxhash-rust",
+]
+
+[[package]]
+name = "polars-error"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb0520d68eaa9993ae0c741409d1526beff5b8f48e1d73e4381616f8152cf488"
+dependencies = [
+ "arrow-format",
+ "object_store",
+ "regex",
+ "simdutf8",
+ "thiserror",
+]
+
+[[package]]
+name = "polars-io"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96e10a0745acd6009db64bef0ceb9e23a70b1c27b26a0a6517c91f3e6363bc06"
+dependencies = [
+ "ahash 0.8.6",
+ "async-trait",
+ "atoi_simd",
+ "bytes",
+ "chrono",
+ "fast-float",
+ "flate2",
+ "futures",
+ "home",
+ "itoa",
+ "memchr",
+ "memmap2",
+ "num-traits",
+ "object_store",
+ "once_cell",
+ "percent-encoding",
+ "polars-arrow",
+ "polars-core",
+ "polars-error",
+ "polars-parquet",
+ "polars-time",
+ "polars-utils",
+ "rayon",
+ "regex",
+ "reqwest",
+ "ryu",
+ "simdutf8",
+ "smartstring",
+ "tokio",
+ "tokio-util",
+ "url",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "polars-lazy"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3555f759705be6dd0d3762d16a0b8787b2dc4da73b57465f3b2bf1a070ba8f20"
+dependencies = [
+ "ahash 0.8.6",
+ "bitflags 2.4.1",
+ "futures",
+ "glob",
+ "once_cell",
+ "polars-arrow",
+ "polars-core",
+ "polars-io",
+ "polars-ops",
+ "polars-pipe",
+ "polars-plan",
+ "polars-time",
+ "polars-utils",
+ "rayon",
+ "smartstring",
+ "tokio",
+ "version_check",
+]
+
+[[package]]
+name = "polars-ops"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a7eb218296aaa7f79945f08288ca32ca3cf25fa505649eeee689ec21eebf636"
+dependencies = [
+ "ahash 0.8.6",
+ "argminmax",
+ "bytemuck",
+ "either",
+ "hashbrown 0.14.3",
+ "indexmap 2.1.0",
+ "memchr",
+ "num-traits",
+ "polars-arrow",
+ "polars-core",
+ "polars-error",
+ "polars-utils",
+ "rayon",
+ "regex",
+ "smartstring",
+ "version_check",
+]
+
+[[package]]
+name = "polars-parquet"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "146010e4b7dd4d2d0e58ddc762f6361f77d7a0385c54471199370c17164f67dd"
+dependencies = [
+ "ahash 0.8.6",
+ "async-stream",
+ "base64 0.21.5",
+ "brotli",
+ "ethnum",
+ "flate2",
+ "futures",
+ "lz4",
+ "num-traits",
+ "parquet-format-safe",
+ "polars-arrow",
+ "polars-error",
+ "polars-utils",
+ "seq-macro",
+ "simdutf8",
+ "snap",
+ "streaming-decompression",
+ "zstd 0.13.0",
+]
+
+[[package]]
+name = "polars-pipe"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66094e7df64c932a9a7bdfe7df0c65efdcb192096e11a6a765a9778f78b4bdec"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-queue",
+ "enum_dispatch",
+ "futures",
+ "hashbrown 0.14.3",
+ "num-traits",
+ "polars-arrow",
+ "polars-core",
+ "polars-io",
+ "polars-ops",
+ "polars-plan",
+ "polars-row",
+ "polars-utils",
+ "rayon",
+ "smartstring",
+ "tokio",
+ "version_check",
+]
+
+[[package]]
+name = "polars-plan"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10e32a0958ef854b132bad7f8369cb3237254635d5e864c99505bc0bc1035fbc"
+dependencies = [
+ "ahash 0.8.6",
+ "bytemuck",
+ "once_cell",
+ "percent-encoding",
+ "polars-arrow",
+ "polars-core",
+ "polars-io",
+ "polars-ops",
+ "polars-parquet",
+ "polars-time",
+ "polars-utils",
+ "rayon",
+ "regex",
+ "smartstring",
+ "strum_macros",
+ "version_check",
+]
+
+[[package]]
+name = "polars-row"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d135ab81cac2906ba74ea8984c7e6025d081ae5867615bcefb4d84dfdb456dac"
+dependencies = [
+ "polars-arrow",
+ "polars-error",
+ "polars-utils",
+]
+
+[[package]]
+name = "polars-sql"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8dbd7786849a5e3ad1fde188bf38141632f626e3a57319b0bbf7a5f1d75519e"
+dependencies = [
+ "polars-arrow",
+ "polars-core",
+ "polars-error",
+ "polars-lazy",
+ "polars-plan",
+ "rand 0.8.5",
+ "serde",
+ "serde_json",
+ "sqlparser",
+]
+
+[[package]]
+name = "polars-time"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae56f79e9cedd617773c1c8f5ca84a31a8b1d593714959d5f799e7bdd98fe51"
+dependencies = [
+ "atoi 2.0.0",
+ "chrono",
+ "now",
+ "once_cell",
+ "polars-arrow",
+ "polars-core",
+ "polars-error",
+ "polars-ops",
+ "polars-utils",
+ "regex",
+ "smartstring",
+]
+
+[[package]]
+name = "polars-utils"
+version = "0.35.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da6ce68169fe61d46958c8eab7447360f30f2f23f6e24a0ce703a14b0a3cfbfc"
+dependencies = [
+ "ahash 0.8.6",
+ "bytemuck",
+ "hashbrown 0.14.3",
+ "indexmap 2.1.0",
+ "num-traits",
+ "once_cell",
+ "polars-error",
+ "rayon",
+ "smartstring",
+ "sysinfo",
+ "version_check",
+]
+
+[[package]]
 name = "polling"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4890,6 +5509,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.26",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "portable-atomic"
 version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4953,7 +5586,7 @@ dependencies = [
  "postgres-protocol",
  "serde",
  "serde_json",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -5051,9 +5684,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -5213,9 +5846,9 @@ dependencies = [
 
 [[package]]
 name = "pulp"
-version = "0.18.4"
+version = "0.18.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7057c1435edb390ebfc51743abad043377f1f698ce8e649a9b52a4b378be5e4d"
+checksum = "16785ee69419641c75affff7c9fdbdb7c0ab26dc9a5fb5218c2a2e9e4ef2087d"
 dependencies = [
  "bytemuck",
  "libm",
@@ -5234,6 +5867,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
+[[package]]
 name = "quick_cache"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5241,7 +5884,7 @@ checksum = "f69f8d22fa3f34f3083d9a4375c038732c7a7e964de1beb81c544da92dfc40b8"
 dependencies = [
  "ahash 0.8.6",
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "parking_lot 0.12.1",
 ]
 
@@ -5565,7 +6208,7 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots 0.25.2",
+ "webpki-roots 0.25.3",
  "winreg",
 ]
 
@@ -5575,7 +6218,7 @@ version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb"
 dependencies = [
- "crypto-bigint",
+ "crypto-bigint 0.4.9",
  "hmac",
  "zeroize",
 ]
@@ -5603,9 +6246,9 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.5"
+version = "0.17.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866"
 dependencies = [
  "cc",
  "getrandom 0.2.11",
@@ -5629,7 +6272,7 @@ dependencies = [
  "rkyv_derive",
  "seahash",
  "tinyvec",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -5666,9 +6309,9 @@ dependencies = [
 
 [[package]]
 name = "rsa"
-version = "0.9.3"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474"
 dependencies = [
  "const-oid",
  "digest 0.10.7",
@@ -5679,7 +6322,7 @@ dependencies = [
  "pkcs8 0.10.2",
  "rand_core 0.6.4",
  "signature 2.2.0",
- "spki 0.7.2",
+ "spki 0.7.3",
  "subtle",
  "zeroize",
 ]
@@ -5809,15 +6452,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.24"
+version = "0.38.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.11",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5839,7 +6482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
 dependencies = [
  "log",
- "ring 0.17.5",
+ "ring 0.17.6",
  "rustls-webpki",
  "sct",
 ]
@@ -5871,7 +6514,7 @@ version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.6",
  "untrusted 0.9.0",
 ]
 
@@ -5973,12 +6616,12 @@ dependencies = [
  "openssl-probe",
  "openssl-sys",
  "pkg-config",
- "quick-xml",
+ "quick-xml 0.28.2",
  "rand 0.8.5",
  "serde",
  "thiserror",
  "url",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -6016,7 +6659,7 @@ dependencies = [
  "schemars_derive",
  "serde",
  "serde_json",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -6049,7 +6692,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.6",
  "untrusted 0.9.0",
 ]
 
@@ -6128,9 +6771,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
@@ -6168,9 +6811,9 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6476,6 +7119,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d4b756ac662e92a0e5b360349bea5f0b0784d4be4541eff2972049dfdfd7f862"
 
 [[package]]
+name = "snafu"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6"
+dependencies = [
+ "doc-comment",
+ "snafu-derive",
+]
+
+[[package]]
+name = "snafu-derive"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
 name = "snap"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6544,9 +7209,9 @@ dependencies = [
 
 [[package]]
 name = "spki"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
 dependencies = [
  "base64ct",
  "der 0.7.8",
@@ -6586,6 +7251,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "sqlparser"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7"
+dependencies = [
+ "log",
+]
+
+[[package]]
 name = "sqlx"
 version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6597,12 +7271,12 @@ dependencies = [
 
 [[package]]
 name = "sqlx"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
+checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
 dependencies = [
- "sqlx-core 0.7.2",
- "sqlx-macros 0.7.2",
+ "sqlx-core 0.7.3",
+ "sqlx-macros 0.7.3",
  "sqlx-mysql",
  "sqlx-postgres",
  "sqlx-sqlite",
@@ -6663,9 +7337,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-core"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
+checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
 dependencies = [
  "ahash 0.8.6",
  "atoi 2.0.0",
@@ -6703,8 +7377,8 @@ dependencies = [
  "tokio-stream",
  "tracing",
  "url",
- "uuid 1.5.0",
- "webpki-roots 0.24.0",
+ "uuid 1.6.1",
+ "webpki-roots 0.25.3",
 ]
 
 [[package]]
@@ -6728,23 +7402,24 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
+checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
 dependencies = [
  "proc-macro2",
  "quote",
- "sqlx-core 0.7.2",
+ "sqlx-core 0.7.3",
  "sqlx-macros-core",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "sqlx-macros-core"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
+checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
 dependencies = [
+ "atomic-write-file",
  "dotenvy",
  "either",
  "heck",
@@ -6755,7 +7430,7 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2 0.10.8",
- "sqlx-core 0.7.2",
+ "sqlx-core 0.7.3",
  "sqlx-mysql",
  "sqlx-postgres",
  "sqlx-sqlite",
@@ -6767,9 +7442,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-mysql"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
+checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
 dependencies = [
  "atoi 2.0.0",
  "base64 0.21.5",
@@ -6797,24 +7472,24 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "rand 0.8.5",
- "rsa 0.9.3",
+ "rsa 0.9.5",
  "serde",
  "sha1",
  "sha2 0.10.8",
  "smallvec",
- "sqlx-core 0.7.2",
+ "sqlx-core 0.7.3",
  "stringprep",
  "thiserror",
  "tracing",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "whoami",
 ]
 
 [[package]]
 name = "sqlx-postgres"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
+checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
 dependencies = [
  "atoi 2.0.0",
  "base64 0.21.5",
@@ -6845,11 +7520,11 @@ dependencies = [
  "sha1",
  "sha2 0.10.8",
  "smallvec",
- "sqlx-core 0.7.2",
+ "sqlx-core 0.7.3",
  "stringprep",
  "thiserror",
  "tracing",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "whoami",
 ]
 
@@ -6866,9 +7541,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-sqlite"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
+checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
 dependencies = [
  "atoi 2.0.0",
  "chrono",
@@ -6882,10 +7557,11 @@ dependencies = [
  "log",
  "percent-encoding",
  "serde",
- "sqlx-core 0.7.2",
+ "sqlx-core 0.7.3",
  "tracing",
  "url",
- "uuid 1.5.0",
+ "urlencoding",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -6914,6 +7590,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "streaming-decompression"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf6cc3b19bfb128a8ad11026086e31d3ce9ad23f8ea37354b31383a187c44cf3"
+dependencies = [
+ "fallible-streaming-iterator",
+]
+
+[[package]]
+name = "streaming-iterator"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
+
+[[package]]
+name = "strength_reduce"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
+
+[[package]]
 name = "string_cache"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7398,6 +8095,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "sysinfo"
+version = "0.29.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666"
+dependencies = [
+ "cfg-if",
+ "core-foundation-sys",
+ "libc",
+ "ntapi",
+ "once_cell",
+ "winapi",
+]
+
+[[package]]
 name = "system-configuration"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7436,6 +8147,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "target-features"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfb5fa503293557c5158bd215fdc225695e567a77e453f5d4452a50a193969bd"
+
+[[package]]
 name = "tempfile"
 version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7444,7 +8161,7 @@ dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
  "redox_syscall 0.4.1",
- "rustix 0.38.24",
+ "rustix 0.38.26",
  "windows-sys 0.48.0",
 ]
 
@@ -7521,7 +8238,7 @@ dependencies = [
  "tokio-rustls 0.23.4",
  "tokio-util",
  "tracing",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -8065,9 +8782,9 @@ dependencies = [
 
 [[package]]
 name = "triomphe"
-version = "0.1.9"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f"
+checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
 dependencies = [
  "serde",
  "stable_deref_trait",
@@ -8153,7 +8870,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7e37c4b6cbcc59a8dcd09a6429fbc7890286bcbb79215cea7b38a3c4c0921d93"
 dependencies = [
  "rand 0.8.5",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
@@ -8315,9 +9032,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "ureq"
-version = "2.8.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3"
+checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
 dependencies = [
  "base64 0.21.5",
  "flate2",
@@ -8329,14 +9046,14 @@ dependencies = [
  "serde",
  "serde_json",
  "url",
- "webpki-roots 0.25.2",
+ "webpki-roots 0.25.3",
 ]
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -8380,9 +9097,9 @@ dependencies = [
 
 [[package]]
 name = "uuid"
-version = "1.5.0"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
 dependencies = [
  "getrandom 0.2.11",
  "serde",
@@ -8469,9 +9186,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -8479,9 +9196,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
@@ -8494,9 +9211,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -8506,9 +9223,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -8516,9 +9233,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -8529,15 +9246,15 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "wasm-bindgen-test"
-version = "0.3.38"
+version = "0.3.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6433b7c56db97397842c46b67e11873eda263170afeb3a2dc74a7cb370fee0d"
+checksum = "2cf9242c0d27999b831eae4767b2a146feb0b27d332d553e605864acd2afd403"
 dependencies = [
  "console_error_panic_hook",
  "js-sys",
@@ -8549,9 +9266,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-test-macro"
-version = "0.3.38"
+version = "0.3.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "493fcbab756bb764fa37e6bee8cec2dd709eb4273d06d0c282a5e74275ded735"
+checksum = "794645f5408c9a039fd09f4d113cdfb2e7eba5ff1956b07bcf701cf4b394fe89"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -8582,9 +9299,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -8596,7 +9313,7 @@ version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.6",
  "untrusted 0.9.0",
 ]
 
@@ -8611,18 +9328,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
-dependencies = [
- "rustls-webpki",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.25.2"
+version = "0.25.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
 
 [[package]]
 name = "which"
@@ -8633,7 +9341,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.24",
+ "rustix 0.38.26",
 ]
 
 [[package]]
@@ -8679,7 +9387,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windmill"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "axum",
@@ -8699,12 +9407,12 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2 0.10.8",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "tokio",
  "tokio-metrics",
  "tracing",
  "url",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "windmill-api",
  "windmill-api-client",
  "windmill-common",
@@ -8714,7 +9422,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-api"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "argon2",
@@ -8745,6 +9453,9 @@ dependencies = [
  "magic-crypt",
  "mail-send",
  "mime_guess",
+ "object_store",
+ "polars",
+ "polars-io",
  "prometheus",
  "quick_cache",
  "rand 0.8.5",
@@ -8759,7 +9470,7 @@ dependencies = [
  "serde_urlencoded",
  "sha2 0.10.8",
  "sql-builder",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "tempfile",
  "time",
  "tinyvector",
@@ -8773,7 +9484,7 @@ dependencies = [
  "tracing",
  "tracing-subscriber",
  "urlencoding",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "windmill-audit",
  "windmill-common",
  "windmill-parser",
@@ -8783,7 +9494,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-api-client"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "base64 0.21.5",
  "chrono",
@@ -8796,25 +9507,25 @@ dependencies = [
  "serde",
  "serde_json",
  "syn 1.0.109",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
 name = "windmill-audit"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "chrono",
  "serde",
  "serde_json",
  "sql-builder",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "tracing",
  "windmill-common",
 ]
 
 [[package]]
 name = "windmill-common"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "axum",
@@ -8833,19 +9544,19 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2 0.10.8",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "thiserror",
  "tokio",
  "tracing",
  "tracing-flame",
  "tracing-loki",
  "tracing-subscriber",
- "uuid 1.5.0",
+ "uuid 1.6.1",
 ]
 
 [[package]]
 name = "windmill-parser"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "serde",
  "serde_json",
@@ -8853,7 +9564,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-bash"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -8864,7 +9575,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-go"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "gosyn",
@@ -8876,7 +9587,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-graphql"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -8887,7 +9598,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-py"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "itertools 0.12.0",
@@ -8898,7 +9609,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-py-imports"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "async-recursion",
@@ -8908,14 +9619,14 @@ dependencies = [
  "regex",
  "rustpython-parser",
  "serde_json",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "windmill-common",
  "windmill-parser",
 ]
 
 [[package]]
 name = "windmill-parser-sql"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -8926,7 +9637,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-ts"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "convert_case 0.6.0",
@@ -8943,7 +9654,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-parser-wasm"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "getrandom 0.2.11",
@@ -8961,7 +9672,7 @@ dependencies = [
 
 [[package]]
 name = "windmill-queue"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "async-recursion",
@@ -8980,19 +9691,20 @@ dependencies = [
  "rsmq_async",
  "serde",
  "serde_json",
+ "serde_urlencoded",
  "sql-builder",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "tokio",
  "tracing",
  "ulid",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "windmill-audit",
  "windmill-common",
 ]
 
 [[package]]
 name = "windmill-worker"
-version = "1.210.1"
+version = "1.219.1"
 dependencies = [
  "anyhow",
  "async-recursion",
@@ -9004,6 +9716,7 @@ dependencies = [
  "deno_console",
  "deno_core",
  "deno_fetch",
+ "deno_tls",
  "deno_url",
  "deno_web",
  "deno_webidl",
@@ -9031,14 +9744,14 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2 0.10.8",
- "sqlx 0.7.2",
+ "sqlx 0.7.3",
  "tiberius",
  "tokio",
  "tokio-postgres",
  "tokio-util",
  "tracing",
  "urlencoding",
- "uuid 1.5.0",
+ "uuid 1.6.1",
  "windmill-audit",
  "windmill-common",
  "windmill-parser",
@@ -9080,6 +9793,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9110,6 +9832,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9122,6 +9859,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9134,6 +9877,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9146,6 +9895,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9158,6 +9913,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9170,6 +9931,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9182,6 +9949,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9194,6 +9967,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
 version = "0.5.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9237,6 +10016,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
+name = "xxhash-rust"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
+
+[[package]]
 name = "xz2"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9271,18 +10056,18 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.26"
+version = "0.7.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.26"
+version = "0.7.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -9355,6 +10140,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "zstd"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
+dependencies = [
+ "zstd-safe 7.0.0",
+]
+
+[[package]]
 name = "zstd-safe"
 version = "5.0.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9375,6 +10169,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "zstd-safe"
+version = "7.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
+dependencies = [
+ "zstd-sys",
+]
+
+[[package]]
 name = "zstd-sys"
 version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/servers/windmill/default.nix b/pkgs/by-name/wi/windmill/package.nix
index d40ec9f4f0cf2..6a1f9e771f7e4 100644
--- a/pkgs/servers/windmill/default.nix
+++ b/pkgs/by-name/wi/windmill/package.nix
@@ -24,26 +24,25 @@
 
 let
   pname = "windmill";
-  version = "1.210.1";
+  version = "1.219.1";
 
-  fullSrc = fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "windmill-labs";
     repo = "windmill";
     rev = "v${version}";
-    hash = "sha256-ss3EsIqfuctPOEdI5IQtyFFcDzIqnFm6UUG1vA+OlkQ=";
+    hash = "sha256-HGZuIun9PWi3Fv/kX95k4xnXu1L604teWUKXzjVXKF0=";
   };
 
   pythonEnv = python3.withPackages (ps: [ ps.pip-tools ]);
 
   frontend-build = buildNpmPackage {
-    inherit version;
+    inherit version src;
 
     pname = "windmill-ui";
-    src = fullSrc;
 
-    sourceRoot = "${fullSrc.name}/frontend";
+    sourceRoot = "${src.name}/frontend";
 
-    npmDepsHash = "sha256-l9MRaa6TaBg9vFoVuIGZNC9jLS29TlWeSniIBRNDRgU=";
+    npmDepsHash = "sha256-1uya/4FjMHTDW/KX1YinhTT/Mb7bJ9XVTWc6cU0oqJ8=";
 
     # without these you get a
     # FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
@@ -64,7 +63,7 @@ let
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
-  src = "${fullSrc}/backend";
+  src = "${src}/backend";
 
   env = {
     SQLX_OFFLINE = "true";
@@ -92,10 +91,10 @@ rustPlatform.buildRustPackage {
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "progenitor-0.3.0" = "sha256-F6XRZFVIN6/HfcM8yI/PyNke45FL7jbcznIiqj22eIQ=";
-      "tinyvector-0.1.0" = "sha256-NYGhofU4rh+2IAM+zwe04YQdXY8Aa4gTmn2V2HtzRfI=";
       "archiver-rs-0.5.1" = "sha256-ZIik0mMABmhdx/ullgbOrKH5GAtqcOKq5A6vB7aBSjk=";
       "pg-embed-0.7.2" = "sha256-R/SrlzNK7aAOyXVTQ/WPkiQb6FyMg9tpsmPTsiossDY=";
+      "progenitor-0.3.0" = "sha256-F6XRZFVIN6/HfcM8yI/PyNke45FL7jbcznIiqj22eIQ=";
+      "tinyvector-0.1.0" = "sha256-NYGhofU4rh+2IAM+zwe04YQdXY8Aa4gTmn2V2HtzRfI=";
     };
   };
 
@@ -115,6 +114,14 @@ rustPlatform.buildRustPackage {
 
     substituteInPlace src/main.rs \
       --replace 'unknown-version' 'v${version}'
+
+    pushd ..
+
+    mkdir -p frontend/build
+    cp -R ${frontend-build}/share/windmill-frontend/* frontend/build
+    cp ${src}/openflow.openapi.yaml .
+
+    popd
   '';
 
   buildInputs = [
@@ -131,17 +138,6 @@ rustPlatform.buildRustPackage {
     cmake # for libz-ng-sys crate
   ];
 
-  preBuild = ''
-    pushd ..
-
-    mkdir -p frontend/build
-
-    cp -R ${frontend-build}/share/windmill-frontend/* frontend/build
-    cp ${fullSrc}/openflow.openapi.yaml .
-
-    popd
-  '';
-
   # needs a postgres database running
   doCheck = false;
 
@@ -150,7 +146,7 @@ rustPlatform.buildRustPackage {
 
     wrapProgram "$out/bin/windmill" \
       --prefix PATH : ${lib.makeBinPath [go pythonEnv deno nsjail bash]} \
-      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc.lib}/lib" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [stdenv.cc.cc.lib]} \
       --set PYTHON_PATH "${pythonEnv}/bin/python3" \
       --set GO_PATH "${go}/bin/go" \
       --set DENO_PATH "${deno}/bin/deno" \
@@ -158,7 +154,7 @@ rustPlatform.buildRustPackage {
   '';
 
   meta = {
-    changelog = "https://github.com/windmill-labs/windmill/blob/${fullSrc.rev}/CHANGELOG.md";
+    changelog = "https://github.com/windmill-labs/windmill/blob/${src.rev}/CHANGELOG.md";
     description = "Open-source developer platform to turn scripts into workflows and UIs";
     homepage = "https://windmill.dev";
     license = lib.licenses.agpl3Only;
diff --git a/pkgs/servers/windmill/run.bash.config.proto.patch b/pkgs/by-name/wi/windmill/run.bash.config.proto.patch
index 874fe0607ee70..874fe0607ee70 100644
--- a/pkgs/servers/windmill/run.bash.config.proto.patch
+++ b/pkgs/by-name/wi/windmill/run.bash.config.proto.patch
diff --git a/pkgs/servers/windmill/run.go.config.proto.patch b/pkgs/by-name/wi/windmill/run.go.config.proto.patch
index a5e3b68b07d7c..a5e3b68b07d7c 100644
--- a/pkgs/servers/windmill/run.go.config.proto.patch
+++ b/pkgs/by-name/wi/windmill/run.go.config.proto.patch
diff --git a/pkgs/servers/windmill/run.python3.config.proto.patch b/pkgs/by-name/wi/windmill/run.python3.config.proto.patch
index 85e87d7b34330..85e87d7b34330 100644
--- a/pkgs/servers/windmill/run.python3.config.proto.patch
+++ b/pkgs/by-name/wi/windmill/run.python3.config.proto.patch
diff --git a/pkgs/servers/windmill/swagger-cli.patch b/pkgs/by-name/wi/windmill/swagger-cli.patch
index 61b92db48072c..61b92db48072c 100644
--- a/pkgs/servers/windmill/swagger-cli.patch
+++ b/pkgs/by-name/wi/windmill/swagger-cli.patch
diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/by-name/xa/xarcan/package.nix
index b979b64a06c5b..fb43766e72077 100644
--- a/pkgs/desktops/arcan/xarcan/default.nix
+++ b/pkgs/by-name/xa/xarcan/package.nix
@@ -38,13 +38,13 @@
 
 stdenv.mkDerivation (finalPackages: {
   pname = "xarcan";
-  version = "unstable-2022-06-14";
+  version = "unstable-2023-11-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "xarcan";
-    rev = "02111f4925453c0c545e9193c6a5e22c0d4e98c3";
-    hash = "sha256-rp2sNRbv0OZdfyqZfsv/v3TGQY5uyXWqbvlmUDd7iBk=";
+    rev = "380ea856307f593535dfc8b23799938db69e31b0";
+    hash = "sha256-RdizezCbJylQDkOmUdqL0lBTNLsjyvo+lKAjfZXTXf4=";
   };
 
   nativeBuildInputs = [
@@ -104,7 +104,7 @@ stdenv.mkDerivation (finalPackages: {
     "--with-xkb-path=${xkeyboard_config}/share/X11/xkb"
   ];
 
-  meta = with lib; {
+  meta =  {
     homepage = "https://github.com/letoram/letoram";
     description = "Patched Xserver that bridges connections to Arcan";
     longDescription = ''
@@ -112,8 +112,8 @@ stdenv.mkDerivation (finalPackages: {
       arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It
       allows running an X session as a window under Arcan.
     '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix
index abdbdbc2e7965..9ba083e0fb34b 100644
--- a/pkgs/by-name/yg/yggdrasil/package.nix
+++ b/pkgs/by-name/yg/yggdrasil/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-+E8CJs6m6iyMQNIqBbKLg8ghZR0FIuY5D1iDoUlaDyo=";
+    sha256 = "sha256-or+XTt8V/1BuLSJ53w1aKqJfx3Pka6VmC4TpvpP83+0=";
   };
 
-  vendorHash = "sha256-FXlIrsl3fbWpEpwrY5moaJI0H0yXtrTQhHFu+ktWRVM=";
+  vendorHash = "sha256-K7VJ+1x7+DgdwTjEgZ7sJ7SaCssBg+ukQupJ/1FN4F0=";
 
   subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
diff --git a/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
new file mode 100644
index 0000000000000..7a682ce7e4c60
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
@@ -0,0 +1,39 @@
+diff -Naur ytree-2.06-old/Makefile ytree-2.06-new/Makefile
+--- ytree-2.06-old/Makefile	2023-11-26 06:15:34.000000000 -0300
++++ ytree-2.06-new/Makefile	2023-12-01 12:25:36.641958285 -0300
+@@ -11,13 +11,13 @@
+ # ADD_CFLAGS: Add -DVI_KEYS if you want vi-cursor-keys
+ #
+ 
+-DESTDIR     = /usr
++PREFIX      = /usr
+ 
+ ADD_CFLAGS  = -O # -DVI_KEYS
+ 
+-BINDIR      = $(DESTDIR)/bin
+-MANDIR      = $(DESTDIR)/share/man/man1
+-MANESDIR    = $(DESTDIR)/share/man/es/man1
++BINDIR      = $(DESTDIR)$(PREFIX)/bin
++MANDIR      = $(DESTDIR)$(PREFIX)/share/man/man1
++MANESDIR    = $(DESTDIR)$(PREFIX)/share/man/es/man1
+ 
+ 
+ # Uncomment the lines for your system (default is linux)
+@@ -224,14 +224,14 @@
+ 
+ install:	$(MAIN)
+ 		install $(MAIN) $(BINDIR)
+-		gzip -9c ytree.1 > ytree.1.gz
++		gzip -n -9c ytree.1 > ytree.1.gz
+ 		if [ -d $(MANDIR) ]; then install -m 0644 ytree.1.gz  $(MANDIR)/; fi
+-		gzip -9c ytree.1.es > ytree.1.es.gz
++		gzip -n -9c ytree.1.es > ytree.1.es.gz
+ 		if [ -d $(MANESDIR) ]; then install -m 0644 ytree.1.es.gz $(MANESDIR)/; fi
+ 
+ clean:
+ 		rm -f core *.o *~ *.orig *.bak 
+-		
++
+ clobber:	clean
+ 		rm -f $(MAIN) ytree.1.es.gz ytree.1.gz
+ 
diff --git a/pkgs/by-name/yt/ytree/package.nix b/pkgs/by-name/yt/ytree/package.nix
new file mode 100644
index 0000000000000..6307d39b6629d
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+, readline
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ytree";
+  version = "2.06";
+
+  src = fetchurl {
+    url = "https://han.de/~werner/ytree-${finalAttrs.version}.tar.gz";
+    hash = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY=";
+  };
+
+  patches = [
+    # Two fixups (because diff files can't be smaller):
+    # - Create PREFIX instead of using DESTDIR
+    # - use gzip without timestamp, to improve reproducibility
+    ./0001-use-prefix-and-gzip-n.diff
+  ];
+
+  buildInputs = [
+    ncurses
+    readline
+  ];
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share/man/man1
+  '';
+
+  meta = {
+    homepage = "https://www.han.de/~werner/ytree.html";
+    description = "A curses-based file manager similar to DOS Xtree(TM)";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "ytree";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+  };
+})
+# TODO: X11 support
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index fee51ebacf4a9..b5a5d26b5122d 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -166,7 +166,7 @@ rec {
 
   noto-fonts-color-emoji =
     let
-      version = "2.038";
+      version = "2.042";
       emojiPythonEnv =
         buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
     in
@@ -178,7 +178,7 @@ rec {
         owner = "googlefonts";
         repo = "noto-emoji";
         rev = "v${version}";
-        sha256 = "1rgmcc6nqq805iqr8kvxxlk5cf50q714xaxk3ld6rjrd69kb8ix9";
+        hash = "sha256-otJQMXrBIPrxD1vCdgcrZ2h1a9XAMbqEBFumjz1XJ54=";
       };
 
       depsBuildBuild = [
diff --git a/pkgs/data/fonts/quivira/default.nix b/pkgs/data/fonts/quivira/default.nix
new file mode 100644
index 0000000000000..8affc4f6c729b
--- /dev/null
+++ b/pkgs/data/fonts/quivira/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchurl }:
+let
+  pname = "quivira";
+  version = "4.1";
+in fetchurl {
+  name = "${pname}-${version}";
+  url = "http://www.quivira-font.com/files/Quivira.otf";
+
+  # Download the source file to a temporary directory so that $out can be a
+  # directory with the expected structure.
+  downloadToTemp = true;
+  # recursiveHash needs to be true because $out is going to be a directory.
+  recursiveHash = true;
+  postFetch = ''
+    install -D $downloadedFile $out/share/fonts/opentype/Quivira.otf
+  '';
+
+  sha256 = "Hhl+0Oc5DDohOpBbEARMunMYCpr6nn4X6RgpQeEksNo=";
+  meta = {
+    description = "a free Unicode font in the OpenType format which is supported by every usual office program or printer";
+    homepage = "http://www.quivira-font.com/";
+    license = lib.licenses.publicDomain;
+    maintainers = [ lib.maintainers.nosewings ];
+    # From the homepage: "If you try to install Quivira on a Mac,
+    # you will get an error message about the 'post table
+    # usability'."
+    platforms = lib.filter (platform: !lib.hasInfix "darwin" platform) lib.platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 14dc6514e8161..b7895b94be4c5 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.42.2";
+  version = "0.42.6";
 
   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-RkPHlOPXQiAswtekrOCmYcPNlNSvcqyaM4juSHJxEeY=";
+    hash = "sha256-G6REQA3Eq5fqVQCQN967Yv1xaLQSG06meJ0KeD0I/TM=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/icons/vimix-cursor-theme/default.nix b/pkgs/data/icons/vimix-cursor-theme/default.nix
new file mode 100644
index 0000000000000..4d20acca83b05
--- /dev/null
+++ b/pkgs/data/icons/vimix-cursor-theme/default.nix
@@ -0,0 +1,33 @@
+{ stdenvNoCC
+, fetchFromGitHub
+, lib
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "vimix-cursor-theme";
+  version = "2020-02-24";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = "Vimix-cursors";
+    rev = version;
+    hash = "sha256-TfcDer85+UOtDMJVZJQr81dDy4ekjYgEvH1RE1IHMi4=";
+  };
+
+  installPhase = ''
+    sed -i 's/Vimix Cursors$/Vimix-Cursors/g' dist{,-white}/index.theme
+
+    install -dm 755 $out/share/icons/Vimix-Cursors{,-White}
+
+    cp -dr --no-preserve='ownership' dist/*        $out/share/icons/Vimix-Cursors
+    cp -dr --no-preserve='ownership' dist-white/*  $out/share/icons/Vimix-Cursors-White
+  '';
+
+  meta = with lib; {
+    description = "An x-cursor theme inspired by Materia design and based on capitaine-cursors";
+    homepage = "https://github.com/vinceliuice/Vimix-cursors";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ redxtech ];
+  };
+}
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
index 6d06d49eb7115..953ae55626280 100644
--- a/pkgs/data/misc/cldr-annotations/default.nix
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cldr-annotations";
-  version = "43.0";
+  version = "44.0";
 
   src = fetchzip {
     url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
     stripRoot = false;
-    hash = "sha256-L8ikzRpSw4mDCV79TiUqhPHWC0PmGi4i4He0OAB54R0=";
+    hash = "sha256-oK+NlzuRF45laEMJKhNDzr12RF4CHIfDFNBFsIjJh1I=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/misc/dbip-country-lite/default.nix b/pkgs/data/misc/dbip-country-lite/default.nix
index eefd161632d81..4e3ec3b550497 100644
--- a/pkgs/data/misc/dbip-country-lite/default.nix
+++ b/pkgs/data/misc/dbip-country-lite/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dbip-country-lite";
-  version = "2023-11";
+  version = "2023-12";
 
   src = fetchurl {
     url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
-    hash = "sha256-Nyje7hf5UdCMHbqZoLpHclDDa4pz+BAyqJcsmPBfSG8=";
+    hash = "sha256-02ujUkrMaINTwPUQbC/RKfAgGMySgalQnpALxdZQW/A=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 15eac7a7168a9..7ed0f4abfd4a8 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "f4111a737432472002a38495b14b930255705d6a",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f4111a737432472002a38495b14b930255705d6a.tar.gz",
-  "sha256": "0q1nhk821fdwxmidsd9mnd77ml4c05f7rnmd80g4s876s65ldi5q",
-  "msg": "Update from Hackage at 2023-11-10T11:27:19Z"
+  "commit": "def4ad933fb86415a9802d7833369d12520e7744",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/def4ad933fb86415a9802d7833369d12520e7744.tar.gz",
+  "sha256": "0nfqz1mwzgvkkk22igq5jxfwfcc0l8i1ihlgxaixf2ip1qqlqzs6",
+  "msg": "Update from Hackage at 2023-11-20T05:37:18Z"
 }
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index e330a7bab9bc1..88ff72c28c76a 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20231122065640";
+    version = "20231201183121";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-M11PasiVVfRz1oySS6eJhCAsxX4sF5ehknYWEhb3K9Q=";
+      hash = "sha256-BOq4hT8K+m/bdAj6f1TbT3BvAn05bH3EdphcaWqFYFk=";
     };
     vendorHash = "sha256-6167kRAC5m5FlBr7uk+qKUcjWsb45P5Vvovyb6hHSVQ=";
     meta = with lib; {
diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/data/themes/catppuccin/default.nix
index e8cdb0456d173..c9a51ba241d48 100644
--- a/pkgs/data/themes/catppuccin/default.nix
+++ b/pkgs/data/themes/catppuccin/default.nix
@@ -1,5 +1,5 @@
 let
-  validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "refind" "rofi" "waybar" ];
+  validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "qt5ct" "refind" "rofi" "waybar" ];
 in
 { fetchFromGitHub
 , lib
@@ -88,6 +88,14 @@ let
       hash = "sha256-quBSH8hx3gD7y1JNWAKQdTk3CmO4t1kVo4cOGbeWlNE=";
     };
 
+    qt5ct = fetchFromGitHub {
+      name = "qt5ct";
+      owner = "catppuccin";
+      repo = "qt5ct";
+      rev = "89ee948e72386b816c7dad72099855fb0d46d41e";
+      hash = "sha256-t/uyK0X7qt6qxrScmkTU2TvcVJH97hSQuF0yyvSO/qQ=";
+    };
+
     refind = fetchFromGitHub {
       name = "refind";
       owner = "catppuccin";
@@ -174,6 +182,10 @@ stdenvNoCC.mkDerivation {
     cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant}
     sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' $out/share/plymouth/themes/catppuccin-${variant}/catppuccin-${variant}.plymouth
 
+  '' + lib.optionalString (lib.elem "qt5ct" themeList) ''
+    mkdir -p $out/qt5ct
+    cp ${sources.qt5ct}/themes/Catppuccin-"$capitalizedVariant".conf $out/qt5ct/
+
   '' + lib.optionalString (lib.elem "rofi" themeList) ''
     mkdir -p $out/rofi
     cp ${sources.rofi}/basic/.local/share/rofi/themes/catppuccin-${variant}.rasi $out/rofi/
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
deleted file mode 100644
index 76cc6a2a4a03d..0000000000000
--- a/pkgs/desktops/arcan/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ config, lib, pkgs }:
-
-lib.makeScope pkgs.newScope (self: with self; {
-  # Dependencies
-
-  espeak = pkgs.espeak-ng;
-  ffmpeg = pkgs.ffmpeg-full;
-  harfbuzz = pkgs.harfbuzzFull;
-
-  # Arcan
-
-  arcan = callPackage ./arcan { };
-  arcan-wrapped = callPackage ./wrapper.nix { };
-  xarcan = callPackage ./xarcan { };
-
-  # Appls
-
-  cat9 = callPackage ./cat9 { };
-  cat9-wrapped = callPackage ./wrapper.nix {
-    name = "cat9-wrapped";
-    appls = [ cat9 ];
-  };
-
-  durden = callPackage ./durden { };
-  durden-wrapped = callPackage ./wrapper.nix {
-    name = "durden-wrapped";
-    appls = [ durden ];
-  };
-
-  pipeworld = callPackage ./pipeworld { };
-  pipeworld-wrapped = callPackage ./wrapper.nix {
-    name = "pipeworld-wrapped";
-    appls = [ pipeworld ];
-  };
-
-  # Warning: prio is deprecated; however it works and is useful for testing
-  prio = callPackage ./prio { };
-  prio-wrapped = callPackage ./wrapper.nix {
-    name = "prio-wrapped";
-    appls = [ prio ];
-  };
-
-  # One Expression to SymlinkJoin Them All
-
-  all-wrapped = callPackage ./wrapper.nix {
-    name = "all-wrapped";
-    appls = [ durden cat9 pipeworld ];
-  };
-})
diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix
index 2d7fd0c6c022f..5abfdd2ec81df 100644
--- a/pkgs/desktops/cinnamon/bulky/default.nix
+++ b/pkgs/desktops/cinnamon/bulky/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bulky";
-  version = "2.10";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "bulky";
     rev = version;
-    hash = "sha256-3hpg9a5HU7mSSlMOWvmB/p0Mlyla5PDiS0J9iYJLr6Q=";
+    hash = "sha256-akEweZpnfNeLuiUK1peI83uYsjVrFeQ0Is/+bpdNwdU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index 3ff56b18d2557..fd1ad256d20cc 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -9,7 +9,6 @@
 , cjs
 , evolution-data-server
 , fetchFromGitHub
-, fetchpatch
 , gdk-pixbuf
 , gettext
 , libgnomekbd
@@ -20,7 +19,6 @@
 , intltool
 , json-glib
 , callPackage
-, libsoup
 , libstartup_notification
 , libXtst
 , libXdamage
@@ -73,25 +71,18 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "5.8.4";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    hash = "sha256-34kOSDIU56cSZ4j0FadVfr9HLQytnK4ys88DFF7LTiM=";
+    hash = "sha256-kQvPdamS0t7YcWyCekdsLNXZfidaV3tdSptzHPGMSZ0=";
   };
 
   patches = [
     ./use-sane-install-dir.patch
     ./libdir.patch
-
-    # Backport pillow 10.0.0 support.
-    # https://github.com/linuxmint/cinnamon/issues/11746
-    (fetchpatch {
-      url = "https://github.com/linuxmint/cinnamon/commit/fce9aad1ebb290802dc550e8dae6344dddf9dec1.patch";
-      hash = "sha256-flt7CblfXlLieAVNeC8TBnv1TX0Zca1obPWusBMnIxE=";
-    })
   ];
 
   buildInputs = [
@@ -108,7 +99,6 @@ stdenv.mkDerivation rec {
     gsound
     gtk3
     json-glib
-    libsoup # referenced in js/ui/environment.js
     libstartup_notification
     libXtst
     libXdamage
@@ -170,9 +160,10 @@ stdenv.mkDerivation rec {
 
     pushd ./files/usr/share/cinnamon/cinnamon-settings
       substituteInPlace ./bin/capi.py                     --replace '"/usr/lib"' '"${cinnamon-control-center}/lib"'
-      substituteInPlace ./bin/CinnamonGtkSettings.py      --replace "'python3'" "'${pythonEnv.interpreter}'"
       substituteInPlace ./bin/SettingsWidgets.py          --replace "/usr/share/sounds" "/run/current-system/sw/share/sounds"
-      substituteInPlace ./bin/Spices.py                   --replace "msgfmt" "${gettext}/bin/msgfmt"
+      substituteInPlace ./bin/Spices.py                   --replace "subprocess.run(['/usr/bin/" "subprocess.run(['" \
+                                                          --replace 'subprocess.run(["/usr/bin/' 'subprocess.run(["' \
+                                                          --replace "msgfmt" "${gettext}/bin/msgfmt"
       substituteInPlace ./modules/cs_info.py              --replace "lspci" "${pciutils}/bin/lspci"
       substituteInPlace ./modules/cs_themes.py            --replace "$out/share/cinnamon/styles.d" "/run/current-system/sw/share/cinnamon/styles.d"
     popd
@@ -201,7 +192,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    providedSessions = [ "cinnamon" "cinnamon2d" ];
+    providedSessions = [ "cinnamon" "cinnamon2d" "cinnamon-wayland" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index 775ab979ad8c8..40d0243b5f240 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-control-center";
-  version = "5.8.2";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-7AXm4ZTpI/4Xa2lwDmEvomNdwmgVoXSKqojpFZMuoVQ=";
+    hash = "sha256-zkJkZagZBt6JMiC/HLsyP9+qVLtTszumOk3PKt18X4Y=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index e42e5a6069b9e..0f53fbbb656a6 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -10,6 +10,7 @@
 , python3
 , lib
 , stdenv
+, systemd
 , xkeyboard_config
 , xorg
 , wrapGAppsHook
@@ -18,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-desktop";
-  version = "5.8.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-rYTWtdYfMow3cIPhJdcmhyaIIU7fgVecWigbsCW0Piw=";
+    hash = "sha256-Ay9JyPBsE345dBwQHChkaGuoXiB2nPyvCNhWWphL8kY=";
   };
 
   outputs = [ "out" "dev" ];
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gdk-pixbuf
+    systemd
     xkeyboard_config
     xorg.libxkbfile
     xorg.libXext
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index 444a68778664d..754a5c43a182e 100644
--- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-menus";
-  version = "5.8.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-AgA/DA7I9/0AJhlmgk0yAOJaZzpiQV1vM949Y6EOWVg=";
+    hash = "sha256-zP1jA5Fwxh6QrM5YwJo7SFPWaxkJsv1D84dhIDP5xuI=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index 91c4955630582..f3bc244eba00b 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -19,7 +20,6 @@
 , gobject-introspection
 , python3
 , pam
-, accountsservice
 , cairo
 , xapp
 , xdotool
@@ -29,18 +29,22 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-screensaver";
-  version = "5.8.1";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-d7h9OJ39HVQNCHNr13M1ybDFoU3Xnd1PEczGLHZU/lU=";
+    hash = "sha256-5hXhCPXC7b2SsmvNSLDe/WYQcufN7FfhnaAgTNtqg0I=";
   };
 
   patches = [
-    # See https://github.com/linuxmint/cinnamon-screensaver/issues/446#issuecomment-1819580053
-    ./fix-broken-theming-with-pygobject-3-46.patch
+    # Fix broken theming with pygobject >= 3.46.0
+    # https://github.com/linuxmint/cinnamon-screensaver/issues/446
+    (fetchpatch {
+      url = "https://github.com/linuxmint/cinnamon-screensaver/commit/37ab8ed18f35591f2bd99043f12c06d98b4527db.patch";
+      hash = "sha256-4YSithosyTLy8OFu6DEhLT4c+EGEg84EenTKAiBiWo4=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -75,7 +79,6 @@ stdenv.mkDerivation rec {
     xapp
     xdotool
     pam
-    accountsservice
     cairo
     cinnamon-desktop
     cinnamon-common
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch b/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch
deleted file mode 100644
index c594826d52613..0000000000000
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/cinnamon-screensaver-main.py b/src/cinnamon-screensaver-main.py
-index 05b727c..a185159 100755
---- a/src/cinnamon-screensaver-main.py
-+++ b/src/cinnamon-screensaver-main.py
-@@ -139,9 +139,9 @@ class Main(Gtk.Application):
- 
-             fallback_prov = Gtk.CssProvider()
- 
--            if fallback_prov.load_from_data(fallback_css.encode()):
--                Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), fallback_prov, 600)
--                Gtk.StyleContext.reset_widgets(Gdk.Screen.get_default())
-+            fallback_prov.load_from_data(fallback_css.encode())
-+            Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), fallback_prov, 600)
-+            Gtk.StyleContext.reset_widgets(Gdk.Screen.get_default())
- 
- if __name__ == "__main__":
-     setproctitle.setproctitle('cinnamon-screensaver')
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 51fa5bca3dd60..a6800f94737d5 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -23,15 +23,22 @@
 , pango
 }:
 
+let
+  pythonEnv = python3.withPackages (pp: with pp; [
+    pp.xapp # don't omit `pp.`, see #213561
+    pygobject3
+    setproctitle
+  ]);
+in
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "5.8.1";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-NVoP1KYh/z96NKMi9LjL4RgkjJg32oSy5WHJ91+70DI=";
+    hash = "sha256-9wdakMCW0RnsYdf9OmK/Q9o8m0g+5EfHVbjqvFY3d/w=";
   };
 
   patches = [
@@ -40,6 +47,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     # meson.build
+    cinnamon-desktop
     gtk3
     glib
     libcanberra
@@ -57,12 +65,11 @@ stdenv.mkDerivation rec {
     xorg.xtrans
 
     # other (not meson.build)
-
-    cinnamon-desktop
     cinnamon-settings-daemon
     dbus-glib
     glib
     gsettings-desktop-schemas
+    pythonEnv # for cinnamon-session-quit
   ];
 
   nativeBuildInputs = [
@@ -81,8 +88,10 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    chmod +x data/meson_install_schemas.py # patchShebangs requires executable file
-    patchShebangs data/meson_install_schemas.py
+    # patchShebangs requires executable file
+    chmod +x data/meson_install_schemas.py cinnamon-session-quit/cinnamon-session-quit.py
+    patchShebangs --build data/meson_install_schemas.py
+    patchShebangs --host cinnamon-session-quit/cinnamon-session-quit.py
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index 9eb2d743d8e4a..65828b3da6040 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.8.1";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-2ObfUdrCuvyhtpoxNzoH8tsFQLxNkMLQPFfJajXEsXU=";
+    hash = "sha256-bT6NetCBo3J9IiiJ9Hs4iC1N3n/AP9Q+6wZciuKA4i4=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index 1c46fdcf6be00..845c5e849ebaf 100644
--- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-translations";
-  version = "5.8.2";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-hFqCKzJogGka6vsIj8SCL9GMDsTQO50jwpYKr74V5Fo=";
+    hash = "sha256-nzPveo48rLu5CFEXj1GV3cJG6DepAFosWBibxoiYvIs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 681d6afd4ead2..4ff139ba787e8 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cjs";
-  version = "5.8.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cjs";
     rev = version;
-    hash = "sha256-DKCe8dKdYfdeWQ9Iqr0AmDU7YDN9QrQGdTkrBV/ywV0=";
+    hash = "sha256-oSqEAZWEVb8NxFTScl8s5Mb04tCGDyVVslYW00s4YYk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
index 8f75fb2b61455..c9dd7759cb0c1 100644
--- a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
+++ b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
@@ -7,14 +7,14 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "folder-color-switcher";
-  version = "1.5.9";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     # They don't really do tags, this is just a named commit.
-    rev = "b735ed90b798eda541885735368930d045430e6e";
-    sha256 = "sha256-acbBghi3LWpGH1dBF8icuTGgliA+NM+pE8YDN3WxOic=";
+    rev = "826df0b71c7c3b686421437eac86883945dc5956";
+    sha256 = "sha256-WdOTyladZ0U39wbhqsXzg9l3mJ5UGV99yVg1PWscP2w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index c2ad10f97ac03..98ee19c27e783 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -6,6 +6,7 @@
 , cinnamon-desktop
 , dbus
 , desktop-file-utils
+, egl-wayland
 , glib
 , gnome
 , gobject-introspection
@@ -19,6 +20,7 @@
 , libinput
 , libstartup_notification
 , libwacom
+, libxcvt
 , libXdamage
 , libxkbcommon
 , libXtst
@@ -29,13 +31,16 @@
 , pkg-config
 , python3
 , udev
+, wayland
+, wayland-protocols
 , wrapGAppsHook
 , xorgserver
+, xwayland
 }:
 
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "5.8.1";
+  version = "6.0.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -43,7 +48,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-9YE+pHXJb21CcAflL9swNyhQY3ZCkLlZbnmUwTNdyfA=";
+    hash = "sha256-17B2C3SW9smTgLBBGJc9LwFpXoP9WidZEGgI2hbJTH8=";
   };
 
   patches = [
@@ -69,6 +74,7 @@ stdenv.mkDerivation rec {
     cairo
     cinnamon-desktop
     dbus
+    egl-wayland
     glib
     gtk3
     libcanberra
@@ -78,10 +84,14 @@ stdenv.mkDerivation rec {
     libinput
     libstartup_notification
     libwacom
+    libxcvt
     libXdamage
     libxkbcommon
     pipewire
     udev
+    wayland
+    wayland-protocols
+    xwayland
   ];
 
   propagatedBuildInputs = [
@@ -91,6 +101,13 @@ stdenv.mkDerivation rec {
     graphene
   ];
 
+  mesonFlags = [
+    # Based on Mint's debian/rules.
+    "-Degl_device=true"
+    "-Dwayland_eglstream=true"
+    "-Dxwayland_path=${lib.getExe xwayland}"
+  ];
+
   postPatch = ''
     patchShebangs src/backends/native/gen-default-modes.py
   '';
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
index 491373f5ea5f4..c59538a40a44e 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
@@ -4,12 +4,12 @@ rec {
   # When you bump this, you should make sure all nemo-extensions
   # are actually using this file since we try to deal with tags
   # like nemo-fileroller-5.6.1 according to upstream's wishes.
-  version = "5.8.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "nemo-extensions";
     rev = version;
-    sha256 = "sha256-tyRYPWJa93w05a0PcYvz1GA8/xX2kHLdIzz4tCcppiY=";
+    sha256 = "sha256-M8ImntyfFfSL591UpqZosE7F8ydbpfrBhcLOBtW/sGQ=";
   };
 }
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index 61266bb871006..406bcd1325110 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.8.5";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Nl/T+8mmQdCTHo3qAUd+ATflSDXiGCQfGb1gXzvLuAc=";
+    sha256 = "sha256-JeiBhgfGyGyNT9eNhtUl6Pp1jgG02NRlm5lam592lS0=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix
index ef434171d914f..d7e320d1a64b3 100644
--- a/pkgs/desktops/cinnamon/pix/default.nix
+++ b/pkgs/desktops/cinnamon/pix/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -34,24 +33,15 @@
 
 stdenv.mkDerivation rec {
   pname = "pix";
-  version = "3.0.2";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iNUhcHG4nCZ4WNELodyLdztzfNg9g+F0eQrZHXS6Zj0=";
+    sha256 = "sha256-ufm8f0mR35fGFOAL89MH6z88n3ZHG0IcQzIFrUjSQ1c=";
   };
 
-  patches = [
-    # Fix build with exiv2 0.28, can be removed on next update
-    # https://github.com/linuxmint/pix/pull/178
-    (fetchpatch {
-      url = "https://github.com/linuxmint/pix/commit/46e19703a973d51fa97e6a22121560f5ba200eea.patch";
-      sha256 = "sha256-Z+pUxoy0m/agXW++YxEUhRuax0qvuGVXNhU8d9mvGh4=";
-    })
-  ];
-
   nativeBuildInputs = [
     bison
     desktop-file-utils
diff --git a/pkgs/desktops/cinnamon/warpinator/default.nix b/pkgs/desktops/cinnamon/warpinator/default.nix
index 1274550df2e9e..4ccb373d0666a 100644
--- a/pkgs/desktops/cinnamon/warpinator/default.nix
+++ b/pkgs/desktops/cinnamon/warpinator/default.nix
@@ -29,17 +29,20 @@ let
     cryptography
     pynacl
     netifaces
+    netaddr
+    ifaddr
+    qrcode
   ]);
 in
 stdenv.mkDerivation rec {
   pname = "warpinator";
-  version = "1.6.4";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-BKptTQbSBTQyc5V6WWdsPdC76sH0CFMXOyahfRmvQzc=";
+    hash = "sha256-dxbs2Qq1Ix04yIA587tntLJ3W/pnA0wTiQ4BB5GCTR0=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +63,7 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
+    "-Dbundle-grpc=false"
     "-Dbundle-zeroconf=false"
   ];
 
diff --git a/pkgs/desktops/cinnamon/xapp/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix
index 5b38d0662ea55..77613562fd785 100644
--- a/pkgs/desktops/cinnamon/xapp/default.nix
+++ b/pkgs/desktops/cinnamon/xapp/default.nix
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xapp";
-  version = "2.6.1";
+  version = "2.8.1";
 
   outputs = [ "out" "dev" ];
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-ZxIPiDLcMHEmlnrImctI2ZfH3AIOjB4m/RPGipJ7koM=";
+    hash = "sha256-JsaH74h36FTIYVKiULmisK/RFGMZ79rhr7sacFnpFas=";
   };
 
   # Recommended by upstream, which enables the build of xapp-debug.
diff --git a/pkgs/desktops/cinnamon/xreader/default.nix b/pkgs/desktops/cinnamon/xreader/default.nix
index c1ef0ca15c140..828a9afbdb603 100644
--- a/pkgs/desktops/cinnamon/xreader/default.nix
+++ b/pkgs/desktops/cinnamon/xreader/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xreader";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fLnpBJJzrsQSyN+Ok1u/+CwHzBg+bzFR2Jwkc5mpMPA=";
+    sha256 = "sha256-eSMPXBJ+VIMrIy86mMbRtZ28DvX7aCzLAAQ+RWqlCpc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix
index c03ba5145b5ef..301ec24f8f7c0 100644
--- a/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xviewer";
-  version = "3.4.1";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HVxCBqaKtsEGhGAB+dBCOnjAjLZHv0XqTifPrvoYdj8=";
+    sha256 = "sha256-q8Eg84mnsu+dJkF6K27HISfSF6OI3GcTdo0Fft50G9A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
index 01902209c4150..7356d6342c4db 100644
--- a/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-terminal/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-terminal";
-  version = "6.0.8";
+  version = "6.0.9";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-7Yyw4aw+44JX9SKuwmJSrLz04WETvs3E3cnt0/O+Ls0=";
+    hash = "sha256-QdODR4zmbMuzSVy6eJhwJHNPXkAn6oCLHq+YZEOmtIU=";
   };
 
   cmakeFlags = [ "-DVERSION=${version}" ];
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index f372f688eabc0..24a2e7d50e0d4 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -51,13 +51,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.50.1";
+  version = "3.50.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "kfT/w4objS/ok5g0RJrFQcC/9KObRE7cKpUpNEoo6Yo=";
+    sha256 = "XmYnA4jVDBTzsa4/oNISe5/tznUqzTk7VUUoGwH8SXA=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
index 4857efc4c2302..f502e89a71bd3 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
+++ b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
@@ -202,7 +202,7 @@ index 2525856..7ecc1a8 100644
  				g_clear_object (&settings);
  			}
 diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
-index c01e8b2..59fb4c4 100644
+index ade0a73..d7c3e73 100644
 --- a/src/calendar/libecal/e-reminder-watcher.c
 +++ b/src/calendar/libecal/e-reminder-watcher.c
 @@ -2626,8 +2626,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -312,7 +312,7 @@ index bef9188..ce92f6c 100644
  	g_clear_object (&settings);
  
 diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
-index db5fc2e..162e00f 100644
+index 4deae76..ebe0a1b 100644
 --- a/src/camel/camel-gpg-context.c
 +++ b/src/camel/camel-gpg-context.c
 @@ -747,7 +747,18 @@ gpg_ctx_get_executable_name (void)
@@ -505,7 +505,7 @@ index 3bb1071..199e822 100644
  		g_object_unref (settings);
  
 diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
-index 2364f3e..e8f59f2 100644
+index af59b0b..0c7e75e 100644
 --- a/src/libedataserver/e-oauth2-service.c
 +++ b/src/libedataserver/e-oauth2-service.c
 @@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
diff --git a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
index b0189cc1321da..a35e6921ff257 100644
--- a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-disk-utility";
-  version = "45.0";
+  version = "45.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-PYYl+qmQR7xK79KZIa1yirTXAM/4bg8uxn6Nuod9DdM=";
+    sha256 = "sha256-VA/07JprljAAP/TNYNYk85/nDyWpVZ5TMziWA8hblSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index 931a2d643dd2e..ac3e7c4981376 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "45.1";
+  version = "45.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1ySF96bgkX9k7b7daP17VyRsbr8QxaRRCLY5RmNXeKI=";
+    sha256 = "C92PwMrs1usBPGAQ28qTB3OXEYpu9eryZOKoIKKS9bc=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index d200a80a30fbe..abbeb15f7dcd4 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -23,7 +23,6 @@
 , vte
 , wrapGAppsHook
 , xdg-utils
-, xprop
 }:
 let
   # Helper method to reduce redundancy
@@ -50,6 +49,7 @@ super: lib.trivial.pipe super [
     nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
     buildInputs = [ vte ];
     postFixup = ''
+      substituteInPlace "$out/share/gnome-shell/extensions/ddterm@amezin.github.com/bin/com.github.amezin.ddterm" --replace "gjs" "${gjs}/bin/gjs"
       wrapGApp "$out/share/gnome-shell/extensions/ddterm@amezin.github.com/bin/com.github.amezin.ddterm"
     '';
   }))
@@ -137,12 +137,6 @@ super: lib.trivial.pipe super [
     ];
   }))
 
-  (patchExtension "unite@hardpixel.eu" (old: {
-    buildInputs = [ xprop ];
-
-    meta.maintainers = with lib.maintainers; [ rhoriguchi ];
-  }))
-
   (patchExtension "x11gestures@joseexposito.github.io" (old: {
     # Extension can't find Touchegg
     # https://github.com/NixOS/nixpkgs/issues/137621
diff --git a/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
deleted file mode 100644
index f1064feb54b8d..0000000000000
--- a/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/lib/utils/paHelper.js b/lib/utils/paHelper.js
-index be28d21..a410a63 100755
---- a/lib/utils/paHelper.js
-+++ b/lib/utils/paHelper.js
-@@ -57,13 +57,7 @@ async function execHelper(type, index = undefined) {
-         return null;
-     }
-
--    const python = await findPython();
--
--    if (!python) {
--        return null;
--    }
--
--    const args = ['/usr/bin/env', python, paUtilPath, type];
-+    const args = ['@python3@/bin/python', paUtilPath, type];
-
-     if (!isNaN(index)) {
-         args.push(index);
-diff --git a/pautils/lib/libpulse.py b/pautils/lib/libpulse.py
-index a32c272..8225f2f 100755
---- a/pautils/lib/libpulse.py
-+++ b/pautils/lib/libpulse.py
-@@ -16,7 +16,7 @@
- from ctypes import *
-
- try:
--    lib = CDLL('libpulse.so.0')
-+    lib = CDLL('@pulseaudio@/lib/libpulse.so.0')
- except:
-     lib = CDLL('libpulse.so')
-
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index af08e170c2fbb..eae2f796108ea 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -121,7 +121,7 @@
     "42": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
     "43": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
-    "45": {"version": "54", "sha256": "1gh8ahchyskv09631z0s286icxhm6vn9c6jn1hzw50w6m7hwni99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2trZXlzIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2Nra2V5cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDU0Cn0="}
+    "45": {"version": "55", "sha256": "077kyy2h43xnj68zbq594dc7h995hg15a0f9gnnfv2wfag1ggksn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2trZXlzIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayBhbmQgbWFueSBvdGhlcnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9ja2tleXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA1NQp9"}
   }}
 , {"uuid": "putWindow@clemens.lab21.org", "name": "Put Windows", "pname": "put-windows", "description": "Fully customizable replacement for the old compiz put plugin. \n * Move windows to left/right side, bottom/top, center or corner (aka tile)\n * Move window to other screen \n * Select focused window using the keyboard \n * Application based window placement \n\n Please check github if your gnome-shell version is not supported", "link": "https://extensions.gnome.org/extension/39/put-windows/", "shell_version_map": {
     "38": {"version": "32", "sha256": "0gzi2xmqkjl6x3q1lcb5mrlvvxsni7bax8j5q7wy25hhpizbj2m7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IGN1c3RvbWl6YWJsZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjb21waXogcHV0IHBsdWdpbi4gXG4gKiBNb3ZlIHdpbmRvd3MgdG8gbGVmdC9yaWdodCBzaWRlLCBib3R0b20vdG9wLCBjZW50ZXIgb3IgY29ybmVyIChha2EgdGlsZSlcbiAqIE1vdmUgd2luZG93IHRvIG90aGVyIHNjcmVlbiBcbiAqIFNlbGVjdCBmb2N1c2VkIHdpbmRvdyB1c2luZyB0aGUga2V5Ym9hcmQgXG4gKiBBcHBsaWNhdGlvbiBiYXNlZCB3aW5kb3cgcGxhY2VtZW50IFxuXG4gUGxlYXNlIGNoZWNrIGdpdGh1YiBpZiB5b3VyIGdub21lLXNoZWxsIHZlcnNpb24gaXMgbm90IHN1cHBvcnRlZCIsCiAgImdldHRleHQtZG9tYWluIjogInB1dFdpbmRvdyIsCiAgIm5hbWUiOiAiUHV0IFdpbmRvd3MiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMub3JnLWxhYjIxLXB1dHdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZ2VzdGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1uZWdlc3RpIiwKICAidXVpZCI6ICJwdXRXaW5kb3dAY2xlbWVucy5sYWIyMS5vcmciLAogICJ2ZXJzaW9uIjogMzIKfQ=="},
@@ -386,12 +386,12 @@
   }}
 , {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: ChineseCalendar by ytliu0: https://gitlab.gnome.org/Nei/ChineseCalendar/-/archive/20231023/ChineseCalendar-20231023.tar.gz", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {
     "38": {"version": "25", "sha256": "19y2xr06qivvff4kgxsi7qav55ks060aqs4nksfh52xgxg1a5y8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNQp9"},
-    "40": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "41": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "42": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "43": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "44": {"version": "33", "sha256": "0lb1wx8glx5dhx0xsmbvr7xc4iz7z1spfq7sz4rarhlgyr0xscd1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJhaWxpbiIKICB9LAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9OZWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWx1bmFyLWNhbGVuZGFyLy0vaXNzdWVzIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAzMwp9"},
-    "45": {"version": "38", "sha256": "14p3zls5alraqmz25w1vgkla65798whv6vnl2ih83sgsqs1radnz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sdW5hci1jYWxlbmRhci8tL2lzc3VlcyIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzgKfQ=="}
+    "40": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "41": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "42": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "43": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "44": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "45": {"version": "41", "sha256": "1r3mach6hm61kb044cnrw9g6wpxpjbw8zh6ccccn4l629l31sy4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sdW5hci1jYWxlbmRhci8tL2lzc3VlcyIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogNDEKfQ=="}
   }}
 , {"uuid": "EasyScreenCast@iacopodeenosee.gmail.com", "name": "EasyScreenCast", "pname": "easyscreencast", "description": "This extension simplifies the use of the video recording function integrated in gnome shell, allows quickly to change the various settings of the desktop recording.\n\nSOURCE CODE ->  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO ->  https://youtu.be/81E9AruraKU\n\n**NOTICE**\nif an error occurs during the update is recommended to reload GNOME Shell (Alt + F2, 'r') and reload the extension's installation page.", "link": "https://extensions.gnome.org/extension/690/easyscreencast/", "shell_version_map": {
     "38": {"version": "47", "sha256": "0fkp5qg6xg4jh8zamba7gva5imp83pg4cy4v8q586dcli2r8yzmn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"},
@@ -557,7 +557,7 @@
     "42": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "43": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
-    "45": {"version": "54", "sha256": "1hwf3r1czdrvwa7x29mppvd4wb5hv89gxlbz00g5ssssrp6g0y19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTQKfQ=="}
+    "45": {"version": "55", "sha256": "070wwvl153swnqzx8qgw79zjsg1z6844pkc4a1lfjfrsfnvcfgw5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTUKfQ=="}
   }}
 , {"uuid": "shell-volume-mixer@derhofbauer.at", "name": "Volume Mixer", "pname": "volume-mixer", "description": "Applet allowing separate configuration of PulseAudio mixers.\n\nShell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.\n\nMiddle mouse click on a slider mutes the selected stream.\n\nPlease file bugs and feature requests on the GitHub page.", "link": "https://extensions.gnome.org/extension/858/volume-mixer/", "shell_version_map": {
     "38": {"version": "39", "sha256": "1cnyapjvqri5k5m4nbcmbcx97b4akwv32h7ddav2ipahqh1lqqzj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIlZvbHVtZSBNaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWhvL2dub21lLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAic2hlbGwtdm9sdW1lLW1peGVyQGRlcmhvZmJhdWVyLmF0IiwKICAidmVyc2lvbiI6IDM5Cn0="},
@@ -1008,7 +1008,8 @@
     "41": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
     "42": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
     "43": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
-    "44": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="}
+    "44": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
+    "45": {"version": "38", "sha256": "0ycjwzg7p6lsw06czbahiayfnw8s3am9mpxd2ninlirgmx95158d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hc2EtYXBvZCIsCiAgInV1aWQiOiAibmFzYV9hcG9kQGVsaW52ZW50aW9uLm92aCIsCiAgInZlcnNpb24iOiAzOAp9"}
   }}
 , {"uuid": "SystemMenu@jonnius.github.com", "name": "System Menu", "pname": "system-menu", "description": "System menu with usefull shortcuts", "link": "https://extensions.gnome.org/extension/1204/system-menu/", "shell_version_map": {
     "38": {"version": "5", "sha256": "10zfr3fhqvq0fxqjzqmnxmhmdw5xcw9m5k3jm1apcjqnm38r896w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBtZW51IHdpdGggdXNlZnVsbCBzaG9ydGN1dHMiLAogICJuYW1lIjogIlN5c3RlbSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlN5c3RlbU1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2pvbm5pdXMvZ25vbWUtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogIlN5c3RlbU1lbnVAam9ubml1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}
@@ -1409,7 +1410,7 @@
     "42": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
     "43": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
     "44": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
-    "45": {"version": "31", "sha256": "0c7qzgplg856nn7dx9rc629brzmkm0ic5x8rh7bdhpl6s4bazda7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1bmxvY2tEaWFsb2ctQmFja2dyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkxvY2sgc2NyZWVuIGJhY2tncm91bmQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMQp9"}
+    "45": {"version": "34", "sha256": "0f0azv8scjhrj3pgpancgdmj3wz5b7p6aq562a1nz0b4bw6bwzv9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1bmxvY2tEaWFsb2ctQmFja2dyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkxvY2sgc2NyZWVuIGJhY2tncm91bmQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNAp9"}
   }}
 , {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.\n\nIf you appreciate this extension please consider to donate $1.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {
     "38": {"version": "27", "sha256": "1ll51pnpx29vckdhz739i6gnfababi2xdbhfv1hm5xhd1jrqc1kz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuXG5cbklmIHlvdSBhcHByZWNpYXRlIHRoaXMgZXh0ZW5zaW9uIHBsZWFzZSBjb25zaWRlciB0byBkb25hdGUgJDEuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="},
@@ -2228,7 +2229,7 @@
     "43": {"version": "13", "sha256": "0bxanhx2ylpw0rh69lfdhkixsfggkp7b119ah3rrslx7w71qki6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTMKfQ=="},
     "44": {"version": "13", "sha256": "0bxanhx2ylpw0rh69lfdhkixsfggkp7b119ah3rrslx7w71qki6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
-, {"uuid": "jetbrains-search-provider@swsnr.de", "name": "JetBrains Search Provider", "pname": "jetbrains-search-provider", "description": "Deprecated, see alternative search provider\n\nUse https://github.com/lunaryorn/gnome-search-providers-jetbrains instead", "link": "https://extensions.gnome.org/extension/3115/jetbrains-search-provider/", "shell_version_map": {
+, {"uuid": "jetbrains-search-provider@swsnr.de", "name": "JetBrains Search Provider", "pname": "jetbrains-search-provider", "description": "Deprecated, see alternative search provider\n\nUse https://github.com/swsnr/gnome-search-providers-jetbrains instead", "link": "https://extensions.gnome.org/extension/3115/jetbrains-search-provider/", "shell_version_map": {
     "38": {"version": "14", "sha256": "0hg9vv7vs419mjlc2smj25b4v5hnxi9yakwks19grlyd7gwhd70j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRlcHJlY2F0ZWQsIHNlZSBhbHRlcm5hdGl2ZSBzZWFyY2ggcHJvdmlkZXJcblxuVXNlIGh0dHBzOi8vZ2l0aHViLmNvbS9sdW5hcnlvcm4vZ25vbWUtc2VhcmNoLXByb3ZpZGVycy1qZXRicmFpbnMgaW5zdGVhZCIsCiAgIm5hbWUiOiAiSmV0QnJhaW5zIFNlYXJjaCBQcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1bmFyeW9ybi9nbm9tZS1zZWFyY2gtcHJvdmlkZXJzLWpldGJyYWlucyIsCiAgInV1aWQiOiAiamV0YnJhaW5zLXNlYXJjaC1wcm92aWRlckBzd3Nuci5kZSIsCiAgInZlcnNpb24iOiAxNAp9"}
   }}
 , {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "An eye on the top panel that follows your cursor.\nIt includes a mouse indicator to better keep track of your mouse location.", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {
@@ -2334,7 +2335,8 @@
     "44": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
 , {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {
-    "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}
+    "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="},
+    "45": {"version": "5", "sha256": "05vsi19d754kywmq4lrgf5n5n96z88wqwynf3fi473yqjxs3w3gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNsYXRlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}
   }}
 , {"uuid": "material-shell@papyelgringo", "name": "Material Shell", "pname": "material-shell", "description": "A modern desktop interface for Linux - packaged as an extension for GNOME Shell. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.", "link": "https://extensions.gnome.org/extension/3357/material-shell/", "shell_version_map": {
     "38": {"version": "12", "sha256": "1rjybqlgbjmflg21cm7js2gjzvdhw14lpzncpzwf18rh4mp2adnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRoZW1lIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudGhlbWUiLAogICJ0d2Vha3MiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50d2Vha3MiLAogICJ1cmwiOiAiaHR0cHM6Ly9tYXRlcmlhbC1zaGVsbC5jb20iLAogICJ1dWlkIjogIm1hdGVyaWFsLXNoZWxsQHBhcHllbGdyaW5nbyIsCiAgInZlcnNpb24iOiAxMgp9"},
@@ -3866,10 +3868,11 @@
     "45": {"version": "10", "sha256": "19mkkrvrxar6s3ggdziii7aq6r783qaisjff4dplmyg4qwx3d4mp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4gTWlncmF0aW5nIGZyb20gV2luZG93cyBoYXMgbmV2ZXIgYmVlbiBlYXNpZXIhIiwKICAibmFtZSI6ICJBY3RpdmF0ZSBHTk9NRSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hY3RpdmF0ZV9nbm9tZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pc2plcnJ5eGlhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWN0aXZhdGUtZ25vbWUiLAogICJ1dWlkIjogImFjdGl2YXRlX2dub21lQGlzamVycnl4aWFvIiwKICAidmVyc2lvbiI6IDEwCn0="}
   }}
 , {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei and Honor laptops WMI functions, such as battery protection, Fn-lock, power unlock and keyboard backlight.", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {
-    "40": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "41": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "42": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "43": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="}
+    "40": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "41": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "42": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "43": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "44": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"}
   }}
 , {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {
     "38": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -4001,7 +4004,7 @@
     "43": {"version": "27", "sha256": "1sdq0wlnj6dib9lgjilk8xrxzh5lk63s8n5hcgky0jqbp9qvb5s7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="},
     "44": {"version": "27", "sha256": "1sdq0wlnj6dib9lgjilk8xrxzh5lk63s8n5hcgky0jqbp9qvb5s7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}
   }}
-, {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions\nVersion 10: fixed clock hover style (by bomdia)\nVersion 11: Gnome 45 update by andyholmes@github", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {
+, {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions\nVersion 10: fixed clock hover style (by bomdia)\nVersion 11: Gnome 45 update by andyholmes@github\nVersion 12: added support for advanced formatters by bomdia@github", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {
     "40": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
     "41": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
     "42": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
@@ -4055,7 +4058,7 @@
     "44": {"version": "40", "sha256": "18q7m8bh19dsacs5ziwgb70afvi2gppvymhq4l8m0ihppdzfa3xv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogInNjaG5lZWdhbnMiLAogICAgImtvZmkiOiAic2NobmVlZ2FucyIsCiAgICAicGF5cGFsIjogInNpbW9uc2NobmVlZ2FucyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="},
     "45": {"version": "39", "sha256": "0agrb9h78i5q45np8940830abz6fr93la2j804rpfcqx6f5cdlqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogInNjaG5lZWdhbnMiLAogICAgImtvZmkiOiAic2NobmVlZ2FucyIsCiAgICAicGF5cGFsIjogInNpbW9uc2NobmVlZ2FucyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9CdXJuLU15LVdpbmRvd3MiLAogICJ1dWlkIjogImJ1cm4tbXktd2luZG93c0BzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}
   }}
-, {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "NOT MAINTAINED ANYMORE\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {
+, {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "NOT MAINTAINED ANYMORE\nPLEASE USE:\nhttps://extensions.gnome.org/extension/6556/task-up/ (Babar-like)\nOR\nhttps://extensions.gnome.org/extension/5143/dashbar/ (Dash-like)\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {
     "40": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"},
     "41": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"},
     "42": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -4323,7 +4326,7 @@
     "42": {"version": "13", "sha256": "07l1vgv9zhyh8q2h0gnn69x7h8gfn8x9q34p9lab7w08s4zn2rnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21hcmNvc2RhbHZhcmV6L3RoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="},
     "43": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "44": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
-    "45": {"version": "38", "sha256": "0n4jgg9pfxgyp972ma0irss209jqb197spk83lm147jyifzgfh83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiAzOAp9"}
+    "45": {"version": "39", "sha256": "1c960xdqfvq10inx6qhx4v1x63195hkbgns7mihgpqai0r4jk3qr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiAzOQp9"}
   }}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
@@ -4522,7 +4525,7 @@
     "42": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "43": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "44": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "45": {"version": "18", "sha256": "0l35f91sbwz210mksxacmg316zkcadjdqi9nhrbh6xlryzc0cc9d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOAp9"}
+    "45": {"version": "19", "sha256": "00v8dk1n68f7mkybx378nsdh8y9bq8186552wg7hh204fn9jk7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOQp9"}
   }}
 , {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {
     "38": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="},
@@ -4586,20 +4589,14 @@
     "40": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"},
     "41": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
-, {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar", "pname": "gradient-top-bar", "description": "Makes GNOME's topbar's background gradient. You can edit the colour scheme from the extension's settings in Gnome 45.", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {
+, {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar", "pname": "gradient-top-bar", "description": "Makes GNOME's panel's background gradient. You can edit the colour scheme from the extension's settings in Gnome 45.", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {
     "38": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "40": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "41": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "42": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "43": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
     "44": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
-    "45": {"version": "16", "sha256": "147fdwc7wc8ay82r49bxc65f48zhcazcq5wcx6xhnfi2s82jg2hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}
-  }}
-, {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple but powerful clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {
-    "42": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "43": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "44": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "45": {"version": "64", "sha256": "1xbf4yc7i3mwsp3z5caqp1ncqhfd0rlabarw8swp032h47r4ffpx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvQ2xpcG1hbiIsCiAgInV1aWQiOiAiY2xpcG1hbkBwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDY0Cn0="}
+    "45": {"version": "17", "sha256": "18i8h4gw8k1ssyfxyhk22ggmrxxw1wcn5q1bd6jxg6zli82xnvji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgcGFuZWwncyBiYWNrZ3JvdW5kIGdyYWRpZW50LiBZb3UgY2FuIGVkaXQgdGhlIGNvbG91ciBzY2hlbWUgZnJvbSB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MgaW4gR25vbWUgNDUuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJwZXRhci12IiwKICAgICJwYXlwYWwiOiAicGV0YXJ2NzMiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLnBzaG93LmdyYWRpZW50dG9wYmFyIiwKICAiaGFzUHJlZnMiOiB0cnVlLAogICJpY29uIjogIi4vYXNzZXRzL2xvZ28ucG5nIiwKICAibmFtZSI6ICJHcmFkaWVudCBUb3AgQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXRhci12L2dyYWRpZW50dG9wYmFyIiwKICAidXVpZCI6ICJncmFkaWVudHRvcGJhckBwc2hvdy5vcmciLAogICJ2ZXJzaW9uIjogMTcKfQ=="}
   }}
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {
     "42": {"version": "7", "sha256": "1niwlhls41l92g0bcllp4y4bdhn7k310514xkd36rn61pqz9b7q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}
@@ -4930,13 +4927,13 @@
     "44": {"version": "10", "sha256": "0ca4nlss4j5rmq8xaqvjxxacdhb1vlmydqp4cal77mgzk79q63nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29kaWxpYS91cG93ZXItYmF0dGVyeSIsCiAgInV1aWQiOiAidXBvd2VyLWJhdHRlcnlAY29kaWxpYS5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="},
     "45": {"version": "12", "sha256": "0bzihv7nqljr8nv4lkl9av9qjjg6xr00hgv79f7gfqs8jbg2ckjf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvZGlsaWEvdXBvd2VyLWJhdHRlcnkiLAogICJ1dWlkIjogInVwb3dlci1iYXR0ZXJ5QGNvZGlsaWEuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}
   }}
-, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UI to suit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, but V-Shell is an extension to default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock / Dash to Panel extensions and other popular extensions, but issues may occur. In any case, V-Shell works better without Dash to Dock an Dash to Panel.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined profiles with different layout and behavior that can be overwritten by your settings\n- wallpaper background with adjustable blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions, icons size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- window search provider for quick navigation between windows\n- recent files search provider\n- static background in the workspace switcher animation outside of the overview\n- workspace switcher popup appears even when switching workspace with a gesture\n- fixes (works around) several upstream bugs (known and reported)\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
+, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UI to suit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, but V-Shell is an extension to default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock extensions and other popular extensions, but issues may occur. In any case, V-Shell works better without Dash to Dock and Dash to Panel.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined profiles with different layout and behavior that can be overwritten by your settings\n- wallpaper background with adjustable blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions, icons size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- window search provider for quick navigation between windows\n- recent files search provider\n- static background in the workspace switcher animation outside of the overview\n- workspace switcher popup appears even when switching workspace with a gesture\n- fixes (works around) several upstream bugs (known and reported)\n- workspace isolated Dash\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
     "40": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
     "41": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
-    "42": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "43": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "44": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "45": {"version": "40", "sha256": "14mf4w36k57kzc4cmjapdwkf9l6nf1fq6yxf0xin6nrr8xlf93v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvdmVydGljYWwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAidmVydGljYWwtd29ya3NwYWNlc0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDAsCiAgInZlcnNpb24tbmFtZSI6ICI0NS4xIgp9"}
+    "42": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "43": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "44": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "45": {"version": "43", "sha256": "11kpk19i81w5asbd0z8vsrrhvb83hjlplky673h6557g6hz44n4m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvdmVydGljYWwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAidmVydGljYWwtd29ya3NwYWNlc0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDMsCiAgInZlcnNpb24tbmFtZSI6ICI0NS4yIgp9"}
   }}
 , {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {
     "42": {"version": "8", "sha256": "0p8msiyqpic8d0cv65j97gqp03vgi935rqgs2gjrffq3cg7wy2iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuXG5cbkEgbmV3IG1ham9yIHJlbGVhc2Ugd2lsbCBiZSBvdXQgbGF0ZXIgdGhpcyB5ZWFyLi4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtaXMtYXdlc29tZS9nbm9tZV9leHRlbnNpb25fcm9ja2V0YmFyIiwKICAidXVpZCI6ICJyb2NrZXRiYXJAY2hlcGt1bi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
@@ -5194,10 +5191,11 @@
     "43": {"version": "8", "sha256": "0q6wzq2m0pjfcgf0jrbf2ygagikdmmgrkx561fw1fb23332v1f8g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFB1c2hvdmVyIE5vdGlmaWNhdGlvbnMgd2l0aGluIEdOT01FIGFuZCB3aXRoaW4geW91ciB0cmF5LiBQcml2YWN5IHJlc3BlY3RpbmcgdW5vZmZpY2lhbCBjbGllbnQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtcHVzaG92ZXItbWVzc2FnZXMtdW5vZmZpY2lhbCIsCiAgIm5hbWUiOiAiUHVzaG92ZXIgTWVzc2FnZSBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2N3aXR0ZW5iZXJnL2dub21lLXB1c2hvdmVyLW1lc3NhZ2VzLXVub2ZmaWNpYWwiLAogICJ1dWlkIjogImdub21lLXB1c2hvdmVyLW1lc3NhZ2VzLXVub2ZmaWNpYWxAaXdvbnQuY3lvdSIsCiAgInZlcnNpb24iOiA4Cn0="}
   }}
 , {"uuid": "notification-filter@asynclink.org", "name": "Notification Filter", "pname": "notification-filter", "description": "Filter out notifications by their text content to block them from appearing.\nIf you've ever been annoyed by certain notifications distracting you, this extension gives you more fine tuned control of which notifications to prevent from showing up.\n\nGives you the ability to filter by both the title and body content, use regex matching, and add multiple different filters.\n\nNote: Only prevents new notifications from appearing, does not remove existing notifications.", "link": "https://extensions.gnome.org/extension/5380/notification-filter/", "shell_version_map": {
-    "40": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "41": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "42": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "43": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}
+    "40": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "41": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "42": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "43": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "44": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
 , {"uuid": "evpn-assistant@xytrexl.com", "name": "ExpressVPN - EVPN Shell Assistant ( express vpn )", "pname": "evpn-shell-assistant", "description": "Allows ExpressVPN to be controlled through the GNOME shell.", "link": "https://extensions.gnome.org/extension/5385/evpn-shell-assistant/", "shell_version_map": {
     "42": {"version": "3", "sha256": "1lvdv1dv78v36j52n58hjrg2hwc3flrq9mryffdhvjb01rrxmigv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBFeHByZXNzVlBOIHRvIGJlIGNvbnRyb2xsZWQgdGhyb3VnaCB0aGUgR05PTUUgc2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWV2cG4tYXNzaXN0YW50IiwKICAibmFtZSI6ICJFeHByZXNzVlBOIC0gRVZQTiBTaGVsbCBBc3Npc3RhbnQgKCBleHByZXNzIHZwbiApIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlN0dWFydCBHaWxtb3VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV2cG4tYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0dWFydGphbWVzZ2lsbW91ci9ldnBuLWFzc2lzdGFudCIsCiAgInV1aWQiOiAiZXZwbi1hc3Npc3RhbnRAeHl0cmV4bC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
@@ -5692,10 +5690,10 @@
 , {"uuid": "overviewbackground@github.com.orbitcorrection", "name": "Overview Background", "pname": "overview-background", "description": "Add background in overview", "link": "https://extensions.gnome.org/extension/5856/overview-background/", "shell_version_map": {
     "40": {"version": "7", "sha256": "0asaxvjc17x5vg55di2pcd6vwczbgzvw91bi9s6957f45d04n1y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogNwp9"},
     "41": {"version": "7", "sha256": "0asaxvjc17x5vg55di2pcd6vwczbgzvw91bi9s6957f45d04n1y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogNwp9"},
-    "42": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "43": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "44": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "45": {"version": "11", "sha256": "0d3lcakyf3d3s1v5nl5p4mmdn6mpygcq98hr70fxwnyr3f1r90gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}
+    "42": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "43": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "44": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "45": {"version": "13", "sha256": "1dlp01mpy4zs83qzq9x0s471cqj652h8718dswvz2pac9p5sa31p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
 , {"uuid": "logout-button@0ct0puce.com", "name": "Logout Button", "pname": "logout-button", "description": "Logout button easily accessible in the top panel. It could be useful as it restart gnome everytime you click it.", "link": "https://extensions.gnome.org/extension/5865/logout-button/", "shell_version_map": {
     "43": {"version": "1", "sha256": "15v4d6kxnlnbayqryliy67s35zbvr6j8g1w2x6wm0w909gcwi0px", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ291dCBidXR0b24gZWFzaWx5IGFjY2Vzc2libGUgaW4gdGhlIHRvcCBwYW5lbC4gSXQgY291bGQgYmUgdXNlZnVsIGFzIGl0IHJlc3RhcnQgZ25vbWUgZXZlcnl0aW1lIHlvdSBjbGljayBpdC4iLAogICJuYW1lIjogIkxvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMENUMFBVQ0UtTE9HL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sb2dvdXQtYnV0dG9uIiwKICAidXVpZCI6ICJsb2dvdXQtYnV0dG9uQDBjdDBwdWNlLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}
@@ -5760,16 +5758,13 @@
 , {"uuid": "osk-toggle@papierfliegr.github.com", "name": "[DROPPED] OSK Toggle", "pname": "osk-toggle", "description": "See \"GJS OSK\" for better alternative.\nAdds On-Screen-Keyboard Toggle to Quick-Settings/ Hides accessability icon", "link": "https://extensions.gnome.org/extension/5922/osk-toggle/", "shell_version_map": {
     "44": {"version": "4", "sha256": "05ll3pbfwlaxapbpi9i04s1sdlrb7m2q3xvc8fjcd636fqybivsw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBcIkdKUyBPU0tcIiBmb3IgYmV0dGVyIGFsdGVybmF0aXZlLlxuQWRkcyBPbi1TY3JlZW4tS2V5Ym9hcmQgVG9nZ2xlIHRvIFF1aWNrLVNldHRpbmdzLyBIaWRlcyBhY2Nlc3NhYmlsaXR5IGljb24iLAogICJuYW1lIjogIltEUk9QUEVEXSBPU0sgVG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BhcGllckZsaWVnci9PU0stVG9nZ2xlIiwKICAidXVpZCI6ICJvc2stdG9nZ2xlQHBhcGllcmZsaWVnci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
-, {"uuid": "username_in_shell_panel@raviprak", "name": "Only username in top panel", "pname": "only-username-in-top-panel", "description": "Add only user name in top panel. This is a fork of https://extensions.gnome.org/extension/2633/user-id-in-top-panel/", "link": "https://extensions.gnome.org/extension/5925/only-username-in-top-panel/", "shell_version_map": {
-    "44": {"version": "1", "sha256": "0xwm4s9mkq81wk6cr63kydq92zh183dxafpykicjrf9vj1n6in8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvbmx5IHVzZXIgbmFtZSBpbiB0b3AgcGFuZWwuIFRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzI2MzMvdXNlci1pZC1pbi10b3AtcGFuZWwvIiwKICAibmFtZSI6ICJPbmx5IHVzZXJuYW1lIGluIHRvcCBwYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZnRoeCIsCiAgICAicmF2aXByYWsiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9yYXZpcHJhay91c2VybmFtZV9pbl9nbm9tZV9zaGVsbF9wYW5lbCIsCiAgInV1aWQiOiAidXNlcm5hbWVfaW5fc2hlbGxfcGFuZWxAcmF2aXByYWsiLAogICJ2ZXJzaW9uIjogMQp9"}
-  }}
 , {"uuid": "logoactivities@github.com.orbitcorrection", "name": "Logo Activities", "pname": "logo-activities", "description": "Show an icon instead of the label", "link": "https://extensions.gnome.org/extension/5928/logo-activities/", "shell_version_map": {
     "40": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "41": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "42": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "43": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "44": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
-    "45": {"version": "8", "sha256": "1bjnnqb35rzfw2y1qyb9siniwn5ysxnbadxqzbf8w1m8f3qscc7y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvZ29hY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDgKfQ=="}
+    "45": {"version": "9", "sha256": "1g8n013wz6x5xcywwvsv741f2xwv4ap6blx5n35dm119cvw12daf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvZ29hY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDkKfQ=="}
   }}
 , {"uuid": "forbiden-multi-touch-gesture@touch-easy.com", "name": "forbiden-multi-touch", "pname": "forbiden-multi-touch", "description": "forbiden multi-touch-gesture", "link": "https://extensions.gnome.org/extension/5931/forbiden-multi-touch/", "shell_version_map": {
     "42": {"version": "1", "sha256": "0qpd5y4zjbrrjpnpsjzaa1fw1q25s04ysh2r82i5dr9afxbv2qz7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImZvcmJpZGVuIG11bHRpLXRvdWNoLWdlc3R1cmUiLAogICJuYW1lIjogImZvcmJpZGVuLW11bHRpLXRvdWNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmb3JiaWRlbi1tdWx0aS10b3VjaC1nZXN0dXJlQHRvdWNoLWVhc3kuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}
@@ -5783,7 +5778,7 @@
 , {"uuid": "quick-settings-audio-panel@rayzeq.github.io", "name": "Quick Settings Audio Panel", "pname": "quick-settings-audio-panel", "description": "Create a new panel containing volumes and media control in the quick settings", "link": "https://extensions.gnome.org/extension/5940/quick-settings-audio-panel/", "shell_version_map": {
     "43": {"version": "32", "sha256": "1dfdjnbgr2b8wf43pphvhbjpwi0dwi7ildi9ynif9k5nylv35l7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMyCn0="},
     "44": {"version": "32", "sha256": "1dfdjnbgr2b8wf43pphvhbjpwi0dwi7ildi9ynif9k5nylv35l7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMyCn0="},
-    "45": {"version": "33", "sha256": "0vmbmw2h0r3dr6mc2cxlgh76q5y8c8pa03lm5mw6kprmg77djvy0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMzCn0="}
+    "45": {"version": "34", "sha256": "18m314mcs8xnmwlc5d2fh14bx16ikdjxfzf5dhkq72hw62sdjl9n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDM0Cn0="}
   }}
 , {"uuid": "soft-brightness-plus@joelkitching.com", "name": "Soft Brightness Plus", "pname": "soft-brightness-plus", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.\n\nThis extension is a fork of the original 'Soft brightness' extension, and maintains support for new GNOME releases.", "link": "https://extensions.gnome.org/extension/5943/soft-brightness-plus/", "shell_version_map": {
     "38": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -5792,7 +5787,7 @@
     "42": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
     "43": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
     "44": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
-    "45": {"version": "13", "sha256": "18if0c45y81g4x9bdk9ivb5q2a9kjswzh2dhxm8ipb7ikfhz6j3m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBtYWludGFpbnMgc3VwcG9ydCBmb3IgbmV3IEdOT01FIHJlbGVhc2VzLiIsCiAgImdldHRleHQtZG9tYWluIjogInNvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAibmFtZSI6ICJTb2Z0IEJyaWdodG5lc3MgUGx1cyIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogImIyNzRiOWQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
+    "45": {"version": "14", "sha256": "0jr1092ksdskfbzarwjjbq5ibqr26423msyz1n7d7bknqfb2a8p2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBtYWludGFpbnMgc3VwcG9ydCBmb3IgbmV3IEdOT01FIHJlbGVhc2VzLiIsCiAgImdldHRleHQtZG9tYWluIjogInNvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAibmFtZSI6ICJTb2Z0IEJyaWdodG5lc3MgUGx1cyIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogImQ1NTQ0ZTgiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
   }}
 , {"uuid": "swatch-clock@okatotf.github.io", "name": "Swatch Clock", "pname": "swatch-clock", "description": "An extension which displays the Swatch Internet Time on the panel.", "link": "https://extensions.gnome.org/extension/5946/swatch-clock/", "shell_version_map": {
     "44": {"version": "2", "sha256": "131rlf6q1w6jxz95j8yf3vpi40y80p1rjax5b2mapm6ppasdlkl2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBkaXNwbGF5cyB0aGUgU3dhdGNoIEludGVybmV0IFRpbWUgb24gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiU3dhdGNoIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29rYXRvdGYvc3dhdGNoLWNsb2NrIiwKICAidXVpZCI6ICJzd2F0Y2gtY2xvY2tAb2thdG90Zi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -5839,7 +5834,7 @@
     "42": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "43": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "44": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
-    "45": {"version": "109", "sha256": "0y209zqw7vwjqqfgl2nza0cp12z5baw93h6p4fwpz6j1m4nr1fpm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMDkKfQ=="}
+    "45": {"version": "111", "sha256": "1r8bzjjk6lwid3bmwv8bzsgr3w9a179z0qbrxf5wzyf71y72kad9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMTEKfQ=="}
   }}
 , {"uuid": "dim-completed-calendar-events@marcinjahn.com", "name": "Dim Completed Calendar Events", "pname": "dim-completed-calendar-events", "description": "Dim completed events in the top panel menu to easily distinguish between upcoming and past events. You can also highlight events that are ongoing.", "link": "https://extensions.gnome.org/extension/5979/dim-completed-calendar-events/", "shell_version_map": {
     "44": {"version": "3", "sha256": "0dpyrhdc70f77wv8hx7d6xnpxx13c2qfp7dbx716mqq90raij39f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpbSBjb21wbGV0ZWQgZXZlbnRzIGluIHRoZSB0b3AgcGFuZWwgbWVudSB0byBlYXNpbHkgZGlzdGluZ3Vpc2ggYmV0d2VlbiB1cGNvbWluZyBhbmQgcGFzdCBldmVudHMuIFlvdSBjYW4gYWxzbyBoaWdobGlnaHQgZXZlbnRzIHRoYXQgYXJlIG9uZ29pbmcuIiwKICAibmFtZSI6ICJEaW0gQ29tcGxldGVkIENhbGVuZGFyIEV2ZW50cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjaW5qYWhuL2dub21lLWRpbS1jb21wbGV0ZWQtY2FsZW5kYXItZXZlbnRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZGltLWNvbXBsZXRlZC1jYWxlbmRhci1ldmVudHNAbWFyY2luamFobi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -5878,7 +5873,8 @@
 , {"uuid": "switchlayoutaltshift@seriyyy95.com", "name": "SwitchLayoutAltShift", "pname": "switchlayoutaltshift", "description": "Allows to switch input source using Alt+Shift", "link": "https://extensions.gnome.org/extension/6006/switchlayoutaltshift/", "shell_version_map": {
     "42": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
     "43": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
-    "44": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+    "44": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
+    "45": {"version": "4", "sha256": "0rdbqz3cq013ysv4jpi05vljpvrk28j927l47m1rbryzrdvkbh62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VyaXl5eTk1L3N3aXRjaGxheW91dGFsdHNoaWZ0LmdpdCIsCiAgInV1aWQiOiAic3dpdGNobGF5b3V0YWx0c2hpZnRAc2VyaXl5eTk1LmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
 , {"uuid": "PanelHidesWindow@arisoda.com", "name": "PanelHidesWindow", "pname": "panelhideswindow", "description": "Allows you to quickly hide (minimize) the top-most maximized window just by middle-mouse clicking anywhere on the TOP PANEL (not the top bar of a window).\n\nAdvantages:\n1. You can hide windows more quickly (in a reflex, requiring less accuracy)\n2. You can hide ALL maximized windows, even those that don't have a top bar.\n3. You can hide a maximized window even if it's BEHIND multiple unmaximized windows)\n\nThis extension supports multi-monitors in the sense that it actively(!) does not hide any window that is not on the primary monitor.\n\nPLEASE LEAVE A REVIEW. Any critique / suggestion is welcome.\n\nIt would be great if someone can add the functionality to support multiple top panels (if someone were to have multiple top panels on different monitors).", "link": "https://extensions.gnome.org/extension/6015/panelhideswindow/", "shell_version_map": {
     "42": {"version": "3", "sha256": "17rxywvd6n7q69x5xn5ia0vyb1cdzh0azrkvz9j8rq5bqhhpyymq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB5b3UgdG8gcXVpY2tseSBoaWRlIChtaW5pbWl6ZSkgdGhlIHRvcC1tb3N0IG1heGltaXplZCB3aW5kb3cganVzdCBieSBtaWRkbGUtbW91c2UgY2xpY2tpbmcgYW55d2hlcmUgb24gdGhlIFRPUCBQQU5FTCAobm90IHRoZSB0b3AgYmFyIG9mIGEgd2luZG93KS5cblxuQWR2YW50YWdlczpcbjEuIFlvdSBjYW4gaGlkZSB3aW5kb3dzIG1vcmUgcXVpY2tseSAoaW4gYSByZWZsZXgsIHJlcXVpcmluZyBsZXNzIGFjY3VyYWN5KVxuMi4gWW91IGNhbiBoaWRlIEFMTCBtYXhpbWl6ZWQgd2luZG93cywgZXZlbiB0aG9zZSB0aGF0IGRvbid0IGhhdmUgYSB0b3AgYmFyLlxuMy4gWW91IGNhbiBoaWRlIGEgbWF4aW1pemVkIHdpbmRvdyBldmVuIGlmIGl0J3MgQkVISU5EIG11bHRpcGxlIHVubWF4aW1pemVkIHdpbmRvd3MpXG5cblRoaXMgZXh0ZW5zaW9uIHN1cHBvcnRzIG11bHRpLW1vbml0b3JzIGluIHRoZSBzZW5zZSB0aGF0IGl0IGFjdGl2ZWx5KCEpIGRvZXMgbm90IGhpZGUgYW55IHdpbmRvdyB0aGF0IGlzIG5vdCBvbiB0aGUgcHJpbWFyeSBtb25pdG9yLlxuXG5QTEVBU0UgTEVBVkUgQSBSRVZJRVcuIEFueSBjcml0aXF1ZSAvIHN1Z2dlc3Rpb24gaXMgd2VsY29tZS5cblxuSXQgd291bGQgYmUgZ3JlYXQgaWYgc29tZW9uZSBjYW4gYWRkIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHN1cHBvcnQgbXVsdGlwbGUgdG9wIHBhbmVscyAoaWYgc29tZW9uZSB3ZXJlIHRvIGhhdmUgbXVsdGlwbGUgdG9wIHBhbmVscyBvbiBkaWZmZXJlbnQgbW9uaXRvcnMpLiIsCiAgIm5hbWUiOiAiUGFuZWxIaWRlc1dpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyaXNvZGEvUGFuZWxIaWRlc1dpbmRvdyIsCiAgInV1aWQiOiAiUGFuZWxIaWRlc1dpbmRvd0Bhcmlzb2RhLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="},
@@ -5938,7 +5934,8 @@
     "41": {"version": "20", "sha256": "0xn4jlqg16xq61wx3nkr13k1sadm1fskixlp0qgh875pk043ly84", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3NhbXVhb2tpL2lucHV0bWV0aG9kLXNob3J0Y3V0cyIsCiAgInV1aWQiOiAiaW5wdXRtZXRob2Qtc2hvcnRjdXRzQG9zYW11LmRlYmlhbi5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
     "42": {"version": "20", "sha256": "0xn4jlqg16xq61wx3nkr13k1sadm1fskixlp0qgh875pk043ly84", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3NhbXVhb2tpL2lucHV0bWV0aG9kLXNob3J0Y3V0cyIsCiAgInV1aWQiOiAiaW5wdXRtZXRob2Qtc2hvcnRjdXRzQG9zYW11LmRlYmlhbi5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
     "43": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"},
-    "44": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"}
+    "44": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"},
+    "45": {"version": "22", "sha256": "1v92fdmxvva7q5qarv6ic9s86ignrpp5aflyghcwqjv4jvygi25a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29zYW11YW9raS9pbnB1dG1ldGhvZC1zaG9ydGN1dHMiLAogICJ1dWlkIjogImlucHV0bWV0aG9kLXNob3J0Y3V0c0Bvc2FtdS5kZWJpYW4ub3JnIiwKICAidmVyc2lvbiI6IDIyCn0="}
   }}
 , {"uuid": "kmonad-toggle@jurf.github.io", "name": "KMonad Toggle", "pname": "kmonad-toggle", "description": "Control KMonad directly from GNOME Shell!\n\nThis extension allows you to:\n • Autostart KMonad on login\n • Quickly check if KMonad is running from the top bar\n • Toggle KMonad on or off with a quick setting\n • Easily configure the KMonad launch command\n\nDo you miss any functionality in this extension? Feel free to open an issue on GitHub!\n\nNote: This extension does not manage the KMonad installation. See the installation guide and FAQ in the KMonad repo for instructions on how to set it up. https://github.com/kmonad/kmonad", "link": "https://extensions.gnome.org/extension/6069/kmonad-toggle/", "shell_version_map": {
     "44": {"version": "6", "sha256": "12d7zh3mrxjaippm0n1dwfwhai88iwdy3pb34m24km73g7nwln97", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgS01vbmFkIGRpcmVjdGx5IGZyb20gR05PTUUgU2hlbGwhXG5cblRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG86XG4gXHUyMDIyIEF1dG9zdGFydCBLTW9uYWQgb24gbG9naW5cbiBcdTIwMjIgUXVpY2tseSBjaGVjayBpZiBLTW9uYWQgaXMgcnVubmluZyBmcm9tIHRoZSB0b3AgYmFyXG4gXHUyMDIyIFRvZ2dsZSBLTW9uYWQgb24gb3Igb2ZmIHdpdGggYSBxdWljayBzZXR0aW5nXG4gXHUyMDIyIEVhc2lseSBjb25maWd1cmUgdGhlIEtNb25hZCBsYXVuY2ggY29tbWFuZFxuXG5Ob3RlOiBUaGlzIGV4dGVuc2lvbiBkb2VzIG5vdCBtYW5hZ2UgdGhlIEtNb25hZCBpbnN0YWxsYXRpb24uIFNlZSB0aGUgaW5zdGFsbGF0aW9uIGd1aWRlIGFuZCBGQVEgaW4gdGhlIEtNb25hZCByZXBvIGZvciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHNldCBpdCB1cC4gaHR0cHM6Ly9naXRodWIuY29tL2ttb25hZC9rbW9uYWQiLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJqdXJhamZpYWxhIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImttb25hZC10b2dnbGUiLAogICJuYW1lIjogIktNb25hZCBUb2dnbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua21vbmFkLXRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qdXJmL2dub21lLWttb25hZC10b2dnbGUiLAogICJ1dWlkIjogImttb25hZC10b2dnbGVAanVyZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"},
@@ -5974,11 +5971,11 @@
     "44": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "45": {"version": "7", "sha256": "1fjcwgifggnckk0p7mskpgaz3wm71nz4qgcc1f1jqynwdbidds7l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3NtaWxlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic21pbGUtZXh0ZW5zaW9uQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNwp9"}
   }}
-, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist!\n\n PaperWM is a Gnome Shell extension which provides scrollable tiling of windows and per monitor workspaces. It's inspired by paper notebooks and tiling window managers.\n\nPlease see our github page to report issues, understand features, and learn how to configure PaperWM to your liking.", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
-    "42": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "43": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "44": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "45": {"version": "66", "sha256": "09yzmm62zf44g2y7ys99sx02hnspbxjsi7065ha4p5lvz5l6xc7w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBlcndtL1BhcGVyV00iLAogICJ1dWlkIjogInBhcGVyd21AcGFwZXJ3bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY2LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDUuNS4wIgp9"}
+, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
+    "42": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "43": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "44": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "45": {"version": "68", "sha256": "1db04y0wkipc2i9sp7l1fqilalks5lc9nl39lfmg55l0jd734cmb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBlcndtL1BhcGVyV00iLAogICJ1dWlkIjogInBhcGVyd21AcGFwZXJ3bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY4LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDUuNi4wIgp9"}
   }}
 , {"uuid": "lightshell@dikasp.gitlab", "name": "Light Shell", "pname": "light-shell", "description": "Apply full light theme into default GNOME Shell, including light overview", "link": "https://extensions.gnome.org/extension/6102/light-shell/", "shell_version_map": {
     "42": {"version": "11", "sha256": "0fqshl06w2amy8d3gw2car4rab6zqpi79dg5dr05d5swggq1vm8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGx5IGZ1bGwgbGlnaHQgdGhlbWUgaW50byBkZWZhdWx0IGdub21lIHNoZWxsLCBpbmNsdWRpbmcgbGlnaHQgb3ZlcnZpZXcuIiwKICAibmFtZSI6ICJMaWdodCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2xpZ2h0LXNoZWxsIiwKICAidXVpZCI6ICJsaWdodHNoZWxsQGRpa2FzcC5naXRsYWIiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
@@ -6066,9 +6063,10 @@
     "43": {"version": "3", "sha256": "0xj7q0c41586crm855f939s3m9nvcbkdxk6jf9spiy5sjw2b5yca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR1BVIHByb2ZpbGUgc3dpdGNoZXIgZGVzaWduZWQgdG8gd29yayB3aXRoIFBSSU1FIChwcmltZS1zZWxlY3QpLiBGb3JrIG9mIFBSSU1FIEdQVSBQcm9maWxlIFNlbGVjdG9yIiwKICAibmFtZSI6ICJQUklNRSBIZWxwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWi1SYXktRW50ZXJ0YWlubWVudC9QUklNRS1IZWxwZXIiLAogICJ1dWlkIjogIlBSSU1FX0hlbHBlckB6LXJheS5kZSIsCiAgInZlcnNpb24iOiAzCn0="},
     "44": {"version": "3", "sha256": "0xj7q0c41586crm855f939s3m9nvcbkdxk6jf9spiy5sjw2b5yca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR1BVIHByb2ZpbGUgc3dpdGNoZXIgZGVzaWduZWQgdG8gd29yayB3aXRoIFBSSU1FIChwcmltZS1zZWxlY3QpLiBGb3JrIG9mIFBSSU1FIEdQVSBQcm9maWxlIFNlbGVjdG9yIiwKICAibmFtZSI6ICJQUklNRSBIZWxwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWi1SYXktRW50ZXJ0YWlubWVudC9QUklNRS1IZWxwZXIiLAogICJ1dWlkIjogIlBSSU1FX0hlbHBlckB6LXJheS5kZSIsCiAgInZlcnNpb24iOiAzCn0="}
   }}
-, {"uuid": "usd-try-gshell@arifesat.github.com", "name": "USD-TRY", "pname": "usd-try", "description": "USD (US Dollar) converted to TRY (Turkish Lira), show conversion on the center of the top panel. Updates are received every 30 seconds.\n\nIt is a fork of Dollar-PKR. This extension uses economia.awesomeapi.com.br", "link": "https://extensions.gnome.org/extension/6192/usd-try/", "shell_version_map": {
+, {"uuid": "usd-try-gshell@arifesat.github.com", "name": "USD-TRY", "pname": "usd-try", "description": "USD (US Dollar) converted to TRY (Turkish Lira). Updates are received every 30 seconds.\n\nIt is a fork of Dollar-PKR. This extension uses economia.awesomeapi.com.br", "link": "https://extensions.gnome.org/extension/6192/usd-try/", "shell_version_map": {
     "43": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
-    "44": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}
+    "44": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
+    "45": {"version": "7", "sha256": "0045lld30k30425scg2f686isnh2sqvwq41n62p9jc2lx4kvh5kg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"uuid": "hide-dock-in-overview@roslax", "name": "Hide the dock in overview", "pname": "hide-the-dock-in-overview", "description": "hides the dock in overview mode", "link": "https://extensions.gnome.org/extension/6195/hide-the-dock-in-overview/", "shell_version_map": {
     "44": {"version": "3", "sha256": "12f1qrc9hahjrqxvdviqz99pkgzs75f9k6qnnz4fh9v61bqwi31d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3L3RyZWUvbWFpbiIsCiAgInV1aWQiOiAiaGlkZS1kb2NrLWluLW92ZXJ2aWV3QHJvc2xheCIsCiAgInZlcnNpb24iOiAzCn0="}
@@ -6118,7 +6116,7 @@
     "42": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "43": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "44": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
-    "45": {"version": "12", "sha256": "1bmgkxsw7rfql8l1wlly51s6ik9d8lg8qc4kgssfy3vlrzsb95n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDEyCn0="}
+    "45": {"version": "13", "sha256": "1af6rwk9y6v5if1wck8vb5db4vrv9g84swmjg57rgwj0zgvabxbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDEzCn0="}
   }}
 , {"uuid": "notification-icons@muhammad_ans.github", "name": "Top Panel Notification Icons Revived", "pname": "top-panel-notification-icons-revived", "description": "Displays notifications icon in top panel", "link": "https://extensions.gnome.org/extension/6248/top-panel-notification-icons-revived/", "shell_version_map": {
     "45": {"version": "4", "sha256": "0s5bk169l1c7xhvrc07g1y6wjdzsgb3bylc1b3r38kjazdbyr3zp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG5vdGlmaWNhdGlvbnMgaWNvbiBpbiB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMgUmV2aXZlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24taWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVoYW1tYWQtYW5zL25vdGlmaWNhdGlvbi1pY29ucyIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWljb25zQG11aGFtbWFkX2Fucy5naXRodWIiLAogICJ2ZXJzaW9uIjogNAp9"}
@@ -6251,9 +6249,9 @@
 , {"uuid": "speedinator@liam.moe", "name": "Speedinator", "pname": "speedinator", "description": "Control the speed of gnome-shell animations", "link": "https://extensions.gnome.org/extension/6397/speedinator/", "shell_version_map": {
     "45": {"version": "4", "sha256": "1207ylsqwy47a9x47qg5wzycpbzljx71ps74dl7fjygsb2gik1ml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIHNwZWVkIG9mIGdub21lLXNoZWxsIGFuaW1hdGlvbnMiLAogICJuYW1lIjogIlNwZWVkaW5hdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1vZS5saWFtLnNwZWVkaW5hdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RlaHNxdWlkZ2Uvc3BlZWRpbmF0b3IiLAogICJ1dWlkIjogInNwZWVkaW5hdG9yQGxpYW0ubW9lIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
-, {"uuid": "phi@ziyagenc.github.com", "name": "Phi: Pi-hole Indicator", "pname": "phi-pi-hole-indicator", "description": "Quickly access your beloved Pi-hole from GNOME Shell.\n\nPhi provides the following features:\n- Monitor single or multiple Pi-hole instances,\n- Enable/disable blocking,\n- Display status and main statistics,\n- Show version information of Pi-hole, and notify when there is an update.\n\nYou can also configure Phi to look for Pi-hole only in a certain network. This might be useful if your computer connects to a different network (for example, a school, work or public Wi-Fi) rather than the one your Pi-hole lives in.\n\nIMPORTANT: The latest version of Phi requires to enter the full path of the URL of Pi-hole API, rather than only the domain part. Please check the information button in the Settings.", "link": "https://extensions.gnome.org/extension/6400/phi-pi-hole-indicator/", "shell_version_map": {
+, {"uuid": "phi@ziyagenc.github.com", "name": "Phi: Pi-hole Indicator", "pname": "phi-pi-hole-indicator", "description": "Quickly access your beloved Pi-hole from GNOME Shell.\n\nPhi provides the following features:\n- Monitor single or multiple Pi-hole instances,\n- Enable/disable blocking,\n- Display status and main statistics,\n- Show version information of Pi-hole, and notify when there is an update.\n\nYou can configure Phi to look for Pi-hole only in a certain network. This might be useful if your computer connects to a different network (for example, a school, work or public Wi-Fi) rather than the one your Pi-hole lives in.", "link": "https://extensions.gnome.org/extension/6400/phi-pi-hole-indicator/", "shell_version_map": {
     "44": {"version": "6", "sha256": "0mdqa357d2px0ssdwxngdvdvabvvd7hg3j8c03jwfgqp36s4mn0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="},
-    "45": {"version": "8", "sha256": "1n75nvazswp8fskd1yb925q4gambm07s28gq65plwbmfvx6jd34y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}
+    "45": {"version": "10", "sha256": "1kgk6zgjbmm9s6065ygcxvp8mdsnirwb31q419kfnrhfbw1kd6vc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMCwKICAidmVyc2lvbi1uYW1lIjogIjEuMyIKfQ=="}
   }}
 , {"uuid": "net-label@slimani.dev", "name": "NetLabel", "pname": "netlabel", "description": "Shows current download upload speed on panel \nThis extension is a Gnome 45 adaption of Net Speed by AlynxZhou", "link": "https://extensions.gnome.org/extension/6403/netlabel/", "shell_version_map": {
     "45": {"version": "1", "sha256": "0jc219z5jmx9p5gasp25fzbhnyyl1gchq0nyxn20zp70kmzg2f7f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGN1cnJlbnQgZG93bmxvYWQgdXBsb2FkIHNwZWVkIG9uIHBhbmVsIFxuVGhpcyBleHRlbnNpb24gaXMgYSBHbm9tZSA0NSBhZGFwdGlvbiBvZiBOZXQgU3BlZWQgYnkgQWx5bnhaaG91IiwKICAibmFtZSI6ICJOZXRMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tb2gtc2xpbWFuaS9uZXQtbGFiZWwiLAogICJ1dWlkIjogIm5ldC1sYWJlbEBzbGltYW5pLmRldiIsCiAgInZlcnNpb24iOiAxCn0="}
@@ -6293,7 +6291,7 @@
     "42": {"version": "1", "sha256": "0lw047iqjzmsnz19wajr73n1zprgh8r4mhh9srjkhm65k5h4gfs5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bHRpbW9uaXRvciBkaW1taW5nIG92ZXJsYXkgd2l0aCBSR0IgcmVndWxhdGlvbjogZXh0ZW5zaW9uIGFkZHMgYSBidXR0b24gd2l0aCBhIGxpZ2h0IGJ1bGIgaWNvbiB0byB5b3VyIHBhbmVsLiBDbGlja2luZyB0aGlzIGJ1dHRvbiByZXZlYWxzIGluZGl2aWR1YWwgc2xpZGVycyBmb3IgZWFjaCBjb25uZWN0ZWQgbW9uaXRvciwgYWxsb3dpbmcgeW91IHRvIGFkanVzdCB0aGUgZGltbWluZyBsZXZlbC4gQWRkaXRpb25hbGx5LCB5b3UgY2FuIHRvZ2dsZSB0aGUgY29sb3Igb2YgdGhlIGRpbW1pbmcgZWZmZWN0IGFuZCBjdXN0b21pemUgaXQgdXNpbmcgUkdCIHNsaWRlcnMgbG9jYXRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBtZW51LiBcblxuVGVzdGVkIHdpdGggVWJ1bnR1IDIyLjA0LjMgTFRTIGFuZCBHTk9NRSBTaGVsbCA0Mi45LiBcblxuSXQgaXMgYSBmb3JrIG9mIERpbSBEZXNrdG9wIDcwLiIsCiAgIm5hbWUiOiAiVml2aWRTaGFkZTogTXVsdGktTW9uaXRvciBSR0IgRGltbWluZyBDb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21vem82NC9WaXZpZFNoYWRlIiwKICAidXVpZCI6ICJWaXZpZFNoYWRlQG1vem82NC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "picture-of-the-day@swsnr.de", "name": "Picture of the Day", "pname": "picture-of-the-day", "description": "Get a picture of the day as desktop background.\n\nSupports the following sources:\n\n* NASA Astronomy Picture of the Day (APOD) from https://apod.nasa.gov/apod/astropix.html\n* NASA Earth Observatory Image of the Day from https://earthobservatory.nasa.gov/topic/image-of-the-day\n* Bing from https://www.bing.com\n* Wikimedia from https://commons.wikimedia.org/wiki/Main_Page\n", "link": "https://extensions.gnome.org/extension/6469/picture-of-the-day/", "shell_version_map": {
-    "45": {"version": "12", "sha256": "0bf1rag0c4gs0vzvjmpnbfn4mag0vrarhhmzs0psswzvsgzvqz5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTIsCiAgInZlcnNpb24tbmFtZSI6ICI0NS41Igp9"}
+    "45": {"version": "13", "sha256": "1j3l0605d2i9w96c2lppjp0s254qyld2mb5hffgpv2jibb78s7ca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTMsCiAgInZlcnNpb24tbmFtZSI6ICI0NS42Igp9"}
   }}
 , {"uuid": "overviewnow@thesola.io", "name": "Overview Flick", "pname": "overview-flick", "description": "Flick from the right to get the Overview.\n\nThis extension was revived to GNOME 45 from the original, https://extensions.gnome.org/extension/1088/overview-now/\n\nOriginal description:\n\nThis is my first extension. Thanks, GNOME!. Based on \"Slide for Keyboard\", https://extensions.gnome.org/extension/993/slide-for-keyboard/\n\nWhy did I do this? Well, if you do a gesture with your thumb, on your touchscreen, from the right to the center, you'll get the Overview. If you do that, your thumb will be placed in the Desktop selector, so you will be able to move between desktops with your thumb. Perfect! This is also easier to trigger than the default GNOME gesture (three fingers closing).", "link": "https://extensions.gnome.org/extension/6478/overview-flick/", "shell_version_map": {
     "45": {"version": "2", "sha256": "14bbic6vx13vaj5xqws34mlwmvfq436al63lzvwa41hkckqyxk6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsaWNrIGZyb20gdGhlIHJpZ2h0IHRvIGdldCB0aGUgT3ZlcnZpZXcuXG5cblRoaXMgZXh0ZW5zaW9uIHdhcyByZXZpdmVkIHRvIEdOT01FIDQ1IGZyb20gdGhlIG9yaWdpbmFsLCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMDg4L292ZXJ2aWV3LW5vdy9cblxuT3JpZ2luYWwgZGVzY3JpcHRpb246XG5cblRoaXMgaXMgbXkgZmlyc3QgZXh0ZW5zaW9uLiBUaGFua3MsIEdOT01FIS4gQmFzZWQgb24gXCJTbGlkZSBmb3IgS2V5Ym9hcmRcIiwgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTkzL3NsaWRlLWZvci1rZXlib2FyZC9cblxuV2h5IGRpZCBJIGRvIHRoaXM/IFdlbGwsIGlmIHlvdSBkbyBhIGdlc3R1cmUgd2l0aCB5b3VyIHRodW1iLCBvbiB5b3VyIHRvdWNoc2NyZWVuLCBmcm9tIHRoZSByaWdodCB0byB0aGUgY2VudGVyLCB5b3UnbGwgZ2V0IHRoZSBPdmVydmlldy4gSWYgeW91IGRvIHRoYXQsIHlvdXIgdGh1bWIgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERlc2t0b3Agc2VsZWN0b3IsIHNvIHlvdSB3aWxsIGJlIGFibGUgdG8gbW92ZSBiZXR3ZWVuIGRlc2t0b3BzIHdpdGggeW91ciB0aHVtYi4gUGVyZmVjdCEgVGhpcyBpcyBhbHNvIGVhc2llciB0byB0cmlnZ2VyIHRoYW4gdGhlIGRlZmF1bHQgR05PTUUgZ2VzdHVyZSAodGhyZWUgZmluZ2VycyBjbG9zaW5nKS4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZsaWNrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXNvbGExMC9nbm9tZS1zaGVsbC1vdmVydmlldy1mbGljayIsCiAgInV1aWQiOiAib3ZlcnZpZXdub3dAdGhlc29sYS5pbyIsCiAgInZlcnNpb24iOiAyCn0="}
@@ -6308,7 +6306,7 @@
     "45": {"version": "2", "sha256": "1afvwrhnihih06gvqaj6qdkngqzs36l3w7bwsnw8mzj7hvifs0fg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdmVyIG92ZXIgYSB3aW5kb3cgaW4gb3ZlcnZpZXcgbW9kZSB0byBtYWtlIGl0IGFjdGl2ZSIsCiAgIm5hbWUiOiAiT3ZlcnZpZXcgSG92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF0dGRhdmlzOTAvb3ZlcnZpZXctaG92ZXIiLAogICJ1dWlkIjogIm92ZXJ2aWV3aG92ZXJAbWF0dGRhdmlzOTAiLAogICJ2ZXJzaW9uIjogMgp9"}
   }}
 , {"uuid": "onedrive@client.onedrive.com", "name": "Onedrive Client", "pname": "onedrive", "description": "Show and Control Onedrive Client", "link": "https://extensions.gnome.org/extension/6493/onedrive/", "shell_version_map": {
-    "45": {"version": "3", "sha256": "1745pwfh9xdwz3fm4ykay22ha2v6xj5fqxc891k48q5kz6izv5hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW5kIENvbnRyb2wgT25lZHJpdmUgQ2xpZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib25lZHJpdmVAY2xpZW50Lm9uZWRyaXZlLmNvbSIsCiAgIm5hbWUiOiAiT25lZHJpdmUgQ2xpZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R2bWFzdGVyZngvT25lZHJpdmUtR25vbWUtU2hlbGwtNDUiLAogICJ1dWlkIjogIm9uZWRyaXZlQGNsaWVudC5vbmVkcml2ZS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
+    "45": {"version": "5", "sha256": "1pjlj22hrr1aks3wy9sxm4lpd7lk38f0jhzdz5vxsb0gg8707925", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW5kIENvbnRyb2wgT25lZHJpdmUgQ2xpZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib25lZHJpdmVAY2xpZW50Lm9uZWRyaXZlLmNvbSIsCiAgIm5hbWUiOiAiT25lZHJpdmUgQ2xpZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R2bWFzdGVyZngvT25lZHJpdmUtR25vbWUtU2hlbGwtNDUiLAogICJ1dWlkIjogIm9uZWRyaXZlQGNsaWVudC5vbmVkcml2ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
 , {"uuid": "system-stats-plus@remulo.costa.gmail.com", "name": "SystemStatsPlus", "pname": "systemstatsplus", "description": "SystemStatsPlus is ease user-friendly GNOME extension that provides real-time visualization of key system resources.\nThis extension is an essential tool for anyone looking to keep a close eye on their system's performance.\n\nKey Features:\n\n- Per CPU core/processor utilization\n- RAM utilization\n- Swap memory utilization\n- Network utilization\n\nIn addition to utilization displayed in the tray, it offers drop down display of historical utilizations.\n\nTo display the usage history, just position the mouse cursor over the item.\n\nIt's a refined fork of the original, but now seemingly inactive, gnome-stats-pro https://github.com/tpenguin/gnome-stats-pro\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r' (or logout/login under Wayland).", "link": "https://extensions.gnome.org/extension/6502/systemstatsplus/", "shell_version_map": {
     "45": {"version": "2", "sha256": "1dfjz3spbbk18wr1jsp6xbky3mc7d64zbpxpxg4bgvv39j1gz337", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJSZW11bG8gQ29zdGEgPHJlbXVsby5jb3N0YUBnbWFpbC5jb20+IiwKICAiZGVzY3JpcHRpb24iOiAiU3lzdGVtU3RhdHNQbHVzIGEgcm9idXN0IGFuZCB1c2VyLWZyaWVuZGx5IEdOT01FIGV4dGVuc2lvbiB0aGF0IHByb3ZpZGVzIHJlYWwtdGltZSB2aXN1YWxpemF0aW9uIG9mIGtleSBzeXN0ZW0gcmVzb3VyY2VzLlxuXG5JdCdzIGEgcmVmaW5lZCBmb3JrIG9mIHRoZSBvcmlnaW5hbCwgYnV0IG5vdyBzZWVtaW5nbHkgaW5hY3RpdmUsIGdub21lLXN0YXRzLXBybyBodHRwczovL2dpdGh1Yi5jb20vdHBlbmd1aW4vZ25vbWUtc3RhdHMtcHJvXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGFuIGVzc2VudGlhbCB0b29sIGZvciBhbnlvbmUgbG9va2luZyB0byBrZWVwIGEgY2xvc2UgZXllIG9uIHRoZWlyIHN5c3RlbSdzIHBlcmZvcm1hbmNlLlxuXG5LZXkgRmVhdHVyZXM6XG5cbi0gUGVyIENQVSBjb3JlL3Byb2Nlc3NvciB1dGlsaXphdGlvblxuLSBSQU0gdXRpbGl6YXRpb25cbi0gU3dhcCBtZW1vcnkgdXRpbGl6YXRpb25cbi0gTmV0d29yayB1dGlsaXphdGlvblxuXG5JbiBhZGRpdGlvbiB0byB1dGlsaXphdGlvbiBkaXNwbGF5ZWQgaW4gdGhlIHRyYXksIGl0IG9mZmVycyBkcm9wIGRvd24gZGlzcGxheSBvZiBoaXN0b3JpY2FsIHV0aWxpemF0aW9ucy5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicgKG9yIGxvZ291dC9sb2dpbiB1bmRlciBXYXlsYW5kKS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzeXN0ZW0tc3RhdHMtcGx1cyIsCiAgIm5hbWUiOiAiU3lzdGVtU3RhdHNQbHVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImpvZUB0aHJhbGxpbmdwZW5ndWluLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZW11bG9jb3N0YS9zeXN0ZW0tc3RhdHMtcGx1cyIsCiAgInV1aWQiOiAic3lzdGVtLXN0YXRzLXBsdXNAcmVtdWxvLmNvc3RhLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyLAogICJ2ZXJzaW9uLW5hbWUiOiAiMC4xLjAiCn0="}
@@ -6329,13 +6327,39 @@
 , {"uuid": "todo-list@speedflyer689.github.com", "name": "Todo list", "pname": "todo-list", "description": "Adds a todo list to the notification panel", "link": "https://extensions.gnome.org/extension/6526/todo-list/", "shell_version_map": {
     "38": {"version": "3", "sha256": "06hqbrk894bi0acilq4vg5a3h3gjmkmi1jv7vmaws0bn7gzqafjx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSB0b2RvIGxpc3QgdG8gdGhlIG5vdGlmaWNhdGlvbiBwYW5lbCIsCiAgIm5hbWUiOiAiVG9kbyBsaXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU3BlZWRmbHllcjY4OS9Hbm9tZS1Ub2RvLUxpc3QiLAogICJ1dWlkIjogInRvZG8tbGlzdEBzcGVlZGZseWVyNjg5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
   }}
-, {"uuid": "logowidget@github.com.howbea", "name": "Logo Widget", "pname": "logo-widget", "description": "Add a logo to the desktop.This is  a fork of Background Logo extension. \n https://extensions.gnome.org/extension/889/background-logo/ \n https://pagure.io/background-logo-extension", "link": "https://extensions.gnome.org/extension/6529/logo-widget/", "shell_version_map": {
-    "42": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "43": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "44": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "45": {"version": "5", "sha256": "1kxqkv8z2ldcraf8if7djz1awqh8bfc23ib0cyxf0qzbdz39p1r8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmFja2dyb3VuZC1sb2dvIiwKICAibmFtZSI6ICJMb2dvIFdpZGdldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNQp9"}
+, {"uuid": "logowidget@github.com.howbea", "name": "Logo Widget", "pname": "logo-widget", "description": "Add a logo to the desktop. This is a fork of Background Logo extension \n https://extensions.gnome.org/extension/889/background-logo/ \n https://pagure.io/background-logo-extension", "link": "https://extensions.gnome.org/extension/6529/logo-widget/", "shell_version_map": {
+    "42": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "43": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "44": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "45": {"version": "7", "sha256": "09fmvv0nimyfai39xr0hrcgp5979i8n80zi42y7lbanczcc71n6a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmFja2dyb3VuZC1sb2dvIiwKICAibmFtZSI6ICJMb2dvIFdpZGdldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNwp9"}
+  }}
+, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of \"Azan Islamic Prayer Times\" by faissaloo which is based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "18q8566d72js01qx1gq9i322hxghkg0bh6b1xfzcmq54cmfab47d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IGZhaXNzYWxvby5cblxuRmVhdHVyZXNcbi0gTGlzdCBjb21wdWxzb3J5IHByYXllciB0aW1lc1xuIE9wdGlvbmFsbHkgZGlzcGxheSBJbXNhaywgU3VucmlzZSwgU3Vuc2V0IGFuZCBNaWRuaWdodFxuLSBTaG93IHJlbWFpbmluZyB0aW1lIGZvciB0aGUgdXBjb21pbmcgcHJheWVyLlxuLSBTaG93IGN1cnJlbnQgZGF0ZSBpbiBIaWpyaSBjYWxlbmRhci5cbi0gRGlzcGxheSBhIG5vdGlmaWNhdGlvbiB3aGVuIGl0J3MgdGltZSBmb3IgcHJheWVyLlxuLSBBdXRvbWF0aWMgR2VvY2x1ZTIgbG9jYXRpb24gZGV0ZWN0aW9uXG4tIFNob3cgdGltZXMgaW4gMjQgaG91ciBhbmQgMTIgaG91ciBmb3JtYXRzXG4tIEhpanJpIGRhdGUgYWRqdXNtZW50XG4tIElxYW1haCBvcHRpb24iLAogICJuYW1lIjogInhBemFuVGltZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXphbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hN21lZGtoYWxhZi9hemFuLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXphbkBhN21lZGtoYWxhZiIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
+, {"uuid": "clown@markocic", "name": "Clown", "pname": "clown", "description": "Displays clown emoji in the panel and plays clown theme song on click", "link": "https://extensions.gnome.org/extension/6544/clown/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "13ybvk48whny007fxvspdpx7slg42l7fgrg0drcfrh9w6c6jvq0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGNsb3duIGVtb2ppIGluIHRoZSBwYW5lbCBhbmQgcGxheXMgY2xvd24gdGhlbWUgc29uZyBvbiBjbGljayIsCiAgIm5hbWUiOiAiQ2xvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFya29jaWMvY2xvd24tZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjbG93bkBtYXJrb2NpYyIsCiAgInZlcnNpb24iOiAzCn0="}
   }}
 , {"uuid": "input-source-dbus-interface@raiden_fumo", "name": "Input source D-Bus interface", "pname": "input-source-d-bus-interface", "description": "Add D-Bus interface for changing input sources via command.\nWith this extension you can bind multiple keyboard layouts to different shortcuts.\nSee README.md in extension archive or repository for usage details.", "link": "https://extensions.gnome.org/extension/6547/input-source-d-bus-interface/", "shell_version_map": {
     "45": {"version": "1", "sha256": "16v5f7q798708srm1vqbcq37ykgsmybl6scl7bkk8sqksvangqsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBELUJ1cyBpbnRlcmZhY2UgZm9yIGNoYW5naW5nIGlucHV0IHNvdXJjZXMgdmlhIGNvbW1hbmQiLAogICJuYW1lIjogIklucHV0IHNvdXJjZSBELUJ1cyBpbnRlcmZhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVycnNjaGVyLW9mLXNsZWVwaW5nL2dub21lLWlucHV0LXNvdXJjZS1kYnVzLWludGVyZmFjZSIsCiAgInV1aWQiOiAiaW5wdXQtc291cmNlLWRidXMtaW50ZXJmYWNlQHJhaWRlbl9mdW1vIiwKICAidmVyc2lvbiI6IDEKfQ=="}
   }}
+, {"uuid": "rectangle@acristoffers.me", "name": "Rectangle", "pname": "rectangle", "description": "Magnet/Rectangle like manual tiling", "link": "https://extensions.gnome.org/extension/6553/rectangle/", "shell_version_map": {
+    "42": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "43": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "44": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "45": {"version": "3", "sha256": "15gv4y4rwqgz54y86ik09izp0fl4rsw2x7bra959ih60dy3vs00i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FjcmlzdG9mZmVycy9nbm9tZS1yZWN0YW5nbGUiLAogICJ1dWlkIjogInJlY3RhbmdsZUBhY3Jpc3RvZmZlcnMubWUiLAogICJ2ZXJzaW9uIjogMwp9"}
+  }}
+, {"uuid": "task-up@fthx", "name": "Task Up", "pname": "task-up", "description": "Task bar. Handles multiple workspaces. Very light extension.\n\n Complete rewrite of BaBar task bar extension, light code only has 300 lines.\n\n Some settings.", "link": "https://extensions.gnome.org/extension/6556/task-up/", "shell_version_map": {
+    "45": {"version": "13", "sha256": "06rnaagwpcj6qzb53cmi81kx71ssjy1qhm6abcrkyd8113gmag3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBIYW5kbGVzIG11bHRpcGxlIHdvcmtzcGFjZXMuIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gQ29tcGxldGUgcmV3cml0ZSBvZiBCYUJhciB0YXNrIGJhciBleHRlbnNpb24sIGxpZ2h0IGNvZGUgb25seSBoYXMgMzAwIGxpbmVzLlxuXG4gU29tZSBzZXR0aW5ncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJUYXNrIFVwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2stdXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90YXNrLXVwIiwKICAidXVpZCI6ICJ0YXNrLXVwQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
+  }}
+, {"uuid": "workspace-switch-buttons@rajan-31", "name": "Workspace Switch Buttons", "pname": "workspace-switch-buttons", "description": "Adds buttons to switch to left and right workspace, and hides \"Activities\" button", "link": "https://extensions.gnome.org/extension/6562/workspace-switch-buttons/", "shell_version_map": {
+    "42": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
+    "43": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
+    "44": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
+, {"uuid": "langTray@a7medkhalaf", "name": "xLanguageTray", "pname": "xlanguagetray", "description": "Move Region/Language Tray To Quick Settings", "link": "https://extensions.gnome.org/extension/6565/xlanguagetray/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "056x6bg3z8vqrknyqgr8hfgd8x04nj626jxw30p3qszvazajr8bj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgUmVnaW9uL0xhbmd1YWdlIFRyYXkgVG8gUXVpY2sgU2V0dGluZ3MiLAogICJuYW1lIjogInhMYW5ndWFnZVRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYTdtZWRraGFsYWYvTGFuZ1RyYXkiLAogICJ1dWlkIjogImxhbmdUcmF5QGE3bWVka2hhbGFmIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+  }}
+, {"uuid": "simplebreakreminder@castillodel.com", "name": "Simple Break Reminder", "pname": "simple-break-reminder", "description": "It's important to remember to take a break", "link": "https://extensions.gnome.org/extension/6568/simple-break-reminder/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "07014vqkcxhrndwywbprxkngvvyn0fvwpq7iaky04m8zb88jhk4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2FzdGlsbG9EZWwvc2ltcGxlYnJlYWtyZW1pbmRlciIsCiAgInV1aWQiOiAic2ltcGxlYnJlYWtyZW1pbmRlckBjYXN0aWxsb2RlbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}
+  }}
 ]
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index 6e8da3840f086..e1e40ec105935 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -16,6 +16,8 @@
   "taskwhisperer-extension@infinicode.de" = callPackage ./taskwhisperer { };
   "tilingnome@rliang.github.com" = callPackage ./tilingnome { };
   "TopIcons@phocean.net" = callPackage ./topicons-plus { };
+  # Can be removed when https://github.com/hardpixel/unite-shell/issues/353 resolved
+  "unite@hardpixel.eu" = callPackage ./unite { };
   "valent@andyholmes.ca" = callPackage ./valent { };
   "window-corner-preview@fabiomereu.it" = callPackage ./window-corner-preview { };
 }
diff --git a/pkgs/desktops/gnome/extensions/unite/default.nix b/pkgs/desktops/gnome/extensions/unite/default.nix
new file mode 100644
index 0000000000000..ef975ffddf45f
--- /dev/null
+++ b/pkgs/desktops/gnome/extensions/unite/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, gnome, fetchFromGitHub, xprop, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-unite";
+  version = "77";
+
+  src = fetchFromGitHub {
+    owner = "hardpixel";
+    repo = "unite-shell";
+    rev = "v${version}";
+    hash = "sha256-5PClGWOxqwTVaqBySu5I+qavaV1vcKHUvoYJ3Qgcq2o=";
+  };
+
+  passthru = {
+    extensionUuid = "unite@hardpixel.eu";
+    extensionPortalSlug = "unite";
+  };
+
+  nativeBuildInputs = [ glib ];
+
+  buildInputs = [ xprop ];
+
+  buildPhase = ''
+    runHook preBuild
+    glib-compile-schemas --strict --targetdir="unite@hardpixel.eu/schemas/" "unite@hardpixel.eu/schemas"
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r "unite@hardpixel.eu" $out/share/gnome-shell/extensions
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ rhoriguchi ];
+    homepage = "https://github.com/hardpixel/unite-shell";
+    broken = versionOlder gnome.gnome-shell.version "3.32";
+  };
+}
diff --git a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
index 513ae6ed9e03b..ffd5573d01548 100644
--- a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sudoku";
-  version = "45.2";
+  version = "45.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Ves0R5euw9ifer/L57djAn9cDipaIuaPvzLH6UOdlfI=";
+    sha256 = "27xURAbO54QRBBeOpKk742EH2dfsplVf0wGJzRQ41ko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch b/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch
deleted file mode 100644
index 81e037ee690de..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac  2019-01-20 20:28:01.309231507 +0100
-+++ b/configure.ac  2019-01-20 20:31:54.927978927 +0100
-@@ -137,7 +137,7 @@
- 
- # Find out where the session service file goes
- # The sad sed hack is recomended by section 27.10 of the automake manual.
--DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 | sed -e 's,/usr/share,${datarootdir},g'`
-+DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 --define-variable 'datadir=${datadir}'`
- AC_SUBST(DBUS_SESSION_SERVICE_DIR)
- 
- dnl ---------------------------------------------------------------------------
\ No newline at end of file
diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix
index e8c3ea27fa4d3..962d6eef7fded 100644
--- a/pkgs/desktops/gnustep/gui/default.nix
+++ b/pkgs/desktops/gnustep/gui/default.nix
@@ -1,12 +1,12 @@
 { gsmakeDerivation, fetchzip, base }:
 
 gsmakeDerivation rec {
-  version = "0.29.0";
+  version = "0.30.0";
   pname = "gnustep-gui";
 
   src = fetchzip {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/${pname}-${version}.tar.gz";
-    sha256 = "0x6n48p178r4zd8f4sqjfqd6rp49w00wr59w19lpwlmrdv7bn538";
+    sha256 = "sha256-24hL4TeIY6izlhQUcxKI0nXITysAPfRrncRqsDm2zNk=";
   };
   buildInputs = [ base ];
   patches = [
diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix
index 2b559a6a72730..45c0043568df5 100644
--- a/pkgs/desktops/lomiri/default.nix
+++ b/pkgs/desktops/lomiri/default.nix
@@ -17,6 +17,15 @@ let
     gmenuharness = callPackage ./development/gmenuharness { };
     libusermetrics = callPackage ./development/libusermetrics { };
     lomiri-api = callPackage ./development/lomiri-api { };
+    u1db-qt = callPackage ./development/u1db-qt { };
+
+    #### QML / QML-related
+    lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
+
+    #### Services
+    biometryd = callPackage ./services/biometryd { };
+    hfd-service = callPackage ./services/hfd-service { };
+    lomiri-app-launch = callPackage ./development/lomiri-app-launch { };
   };
 in
   lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/desktops/lomiri/development/deviceinfo/default.nix b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
index 04abf4f88f46d..00ba1d864bf67 100644
--- a/pkgs/desktops/lomiri/development/deviceinfo/default.nix
+++ b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DDISABLE_TESTS=${lib.boolToString (!finalAttrs.doCheck)}"
+    "-DDISABLE_TESTS=${lib.boolToString (!finalAttrs.finalPackage.doCheck)}"
   ];
 
   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
diff --git a/pkgs/desktops/lomiri/development/geonames/default.nix b/pkgs/desktops/lomiri/development/geonames/default.nix
index ee4a3b77b72ba..8fc5a65b72ff1 100644
--- a/pkgs/desktops/lomiri/development/geonames/default.nix
+++ b/pkgs/desktops/lomiri/development/geonames/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   # Tests need to be able to check locale
-  LC_ALL = lib.optionalString finalAttrs.doCheck "en_US.UTF-8";
+  LC_ALL = lib.optionalString finalAttrs.finalPackage.doCheck "en_US.UTF-8";
   nativeCheckInputs = [
     glibcLocales
   ];
@@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DWANT_DOC=${lib.boolToString withDocumentation}"
     "-DWANT_DEMO=${lib.boolToString withExamples}"
-    "-DWANT_TESTS=${lib.boolToString finalAttrs.doCheck}"
+    "-DWANT_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
     # Keeps finding & using glib-compile-resources from buildInputs otherwise
     "-DCMAKE_PROGRAM_PATH=${lib.makeBinPath [ buildPackages.glib.dev ]}"
   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
diff --git a/pkgs/desktops/lomiri/development/gmenuharness/default.nix b/pkgs/desktops/lomiri/development/gmenuharness/default.nix
index d5143e94d9147..101b6e2167774 100644
--- a/pkgs/desktops/lomiri/development/gmenuharness/default.nix
+++ b/pkgs/desktops/lomiri/development/gmenuharness/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-Denable_tests=${lib.boolToString finalAttrs.doCheck}"
+    "-Denable_tests=${lib.boolToString finalAttrs.finalPackage.doCheck}"
   ];
 
   dontWrapQtApps = true;
diff --git a/pkgs/desktops/lomiri/development/libusermetrics/default.nix b/pkgs/desktops/lomiri/development/libusermetrics/default.nix
index 7ccaccfa395e0..0c4ed003e5971 100644
--- a/pkgs/desktops/lomiri/development/libusermetrics/default.nix
+++ b/pkgs/desktops/lomiri/development/libusermetrics/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     substituteInPlace doc/CMakeLists.txt \
       --replace "\''${CMAKE_INSTALL_DATAROOTDIR}/doc/libusermetrics-doc" "\''${CMAKE_INSTALL_DOCDIR}"
-  '' + lib.optionalString (!finalAttrs.doCheck) ''
+  '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
     # Only needed by tests
     sed -i -e '/QTDBUSTEST/d' CMakeLists.txt
   '';
@@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DGSETTINGS_LOCALINSTALL=ON"
     "-DGSETTINGS_COMPILE=ON"
-    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
   ];
 
   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
diff --git a/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix
new file mode 100644
index 0000000000000..92139688b1270
--- /dev/null
+++ b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix
@@ -0,0 +1,129 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, testers
+, cmake
+, cmake-extras
+, curl
+, dbus
+, dbus-test-runner
+, dpkg
+, gobject-introspection
+, gtest
+, json-glib
+, libxkbcommon
+, lomiri-api
+, lttng-ust
+, pkg-config
+, properties-cpp
+, python3
+, systemd
+, ubports-click
+, zeitgeist
+, withDocumentation ? true
+, doxygen
+, python3Packages
+, sphinx
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lomiri-app-launch";
+  version = "0.1.8";
+
+  outputs = [
+    "out"
+    "dev"
+  ] ++ lib.optionals withDocumentation [
+    "doc"
+  ];
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/lomiri-app-launch";
+    rev = finalAttrs.version;
+    hash = "sha256-NIBZk5H0bPwAwkI0Qiq2S9dZvchAFPBCHKi2inUVZmI=";
+  };
+
+  postPatch = ''
+    patchShebangs tests/{desktop-hook-test.sh.in,repeat-until-pass.sh}
+
+    # used pkg_get_variable, cannot replace prefix
+    substituteInPlace data/CMakeLists.txt \
+      --replace 'DESTINATION "''${SYSTEMD_USER_UNIT_DIR}"' 'DESTINATION "${placeholder "out"}/lib/systemd/user"'
+
+    substituteInPlace tests/jobs-systemd.cpp \
+      --replace '^(/usr)?' '^(/nix/store/\\w+-bash-.+)?'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    dpkg # for setting LOMIRI_APP_LAUNCH_ARCH
+    gobject-introspection
+    pkg-config
+  ] ++ lib.optionals withDocumentation [
+    doxygen
+    python3Packages.breathe
+    sphinx
+  ];
+
+  buildInputs = [
+    cmake-extras
+    curl
+    dbus
+    json-glib
+    libxkbcommon
+    lomiri-api
+    lttng-ust
+    properties-cpp
+    systemd
+    ubports-click
+    zeitgeist
+  ];
+
+  nativeCheckInputs = [
+    dbus
+    (python3.withPackages (ps: with ps; [
+      python-dbusmock
+    ]))
+  ];
+
+  checkInputs = [
+    dbus-test-runner
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_MIRCLIENT=OFF"
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+  ];
+
+  postBuild = lib.optionalString withDocumentation ''
+    make -C ../docs html
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  postInstall = lib.optionalString withDocumentation ''
+    mkdir -p $doc/share/doc/lomiri-app-launch
+    mv ../docs/_build/html $doc/share/doc/lomiri-app-launch/
+  '';
+
+  passthru = {
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "System and associated utilities to launch applications in a standard and confined way";
+    homepage = "https://gitlab.com/ubports/development/core/lomiri-app-launch";
+    license = licenses.gpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "lomiri-app-launch-0"
+    ];
+  };
+})
diff --git a/pkgs/desktops/lomiri/development/u1db-qt/default.nix b/pkgs/desktops/lomiri/development/u1db-qt/default.nix
new file mode 100644
index 0000000000000..275fe85a55d24
--- /dev/null
+++ b/pkgs/desktops/lomiri/development/u1db-qt/default.nix
@@ -0,0 +1,102 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, testers
+, cmake
+, dbus-test-runner
+, pkg-config
+, qtbase
+, qtdeclarative
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "u1db-qt";
+  version = "0.1.7";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/u1db-qt";
+    rev = finalAttrs.version;
+    hash = "sha256-qlWkxpiVEUbpsKhzR0s7SKaEFCLM2RH+v9XmJ3qLoGY=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+    "examples"
+  ];
+
+  postPatch = ''
+    patchShebangs tests/strict-qmltestrunner.sh
+
+    # QMake query response is broken
+    substituteInPlace modules/U1db/CMakeLists.txt \
+      --replace "\''${QT_IMPORTS_DIR}" "$out/$qtQmlPrefix"
+  '' + lib.optionalString (!finalAttrs.doCheck) ''
+    # Other locations add dependencies to custom check target from tests
+    substituteInPlace CMakeLists.txt \
+      --replace 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    qtdeclarative # qmlplugindump
+  ];
+
+  buildInputs = [
+    qtbase
+    qtdeclarative
+  ];
+
+  nativeCheckInputs = [
+    dbus-test-runner
+  ];
+
+  cmakeFlags = [
+    # Needs qdoc
+    "-DBUILD_DOCS=OFF"
+  ];
+
+  dontWrapQtApps = true;
+
+  preBuild = ''
+    # Executes qmlplugindump
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  preCheck = ''
+    export QT_QPA_PLATFORM=minimal
+  '';
+
+  postInstall = ''
+    # Example seems unmaintained & depends on old things
+    # (unity-icon-theme, QtWebKit, Ubuntu namespace compat in LUITK)
+    # With an uneducated attempt at porting it to QtWebView, only displays blank window. Just throw it away.
+    rm -r $out/share/applications
+
+    moveToOutput share/u1db-qt/qtcreator $dev
+    moveToOutput share/u1db-qt/examples $examples
+  '';
+
+  passthru = {
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Qt5 binding and QtQuick2 plugin for U1DB";
+    homepage = "https://gitlab.com/ubports/development/core/u1db-qt";
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "libu1db-qt5"
+    ];
+  };
+})
diff --git a/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix
new file mode 100644
index 0000000000000..1adb7372b7f98
--- /dev/null
+++ b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, cmake
+, cmake-extras
+, pkg-config
+, python3
+, qtbase
+, qtdeclarative
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lomiri-settings-components";
+  version = "1.1.0";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/lomiri-settings-components";
+    rev = finalAttrs.version;
+    hash = "sha256-13uxUBM+uOmt8X0uLGWNP8YbwCdb2QCChB8IP3td5a4=";
+  };
+
+  postPatch = ''
+    patchShebangs tests/imports/check_imports.py
+
+    substituteInPlace CMakeLists.txt \
+      --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" '${placeholder "out"}/${qtbase.qtQmlPrefix}'
+  '' + lib.optionalString (!finalAttrs.doCheck) ''
+    sed -i CMakeLists.txt \
+      -e '/add_subdirectory(tests)/d'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    cmake-extras
+    qtbase
+    qtdeclarative
+  ];
+
+  nativeCheckInputs = [
+    python3
+  ];
+
+  # No apps, just QML components
+  dontWrapQtApps = true;
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = with lib; {
+    description = "QML settings components for the Lomiri Desktop Environment";
+    homepage = "https://gitlab.com/ubports/development/core/lomiri-settings-components";
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix
new file mode 100644
index 0000000000000..c8d0da9a65c2e
--- /dev/null
+++ b/pkgs/desktops/lomiri/services/biometryd/default.nix
@@ -0,0 +1,137 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, fetchpatch
+, gitUpdater
+, testers
+, boost
+, cmake
+, cmake-extras
+, dbus
+, dbus-cpp
+, gtest
+, libapparmor
+, libelf
+, pkg-config
+, process-cpp
+, properties-cpp
+, qtbase
+, qtdeclarative
+, sqlite
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "biometryd";
+  version = "0.3.0";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/biometryd";
+    rev = finalAttrs.version;
+    hash = "sha256-b095rsQnd63Ziqe+rn3ROo4LGXZxZ3Sa6h3apzCuyCs=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  patches = [
+    # https://gitlab.com/ubports/development/core/biometryd/-/merge_requests/31
+    (fetchpatch {
+      url = "https://gitlab.com/OPNA2608/biometryd/-/commit/d01d979e4f98c6473761d1ace308aa182017804e.patch";
+      hash = "sha256-JxL3BLuh33ptfneU1y2qNGFKpeMlZlTMwCK97Rk3aTA=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.com/OPNA2608/biometryd/-/commit/3cec6a3d42ea6aba8892da2c771b317f44daf9e2.patch";
+      hash = "sha256-Ij/aio38WmZ+NsUSbM195Gwb83goWIcCnJvGwAOJi50=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.com/OPNA2608/biometryd/-/commit/e89bd9444bc1cfe84a9aa93faa23057c80f39564.patch";
+      hash = "sha256-1vEG349X9+SvY/f3no/l5cMVGpdzC8h/8XOZwL/70Dc=";
+    })
+
+    # https://gitlab.com/ubports/development/core/biometryd/-/merge_requests/32
+    (fetchpatch {
+      url = "https://gitlab.com/OPNA2608/biometryd/-/commit/9e52fad0139c5a45f69e6a6256b2b5ff54f77740.patch";
+      hash = "sha256-DZSdzKq6EYgAllKSDgkGk2g57zHN+gI5fOoj7U5AcKY=";
+    })
+  ];
+
+  postPatch = ''
+    # Remove with !31 patches, fetchpatch can't apply renames
+    pushd data
+    for type in conf service; do
+      mv biometryd.$type biometryd.$type.in
+      substituteInPlace biometryd.$type.in \
+        --replace '/usr/bin' "\''${CMAKE_INSTALL_FULL_BINDIR}"
+    done
+    popd
+
+    # Uses pkg_get_variable, cannot substitute prefix with that
+    substituteInPlace CMakeLists.txt \
+      --replace 'pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)' 'set(SYSTEMD_SYSTEM_UNIT_DIR "${placeholder "out"}/lib/systemd/system")'
+
+    substituteInPlace src/biometry/qml/Biometryd/CMakeLists.txt \
+      --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
+  '' + lib.optionalString (!finalAttrs.doCheck) ''
+    sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    qtdeclarative # qmlplugindump
+  ];
+
+  buildInputs = [
+    boost
+    cmake-extras
+    dbus
+    dbus-cpp
+    libapparmor
+    libelf
+    process-cpp
+    properties-cpp
+    qtbase
+    qtdeclarative
+    sqlite
+  ];
+
+  checkInputs = [
+    gtest
+  ];
+
+  dontWrapQtApps = true;
+
+  cmakeFlags = [
+    "-DENABLE_WERROR=OFF"
+    "-DWITH_HYBRIS=OFF"
+  ];
+
+  preBuild = ''
+    # Generating plugins.qmltypes (also used in checkPhase?)
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  meta = with lib; {
+    description = "Mediates/multiplexes access to biometric devices";
+    longDescription = ''
+      biometryd mediates and multiplexes access to biometric devices present
+      on the system, enabling applications and system components to leverage
+      them for identification and verification of users.
+    '';
+    homepage = "https://gitlab.com/ubports/development/core/biometryd";
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    mainProgram = "biometryd";
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "biometryd"
+    ];
+  };
+})
diff --git a/pkgs/desktops/lomiri/services/hfd-service/default.nix b/pkgs/desktops/lomiri/services/hfd-service/default.nix
new file mode 100644
index 0000000000000..cffedb0af6235
--- /dev/null
+++ b/pkgs/desktops/lomiri/services/hfd-service/default.nix
@@ -0,0 +1,75 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, accountsservice
+, cmake
+, cmake-extras
+, deviceinfo
+, libgbinder
+, libglibutil
+, pkg-config
+, qtbase
+, qtdeclarative
+, qtfeedback
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hfd-service";
+  version = "0.2.1";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/hfd-service";
+    rev = finalAttrs.version;
+    hash = "sha256-KcHwLTSdo86YCteUsPndoxmLf23SOEhROc5cJQ8GS1Q=";
+  };
+
+  postPatch = ''
+    substituteInPlace qt/feedback-plugin/CMakeLists.txt \
+      --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/plugins" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtPluginPrefix}"
+
+    # Queries pkg-config via pkg_get_variable, can't override prefix
+    substituteInPlace init/CMakeLists.txt \
+      --replace "\''${SYSTEMD_SYSTEM_DIR}" "$out/lib/systemd/system"
+    substituteInPlace CMakeLists.txt \
+      --replace 'pkg_get_variable(AS_INTERFACES_DIR accountsservice interfacesdir)' 'set(AS_INTERFACES_DIR "''${CMAKE_INSTALL_DATADIR}/accountsservice/interfaces")' \
+      --replace 'DESTINATION ''${DBUS_INTERFACES_DIR}' 'DESTINATION ${placeholder "out"}/''${DBUS_INTERFACES_DIR}'
+    substituteInPlace src/CMakeLists.txt \
+      --replace "\''${DBUS_INTERFACES_DIR}/org.freedesktop.Accounts.xml" '${accountsservice}/share/dbus-1/interfaces/org.freedesktop.Accounts.xml'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    accountsservice
+    cmake-extras
+    deviceinfo
+    libgbinder
+    libglibutil
+    qtbase
+    qtdeclarative
+    qtfeedback
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_LIBHYBRIS=OFF"
+  ];
+
+  dontWrapQtApps = true;
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = with lib; {
+    description = "DBus-activated service that manages human feedback devices such as LEDs and vibrators on mobile devices";
+    homepage = "https://gitlab.com/ubports/development/core/hfd-service";
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 764f86cf061e9..dfb4e4620c516 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -15,6 +15,7 @@
 , libgtop
 , libxml2
 , libnotify
+, mate-desktop
 , mate-panel
 , polkit
 , upower
@@ -53,6 +54,7 @@ stdenv.mkDerivation rec {
     libnotify
     libwnck
     libxml2
+    mate-desktop # for org.mate.lockdown
     mate-panel
     polkit
     upower
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 1c99a04f65101..214e1767f25b2 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
-  version = "1.26.3";
+  version = "1.26.4";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "8z8Q1SdFC6fpjMcKslWsSBMwqp5m28x8URtrqhcd4Ck=";
+    sha256 = "IHD51RVlfl3c2g2H73KXE9upy3sq0GIjvWdKIcxrPa8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index c06448bdc41a5..dda264380dbc8 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -5,7 +5,6 @@
 , meson
 , ninja
 , pkg-config
-, python3
 , vala
 , wrapGAppsHook4
 , elementary-gtk-theme
@@ -17,20 +16,19 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "calculator";
     rev = version;
-    sha256 = "sha256-PLdPu43ns03vhBwaGw4BWCLNvcJbhUA+5Gr5b//TqfA=";
+    sha256 = "sha256-VPxCW2lVA/nS2aJsjLgkuEM9wnAzyEr864XY8tfLQAY=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    python3
     vala
     wrapGAppsHook4
   ];
@@ -42,11 +40,6 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
   preFixup = ''
     gappsWrapperArgs+=(
       # The GTK theme is hardcoded.
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index 3c9fc107a9780..5aff02f081701 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -29,6 +30,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-MJybc2yAchU6qMqkoRz45QdhR7bj/UFk2nyxcBivsHI=";
   };
 
+  patches = [
+    # Add support for AppStream 1.0
+    # https://github.com/elementary/switchboard-plug-about/pull/275
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-about/commit/72d7da13da2824812908276751fd3024db2dd0f8.patch";
+      hash = "sha256-R7oW3mL77/JNqxuMiqxtdMlHWMJgGRQBBzVeRiqx8PY=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch
new file mode 100644
index 0000000000000..8ec7a34d97605
--- /dev/null
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-esbuild-config.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kwinscript/CMakeLists.txt b/src/kwinscript/CMakeLists.txt
+index 9e2f7054..ed607027 100644
+--- a/src/kwinscript/CMakeLists.txt
++++ b/src/kwinscript/CMakeLists.txt
+@@ -39,7 +39,7 @@ endif()
+ set(ESBUILD_COMMAND
+     "esbuild" "--bundle" "${CMAKE_CURRENT_SOURCE_DIR}/index.ts"
+     "--outfile=${CMAKE_CURRENT_BINARY_DIR}/bismuth/contents/code/index.mjs"
+-    "--format=esm" "--platform=neutral")
++    "--format=esm" "--platform=neutral" "--target=es6")
+ if(USE_NPM)
+   list(PREPEND ESBUILD_COMMAND "npx")
+ endif()
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
index ee43f98fda207..ca54ff8887804 100644
--- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
@@ -21,6 +21,10 @@ mkDerivation rec {
     sha256 = "sha256-c13OFEw6E/I8j/mqeLnuc9Chi6pc3+AgwAMPpCzh974=";
   };
 
+  patches = [
+    ./0001-esbuild-config.patch
+  ];
+
   cmakeFlags = [
     "-DUSE_TSC=OFF"
     "-DUSE_NPM=OFF"
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 533240fc8f024..3d1df94ce8750 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.9/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.10/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch b/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
deleted file mode 100644
index d8d54a117eb25..0000000000000
--- a/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From e63a0dc2a7b185906a93d60e9d5d6deee4950efc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
-Date: Wed, 20 May 2020 14:02:07 +0200
-Subject: [PATCH] Add a logging category config file
-
-Makes powerdevil default logging level Warning
----
- CMakeLists.txt                     |  2 ++
- daemon/CMakeLists.txt              |  6 ++++++
- daemon/actions/dpms/CMakeLists.txt |  2 +-
- daemon/backends/CMakeLists.txt     |  6 +++---
- daemon/powerdevil_debug.cpp        | 21 ---------------------
- daemon/powerdevil_debug.h          | 26 --------------------------
- kcmodule/activities/CMakeLists.txt |  2 +-
- kcmodule/common/CMakeLists.txt     |  2 +-
- kcmodule/profiles/CMakeLists.txt   |  2 +-
- powerdevil.categories              |  1 +
- 10 files changed, 16 insertions(+), 54 deletions(-)
- delete mode 100644 daemon/powerdevil_debug.cpp
- delete mode 100644 daemon/powerdevil_debug.h
- create mode 100644 powerdevil.categories
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5ded8f5a..52a7318c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11,6 +11,7 @@ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
- set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
- 
- include(ECMSetupVersion)
-+include(ECMQtDeclareLoggingCategory)
- include(FeatureSummary)
- include(KDEInstallDirs)
- include(KDECMakeSettings)
-@@ -76,6 +77,7 @@ add_subdirectory(daemon)
- add_subdirectory(kcmodule)
- add_subdirectory(doc)
- 
-+install( FILES powerdevil.categories  DESTINATION  ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
- install( FILES powerdevil.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR} )
- 
- feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
-diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
-index 33ca655b..96cc9b7b 100644
---- a/daemon/CMakeLists.txt
-+++ b/daemon/CMakeLists.txt
-@@ -48,6 +48,12 @@ set(powerdevilcore_SRCS
-     kwinkscreenhelpereffect.cpp
- )
- 
-+ecm_qt_declare_logging_category(powerdevilcore_SRCS
-+   HEADER powerdevil_debug.h
-+   IDENTIFIER POWERDEVIL
-+   CATEGORY_NAME org.kde.powerdevil
-+   DEFAULT_SEVERITY Warning)
-+
- kconfig_add_kcfg_files(powerdevilcore_SRCS ../PowerDevilSettings.kcfgc)
- 
- # Action DBus Adaptors
-diff --git a/daemon/actions/dpms/CMakeLists.txt b/daemon/actions/dpms/CMakeLists.txt
-index f8ca4e20..3b8bd95b 100644
---- a/daemon/actions/dpms/CMakeLists.txt
-+++ b/daemon/actions/dpms/CMakeLists.txt
-@@ -3,7 +3,7 @@ include_directories(${PowerDevil_SOURCE_DIR}/daemon
-                     ${CMAKE_CURRENT_BINARY_DIR})
- 
- set(powerdevildpmsaction_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../../powerdevil_debug.cpp
-     powerdevildpmsaction.cpp
-     abstractdpmshelper.cpp
-     xcbdpmshelper.cpp
-diff --git a/daemon/backends/CMakeLists.txt b/daemon/backends/CMakeLists.txt
-index 89400446..05c4263e 100644
---- a/daemon/backends/CMakeLists.txt
-+++ b/daemon/backends/CMakeLists.txt
-@@ -4,7 +4,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/upower
-                     ${X11_Xrandr_INCLUDE_PATH})
- 
- set(powerdevilupowerbackend_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp
-     upower/upowersuspendjob.cpp
-     upower/login1suspendjob.cpp
-     upower/powerdevilupowerbackend.cpp
-@@ -33,14 +33,14 @@ ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.KbdBacklight.xml
- upower_kbdbacklight_interface)
- 
- ## backlight helper executable
--add_executable(backlighthelper upower/backlighthelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${backlighthelper_mocs})
-+add_executable(backlighthelper upower/backlighthelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${backlighthelper_mocs})
- target_link_libraries(backlighthelper Qt5::Core KF5::AuthCore KF5::I18n)
- install(TARGETS backlighthelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
- kauth_install_helper_files(backlighthelper org.kde.powerdevil.backlighthelper root)
- kauth_install_actions(org.kde.powerdevil.backlighthelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/backlight_helper_actions.actions)
- 
- ## discrete gpu helper executable
--add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${discretegpuhelper_mocs})
-+add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${discretegpuhelper_mocs})
- target_link_libraries(discretegpuhelper Qt5::Core KF5::AuthCore)
- install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
- kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root)
-diff --git a/daemon/powerdevil_debug.cpp b/daemon/powerdevil_debug.cpp
-deleted file mode 100644
-index 86172c1b..00000000
---- a/daemon/powerdevil_debug.cpp
-+++ /dev/null
-@@ -1,21 +0,0 @@
--/*  This file is part of the KDE project
--    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
--
--    This library is free software; you can redistribute it and/or
--    modify it under the terms of the GNU Library General Public
--    License as published by the Free Software Foundation; either
--    version 2 of the License, or (at your option) any later version.
--
--    This library is distributed in the hope that it will be useful,
--    but WITHOUT ANY WARRANTY; without even the implied warranty of
--    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--    Library General Public License for more details.
--
--    You should have received a copy of the GNU Library General Public License
--    along with this library; see the file COPYING.LIB.  If not, write to
--    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
--    Boston, MA 02110-1301, USA.
--*/
--
--#include "powerdevil_debug.h"
--Q_LOGGING_CATEGORY(POWERDEVIL, "powerdevil")
-diff --git a/daemon/powerdevil_debug.h b/daemon/powerdevil_debug.h
-deleted file mode 100644
-index fcd9c10f..00000000
---- a/daemon/powerdevil_debug.h
-+++ /dev/null
-@@ -1,26 +0,0 @@
--/*  This file is part of the KDE project
--    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
--
--    This library is free software; you can redistribute it and/or
--    modify it under the terms of the GNU Library General Public
--    License as published by the Free Software Foundation; either
--    version 2 of the License, or (at your option) any later version.
--
--    This library is distributed in the hope that it will be useful,
--    but WITHOUT ANY WARRANTY; without even the implied warranty of
--    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--    Library General Public License for more details.
--
--    You should have received a copy of the GNU Library General Public License
--    along with this library; see the file COPYING.LIB.  If not, write to
--    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
--    Boston, MA 02110-1301, USA.
--*/
--
--#ifndef PROCESSCORE_DEBUG_H
--#define PROCESSCORE_DEBUG_H
--
--#include <QLoggingCategory>
--Q_DECLARE_LOGGING_CATEGORY(POWERDEVIL)
--
--#endif
-diff --git a/kcmodule/activities/CMakeLists.txt b/kcmodule/activities/CMakeLists.txt
-index 41a6da48..6e248e91 100644
---- a/kcmodule/activities/CMakeLists.txt
-+++ b/kcmodule/activities/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilactivitiesconfig\")
- 
- set( kcm_powerdevil_activities_SRCS
--     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-      activitypage.cpp
-      activitywidget.cpp
-      ../common/ErrorOverlay.cpp
-diff --git a/kcmodule/common/CMakeLists.txt b/kcmodule/common/CMakeLists.txt
-index ca483fa7..400b7746 100644
---- a/kcmodule/common/CMakeLists.txt
-+++ b/kcmodule/common/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"libpowerdevilcommonconfig\")
- 
- set( powerdevil_config_common_private_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-     actionconfigwidget.cpp
-     actioneditwidget.cpp
-     ErrorOverlay.cpp
-diff --git a/kcmodule/profiles/CMakeLists.txt b/kcmodule/profiles/CMakeLists.txt
-index ac5c96e0..32279089 100644
---- a/kcmodule/profiles/CMakeLists.txt
-+++ b/kcmodule/profiles/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilprofilesconfig\")
- 
- set( kcm_powerdevil_profiles_SRCS
--     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-      EditPage.cpp
-      ${PowerDevil_SOURCE_DIR}/daemon/powerdevilprofilegenerator.cpp
- )
-diff --git a/powerdevil.categories b/powerdevil.categories
-new file mode 100644
-index 00000000..3147de54
---- /dev/null
-+++ b/powerdevil.categories
-@@ -0,0 +1 @@
-+org.kde.powerdevil Powerdevil DEFAULT_SEVERITY [WARNING] IDENTIFIER [POWERDEVIL]
--- 
-2.25.4
-
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index c20ded466eec3..0876308cb311d 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,475 +4,483 @@
 
 {
   aura-browser = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/aura-browser-5.27.9.tar.xz";
-      sha256 = "1962h3m52yzvj60r9y6cwfzqz4sgg0867n420w27r40cz23nr0fy";
-      name = "aura-browser-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/aura-browser-5.27.10.tar.xz";
+      sha256 = "0rc5vsk3hy4i3fqzrj7kkshijkkrfin3km7n9agv9xs6bjrrca2k";
+      name = "aura-browser-5.27.10.tar.xz";
     };
   };
   bluedevil = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/bluedevil-5.27.9.tar.xz";
-      sha256 = "0vjbcaalsmkbx1bccflpvjpdmw8gcym28qqybp0h2z983mj6i0b6";
-      name = "bluedevil-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/bluedevil-5.27.10.tar.xz";
+      sha256 = "1051gx6xv514qa7g102mv51927b7408mv2jrfpryji8r5s6da7vp";
+      name = "bluedevil-5.27.10.tar.xz";
     };
   };
   breeze = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-5.27.9.tar.xz";
-      sha256 = "0ks6y9qhwkqbbfivnbw46vk41kapaxgdzmhnbzzywpwpbqlidias";
-      name = "breeze-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-5.27.10.tar.xz";
+      sha256 = "18h08w3ylgvhgcs63ai8airh59yb4kc0bz2zi6lm77fsa83rdg5y";
+      name = "breeze-5.27.10.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-grub-5.27.9.tar.xz";
-      sha256 = "1bbmwj5b0xzqrb3w318l805an6rnvbnrd03ad05qnf84fg24cvn9";
-      name = "breeze-grub-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-grub-5.27.10.tar.xz";
+      sha256 = "072zqs723phm27cn359lpaw29zqbx23w4gi4shk00x1n0j5s0spz";
+      name = "breeze-grub-5.27.10.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-gtk-5.27.9.tar.xz";
-      sha256 = "03h1kbrh1rp7h4pslghpb9fjnyg0gg8khkds0la4bvjy85a3jsx8";
-      name = "breeze-gtk-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-gtk-5.27.10.tar.xz";
+      sha256 = "1dk9f2l4jqdhzr5xd7ym107zayygjdmibl3jkhnbnq97rs6gk8qx";
+      name = "breeze-gtk-5.27.10.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-plymouth-5.27.9.tar.xz";
-      sha256 = "1wqnfzwjgwma2cxvnawwicj3z8kxwh0yjvrh3x5kzc586q0zj01r";
-      name = "breeze-plymouth-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-plymouth-5.27.10.tar.xz";
+      sha256 = "1xabkvnpxh2qw1x5w1fkrcg31h8j0baq4ls6ckw6647gikvnf7h8";
+      name = "breeze-plymouth-5.27.10.tar.xz";
     };
   };
   discover = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/discover-5.27.9.tar.xz";
-      sha256 = "1m97zn2q22842dhamavpa6q49bm0vxl3kq1qgr3nhbmskk1swfg7";
-      name = "discover-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/discover-5.27.10.tar.xz";
+      sha256 = "1a4z21qrc6wjwcv0hnw8wnkk8w0bli12hfm8bdd07b2rlzi8k48z";
+      name = "discover-5.27.10.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/drkonqi-5.27.9.tar.xz";
-      sha256 = "04nx1wkgz5cdc615611jn1672mnrsl2z3a8xznrqr6cbfpw9ghsm";
-      name = "drkonqi-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/drkonqi-5.27.10.tar.xz";
+      sha256 = "1l3zcmjjndqq6y25v74kmzddkkqr8j4030z7rz5333hxraa4gsm3";
+      name = "drkonqi-5.27.10.tar.xz";
     };
   };
   flatpak-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/flatpak-kcm-5.27.9.tar.xz";
-      sha256 = "0zcadkabnp37ab0p5adih9kh81iapn5hzc0j07rx81kk40j9p58s";
-      name = "flatpak-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/flatpak-kcm-5.27.10.tar.xz";
+      sha256 = "0masi1nciqzrymcq5i4b2jmhxliqf88z9g11607aqfgsli070lms";
+      name = "flatpak-kcm-5.27.10.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kactivitymanagerd-5.27.9.tar.xz";
-      sha256 = "1gn9a2rkyqljm9ry54kwfca7crmad71fr7fkan9l5cjsjrqqk3sn";
-      name = "kactivitymanagerd-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kactivitymanagerd-5.27.10.tar.xz";
+      sha256 = "1nax1vbl5cxqf8rxmmqfnjnrh36ic16yrbdmcqzgp1s9dkxn5qlf";
+      name = "kactivitymanagerd-5.27.10.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kde-cli-tools-5.27.9.tar.xz";
-      sha256 = "01kx8xg6mlkl3n710vas536vwrni023h1655bs0ixzp12ngsdw86";
-      name = "kde-cli-tools-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kde-cli-tools-5.27.10.tar.xz";
+      sha256 = "0gsdl33bnxfg2zf8dgbg3wk40g0j4qjjzk9mz6a43qghkj4nvakv";
+      name = "kde-cli-tools-5.27.10.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kde-gtk-config-5.27.9.tar.xz";
-      sha256 = "04lrc6anqljfyqhw9mwanxhjbbknfd1hkk2baxlhi49f9rzdhjw0";
-      name = "kde-gtk-config-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kde-gtk-config-5.27.10.tar.xz";
+      sha256 = "0swfyvq687ankny7qj7imj691c0mmgifwircxw4w7d9qn5832fvg";
+      name = "kde-gtk-config-5.27.10.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kdecoration-5.27.9.tar.xz";
-      sha256 = "0zjk51pww3z6vsgdm5dxya2b3ngrdpxbmizdcin40zj37mkpz7bm";
-      name = "kdecoration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kdecoration-5.27.10.tar.xz";
+      sha256 = "1plxczgqj8g99jh1c8jiy5ji086xs4gv12halmfval4b4nw6r5k4";
+      name = "kdecoration-5.27.10.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kdeplasma-addons-5.27.9.tar.xz";
-      sha256 = "0ysg5rzr0zywxx9wyg82x3l0skg7ld0wn270i4rryia8agdx49ps";
-      name = "kdeplasma-addons-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kdeplasma-addons-5.27.10.tar.xz";
+      sha256 = "139y1zsw720j19bzx9m6xlf46n7i7sz12bcdkzs5b8wav0yyyr4y";
+      name = "kdeplasma-addons-5.27.10.tar.xz";
+    };
+  };
+  kgamma = {
+    version = "5.27.10";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.10/kgamma-5.27.10.tar.xz";
+      sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
+      name = "kgamma-5.27.10.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kgamma5-5.27.9.tar.xz";
-      sha256 = "1ks4f1v2cm770j0q2fpd432kpmsg6daa29hjvcbdczfg8gxrnjn8";
-      name = "kgamma5-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kgamma5-5.27.10.tar.xz";
+      sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
+      name = "kgamma5-5.27.10.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/khotkeys-5.27.9.tar.xz";
-      sha256 = "1s6whyqbz331j8nyz0f5k54ww22awcyq0gqpg2sfjwm5rclms6kn";
-      name = "khotkeys-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/khotkeys-5.27.10.tar.xz";
+      sha256 = "1rznv44ixb8l5flcc4rqnj1cfldna0ikbmg50lqznsvsnbkm2p34";
+      name = "khotkeys-5.27.10.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kinfocenter-5.27.9.tar.xz";
-      sha256 = "0qp89b2js74qnfcc3b79ywi8g329scc0xypz9kjlzcncp6q79gq3";
-      name = "kinfocenter-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kinfocenter-5.27.10.tar.xz";
+      sha256 = "04fa5bdw84k9ikv7chl1nrh857sb1gzq43f7rc7vb1q7hhs2lp6f";
+      name = "kinfocenter-5.27.10.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kmenuedit-5.27.9.tar.xz";
-      sha256 = "1ngbf7jrgsp5qnk38zw22vm07lpr2hizi5l5n6jy4754d756ndn8";
-      name = "kmenuedit-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kmenuedit-5.27.10.tar.xz";
+      sha256 = "1mr09zx37wky8cnf3r2mcvnl8nmhdi9rwdawsz946l66jrz0n28w";
+      name = "kmenuedit-5.27.10.tar.xz";
     };
   };
   kpipewire = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kpipewire-5.27.9.tar.xz";
-      sha256 = "086h2mfb8isravj9wypvislwwg2yf72rkzly4zsnx3r0dh8lyyqv";
-      name = "kpipewire-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kpipewire-5.27.10.tar.xz";
+      sha256 = "1vn3g3rmgwyhrzg9hv7y9249v1gzwid7q43r3ndhdvz2k8baag62";
+      name = "kpipewire-5.27.10.tar.xz";
     };
   };
   kscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kscreen-5.27.9.tar.xz";
-      sha256 = "0nz1lm2i4h2w9m6pdw2diqii11sx38lwz2yrk4mzxsq229c97rij";
-      name = "kscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kscreen-5.27.10.tar.xz";
+      sha256 = "0g0wk17fs0rg7myfv6wf4asw0ahlwk245zwhj0i7lqg8nk6vz1w9";
+      name = "kscreen-5.27.10.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kscreenlocker-5.27.9.tar.xz";
-      sha256 = "0kc7j69rbf66ji8s250iza4aq1cvpfgz43r59vrzr1in1a6a9077";
-      name = "kscreenlocker-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kscreenlocker-5.27.10.tar.xz";
+      sha256 = "129xrdlg86qlcp2ssk46xq1h2v00z4cqha2wc5fr3d65gyw80kfp";
+      name = "kscreenlocker-5.27.10.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/ksshaskpass-5.27.9.tar.xz";
-      sha256 = "0wwarxw8xrmwmyfscvy9dr5r2g8zmdk0qjipydg3i8dcpxqd1n67";
-      name = "ksshaskpass-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/ksshaskpass-5.27.10.tar.xz";
+      sha256 = "0sp275r8jqlh1as47r0df3lli17lnw6m2h5j9k85hglwrgfyg3fk";
+      name = "ksshaskpass-5.27.10.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/ksystemstats-5.27.9.tar.xz";
-      sha256 = "0lbr84jv70qqayq6a8nvmcbd582696zpcrf108kzpxzd0smbbnij";
-      name = "ksystemstats-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/ksystemstats-5.27.10.tar.xz";
+      sha256 = "0f723yq5wyfxfj9cx13cpvxhq28blglzpsgdh843has3xlnxlpjs";
+      name = "ksystemstats-5.27.10.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwallet-pam-5.27.9.tar.xz";
-      sha256 = "1kjjrd84fxnpm9jv7n9ndbnfch2x904l2xxi0g85fv4ipfm0z6bn";
-      name = "kwallet-pam-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwallet-pam-5.27.10.tar.xz";
+      sha256 = "1yx18j9823xfqwrhzy3wnzqzw7zhdya9r3xh84qg9j9psqa1f6dc";
+      name = "kwallet-pam-5.27.10.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwayland-integration-5.27.9.tar.xz";
-      sha256 = "1rg2vyry9lv9d1bkhwnlhxx8pjridbqhs1758kgls5dk9q4g05wn";
-      name = "kwayland-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwayland-integration-5.27.10.tar.xz";
+      sha256 = "17xxlfs63sxcziv8nl50qlpcy8w0h259mblxxvx99cmnc930azgk";
+      name = "kwayland-integration-5.27.10.tar.xz";
     };
   };
   kwin = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwin-5.27.9.tar.xz";
-      sha256 = "1fvqamjhl5vij7kqd7sk0xcpv12rv965a1qk9pbnd2gqlqgnjkyr";
-      name = "kwin-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwin-5.27.10.tar.xz";
+      sha256 = "1inswsd078lbbr7pwc84a3smhnn4i089c2f6lfsjrdh0b492anmq";
+      name = "kwin-5.27.10.tar.xz";
     };
   };
   kwrited = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwrited-5.27.9.tar.xz";
-      sha256 = "1x2mci8bnwpfcccc9ps7aaqpmg7yzc37hdr13vaqy71i8qkf7a76";
-      name = "kwrited-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwrited-5.27.10.tar.xz";
+      sha256 = "0haddznfis4fhz7nkjpqakxwk4zh50q7g578ksng17gbd2x9x8as";
+      name = "kwrited-5.27.10.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/layer-shell-qt-5.27.9.tar.xz";
-      sha256 = "0vw8cvp27is951dlzfzwkrx7l6480wdxsdfp16ihsa34yzcpw837";
-      name = "layer-shell-qt-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/layer-shell-qt-5.27.10.tar.xz";
+      sha256 = "1hn3sjimplsbl5afid0rwj08qqydb8hl6lyzhv0k6c0l5b7q1v8a";
+      name = "layer-shell-qt-5.27.10.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/libkscreen-5.27.9.tar.xz";
-      sha256 = "0awvqchf48027f1zfl4n0llavl6nfnp30jvg7sx9anvzx6jb4ggs";
-      name = "libkscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/libkscreen-5.27.10.tar.xz";
+      sha256 = "167z7bgqzjclqvcqiplgnpjxscl8m6fznly3c2spzg19i449zx97";
+      name = "libkscreen-5.27.10.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/libksysguard-5.27.9.tar.xz";
-      sha256 = "0xi1fb1irp9nxnnqgqwhdza5rf6bw2hpqlz5l0mwipd0xdgarx3h";
-      name = "libksysguard-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/libksysguard-5.27.10.tar.xz";
+      sha256 = "1r9wzx0r1m3m2gb9k4xgwra84vc05lxyjilcns8j69yb52q37z0p";
+      name = "libksysguard-5.27.10.tar.xz";
     };
   };
   milou = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/milou-5.27.9.tar.xz";
-      sha256 = "1y2si9gpmj363asvqd2iil14fwzmdd66f1fpsig05w1680dc35p8";
-      name = "milou-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/milou-5.27.10.tar.xz";
+      sha256 = "1hqa25grsdmwr1y3fra6k09czrd6iagf9fqq85cxz6yc2s5xs6bw";
+      name = "milou-5.27.10.tar.xz";
     };
   };
   oxygen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/oxygen-5.27.9.tar.xz";
-      sha256 = "0wx96v6v65yjal1x2c25adp3hnfrmsd2r1m5fzicfcbdk33yn834";
-      name = "oxygen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/oxygen-5.27.10.tar.xz";
+      sha256 = "02q95nx0706p9zhzbvx89ssk20mv7cizvqf0kyavn4gfwpizc5jv";
+      name = "oxygen-5.27.10.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/oxygen-sounds-5.27.9.tar.xz";
-      sha256 = "0n9plr4xs6wl4v4qm71mxbvgl22cz5c5523bjv5mv5jgvp5wpzg1";
-      name = "oxygen-sounds-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/oxygen-sounds-5.27.10.tar.xz";
+      sha256 = "0py37frx59f3c4dxv3llsxky1cb03ynyqfphdx3ndsgfma8g1893";
+      name = "oxygen-sounds-5.27.10.tar.xz";
     };
   };
   plank-player = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plank-player-5.27.9.tar.xz";
-      sha256 = "0vfmab3fab7izz43j6hssly001sp773swc53xf6z4dx0j210zb3d";
-      name = "plank-player-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plank-player-5.27.10.tar.xz";
+      sha256 = "04idirgwrgys6p4b6l86z46lxjw9m1chi3fhp9yk4s52grdwx3ib";
+      name = "plank-player-5.27.10.tar.xz";
     };
   };
   plasma-bigscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-bigscreen-5.27.9.tar.xz";
-      sha256 = "14dq3smb8rnpazr8mjs034gg9fidzj08nyggkqqwjiq774khv4wb";
-      name = "plasma-bigscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-bigscreen-5.27.10.tar.xz";
+      sha256 = "06420vpfjjg5zy21r6l6vdj2vs37aqy02hw351n5q3l2kc3snc9p";
+      name = "plasma-bigscreen-5.27.10.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-browser-integration-5.27.9.tar.xz";
-      sha256 = "1d9f6fppaqxiwxixxngsvpawx2zbdnj9mwl47x107axnc7gn6355";
-      name = "plasma-browser-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-browser-integration-5.27.10.tar.xz";
+      sha256 = "1kncrxz08w9fvvl2ag3gk3iw1gwbwm5kpc23iq6fypfjk6pbwzd1";
+      name = "plasma-browser-integration-5.27.10.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-desktop-5.27.9.tar.xz";
-      sha256 = "1rgjq7sla2x0icphaph2682k67n89znlyhp9nw95p8czpyqgbmkd";
-      name = "plasma-desktop-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-desktop-5.27.10.tar.xz";
+      sha256 = "17yhrz4i7d52ywgjcmcwbmgr67f8lyph72lrhlys4kfk474my0fy";
+      name = "plasma-desktop-5.27.10.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-disks-5.27.9.tar.xz";
-      sha256 = "0ikz5wv5429bc5i1ms8bdgmkm6x0f3jhs79ry8x2xq9q8f9cdraw";
-      name = "plasma-disks-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-disks-5.27.10.tar.xz";
+      sha256 = "0ysqaky2bv7yk76swkrvyqcv2y41xr4m9b61bn5cj5lzb8a4v3qy";
+      name = "plasma-disks-5.27.10.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-firewall-5.27.9.tar.xz";
-      sha256 = "0mkkz6n7yi382lm5hsgn5pwi8dxz4csmry5jvrscmhg9azcwghpr";
-      name = "plasma-firewall-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-firewall-5.27.10.tar.xz";
+      sha256 = "1k443ikbnny7xpi52xmbfnl5iy8alx7jnrx9grb6wlwghh06lnkm";
+      name = "plasma-firewall-5.27.10.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-integration-5.27.9.tar.xz";
-      sha256 = "1csx7sr9ilr2q5mm6qar945srqm6qak95g9x02g70pyl6d58fajq";
-      name = "plasma-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-integration-5.27.10.tar.xz";
+      sha256 = "1fzz581pfdzli62riw7mnfhqdp5pp929rkdw9g6il1c6hlgciwim";
+      name = "plasma-integration-5.27.10.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-mobile-5.27.9.tar.xz";
-      sha256 = "095fjn91zcipkh2blwjs70ff39yfrmh73ny2h6f2djkhgnr1xng0";
-      name = "plasma-mobile-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-mobile-5.27.10.tar.xz";
+      sha256 = "0bjv890m9pf5f8zynhjnhhc3dbd5iz5fvhrsa7jjgds8v26gza1c";
+      name = "plasma-mobile-5.27.10.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-nano-5.27.9.tar.xz";
-      sha256 = "1g3dyqwx05506mgq3v7n9n1j5dlnhf7lbb8kbk7whk8lfjc468n6";
-      name = "plasma-nano-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-nano-5.27.10.tar.xz";
+      sha256 = "170w5vf91dr8l3m6jljwrm1xlzha8nxixwnh9ic0j4kyy8dirxjb";
+      name = "plasma-nano-5.27.10.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-nm-5.27.9.tar.xz";
-      sha256 = "0k2qxyf09k3nk2n2dyg7a1xwx45r7m72nz0azvidlpy0v1j64g1a";
-      name = "plasma-nm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-nm-5.27.10.tar.xz";
+      sha256 = "1c6wngqmvdqkypifi5p0s0ax092wagiw6f7la3ipq4sfcakx6pdp";
+      name = "plasma-nm-5.27.10.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-pa-5.27.9.tar.xz";
-      sha256 = "07am1kk6sj9kr5vl2333lnlh3xjd8f7wkww7ra6vjif21wy7gm94";
-      name = "plasma-pa-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-pa-5.27.10.tar.xz";
+      sha256 = "021zdcqrhwmdkklzlv8hlnykycv2zfcwxn3qwviqf9a7y513fw8d";
+      name = "plasma-pa-5.27.10.tar.xz";
     };
   };
   plasma-remotecontrollers = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-remotecontrollers-5.27.9.tar.xz";
-      sha256 = "10zk35yrzpzkjw6a1g7mlr6w0nsi33h1hzrwqsvsqyac5j0yi25y";
-      name = "plasma-remotecontrollers-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-remotecontrollers-5.27.10.tar.xz";
+      sha256 = "0wzly5r4bhl1m661hww98008fpbgmz9ymsndj426xf3wnkgjc12i";
+      name = "plasma-remotecontrollers-5.27.10.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-sdk-5.27.9.tar.xz";
-      sha256 = "10rshr3d618gis6spi93zj5q012jhi9mm3ixgbvbxvhlzp8k0b3x";
-      name = "plasma-sdk-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-sdk-5.27.10.tar.xz";
+      sha256 = "08q1d74iqkg7aa1pvvk7p0gl4a8y6c0hf15kxlk032na1qfymagf";
+      name = "plasma-sdk-5.27.10.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-systemmonitor-5.27.9.tar.xz";
-      sha256 = "1c9lyzfx21033335160j3cndkv19icm1lf9nnn88f7gz0zhkz73c";
-      name = "plasma-systemmonitor-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-systemmonitor-5.27.10.tar.xz";
+      sha256 = "03laxgby4ms7rzxv96z0anqzh44vh88qn9g81gny2axljxbp18b4";
+      name = "plasma-systemmonitor-5.27.10.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-thunderbolt-5.27.9.tar.xz";
-      sha256 = "0rbmj0b0ckyaz5sqrrzxp4n049asb5hxyap0lslhg9js2vjdk239";
-      name = "plasma-thunderbolt-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-thunderbolt-5.27.10.tar.xz";
+      sha256 = "15k161q4qvx7zg9303074grc10z95q0137lk76mqqg9prgjmw92d";
+      name = "plasma-thunderbolt-5.27.10.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-vault-5.27.9.tar.xz";
-      sha256 = "1p6wdvqprr3bfia0lchvmk8c5ii3c629c9c8qy2r4c0xy3l0f42i";
-      name = "plasma-vault-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-vault-5.27.10.tar.xz";
+      sha256 = "0nqss7ijlamjzxycs5m8vsq61fxzhfk4wky1zv43ymdcc5bd1wbm";
+      name = "plasma-vault-5.27.10.tar.xz";
     };
   };
   plasma-welcome = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-welcome-5.27.9.tar.xz";
-      sha256 = "1la7sb1ar06x79p80fh1qa09r3qd1gk53f3acr5az5k7gmjhpi1n";
-      name = "plasma-welcome-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-welcome-5.27.10.tar.xz";
+      sha256 = "008wga32j5f7cmwabxvlc3dzfj17fa0wkfj8dbvfd2gv34sf08w4";
+      name = "plasma-welcome-5.27.10.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.27.9.1";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-5.27.9.1.tar.xz";
-      sha256 = "8d00b691cfbb4d7218f97d0c68a677f41cba6eaf18e8fe29976c92d3718201b8";
-      name = "plasma-workspace-5.27.9.1.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-5.27.10.tar.xz";
+      sha256 = "0y4p6lk481byracfhvvqf7bbk13isl9m1zsl7prk0rqsqrjc2paj";
+      name = "plasma-workspace-5.27.10.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-wallpapers-5.27.9.tar.xz";
-      sha256 = "1gkk4ihpqbyfq394n1dhfkwrdfhnrvkgqbfp7xba82iygcx3zcwf";
-      name = "plasma-workspace-wallpapers-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-wallpapers-5.27.10.tar.xz";
+      sha256 = "1l345rzg626krmriz54j480lh9zza7liq6bfz7vmifck558jv1l2";
+      name = "plasma-workspace-wallpapers-5.27.10.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plymouth-kcm-5.27.9.tar.xz";
-      sha256 = "15cximix1cajylbb0c14q2rz1573kiby7c4h9iysap3ask7g633b";
-      name = "plymouth-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plymouth-kcm-5.27.10.tar.xz";
+      sha256 = "10p6ikppr1vzafx2qvb4pmzkgpja2bnqp60np46q1nnajgng4w3z";
+      name = "plymouth-kcm-5.27.10.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.27.9";
+    version = "1-5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/polkit-kde-agent-1-5.27.9.tar.xz";
-      sha256 = "14h883ghn22xpjwbdld168m59zdmd6i5a7p6gszv2c6y3lpw3f03";
-      name = "polkit-kde-agent-1-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/polkit-kde-agent-1-5.27.10.tar.xz";
+      sha256 = "1nwbiwwz5x1h4xhx021izrm685pq5bh9mi5v85x32s74hlkjm5d3";
+      name = "polkit-kde-agent-1-5.27.10.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/powerdevil-5.27.9.tar.xz";
-      sha256 = "1x78cjlkiz6jl79jhcd3l04glpxzsqbb6rhw1f5az7i3ywc2qh7f";
-      name = "powerdevil-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/powerdevil-5.27.10.tar.xz";
+      sha256 = "1wf89sh8b7v6hhjkr8vf2q7qm3anv24n20n8wdh21pc0k30a7h86";
+      name = "powerdevil-5.27.10.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/qqc2-breeze-style-5.27.9.tar.xz";
-      sha256 = "1allsvr51si8v5b4xvzhpms3i4446vr9a9cfwhg72ll8ssfa46ld";
-      name = "qqc2-breeze-style-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/qqc2-breeze-style-5.27.10.tar.xz";
+      sha256 = "0fwbgfm8n79zslmm4ww177zlk7gjklhyj1h71kzmdb7p32z6z2ix";
+      name = "qqc2-breeze-style-5.27.10.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/sddm-kcm-5.27.9.tar.xz";
-      sha256 = "0s5swqzmvb3hxsn66r99r70ha2gx9913c5vlffv1mawf5p2pzvk1";
-      name = "sddm-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/sddm-kcm-5.27.10.tar.xz";
+      sha256 = "1bgljl6ybm7bgz2brv2a6nq81nyv2fwrnd0psv2v5mw3pxvk3r43";
+      name = "sddm-kcm-5.27.10.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/systemsettings-5.27.9.tar.xz";
-      sha256 = "0q9qy7i1ndf0pw2irf15l9mvc451s0gwz7hx0wjf5kjppwx2z9ab";
-      name = "systemsettings-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/systemsettings-5.27.10.tar.xz";
+      sha256 = "0f8dhqnbix813fkwa03mzsfr0wsfmgb6kbgai63wv9g3rgr4fk5g";
+      name = "systemsettings-5.27.10.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/xdg-desktop-portal-kde-5.27.9.tar.xz";
-      sha256 = "1i2xqks1lx68rf79j67mzibsya43288sf0sl6azhwc14cw15xcdb";
-      name = "xdg-desktop-portal-kde-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/xdg-desktop-portal-kde-5.27.10.tar.xz";
+      sha256 = "0azggffvjxzxs3qibfdv9y5aslxgfrrb1qcjh9r96wp2qgq1ywxx";
+      name = "xdg-desktop-portal-kde-5.27.10.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/applications/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix
index 070ea4f7d0cb0..eeadfe793a7cd 100644
--- a/pkgs/desktops/xfce/applications/parole/default.nix
+++ b/pkgs/desktops/xfce/applications/parole/default.nix
@@ -1,15 +1,25 @@
-{ lib, mkXfceDerivation, dbus, dbus-glib
-, gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
-, taglib, xfconf }:
+{ lib
+, mkXfceDerivation
+, dbus
+, dbus-glib
+, gst_all_1
+, gtk3
+, libnotify
+, libX11
+, libxfce4ui
+, libxfce4util
+, taglib
+, xfconf
+}:
 
 # Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
 
 mkXfceDerivation {
   category = "apps";
   pname = "parole";
-  version = "4.18.0";
+  version = "4.18.1";
 
-  sha256 = "sha256-TLH9ZUggjclJlbBg3EBVgbcrdiMZ8n+cGDgfNgYNiPI=";
+  sha256 = "sha256-g+Wy90tHpCeylbU7aUa8578ehmuyWI5WlCK7YdJKlNQ=";
 
   postPatch = ''
     substituteInPlace src/plugins/mpris2/Makefile.am \
@@ -25,6 +35,7 @@ mkXfceDerivation {
     gst-plugins-ugly
     gtk3
     libnotify
+    libX11
     libxfce4ui
     libxfce4util
     taglib
diff --git a/pkgs/desktops/xfce/core/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index 7427e8d74182e..e8c7ac2b49489 100644
--- a/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -16,9 +16,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "tumbler";
-  version = "4.18.1";
+  version = "4.18.2";
 
-  sha256 = "sha256-hn77W8IsvwNc9xSuDe9rXw9499olOvvJ2P7q+26HIG8=";
+  sha256 = "sha256-thioE0q2qnV4weJFPz8OWoHIRuUcXnQEviwBtCWsSV4=";
 
   buildInputs = [
     libxfce4util
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 19b552937119d..c483c58c81728 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -12,9 +12,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-power-manager";
-  version = "4.18.2";
+  version = "4.18.3";
 
-  sha256 = "sha256-1+DP5CACzzj96FyRTeCdVEFORnpzFT49d9Uk1iijbFs=";
+  sha256 = "sha256-CuW2siApho7u8P01t15dAiqNAiwQzAMZsEugYuKN4kM=";
 
   buildInputs = [
     gtk3
diff --git a/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 022a04cff963a..31aa4bc2e98a7 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -16,9 +16,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-settings";
-  version = "4.18.3";
+  version = "4.18.4";
 
-  sha256 = "sha256-QGh5th790qkvqchUfi+kOAJ9A1M+zEIzMxOM5eCGPEk=";
+  sha256 = "sha256-f6ldTmTSvfRjn6j/LKIoFI3cbYZFtNdnAq3dQewc948=";
 
   postPatch = ''
     for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
diff --git a/pkgs/desktops/xfce/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index 608053fcbf550..17939e5e2058c 100644
--- a/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -9,6 +9,8 @@
 , sha256
 , odd-unstable ? true
 , patchlevel-unstable ? true
+, passthru ? { }
+, meta ? { }
 , ...
 } @ args:
 
@@ -22,9 +24,7 @@ let
   concatAttrLists = attrsets:
     zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
 
-  template = rec {
-    inherit pname version;
-
+  template = {
     nativeBuildInputs = [ pkg-config xfce4-dev-tools wrapGAppsHook ];
     buildInputs = [ hicolor-icon-theme ];
     configureFlags = [ "--enable-maintainer-mode" ];
@@ -41,19 +41,21 @@ let
 
     pos = builtins.unsafeGetAttrPos "pname" args;
 
-    passthru.updateScript = gitUpdater {
-      inherit rev-prefix odd-unstable patchlevel-unstable;
-    };
+    passthru = {
+      updateScript = gitUpdater {
+        inherit rev-prefix odd-unstable patchlevel-unstable;
+      };
+    } // passthru;
 
     meta = with lib; {
       homepage = "https://gitlab.xfce.org/${category}/${pname}";
       license = licenses.gpl2Plus; # some libraries are under LGPLv2+
       platforms = platforms.linux;
-    };
+    } // meta;
   };
 
-  publicArgs = removeAttrs args [ "category" "pname" "sha256" ];
+  publicArgs = removeAttrs args [ "category" "sha256" ];
 in
 
-stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])
+stdenv.mkDerivation (publicArgs // template // concatAttrLists [ template args ])
 # TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 113d8b18f26a9..f138d84189666 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -14,10 +14,10 @@
 mkXfceDerivation rec {
   category = "panel-plugins";
   pname  = "xfce4-cpugraph-plugin";
-  version = "1.2.8";
+  version = "1.2.10";
   rev-prefix = "xfce4-cpugraph-plugin-";
   odd-unstable = false;
-  sha256 = "sha256-GNoODnw9Z9MTlvxCOTeZt61A/0AGhMwjrRGdM35XU+M=";
+  sha256 = "sha256-VPelWTtFHmU4ZgWLTzZKbtmQ4LOtVwJvpLG9rHtGoNs=";
 
   buildInputs = [
     exo
diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix
index 4c5ad3f6fa246..d61b5e91556bd 100644
--- a/pkgs/development/beam-modules/build-mix.nix
+++ b/pkgs/development/beam-modules/build-mix.nix
@@ -5,6 +5,11 @@
 , src
 , buildInputs ? [ ]
 , nativeBuildInputs ? [ ]
+, erlangCompilerOptions ? [ ]
+  # Deterministic Erlang builds remove full system paths from debug information
+  # among other things to keep builds more reproducible. See their docs for more:
+  # https://www.erlang.org/doc/man/compile
+, erlangDeterministicBuilds ? true
 , beamDeps ? [ ]
 , propagatedBuildInputs ? [ ]
 , postPatch ? ""
@@ -31,6 +36,13 @@ let
     MIX_ENV = mixEnv;
     MIX_DEBUG = if enableDebugInfo then 1 else 0;
     HEX_OFFLINE = 1;
+
+    ERL_COMPILER_OPTIONS =
+      let
+        options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ];
+      in
+      "[${lib.concatStringsSep "," options}]";
+
     LC_ALL = "C.UTF-8";
 
     # add to ERL_LIBS so other modules can find at runtime.
@@ -108,4 +120,3 @@ let
   });
 in
 lib.fix pkg
-
diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix
index e5b44bc5dcdb0..a762b8e0bc2e8 100644
--- a/pkgs/development/beam-modules/mix-release.nix
+++ b/pkgs/development/beam-modules/mix-release.nix
@@ -8,6 +8,8 @@
 , rebar3
 , fetchMixDeps
 , findutils
+, ripgrep
+, bbe
 , makeWrapper
 , coreutils
 , gnused
@@ -25,6 +27,17 @@
 , mixEnv ? "prod"
 , compileFlags ? [ ]
 
+  # Options to be passed to the Erlang compiler. As documented in the reference
+  # manual, these must be valid Erlang terms. They will be turned into an
+  # erlang list and set as the ERL_COMPILER_OPTIONS environment variable.
+  # See https://www.erlang.org/doc/man/compile
+, erlangCompilerOptions ? [ ]
+
+  # Deterministic Erlang builds remove full system paths from debug information
+  # among other things to keep builds more reproducible. See their docs for more:
+  # https://www.erlang.org/doc/man/compile
+, erlangDeterministicBuilds ? true
+
   # Mix dependencies provided as a fixed output derivation
 , mixFodDeps ? null
 
@@ -36,6 +49,7 @@
 , mixNixDeps ? { }
 
 , elixir ? inputs.elixir
+, erlang ? inputs.erlang
 , hex ? inputs.hex.override { inherit elixir; }
 
   # Remove releases/COOKIE
@@ -63,7 +77,7 @@
 }@attrs:
 let
   # Remove non standard attributes that cannot be coerced to strings
-  overridable = builtins.removeAttrs attrs [ "compileFlags" "mixNixDeps" ];
+  overridable = builtins.removeAttrs attrs [ "compileFlags" "erlangCompilerOptions" "mixNixDeps" ];
 in
 assert mixNixDeps != { } -> mixFodDeps == null;
 assert stripDebug -> !enableDebugInfo;
@@ -75,7 +89,7 @@ stdenv.mkDerivation (overridable // {
     # Mix deps
     (builtins.attrValues mixNixDeps) ++
     # other compile-time deps
-    [ findutils makeWrapper ];
+    [ findutils ripgrep bbe makeWrapper ];
 
   buildInputs = buildInputs;
 
@@ -89,6 +103,12 @@ stdenv.mkDerivation (overridable // {
   MIX_REBAR = "${rebar}/bin/rebar";
   MIX_REBAR3 = "${rebar3}/bin/rebar3";
 
+  ERL_COMPILER_OPTIONS =
+    let
+      options = erlangCompilerOptions ++ lib.optionals erlangDeterministicBuilds [ "deterministic" ];
+    in
+    "[${lib.concatStringsSep "," options}]";
+
   LC_ALL = "C.UTF-8";
 
   postUnpack = ''
@@ -161,10 +181,10 @@ stdenv.mkDerivation (overridable // {
   '';
 
   postFixup = ''
-    # Remove files for Microsoft Windows
+    echo "removing files for Microsoft Windows"
     rm -f "$out"/bin/*.bat
 
-    # Wrap programs in $out/bin with their runtime deps
+    echo "wrapping programs in $out/bin with their runtime deps"
     for f in $(find $out/bin/ -type f -executable); do
       wrapProgram "$f" \
         --prefix PATH : ${lib.makeBinPath [
@@ -176,34 +196,41 @@ stdenv.mkDerivation (overridable // {
     done
   '' + lib.optionalString removeCookie ''
     if [ -e $out/releases/COOKIE ]; then
+      echo "removing $out/releases/COOKIE"
       rm $out/releases/COOKIE
     fi
+  '' + ''
+    if [ -e $out/erts-* ]; then
+      # ERTS is included in the release, then erlang is not required as a runtime dependency.
+      # But, erlang is still referenced in some places. To removed references to erlang,
+      # following steps are required.
+
+      # 1. remove references to erlang from plain text files
+      for file in $(rg "${erlang}/lib/erlang" "$out" --files-with-matches); do
+        echo "removing references to erlang in $file"
+        substituteInPlace "$file" --replace "${erlang}/lib/erlang" "$out"
+      done
+
+      # 2. remove references to erlang from .beam files
+      #
+      # No need to do anything, because it has been handled by "deterministic" option specified
+      # by ERL_COMPILER_OPTIONS.
+
+      # 3. remove references to erlang from normal binary files
+      for file in $(rg "${erlang}/lib/erlang" "$out" --files-with-matches --binary --iglob '!*.beam'); do
+        echo "removing references to erlang in $file"
+        # use bbe to substitute strings in binary files, because using substituteInPlace
+        # on binaries will raise errors
+        bbe -e "s|${erlang}/lib/erlang|$out|" -o "$file".tmp "$file"
+        rm -f "$file"
+        mv "$file".tmp "$file"
+      done
+
+      # References to erlang should be removed from output after above processing.
+    fi
   '' + lib.optionalString stripDebug ''
     # Strip debug symbols to avoid hardreferences to "foreign" closures actually
     # not needed at runtime, while at the same time reduce size of BEAM files.
     erl -noinput -eval 'lists:foreach(fun(F) -> io:format("Stripping ~p.~n", [F]), beam_lib:strip(F) end, filelib:wildcard("'"$out"'/**/*.beam"))' -s init stop
   '';
-
-  # TODO: remove erlang references in resulting derivation
-  #
-  # # Step 1 - investigate why the resulting derivation still has references to erlang.
-  #
-  # The reason is that the generated binaries contains erlang reference. Here's a repo to
-  # demonstrate the problem - <https://github.com/plastic-gun/nix-mix-release-unwanted-references>.
-  #
-  #
-  # # Step 2 - remove erlang references from the binaries
-  #
-  # As said in above repo, it's hard to remove erlang references from `.beam` binaries.
-  #
-  # We need more experienced developers to resolve this issue.
-  #
-  #
-  # # Tips
-  #
-  # When resolving this issue, it is convenient to fail the build when erlang is referenced,
-  # which can be achieved by using:
-  #
-  #   disallowedReferences = [ erlang ];
-  #
 })
diff --git a/pkgs/development/compilers/ballerina/default.nix b/pkgs/development/compilers/ballerina/default.nix
index 29ca54632478b..8b528aa77a952 100644
--- a/pkgs/development/compilers/ballerina/default.nix
+++ b/pkgs/development/compilers/ballerina/default.nix
@@ -1,6 +1,6 @@
 { ballerina, lib, writeText, runCommand, makeWrapper, fetchzip, stdenv, openjdk }:
 let
-  version = "2201.8.2";
+  version = "2201.8.3";
   codeName = "swan-lake";
 in stdenv.mkDerivation {
   pname = "ballerina";
@@ -8,7 +8,7 @@ in stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://dist.ballerina.io/downloads/${version}/ballerina-${version}-${codeName}.zip";
-    hash = "sha256-vTrVcWo7fjcj9oZqIzvVTTynf4dSh5D7PAUYj3Vs8Gg=";
+    hash = "sha256-Vj+q0pm8uwsNt6n0o6Y/XpoWnb4HksJBgCujDFubS3w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/compilers/cone/default.nix b/pkgs/development/compilers/cone/default.nix
index 9344160ad7628..d94432be12d38 100644
--- a/pkgs/development/compilers/cone/default.nix
+++ b/pkgs/development/compilers/cone/default.nix
@@ -6,13 +6,13 @@
 
 llvmPackages.stdenv.mkDerivation rec {
   pname = "cone";
-  version = "unstable-2021-07-25";
+  version = "unstable-2022-12-12";
 
   src = fetchFromGitHub {
     owner = "jondgoodwin";
     repo = pname;
-    rev = "5feaabc342bcff3755f638a7e25155cd12127592";
-    sha256 = "CTDS83AWtuDY5g6NDn7O2awrYsKFf3Kp35FkMEjfbVw=";
+    rev = "698bd6afc75777eabbc8ef576d64d683c6a1c5ab";
+    sha256 = "0y2s9xgkci8n72v6gnc1i7shr2y3g2sa8fbr25gpxa9ipiq9khg7";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,10 +21,10 @@ llvmPackages.stdenv.mkDerivation rec {
     llvmPackages.llvm
   ];
 
+  # M68k is an experimental target, so not enabled by default
   postPatch = ''
     sed -i CMakeLists.txt \
-        -e 's/LLVM 7/LLVM/' \
-        -e '/AVR/d'
+        -e '/M68k/d'
   '';
 
   installPhase = ''
diff --git a/pkgs/development/compilers/corretto/mk-corretto.nix b/pkgs/development/compilers/corretto/mk-corretto.nix
index 026316f2fa732..adc6a86d98e29 100644
--- a/pkgs/development/compilers/corretto/mk-corretto.nix
+++ b/pkgs/development/compilers/corretto/mk-corretto.nix
@@ -104,12 +104,14 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
       };
     };
 
-  meta = with lib; {
+
+  # Some of the OpenJDK derivation set their `pos` by hand. We need to
+  # overwrite this in order to point to Corretto, not OpenJDK.
+  pos = __curPos;
+  meta = with lib; oldAttrs.meta // {
     homepage = "https://aws.amazon.com/corretto";
     license = licenses.gpl2Only;
     description = "Amazon's distribution of OpenJDK";
-    platforms = jdk.meta.platforms;
-    mainProgram = "java";
     maintainers = with maintainers; [ rollf ];
   };
 })
diff --git a/pkgs/development/compilers/critcl/default.nix b/pkgs/development/compilers/critcl/default.nix
new file mode 100644
index 0000000000000..5caf63d9dba64
--- /dev/null
+++ b/pkgs/development/compilers/critcl/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, tcl
+, tcllib
+}:
+
+tcl.mkTclDerivation rec {
+  pname = "critcl";
+  version = "3.2";
+
+  src = fetchFromGitHub {
+    owner = "andreas-kupries";
+    repo = "critcl";
+    rev = version;
+    hash = "sha256-IxScn9ZTlqD9mG9VJLG+TtplLFhhahOiFhQCjxp22Uk=";
+  };
+
+  buildInputs = [
+    tcl
+    tcllib
+  ];
+
+  dontBuild = true;
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preInstall
+    HOME="$(mktemp -d)" tclsh ./build.tcl test
+    runHook postInstall
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    tclsh ./build.tcl install --prefix $out
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Easily embed C code in Tcl";
+    homepage = "https://andreas-kupries.github.io/critcl/";
+    license = licenses.tcltk;
+    mainProgram = "critcl";
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix
deleted file mode 100644
index 681549fa62dbe..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/common.nix
+++ /dev/null
@@ -1,367 +0,0 @@
-args@
-{ version
-, sha256
-, url ? ""
-, name ? ""
-, developerProgram ? false
-, runPatches ? []
-, autoPatchelfHook
-, autoAddOpenGLRunpathHook
-, addOpenGLRunpath
-, alsa-lib
-, curlMinimal
-, expat
-, fetchurl
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
-, glibc
-, gst_all_1
-, gtk2
-, lib
-, libxkbcommon
-, libkrb5
-, krb5
-, makeWrapper
-, markForCudatoolkitRootHook
-, ncurses5
-, numactl
-, nss
-, perl
-, python3 # FIXME: CUDAToolkit 10 may still need python27
-, pulseaudio
-, requireFile
-, setupCudaHook
-, stdenv
-, backendStdenv # E.g. gcc11Stdenv, set in extension.nix
-, unixODBC
-, wayland
-, xorg
-, zlib
-, freeglut
-, libGLU
-, libsForQt5
-, libtiff
-, qt6Packages
-, qt6
-, rdma-core
-, ucx
-, rsync
-}:
-
-backendStdenv.mkDerivation rec {
-  pname = "cudatoolkit";
-  inherit version runPatches;
-
-  dontPatchELF = true;
-  dontStrip = true;
-
-  src =
-    if developerProgram then
-      requireFile {
-        message = ''
-          This nix expression requires that ${args.name} is already part of the store.
-          Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
-          at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
-          nix-prefetch-url file://\$PWD/${args.name}
-        '';
-        inherit (args) name sha256;
-      }
-    else
-      fetchurl {
-        inherit (args) url sha256;
-      };
-
-  outputs = [ "out" "lib" "doc" ];
-
-  nativeBuildInputs = [
-    perl
-    makeWrapper
-    rsync
-    addOpenGLRunpath
-    autoPatchelfHook
-    autoAddOpenGLRunpathHook
-    markForCudatoolkitRootHook
-  ] ++ lib.optionals (lib.versionOlder version "11") [
-    libsForQt5.wrapQtAppsHook
-  ] ++ lib.optionals (lib.versionAtLeast version "11.8") [
-    qt6Packages.wrapQtAppsHook
-  ];
-  depsTargetTargetPropagated = [
-    setupCudaHook
-  ];
-  buildInputs = lib.optionals (lib.versionOlder version "11") [
-    libsForQt5.qt5.qtwebengine
-    freeglut
-    libGLU
-  ] ++ [
-    # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
-    gdk-pixbuf
-
-    # For autoPatchelf
-    ncurses5
-    expat
-    python3
-    zlib
-    glibc
-    xorg.libX11
-    xorg.libXext
-    xorg.libXrender
-    xorg.libXt
-    xorg.libXtst
-    xorg.libXi
-    xorg.libXext
-    xorg.libXdamage
-    xorg.libxcb
-    xorg.xcbutilimage
-    xorg.xcbutilrenderutil
-    xorg.xcbutilwm
-    xorg.xcbutilkeysyms
-    pulseaudio
-    libxkbcommon
-    libkrb5
-    krb5
-    gtk2
-    glib
-    fontconfig
-    freetype
-    numactl
-    nss
-    unixODBC
-    alsa-lib
-    wayland
-  ] ++ lib.optionals (lib.versionAtLeast version "11.8") [
-    (lib.getLib libtiff)
-    qt6Packages.qtwayland
-    rdma-core
-    (ucx.override { enableCuda = false; }) # Avoid infinite recursion
-    xorg.libxshmfence
-    xorg.libxkbfile
-  ] ++ (lib.optionals (lib.versionAtLeast version "12") (map lib.getLib ([
-    # Used by `/target-linux-x64/CollectX/clx` and `/target-linux-x64/CollectX/libclx_api.so` for:
-    # - `libcurl.so.4`
-    curlMinimal
-
-    # Used by `/host-linux-x64/Scripts/WebRTCContainer/setup/neko/server/bin/neko`
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-  ]) ++ (with qt6; [
-    qtmultimedia
-    qttools
-    qtpositioning
-    qtscxml
-    qtsvg
-    qtwebchannel
-    qtwebengine
-  ])));
-
-  # Prepended to runpaths by autoPatchelf.
-  # The order inherited from older rpath preFixup code
-  runtimeDependencies = [
-    (placeholder "lib")
-    (placeholder "out")
-    "${placeholder "out"}/nvvm"
-    # NOTE: use the same libstdc++ as the rest of nixpkgs, not from backendStdenv
-    "${lib.getLib stdenv.cc.cc}/lib64"
-    "${placeholder "out"}/jre/lib/amd64/jli"
-    "${placeholder "out"}/lib64"
-    "${placeholder "out"}/nvvm/lib64"
-  ];
-
-  autoPatchelfIgnoreMissingDeps = [
-    # This is the hardware-dependent userspace driver that comes from
-    # nvidia_x11 package. It must be deployed at runtime in
-    # /run/opengl-driver/lib or pointed at by LD_LIBRARY_PATH variable, rather
-    # than pinned in runpath
-    "libcuda.so.1"
-
-    # The krb5 expression ships libcom_err.so.3 but cudatoolkit asks for the
-    # older
-    # This dependency is asked for by target-linux-x64/CollectX/RedHat/x86_64/libssl.so.10
-    # - do we even want to use nvidia-shipped libssl?
-    "libcom_err.so.2"
-  ];
-
-  preFixup = if lib.versionOlder version "11" then ''
-    patchelf $out/targets/*/lib/libnvrtc.so --add-needed libnvrtc-builtins.so
-  '' else ''
-    patchelf $out/lib64/libnvrtc.so --add-needed libnvrtc-builtins.so
-  '';
-
-  unpackPhase = ''
-    sh $src --keep --noexec
-
-    ${lib.optionalString (lib.versionOlder version "10.1") ''
-      cd pkg/run_files
-      sh cuda-linux*.run --keep --noexec
-      sh cuda-samples*.run --keep --noexec
-      mv pkg ../../$(basename $src)
-      cd ../..
-      rm -rf pkg
-
-      for patch in $runPatches; do
-        sh $patch --keep --noexec
-        mv pkg $(basename $patch)
-      done
-    ''}
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir $out
-    ${lib.optionalString (lib.versionOlder version "10.1") ''
-    cd $(basename $src)
-    export PERL5LIB=.
-    perl ./install-linux.pl --prefix="$out"
-    cd ..
-    for patch in $runPatches; do
-      cd $(basename $patch)
-      perl ./install_patch.pl --silent --accept-eula --installdir="$out"
-      cd ..
-    done
-    ''}
-    ${lib.optionalString (lib.versionAtLeast version "10.1" && lib.versionOlder version "11") ''
-      cd pkg/builds/cuda-toolkit
-      mv * $out/
-    ''}
-    ${lib.optionalString (lib.versionAtLeast version "11") ''
-      mkdir -p $out/bin $out/lib64 $out/include $doc
-      for dir in pkg/builds/* pkg/builds/cuda_nvcc/nvvm pkg/builds/cuda_cupti/extras/CUPTI; do
-        if [ -d $dir/bin ]; then
-          mv $dir/bin/* $out/bin
-        fi
-        if [ -d $dir/doc ]; then
-          (cd $dir/doc && find . -type d -exec mkdir -p $doc/\{} \;)
-          (cd $dir/doc && find . \( -type f -o -type l \) -exec mv \{} $doc/\{} \;)
-        fi
-        if [ -L $dir/include ] || [ -d $dir/include ]; then
-          (cd $dir/include && find . -type d -exec mkdir -p $out/include/\{} \;)
-          (cd $dir/include && find . \( -type f -o -type l \) -exec mv \{} $out/include/\{} \;)
-        fi
-        if [ -L $dir/lib64 ] || [ -d $dir/lib64 ]; then
-          (cd $dir/lib64 && find . -type d -exec mkdir -p $out/lib64/\{} \;)
-          (cd $dir/lib64 && find . \( -type f -o -type l \) -exec mv \{} $out/lib64/\{} \;)
-        fi
-      done
-      mv pkg/builds/cuda_nvcc/nvvm $out/nvvm
-
-      mv pkg/builds/cuda_sanitizer_api $out/cuda_sanitizer_api
-      ln -s $out/cuda_sanitizer_api/compute-sanitizer/compute-sanitizer $out/bin/compute-sanitizer
-
-      mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64
-      mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64
-      rm $out/host-linux-x64/libstdc++.so*
-    ''}
-      ${lib.optionalString (lib.versionAtLeast version "11.8")
-      # error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/.......-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so
-      # we only ship libtiff.so.6, so let's use qt plugins built by Nix.
-      # TODO: don't copy, come up with a symlink-based "merge"
-    ''
-      rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP
-    ''}
-
-    rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
-
-    ${lib.optionalString (lib.versionOlder version "10.1") ''
-    # let's remove the 32-bit libraries, they confuse the lib64->lib mover
-    rm -rf $out/lib
-    ''}
-
-    ${lib.optionalString (lib.versionAtLeast version "12.0") ''
-    rm $out/host-linux-x64/libQt6*
-    ''}
-
-    # Remove some cruft.
-    ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
-      "rm $out/bin/uninstall*"}
-
-    # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
-    if [ -d "$out"/cuda-samples ]; then
-        mv "$out"/cuda-samples "$out"/samples
-    fi
-
-    # Change the #error on GCC > 4.9 to a #warning.
-    sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
-
-    # Fix builds with newer glibc version
-    sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
-  '' +
-  # Point NVCC at a compatible compiler
-  # CUDA_TOOLKIT_ROOT_DIR is legacy,
-  # Cf. https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
-  ''
-    mkdir -p $out/nix-support
-    cat <<EOF >> $out/nix-support/setup-hook
-    cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'
-    EOF
-
-    # Move some libraries to the lib output so that programs that
-    # depend on them don't pull in this entire monstrosity.
-    mkdir -p $lib/lib
-    mv -v $out/lib64/libcudart* $lib/lib/
-
-    # Remove OpenCL libraries as they are provided by ocl-icd and driver.
-    rm -f $out/lib64/libOpenCL*
-    ${lib.optionalString (lib.versionAtLeast version "10.1" && (lib.versionOlder version "11")) ''
-      mv $out/lib64 $out/lib
-      mv $out/extras/CUPTI/lib64/libcupti* $out/lib
-    ''}
-
-    # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
-    wrapProgram $out/bin/nvprof \
-      --prefix LD_LIBRARY_PATH : $out/lib
-  '' + lib.optionalString (lib.versionOlder version "8.0") ''
-    # Hack to fix building against recent Glibc/GCC.
-    echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
-  ''
-  # 11.8 includes a broken symlink, include/include, pointing to targets/x86_64-linux/include
-  + lib.optionalString (lib.versions.majorMinor version == "11.8") ''
-    rm $out/include/include
-  '' + ''
-    runHook postInstall
-  '';
-
-  postInstall = ''
-    for b in nvvp ${lib.optionalString (lib.versionOlder version "11") "nsight"}; do
-      wrapProgram "$out/bin/$b" \
-        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-    done
-  '';
-
-
-  # cuda-gdb doesn't run correctly when not using sandboxing, so
-  # temporarily disabling the install check.  This should be set to true
-  # when we figure out how to get `cuda-gdb --version` to run correctly
-  # when not using sandboxing.
-  doInstallCheck = false;
-  postInstallCheck = let
-  in ''
-    # Smoke test binaries
-    pushd $out/bin
-    for f in *; do
-      case $f in
-        crt)                           continue;;
-        nvcc.profile)                  continue;;
-        nsight_ee_plugins_manage.sh)   continue;;
-        uninstall_cuda_toolkit_6.5.pl) continue;;
-        computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
-        *)                             echo "Executing '$f --version':"; ./$f --version;;
-      esac
-    done
-    popd
-  '';
-  passthru = {
-    inherit (backendStdenv) cc;
-    majorMinorVersion = lib.versions.majorMinor version;
-    majorVersion = lib.versions.majorMinor version;
-  };
-
-  meta = with lib; {
-    description = "A compiler for NVIDIA GPUs, math libraries, and tools";
-    homepage = "https://developer.nvidia.com/cuda-toolkit";
-    platforms = [ "x86_64-linux" ];
-    license = licenses.nvidiaCuda;
-    maintainers = teams.cuda.members;
-  };
-}
diff --git a/pkgs/development/compilers/cudatoolkit/extension.nix b/pkgs/development/compilers/cudatoolkit/extension.nix
index 93800a0dbc6b1..016675fa07015 100644
--- a/pkgs/development/compilers/cudatoolkit/extension.nix
+++ b/pkgs/development/compilers/cudatoolkit/extension.nix
@@ -47,13 +47,16 @@ final: prev: let
         ./hooks/mark-for-cudatoolkit-root-hook.sh)
     { });
 
-  # Normally propagated by cuda_nvcc or cudatoolkit through their depsHostHostPropagated
+  # Currently propagated by cuda_nvcc or cudatoolkit, rather than used directly
   setupCudaHook = (final.callPackage
     ({ makeSetupHook, backendStdenv }:
       makeSetupHook
         {
           name = "setup-cuda-hook";
 
+          substitutions.setupCudaHook = placeholder "out";
+
+          # Point NVCC at a compatible compiler
           substitutions.ccRoot = "${backendStdenv.cc}";
 
           # Required in addition to ccRoot as otherwise bin/gcc is looked up
diff --git a/pkgs/development/compilers/cudatoolkit/flags.nix b/pkgs/development/compilers/cudatoolkit/flags.nix
deleted file mode 100644
index be1d98e87122f..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/flags.nix
+++ /dev/null
@@ -1,170 +0,0 @@
-{ config
-, lib
-, cudaVersion
-}:
-
-# Type aliases
-# Gpu :: AttrSet
-#   - See the documentation in ./gpus.nix.
-
-let
-  inherit (lib) attrsets lists strings trivial versions;
-
-  # Flags are determined based on your CUDA toolkit by default.  You may benefit
-  # from improved performance, reduced file size, or greater hardware support by
-  # passing a configuration based on your specific GPU environment.
-  #
-  # config.cudaCapabilities :: List Capability
-  # List of hardware generations to build.
-  # E.g. [ "8.0" ]
-  # Currently, the last item is considered the optional forward-compatibility arch,
-  # but this may change in the future.
-  #
-  # config.cudaForwardCompat :: Bool
-  # Whether to include the forward compatibility gencode (+PTX)
-  # to support future GPU generations.
-  # E.g. true
-  #
-  # Please see the accompanying documentation or https://github.com/NixOS/nixpkgs/pull/205351
-
-  # gpus :: List Gpu
-  gpus = builtins.import ./gpus.nix;
-
-  # isSupported :: Gpu -> Bool
-  isSupported = gpu:
-    let
-      inherit (gpu) minCudaVersion maxCudaVersion;
-      lowerBoundSatisfied = strings.versionAtLeast cudaVersion minCudaVersion;
-      upperBoundSatisfied = (maxCudaVersion == null)
-        || !(strings.versionOlder maxCudaVersion cudaVersion);
-    in
-    lowerBoundSatisfied && upperBoundSatisfied;
-
-  # isDefault :: Gpu -> Bool
-  isDefault = gpu:
-    let
-      inherit (gpu) dontDefaultAfter;
-      newGpu = dontDefaultAfter == null;
-      recentGpu = newGpu || strings.versionAtLeast dontDefaultAfter cudaVersion;
-    in
-    recentGpu;
-
-  # supportedGpus :: List Gpu
-  # GPUs which are supported by the provided CUDA version.
-  supportedGpus = builtins.filter isSupported gpus;
-
-  # defaultGpus :: List Gpu
-  # GPUs which are supported by the provided CUDA version and we want to build for by default.
-  defaultGpus = builtins.filter isDefault supportedGpus;
-
-  # supportedCapabilities :: List Capability
-  supportedCapabilities = lists.map (gpu: gpu.computeCapability) supportedGpus;
-
-  # defaultCapabilities :: List Capability
-  # The default capabilities to target, if not overridden by the user.
-  defaultCapabilities = lists.map (gpu: gpu.computeCapability) defaultGpus;
-
-  # cudaArchNameToVersions :: AttrSet String (List String)
-  # Maps the name of a GPU architecture to different versions of that architecture.
-  # For example, "Ampere" maps to [ "8.0" "8.6" "8.7" ].
-  cudaArchNameToVersions =
-    lists.groupBy'
-      (versions: gpu: versions ++ [ gpu.computeCapability ])
-      [ ]
-      (gpu: gpu.archName)
-      supportedGpus;
-
-  # cudaComputeCapabilityToName :: AttrSet String String
-  # Maps the version of a GPU architecture to the name of that architecture.
-  # For example, "8.0" maps to "Ampere".
-  cudaComputeCapabilityToName = builtins.listToAttrs (
-    lists.map
-      (gpu: {
-        name = gpu.computeCapability;
-        value = gpu.archName;
-      })
-      supportedGpus
-  );
-
-  # dropDot :: String -> String
-  dropDot = ver: builtins.replaceStrings [ "." ] [ "" ] ver;
-
-  # archMapper :: String -> List String -> List String
-  # Maps a feature across a list of architecture versions to produce a list of architectures.
-  # For example, "sm" and [ "8.0" "8.6" "8.7" ] produces [ "sm_80" "sm_86" "sm_87" ].
-  archMapper = feat: lists.map (computeCapability: "${feat}_${dropDot computeCapability}");
-
-  # gencodeMapper :: String -> List String -> List String
-  # Maps a feature across a list of architecture versions to produce a list of gencode arguments.
-  # For example, "sm" and [ "8.0" "8.6" "8.7" ] produces [ "-gencode=arch=compute_80,code=sm_80"
-  # "-gencode=arch=compute_86,code=sm_86" "-gencode=arch=compute_87,code=sm_87" ].
-  gencodeMapper = feat: lists.map (
-    computeCapability:
-    "-gencode=arch=compute_${dropDot computeCapability},code=${feat}_${dropDot computeCapability}"
-  );
-
-  formatCapabilities = { cudaCapabilities, enableForwardCompat ? true }: rec {
-    inherit cudaCapabilities enableForwardCompat;
-
-    # archNames :: List String
-    # E.g. [ "Turing" "Ampere" ]
-    archNames = lists.unique (builtins.map (cap: cudaComputeCapabilityToName.${cap} or (throw "missing cuda compute capability")) cudaCapabilities);
-
-    # realArches :: List String
-    # The real architectures are physical architectures supported by the CUDA version.
-    # E.g. [ "sm_75" "sm_86" ]
-    realArches = archMapper "sm" cudaCapabilities;
-
-    # virtualArches :: List String
-    # The virtual architectures are typically used for forward compatibility, when trying to support
-    # an architecture newer than the CUDA version allows.
-    # E.g. [ "compute_75" "compute_86" ]
-    virtualArches = archMapper "compute" cudaCapabilities;
-
-    # arches :: List String
-    # By default, build for all supported architectures and forward compatibility via a virtual
-    # architecture for the newest supported architecture.
-    # E.g. [ "sm_75" "sm_86" "compute_86" ]
-    arches = realArches ++
-      lists.optional enableForwardCompat (lists.last virtualArches);
-
-    # gencode :: List String
-    # A list of CUDA gencode arguments to pass to NVCC.
-    # E.g. [ "-gencode=arch=compute_75,code=sm_75" ... "-gencode=arch=compute_86,code=compute_86" ]
-    gencode =
-      let
-        base = gencodeMapper "sm" cudaCapabilities;
-        forward = gencodeMapper "compute" [ (lists.last cudaCapabilities) ];
-      in
-      base ++ lib.optionals enableForwardCompat forward;
-  };
-
-in
-# When changing names or formats: pause, validate, and update the assert
-assert (formatCapabilities { cudaCapabilities = [ "7.5" "8.6" ]; }) == {
-  cudaCapabilities = [ "7.5" "8.6" ];
-  enableForwardCompat = true;
-
-  archNames = [ "Turing" "Ampere" ];
-  realArches = [ "sm_75" "sm_86" ];
-  virtualArches = [ "compute_75" "compute_86" ];
-  arches = [ "sm_75" "sm_86" "compute_86" ];
-
-  gencode = [ "-gencode=arch=compute_75,code=sm_75" "-gencode=arch=compute_86,code=sm_86" "-gencode=arch=compute_86,code=compute_86" ];
-};
-{
-  # formatCapabilities :: { cudaCapabilities: List Capability, cudaForwardCompat: Boolean } ->  { ... }
-  inherit formatCapabilities;
-
-  # cudaArchNameToVersions :: String => String
-  inherit cudaArchNameToVersions;
-
-  # cudaComputeCapabilityToName :: String => String
-  inherit cudaComputeCapabilityToName;
-
-  # dropDot :: String -> String
-  inherit dropDot;
-} // formatCapabilities {
-  cudaCapabilities = config.cudaCapabilities or defaultCapabilities;
-  enableForwardCompat = config.cudaForwardCompat or true;
-}
diff --git a/pkgs/development/compilers/cudatoolkit/gpus.nix b/pkgs/development/compilers/cudatoolkit/gpus.nix
deleted file mode 100644
index be157df89624f..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/gpus.nix
+++ /dev/null
@@ -1,148 +0,0 @@
-[
-  # Type alias
-  # Gpu = {
-  #   archName: String
-  #     - The name of the microarchitecture.
-  #   computeCapability: String
-  #     - The compute capability of the GPU.
-  #   minCudaVersion: String
-  #     - The minimum (inclusive) CUDA version that supports this GPU.
-  #   dontDefaultAfter: null | String
-  #     - The CUDA version after which to exclude this GPU from the list of default capabilities
-  #       we build. null means we always include this GPU in the default capabilities if it is
-  #       supported.
-  #   maxCudaVersion: null | String
-  #     - The maximum (exclusive) CUDA version that supports this GPU. null means there is no
-  #       maximum.
-  # }
-  {
-    archName = "Kepler";
-    computeCapability = "3.0";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "10.2";
-    maxCudaVersion = "10.2";
-  }
-  {
-    archName = "Kepler";
-    computeCapability = "3.2";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "10.2";
-    maxCudaVersion = "10.2";
-  }
-  {
-    archName = "Kepler";
-    computeCapability = "3.5";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "11.0";
-    maxCudaVersion = "11.8";
-  }
-  {
-    archName = "Kepler";
-    computeCapability = "3.7";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "11.0";
-    maxCudaVersion = "11.8";
-  }
-  {
-    archName = "Maxwell";
-    computeCapability = "5.0";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "11.0";
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Maxwell";
-    computeCapability = "5.2";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "11.0";
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Maxwell";
-    computeCapability = "5.3";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = "11.0";
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Pascal";
-    computeCapability = "6.0";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Pascal";
-    computeCapability = "6.1";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Pascal";
-    computeCapability = "6.2";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Volta";
-    computeCapability = "7.0";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Volta";
-    computeCapability = "7.2";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Turing";
-    computeCapability = "7.5";
-    minCudaVersion = "10.0";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Ampere";
-    computeCapability = "8.0";
-    minCudaVersion = "11.2";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Ampere";
-    computeCapability = "8.6";
-    minCudaVersion = "11.2";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Ampere";
-    computeCapability = "8.7";
-    minCudaVersion = "11.5";
-    # NOTE: This is purposefully before 11.5 to ensure it is never a capability we target by
-    #   default. 8.7 is the Jetson Orin series of devices which are a very specific platform.
-    #   We keep this entry here in case we ever want to target it explicitly, but we don't
-    #   want to target it by default.
-    dontDefaultAfter = "11.4";
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Ada";
-    computeCapability = "8.9";
-    minCudaVersion = "11.8";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-  {
-    archName = "Hopper";
-    computeCapability = "9.0";
-    minCudaVersion = "11.8";
-    dontDefaultAfter = null;
-    maxCudaVersion = null;
-  }
-]
diff --git a/pkgs/development/compilers/cudatoolkit/hooks/mark-for-cudatoolkit-root-hook.sh b/pkgs/development/compilers/cudatoolkit/hooks/mark-for-cudatoolkit-root-hook.sh
deleted file mode 100644
index 5c18760a3a2b0..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/hooks/mark-for-cudatoolkit-root-hook.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# shellcheck shell=bash
-
-markForCUDAToolkit_ROOT() {
-    mkdir -p "${prefix}/nix-support"
-    touch "${prefix}/nix-support/include-in-cudatoolkit-root"
-}
-
-fixupOutputHooks+=(markForCUDAToolkit_ROOT)
diff --git a/pkgs/development/compilers/cudatoolkit/hooks/nvcc-setup-hook.sh b/pkgs/development/compilers/cudatoolkit/hooks/nvcc-setup-hook.sh
deleted file mode 100644
index e75a84a9550e7..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/hooks/nvcc-setup-hook.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-# shellcheck shell=bash
-
-# CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
-# CUDAToolkit_ROOT. We have to help it locate libcudart
-export NVCC_APPEND_FLAGS+=" -L@cudartLib@/lib -L@cudartStatic@/lib -I@cudartInclude@/include"
diff --git a/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh b/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh
deleted file mode 100644
index 5ea57594211c4..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-# shellcheck shell=bash
-
-echo Sourcing setup-cuda-hook >&2
-
-extendCUDAToolkit_ROOT() {
-    if [[ -f "$1/nix-support/include-in-cudatoolkit-root" ]] ; then
-        addToSearchPathWithCustomDelimiter ";" CUDAToolkit_ROOT "$1"
-
-        if [[ -d "$1/include" ]] ; then
-            addToSearchPathWithCustomDelimiter ";" CUDAToolkit_INCLUDE_DIR "$1/include"
-        fi
-    fi
-}
-
-addEnvHooks "$targetOffset" extendCUDAToolkit_ROOT
-
-setupCUDAToolkitCompilers() {
-    echo Executing setupCUDAToolkitCompilers >&2
-
-    if [[ -n "${dontSetupCUDAToolkitCompilers-}" ]] ; then
-        return
-    fi
-
-    # Point NVCC at a compatible compiler
-
-    # For CMake-based projects:
-    # https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
-    # https://cmake.org/cmake/help/latest/envvar/CUDAHOSTCXX.html
-    # https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_HOST_COMPILER.html
-
-    export cmakeFlags+=" -DCUDA_HOST_COMPILER=@ccFullPath@"
-    export cmakeFlags+=" -DCMAKE_CUDA_HOST_COMPILER=@ccFullPath@"
-
-    # For non-CMake projects:
-    # We prepend --compiler-bindir to nvcc flags.
-    # Downstream packages can override these, because NVCC
-    # uses the last --compiler-bindir it gets on the command line.
-    # FIXME: this results in "incompatible redefinition" warnings.
-    # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#compiler-bindir-directory-ccbin
-    if [ -z "${CUDAHOSTCXX-}" ]; then
-      export CUDAHOSTCXX="@ccFullPath@";
-    fi
-
-    export NVCC_PREPEND_FLAGS+=" --compiler-bindir=@ccRoot@/bin"
-
-    # NOTE: We set -Xfatbin=-compress-all, which reduces the size of the compiled
-    #   binaries. If binaries grow over 2GB, they will fail to link. This is a problem for us, as
-    #   the default set of CUDA capabilities we build can regularly cause this to occur (for
-    #   example, with Magma).
-    #
-    # @SomeoneSerge: original comment was made by @ConnorBaker in .../cudatoolkit/common.nix
-    if [[ -z "${dontCompressFatbin-}" ]]; then
-        export NVCC_PREPEND_FLAGS+=" -Xfatbin=-compress-all"
-    fi
-
-    # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
-    # CUDAToolkit_ROOT. We have to help it locate libcudart
-    if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then
-        export NVCC_APPEND_FLAGS+=" -L@cudartLib@/lib -L@cudartStatic@/lib -I@cudartInclude@/include"
-    fi
-}
-
-setupCMakeCUDAToolkit_ROOT() {
-    export cmakeFlags+=" -DCUDAToolkit_INCLUDE_DIR=$CUDAToolkit_INCLUDE_DIR -DCUDAToolkit_ROOT=$CUDAToolkit_ROOT"
-}
-
-postHooks+=(setupCUDAToolkitCompilers)
-preConfigureHooks+=(setupCMakeCUDAToolkit_ROOT)
diff --git a/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix b/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix
deleted file mode 100644
index 1e4a3ab178559..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix
+++ /dev/null
@@ -1,178 +0,0 @@
-# Type Aliases
-#
-# See ./extension.nix:
-# - ReleaseAttrs
-# - ReleaseFeaturesAttrs
-#
-# General callPackage-supplied arguments
-{ lib
-, stdenv
-, backendStdenv
-, fetchurl
-, autoPatchelfHook
-, autoAddOpenGLRunpathHook
-, markForCudatoolkitRootHook
-, lndir
-, symlinkJoin
-}:
-# Function arguments
-{
-  # Short package name (e.g., "cuda_cccl")
-  # pname : String
-  pname
-, # Long package name (e.g., "CXX Core Compute Libraries")
-  # description : String
-  description
-, # platforms : List System
-  platforms
-, # version : Version
-  version
-, # releaseAttrs : ReleaseAttrs
-  releaseAttrs
-, # releaseFeaturesAttrs : ReleaseFeaturesAttrs
-  releaseFeaturesAttrs
-,
-}:
-let
-  # Useful imports
-  inherit (lib.lists) optionals;
-  inherit (lib.meta) getExe;
-  inherit (lib.strings) optionalString;
-in
-backendStdenv.mkDerivation (finalAttrs: {
-  # NOTE: Even though there's no actual buildPhase going on here, the derivations of the
-  # redistributables are sensitive to the compiler flags provided to stdenv. The patchelf package
-  # is sensitive to the compiler flags provided to stdenv, and we depend on it. As such, we are
-  # also sensitive to the compiler flags provided to stdenv.
-  inherit pname version;
-  strictDeps = true;
-
-  outputs = with releaseFeaturesAttrs;
-    [ "out" ]
-    ++ optionals hasBin [ "bin" ]
-    ++ optionals hasLib [ "lib" ]
-    ++ optionals hasStatic [ "static" ]
-    ++ optionals hasDev [ "dev" ]
-    ++ optionals hasDoc [ "doc" ]
-    ++ optionals hasSample [ "sample" ];
-
-  src = fetchurl {
-    url = "https://developer.download.nvidia.com/compute/cuda/redist/${releaseAttrs.relative_path}";
-    inherit (releaseAttrs) sha256;
-  };
-
-  # We do need some other phases, like configurePhase, so the multiple-output setup hook works.
-  dontBuild = true;
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    # This hook will make sure libcuda can be found
-    # in typically /lib/opengl-driver by adding that
-    # directory to the rpath of all ELF binaries.
-    # Check e.g. with `patchelf --print-rpath path/to/my/binary
-    autoAddOpenGLRunpathHook
-    markForCudatoolkitRootHook
-  ];
-
-  buildInputs = [
-    # autoPatchelfHook will search for a libstdc++ and we're giving it
-    # one that is compatible with the rest of nixpkgs, even when
-    # nvcc forces us to use an older gcc
-    # NB: We don't actually know if this is the right thing to do
-    stdenv.cc.cc.lib
-  ];
-
-  # Picked up by autoPatchelf
-  # Needed e.g. for libnvrtc to locate (dlopen) libnvrtc-builtins
-  appendRunpaths = [
-    "$ORIGIN"
-  ];
-
-  installPhase = with releaseFeaturesAttrs;
-    # Pre-install hook
-    ''
-      runHook preInstall
-    ''
-    # doc and dev have special output handling. Other outputs need to be moved to their own
-    # output.
-    # Note that moveToOutput operates on all outputs:
-    # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L105-L107
-    + ''
-      mkdir -p "$out"
-      rm LICENSE
-      mv * "$out"
-    ''
-    # Handle bin, which defaults to out
-    + optionalString hasBin ''
-      moveToOutput "bin" "$bin"
-    ''
-    # Handle lib, which defaults to out
-    + optionalString hasLib ''
-      moveToOutput "lib" "$lib"
-    ''
-    # Handle static libs, which isn't handled by the setup hook
-    + optionalString hasStatic ''
-      moveToOutput "**/*.a" "$static"
-    ''
-    # Handle samples, which isn't handled by the setup hook
-    + optionalString hasSample ''
-      moveToOutput "samples" "$sample"
-    ''
-    # Post-install hook
-    + ''
-      runHook postInstall
-    '';
-
-  # The out output leverages the same functionality which backs the `symlinkJoin` function in
-  # Nixpkgs:
-  # https://github.com/NixOS/nixpkgs/blob/d8b2a92df48f9b08d68b0132ce7adfbdbc1fbfac/pkgs/build-support/trivial-builders/default.nix#L510
-  #
-  # That should allow us to emulate "fat" default outputs without having to actually create them.
-  #
-  # It is important that this run after the autoPatchelfHook, otherwise the symlinks in out will reference libraries in lib, creating a circular dependency.
-  postPhases = [ "postPatchelf" ];
-  # For each output, create a symlink to it in the out output.
-  # NOTE: We must recreate the out output here, because the setup hook will have deleted it
-  # if it was empty.
-  # NOTE: Do not use optionalString based on whether `outputs` contains only `out` -- phases
-  # which are empty strings are skipped/unset and result in errors of the form "command not
-  # found: <customPhaseName>".
-  postPatchelf = ''
-    mkdir -p "$out"
-    for output in $outputs; do
-      if [ "$output" = "out" ]; then
-        continue
-      fi
-      ${getExe lndir} "''${!output}" "$out"
-    done
-  '';
-
-  # Make the CUDA-patched stdenv available
-  passthru.stdenv = backendStdenv;
-
-  # Setting propagatedBuildInputs to false will prevent outputs known to the multiple-outputs
-  # from depending on `out` by default.
-  # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L196
-  # Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
-  propagatedBuildOutputs = false;
-
-  # By default, if the dev output exists it just uses that.
-  # However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
-  # anything of the sort. To remedy this, we set outputSpecified to true, and use
-  # outputsToInstall, which tells Nix which outputs to use when the package name is used
-  # unqualified (that is, without an explicit output).
-  outputSpecified = true;
-
-  meta = {
-    inherit platforms;
-    description = "${description}. By downloading and using the packages you accept the terms and conditions of the ${finalAttrs.meta.license.shortName}";
-    license = lib.licenses.nvidiaCudaRedist // {
-      url = "https://developer.download.nvidia.com/compute/cuda/redist/${releaseAttrs.license_path or "${pname}/LICENSE.txt"}";
-    };
-    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
-    maintainers = lib.teams.cuda.members;
-    # Force the use of the default, fat output by default (even though `dev` exists, which
-    # causes Nix to prefer that output over the others if outputSpecified isn't set).
-    outputsToInstall = [ "out" ];
-  };
-})
diff --git a/pkgs/development/compilers/cudatoolkit/redist/extension.nix b/pkgs/development/compilers/cudatoolkit/redist/extension.nix
deleted file mode 100644
index ea6fd581cde4f..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/extension.nix
+++ /dev/null
@@ -1,139 +0,0 @@
-# Type Aliases
-#
-# ReleaseAttrs : {
-#   "relative_path" : String,
-#   "sha256" : String,
-#   "md5" : String,
-#   "size" : String,
-# }
-#
-# NOTE: PackageAttrs must have at least one of the arches.
-# PackageAttrs : {
-#   "name" : String,
-#   "license" : String,
-#   "version" : String,
-#   "license_path" : None | String,
-#   "linux-aarch64" : None | ReleaseAttrs,
-#   "linux-ppc64le" : None | ReleaseAttrs,
-#   "linux-sbsa" : None | ReleaseAttrs,
-#   "linux-x86_64" : None | ReleaseAttrs,
-#   "windows-x86_64" : None | ReleaseAttrs,
-# }
-#
-# ReleaseFeaturesAttrs : {
-#   "hasBin" : Boolean,
-#   "hasDev" : Boolean,
-#   "hasDoc" : Boolean,
-#   "hasLib" : Boolean,
-#   "hasOut" : Boolean,
-#   "hasSample" : Boolean,
-#   "hasStatic" : Boolean,
-#   "rootDirs" : List String,
-# }
-#
-# NOTE: PackageFeatureAttrs must have at least one of the arches.
-# PackageFeatureAttrs : {
-#   "linux-aarch64" : None | ReleaseFeaturesAttrs,
-#   "linux-ppc64le" : None | ReleaseFeaturesAttrs,
-#   "linux-sbsa" : None | ReleaseFeaturesAttrs,
-#   "linux-x86_64" : None | ReleaseFeaturesAttrs,
-#   "windows-x86_64" : None | ReleaseFeaturesAttrs,
-# }
-#
-final: prev:
-let
-  # NOTE: We use hasAttr throughout instead of the (?) operator because hasAttr does not require
-  # us to interpolate our variables into strings (like ${attrName}).
-  inherit (builtins) attrNames concatMap hasAttr listToAttrs removeAttrs;
-  inherit (final) callPackage;
-  inherit (prev) cudaVersion;
-  inherit (prev.lib.attrsets) nameValuePair optionalAttrs;
-  inherit (prev.lib.lists) optionals;
-  inherit (prev.lib.trivial) flip importJSON pipe;
-
-  # Manifest files for CUDA redistributables (aka redist). These can be found at
-  # https://developer.download.nvidia.com/compute/cuda/redist/
-  # Maps a cuda version to the specific version of the manifest.
-  cudaVersionMap = {
-    "11.4" = "11.4.4";
-    "11.5" = "11.5.2";
-    "11.6" = "11.6.2";
-    "11.7" = "11.7.0";
-    "11.8" = "11.8.0";
-    "12.0" = "12.0.1";
-    "12.1" = "12.1.1";
-    "12.2" = "12.2.0";
-  };
-
-  # Check if the current CUDA version is supported.
-  cudaVersionMappingExists = hasAttr cudaVersion cudaVersionMap;
-
-  # Maps a cuda version to its manifest files.
-  # The manifest itself is from NVIDIA, but the features manifest is generated
-  # by us ahead of time and allows us to split pacakges into multiple outputs.
-  # Package names (e.g., "cuda_cccl") are mapped to their attributes or features.
-  # Since we map each attribute to a package name, we need to make sure to get rid of meta
-  # attributes included in the manifest. Currently, these are any of the following:
-  # - release_date
-  # - release_label
-  # - release_product
-  redistManifests =
-    let
-      # Remove meta attributes from the manifest
-      # removeAttrs : AttrSet String b -> Attr String b
-      removeMetaAttrs = flip removeAttrs [ "release_date" "release_label" "release_product" ];
-      # processManifest : Path -> Attr Set (String PackageAttrs)
-      processManifest = flip pipe [ importJSON removeMetaAttrs ];
-      # fullCudaVersion : String
-      fullCudaVersion = cudaVersionMap.${cudaVersion};
-    in
-    {
-      # features : Attr Set (String PackageFeatureAttrs)
-      features = processManifest (./manifests + "/redistrib_features_${fullCudaVersion}.json");
-      # manifest : Attr Set (String PackageAttrs)
-      manifest = processManifest (./manifests + "/redistrib_${fullCudaVersion}.json");
-    };
-
-  # Function to build a single redist package
-  buildRedistPackage = callPackage ./build-cuda-redist-package.nix { };
-
-  # Function that builds all redist packages given manifests
-  buildRedistPackages = { features, manifest }:
-    let
-      wrapper = pname:
-        let
-          # Get the redist architectures the package provides distributables for
-          packageAttrs = manifest.${pname};
-
-          # Check if supported
-          # TODO(@connorbaker): Currently hardcoding x86_64-linux as the only supported platform.
-          isSupported = packageAttrs ? linux-x86_64;
-
-          # Build the derivation
-          drv = buildRedistPackage {
-            inherit pname;
-            # TODO(@connorbaker): We currently discard the license attribute.
-            inherit (manifest.${pname}) version;
-            description = manifest.${pname}.name;
-            platforms = [ "x86_64-linux" ];
-            releaseAttrs = manifest.${pname}.linux-x86_64;
-            releaseFeaturesAttrs = features.${pname}.linux-x86_64;
-          };
-
-          # Wrap in an optional so we can filter out the empty lists created by unsupported
-          # packages with concatMap.
-          wrapped = optionals isSupported [ (nameValuePair pname drv) ];
-        in
-        wrapped;
-
-      # concatMap provides us an easy way to filter out packages for unsupported platforms.
-      # We wrap the buildRedistPackage call in a list to prevent errors when the package is not
-      # supported (by returning an empty list).
-      redistPackages = listToAttrs (concatMap wrapper (attrNames manifest));
-    in
-    redistPackages;
-
-  # All redistributable packages for the current CUDA version
-  redistPackages = optionalAttrs cudaVersionMappingExists (buildRedistPackages redistManifests);
-in
-redistPackages
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.7.0.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.7.0.json
deleted file mode 100644
index 2fc999afd700a..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.7.0.json
+++ /dev/null
@@ -1,879 +0,0 @@
-{
-    "release_date": "2022-05-11",
-    "cuda_cccl": {
-        "name": "CXX Core Compute Libraries",
-        "license": "CUDA Toolkit",
-        "version": "11.7.58",
-        "linux-x86_64": {
-            "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.7.58-archive.tar.xz",
-            "sha256": "a66261d174a3f8fea87e0dc91e5cd084dda89be8bb0a1f5ca0ab5d05a93ade4a",
-            "md5": "674edc3ec85126c08f78e4e3280789fd",
-            "size": "1004048"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-11.7.58-archive.tar.xz",
-            "sha256": "5482355647143e61b15cb6193f33a317dce94bb2475123d4b08eebbd7a801802",
-            "md5": "64c9f42b84cb64a7f67645cb74d2153f",
-            "size": "1004332"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-11.7.58-archive.tar.xz",
-            "sha256": "70a8a42135e4ab817cd3c3413dd993bfc7920a42f057838d2a4a2ff0966258bd",
-            "md5": "f6ac243b4b8d182941025040b0c375c3",
-            "size": "1003936"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-11.7.58-archive.zip",
-            "sha256": "29958e300229c7af43df57bed0519f34f3aa64332c84fb80e481c131e4594938",
-            "md5": "3a40e674c975fc35376e66b08b93a42c",
-            "size": "2563581"
-        }
-    },
-    "cuda_cudart": {
-        "name": "CUDA Runtime (cudart)",
-        "license": "CUDA Toolkit",
-        "version": "11.7.60",
-        "linux-x86_64": {
-            "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-11.7.60-archive.tar.xz",
-            "sha256": "1c079add60a107f6dd9e72a0cc9cde03eb9d833506f355c22b9177c47a977552",
-            "md5": "1ef515eb31691f2c43fb0de1443893a3",
-            "size": "854744"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-11.7.60-archive.tar.xz",
-            "sha256": "95ea51eb4d60754a080920105aa578cc8da8772295912f198fcaa13fafce6d24",
-            "md5": "ce9c3ac2d0a25de182e5519354e0e01b",
-            "size": "795244"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-11.7.60-archive.tar.xz",
-            "sha256": "bdfdb8467a0d1a5c6aeb696ec0c203d1da732093b5e5ee0a79b03ef53f5ab622",
-            "md5": "7d6290b6e7a0086c5dbf5706013dfdda",
-            "size": "798208"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-11.7.60-archive.zip",
-            "sha256": "e1c72413c42e9bda52d1868bb67136d66d03b394b9accdfd9224080bb5a9663e",
-            "md5": "bbeee57a158e8ce3abce79b19eae7110",
-            "size": "2884824"
-        }
-    },
-    "cuda_cuobjdump": {
-        "name": "cuobjdump",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "f901085d83f83ae549de45e4410c74c3adddd2d541ba2780c23105df39008820",
-            "md5": "76a614c84b7221cc9282a3bf009ca401",
-            "size": "127416"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "2fe257ab7027c7598d1351bb473d6a67a8da81fec17f60b389d16ef076c31da7",
-            "md5": "9ffb04f10fced993411d0601709c80fd",
-            "size": "140924"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "d44352344de0408d175b045401865ab82db4a53f3894e50c01445f42bbebdf8f",
-            "md5": "0b3bb58d13089bea74b3351cd7ed03d2",
-            "size": "123968"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "3e7072d0a09c021252925ff9644d67294793afc5dc55ff2fac291528711ba0f9",
-            "md5": "070b5f13066888c471b90868485767ae",
-            "size": "2523866"
-        }
-    },
-    "cuda_cupti": {
-        "name": "CUPTI",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "441f7da2608d1965f0e3e2e03aeea86b0a3454cbea8e7af8112529c9acef3853",
-            "md5": "6433be7629030ddbcf37f5286464bb0d",
-            "size": "16577596"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "df70ad634864572b4eff7ebe15b768d48d909aabddf3b54da05cf7e27442bd8f",
-            "md5": "011ea37fd2f4af0755414c5432ba2649",
-            "size": "8627816"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "4615695d9240a423926238640c69d4b39044acc44d3d513bc08c51f16bea371e",
-            "md5": "53cefdd716d8c40ff7143822341c09b7",
-            "size": "8436580"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "42a04b9ef71e4d95bc235a68dd4a75d1501a44e9964371435994f7a7c59cd489",
-            "md5": "4c61155dc79555ef6b389284a4f7b65a",
-            "size": "11546349"
-        }
-    },
-    "cuda_cuxxfilt": {
-        "name": "CUDA cuxxfilt (demangler)",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "8a9cb0af698fe39c1b92d179e9ac22e8acb752eb8c531dbfdd049ddcd3c2caa6",
-            "md5": "0f7eb48184c16e51ad76574cc112e01c",
-            "size": "186432"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "a2a9a5ace0908071f0bcf4fa1e537c8373d7ef6a18d086d85a2c72cb8dc245b7",
-            "md5": "6be41e32ff0274c1be4cb3b6a6429b21",
-            "size": "181612"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "c7c014ec407c77eae16451559a7499c8ff371606abc8e1b40e47eedab8d5a5b8",
-            "md5": "2a7553a48f6c8048d1667c16fec03035",
-            "size": "172292"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "e93e1d37332ad5adf663a712250710d03a718f4d85702aec4e24b5bf98e2fe7a",
-            "md5": "f34c83f9a81d0fdae3950a9778442345",
-            "size": "168940"
-        }
-    },
-    "cuda_demo_suite": {
-        "name": "CUDA Demo Suite",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "10dec9f42f7c60ba8d2e839bedf155addb6a02ebf9a3b2b1c7acbcc47e6e4721",
-            "md5": "4501fa48dcf450f1de5e7b0352859dfa",
-            "size": "3985972"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "803bab94b1b4f304ddba4c2adcc013a1aaf5251f962d154287f6d880cb3f16a1",
-            "md5": "a240da5cbf8ddcbf44ec969a7c57d68d",
-            "size": "5023822"
-        }
-    },
-    "cuda_documentation": {
-        "name": "CUDA Documentation",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "90a169f4c1c782cdd1b1bf1e13f3e9f4ef57f731d87d8fefae115b166032a084",
-            "md5": "1d5f61928ed525f7324e1f600719a786",
-            "size": "67056"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "8c799c128afcf870ea63e73b8a33d924d60bc4281ef77c32c92d0081a7d523c8",
-            "md5": "e5f4d0b477f90698adb4919e1341c407",
-            "size": "67060"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "a2f50b49fe31b0637602743a756df16e6ec3dfc95279d4bb25a9eb1f6de3a80b",
-            "md5": "9316169eca11c975157e77e3649f8a1f",
-            "size": "67060"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "2c497e6ca5ffb440d0504adef51d4e979273959d42a6a22b20cd702085b71f39",
-            "md5": "957cde6fd6211919ac4ca823d3cc90e9",
-            "size": "105283"
-        }
-    },
-    "cuda_gdb": {
-        "name": "CUDA GDB",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "ff44bffb8034a694ba6a2c5e171fc766ddc6d9e328b29eab8dd02177d6914f6c",
-            "md5": "72b1fa5a914443acc3eeda12da0aa059",
-            "size": "64209508"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "e442ef2eaaa778ffadb6af3ed92316eddff0dff15b69e334338da5f450203f43",
-            "md5": "6a02488128531898f252163a41c84f93",
-            "size": "64109072"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "f67bae946aaa60a57d7b781a2fe044bde267da58c418067d8be6cbb63959966b",
-            "md5": "3a654d775d9b1466ca00585adc179744",
-            "size": "64025944"
-        }
-    },
-    "cuda_memcheck": {
-        "name": "CUDA Memcheck",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_memcheck/linux-x86_64/cuda_memcheck-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "12fa99422d9a7ce1714e100cc9faa4c9d37590d79d0af93abc8321217cbf5abd",
-            "md5": "5b29092a20eb8501651f64af028623aa",
-            "size": "139652"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_memcheck/linux-ppc64le/cuda_memcheck-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "3bed410c4fcaf106f1411a9373bb0091ee46a29f2e980eba4ee274710d8e4f19",
-            "md5": "952e68b3e321df1bdc94327ea186603d",
-            "size": "148036"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_memcheck/windows-x86_64/cuda_memcheck-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "79294688bdbed786b68873bc02f8a279b6ce7a468486da365642e3c727cedd9e",
-            "md5": "a6512b0c6fe6aa4f81a6027a64110860",
-            "size": "172868"
-        }
-    },
-    "cuda_nsight": {
-        "name": "Nsight Eclipse Edition Plugin",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "483a4970a38c9366c2d3bf7d2ea9d2e2486a13ecaa3bd6ed143a4b18a8fe84b9",
-            "md5": "50eaa0de2047b89aa358682c6937a83a",
-            "size": "118603148"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "93ece42ff578135e10cc7d8bfa4c42449f259d955cf1b71652b7436e2f6854f2",
-            "md5": "9e2cfb70f748efcc22c611938099ccbf",
-            "size": "118603136"
-        }
-    },
-    "cuda_nvcc": {
-        "name": "CUDA NVCC",
-        "license": "CUDA Toolkit",
-        "version": "11.7.64",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-11.7.64-archive.tar.xz",
-            "sha256": "7721fcfa3eb183ecb1d7fe138ce52d8238f0a6ecf1e9964cf8cfe5d8b7ec3c92",
-            "md5": "640e1e412e0ff6d7eee95e513f67cadb",
-            "size": "37056600"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-11.7.64-archive.tar.xz",
-            "sha256": "59792975fe7ba2cb75977965a1eebfc684d4e301a34c43f5f4295124d21c097c",
-            "md5": "0f409845cbe3ed70a6abc971024b1d72",
-            "size": "34873208"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-11.7.64-archive.tar.xz",
-            "sha256": "4ba91cfcc7b12b997ed2ceced176f6aa1f7c101a65c0ab6faae9a8fee6d107f1",
-            "md5": "a3ef626196d63f7db7c3c62d80564ab3",
-            "size": "32632012"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-11.7.64-archive.zip",
-            "sha256": "dcb47e8c04560a369cc6154242afdb29223e8ceaaf6ea6097e2add09ed64d386",
-            "md5": "de3eb321caac960358731fb07c26e2a2",
-            "size": "47659565"
-        }
-    },
-    "cuda_nvdisasm": {
-        "name": "CUDA nvdisasm",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "4e22b735b9553a286390dc76b02e5a7f21dc71234852d7f4f8cf2572fef1a479",
-            "md5": "471deeab3bc3ce504c75b77670ad5140",
-            "size": "32776640"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "1111d62bd0baefdf86de2dd148e44815d04c53d66dff2a1f5a700dd6ec32cce5",
-            "md5": "a1ec03d58d37927080425425a820dee8",
-            "size": "32780884"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "3a9ece8dfb6e93c0e9b6da6753c77c9fb815b42ffc91ee710fbc02b421b0d864",
-            "md5": "3e2cb3ff5390077d97d0d847c423d499",
-            "size": "32730316"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "03403fc8ea81178855e5338623700421c91606e71ef8747568554a0ab5b18355",
-            "md5": "03ea5bb697502568d5b9fb9577974cf7",
-            "size": "33004702"
-        }
-    },
-    "cuda_nvml_dev": {
-        "name": "CUDA NVML Headers",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "b6f101106e5ed980bf89b2868cf0b32dd36a28c47e879ee70fca1b85de047fba",
-            "md5": "f8c3a8033eda7215cf2a7b0b1325b5f1",
-            "size": "76548"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "a3f4dbeeec6d6eb6562fd4c432c70a5071aa3e0bbf008118a1676079b4bf646f",
-            "md5": "cd92d1a16f3e60e9620320d18c0e5a6a",
-            "size": "76088"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "ddc4d1c7dafa9a05e387048a561ec01cad16e33276358201f8682780e451037d",
-            "md5": "156e76ed54c7547a11fc6a725d212762",
-            "size": "76728"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "f3cea20a5c75dbe341b11c3fabfbafcc2da6d0d60654cdd46960e941e33dca50",
-            "md5": "2d92f9c4ef5dac8253f5e73e6f428251",
-            "size": "106750"
-        }
-    },
-    "cuda_nvprof": {
-        "name": "CUDA nvprof",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "8222eebaf3fe6ca1e4df6fda09cbd58f11de6d5b80b5596dcf5c5c45ae246028",
-            "md5": "1fa983b921821b0d38dfc7c5b8234d88",
-            "size": "1944796"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "dbf2f41b1c42fe05c9ce0865dfefe867c91a22394acfb03606a4de9cbf07f236",
-            "md5": "865a189bcdc7900e55f1a3e545c312da",
-            "size": "1600116"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvprof/linux-sbsa/cuda_nvprof-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "5894195fdaf1e550601649fdf93aa93fa042bd3e298867cf95007080b10757ac",
-            "md5": "e3e336dd70f215866864131b889a8261",
-            "size": "16148"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "3a115b5bc3bf733cb6fe9d414ae5375928ea75fb1f84112b897015434bc4fc25",
-            "md5": "7fc781f7e740bb6a7a45b593fe8c70a0",
-            "size": "1603305"
-        }
-    },
-    "cuda_nvprune": {
-        "name": "CUDA nvprune",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "b5c13830f910979be229943cefe70297382ba6c1bddba91174d4837a94c7922d",
-            "md5": "d57409d45bd27a917b90e05e78941326",
-            "size": "55220"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "ecace952b4b4631fa347f77371de485f7611525773bc90587f4c639cd51362e7",
-            "md5": "5359a59af33523f5d5d58d0bf6cb6b9a",
-            "size": "55928"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "dfc069568ca54425a8bb8c674f2d70218546f64a6836fb918d233becff046624",
-            "md5": "6fdc59145fe540946f9e3ea793f09152",
-            "size": "47656"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "605aed14b9832712c81cf36acf389a22023a0737604ff3a1cbdd7338b0780ea4",
-            "md5": "3f105e39da981703ab5a95bfeaf112b9",
-            "size": "144827"
-        }
-    },
-    "cuda_nvrtc": {
-        "name": "CUDA NVRTC",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "a0891b98d5d38f6ae64833c483ccf51417e25b54f0242a5872fabc7c96300f3a",
-            "md5": "e1e1bdd085b979196fc87d2d7d20d237",
-            "size": "28103056"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "b801983bd480b6a75eeb3b4db41a840de66d3f764ca89440e135d62ae249144e",
-            "md5": "f39ef8fbca0ed175a4815b2c4482b676",
-            "size": "26239068"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "5d4788a5b3c06d88179824976c8e5e7c76683dfe3bd1e5634ac2037de62b385f",
-            "md5": "609d991b06e17e9f0a85c6e93bbf052b",
-            "size": "26084572"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "252ae0cd65b1b73208454966f91239d0e8f11232de966c41d8cf3009fe402415",
-            "md5": "6476681ad45cfd18e7cc3f5b16c9111b",
-            "size": "93548358"
-        }
-    },
-    "cuda_nvtx": {
-        "name": "CUDA NVTX",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "b90454efe80e4fcd328e6250279e4392a01db9035c7317355760c66048899568",
-            "md5": "b14a508a57f1311321b6cb552fde7a9f",
-            "size": "48176"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "3dc37a91b9a7769d4ab329d99d8779b7f6feaae63e8fc69d7d5da284cb82efe9",
-            "md5": "eae8b204b8af373dc52ec1cad399dce5",
-            "size": "48156"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "b803160fe20715c23a6266849d2a23d298fe7c7e427ec77aca9121d667526441",
-            "md5": "5262caba03904cf79884266f30962f8b",
-            "size": "48768"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "cec2aabca78c95a2d6c793372684b060fc695035f568225fd735880331d71e25",
-            "md5": "27b8357312c82ee327b3ec86cb2cecec",
-            "size": "65690"
-        }
-    },
-    "cuda_nvvp": {
-        "name": "CUDA NVVP",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "6489169df1a4f37cba0c00c3c0e24ac6265bfe06fcca1d4bf3f5824bc937ef9f",
-            "md5": "94951715e2f099553ddd57f40ab4f06c",
-            "size": "117571592"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "b54fa7fc79788f991332139ecf722cc834b544d111f476531a3db82b8c15c2b0",
-            "md5": "ece4a0e7524037f64cd81a9a6c85db0c",
-            "size": "117008156"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "8b8ddaca9958a58a78f7f50f87ecee3ecb148fe99b0cce6ed37e3ba0ecb6d14f",
-            "md5": "6880ab3d2ae9526e6d5a376fb24dea8e",
-            "size": "120360546"
-        }
-    },
-    "cuda_sanitizer_api": {
-        "name": "CUDA Compute Sanitizer API",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "linux-x86_64": {
-            "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-11.7.50-archive.tar.xz",
-            "sha256": "9555ae397290608c7a64c929fc80186860008cc8c4afb0bd49deece3a5ca2fc4",
-            "md5": "6b5910c5096decaa4b5c30f3bff3df38",
-            "size": "8314100"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-11.7.50-archive.tar.xz",
-            "sha256": "f303a56fd501ce13aa7f12c03137fefd823899b19c26ab53cd314baf47b9b3c7",
-            "md5": "6dc14023de7354aa6f17b833d3adf89e",
-            "size": "7739868"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-11.7.50-archive.tar.xz",
-            "sha256": "14c5ffde6606c97a92b7e72dd0987509c3fe876ad57bfe3a88d2b897125a442e",
-            "md5": "84fd52cea0512e63d95ebf62038137f0",
-            "size": "6453516"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "090f657396b35d749f0f755b684151d274ae3f392790055f3b659daeee068622",
-            "md5": "685f72ea969afbbebeaba721310618ed",
-            "size": "13477221"
-        }
-    },
-    "fabricmanager": {
-        "name": "NVIDIA Fabric Manager",
-        "license": "NVIDIA Driver",
-        "version": "515.43.04",
-        "linux-x86_64": {
-            "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-515.43.04-archive.tar.xz",
-            "sha256": "2f4bce4620ce69683428d1752464adcaef466fc471d82618e28d554c7591efe6",
-            "md5": "3dfc3ea1f13a346cfc155c09d80fb48c",
-            "size": "1470572"
-        },
-        "linux-sbsa": {
-            "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-515.43.04-archive.tar.xz",
-            "sha256": "eb5cda2505cb5fcc3508ab84e8703d9cf318e0df5c2e5b0a832b4fa243b88bea",
-            "md5": "6fd2d3c94b8ccb826d4986fa970261f1",
-            "size": "1358156"
-        }
-    },
-    "libcublas": {
-        "name": "CUDA cuBLAS",
-        "license": "CUDA Toolkit",
-        "version": "11.10.1.25",
-        "linux-x86_64": {
-            "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-11.10.1.25-archive.tar.xz",
-            "sha256": "27f5975b0b373f5fc96ac2f4ec9f28de3eb07f674acc0b0a5262dd2c76ddc5ff",
-            "md5": "f183769621c14cd447bb50fa51088c7b",
-            "size": "432986132"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-11.10.1.25-archive.tar.xz",
-            "sha256": "85aa62b4c23f42f28bc428e84604b4dcb04960db1926c8c2216d5747f0366ab1",
-            "md5": "ca6ce43480df02cd6e5b96e416a02e64",
-            "size": "422295044"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-11.10.1.25-archive.tar.xz",
-            "sha256": "76c50490afd19dc5fdab31281380e0d1a7217dfebecb31477e78e452cac4e0a6",
-            "md5": "748bd159248469f80f67edd4028ac2dd",
-            "size": "422563144"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-11.10.1.25-archive.zip",
-            "sha256": "d1b47527b0fc33f1b185af38590a1d5d7d04c0c71c74c19a488547f9c0a62e7c",
-            "md5": "989c46ebd961d177f8bc2ba0a03955b7",
-            "size": "311249638"
-        }
-    },
-    "libcufft": {
-        "name": "CUDA cuFFT",
-        "license": "CUDA Toolkit",
-        "version": "10.7.2.50",
-        "linux-x86_64": {
-            "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-10.7.2.50-archive.tar.xz",
-            "sha256": "70c4c2abb9d77210a5d2313abfdddf1857d654d1cf925946a645793bc14714c5",
-            "md5": "fe80583fbf4ce9195db760dc9465da2f",
-            "size": "213404700"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-10.7.2.50-archive.tar.xz",
-            "sha256": "f229818bfee4d90aa4a9022a00d26efa749fdb4f61af1ba47b65a9f8dffd1521",
-            "md5": "66768c4e73bd0402be32486ef9ff4952",
-            "size": "213735112"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-10.7.2.50-archive.tar.xz",
-            "sha256": "9aaeae3c1a53ee4cc17c05557f2e30b65581d5d590130d5e205193beceed345d",
-            "md5": "967617dbb350fdd19771bea836e68744",
-            "size": "212335968"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-10.7.2.50-archive.zip",
-            "sha256": "931f380e666dd8dc44b72fb79224c27c720d37310312e9e421e71f16a5e312e1",
-            "md5": "24eb68afe151ab2d7a2c787aeb382d9a",
-            "size": "287120306"
-        }
-    },
-    "libcufile": {
-        "name": "CUDA cuFile",
-        "license": "CUDA Toolkit",
-        "version": "1.3.0.44",
-        "linux-x86_64": {
-            "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.3.0.44-archive.tar.xz",
-            "sha256": "2a0a9102596c84afa9afed014fee73630a534ceaef2857c43646f6c9ffba2b95",
-            "md5": "1bacdbc9a48e4e188dfffe15ab062358",
-            "size": "46784140"
-        }
-    },
-    "libcurand": {
-        "name": "CUDA cuRAND",
-        "license": "CUDA Toolkit",
-        "version": "10.2.10.50",
-        "linux-x86_64": {
-            "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.2.10.50-archive.tar.xz",
-            "sha256": "a05411f1775d5783800b71f6b43fae660e3baf900ae07efb853e615116ee479b",
-            "md5": "a9f272f6683a79c7b8fa02ae1149f3ad",
-            "size": "82110640"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.2.10.50-archive.tar.xz",
-            "sha256": "4c9bc79ab38c3aca8081ea4fcd05876742657659f640c87f7af2a00f4f968787",
-            "md5": "6c714d6725554dd57265812c7a721454",
-            "size": "82156504"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.2.10.50-archive.tar.xz",
-            "sha256": "78577951e086501bb9222a55a07bd271dceae5fecdce17625bc453db549e96eb",
-            "md5": "911370c7ba791366d281e4ff62daa2b4",
-            "size": "82100856"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.2.10.50-archive.zip",
-            "sha256": "c96a539a76e6062222e66abde64ca19ff6d89729af81a0efc157ba50277edfa9",
-            "md5": "6afa80c834b57ab398708e735b564592",
-            "size": "53656547"
-        }
-    },
-    "libcusolver": {
-        "name": "CUDA cuSOLVER",
-        "license": "CUDA Toolkit",
-        "version": "11.3.5.50",
-        "linux-x86_64": {
-            "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.3.5.50-archive.tar.xz",
-            "sha256": "7ed168c7fda04a4a640f6225cb76d5251a39e3d35db7630d3646cec58de724f8",
-            "md5": "cc6b0e4d97d7d73f302095cda1499167",
-            "size": "80742472"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.3.5.50-archive.tar.xz",
-            "sha256": "341889b3c3107f7e3700693fcf815f816a8ffdfc6f2a1ca0f132ea651cb51739",
-            "md5": "0f038f45a4d5195d771d812ba47a34fa",
-            "size": "80769552"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.3.5.50-archive.tar.xz",
-            "sha256": "4832fd6dca50b2b05d07f086eaa44f953e9b1cd0f00b083f780e0ee1c17461db",
-            "md5": "a7361cc09dc63a6dee54937a12a8004b",
-            "size": "79972404"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.3.5.50-archive.zip",
-            "sha256": "918a8ed855ef683fa2b4f38e50e8275246b48c266e1066fdcf2bf6db16c9fc6a",
-            "md5": "68c75bd8d556a24d6d204e8007eb1f38",
-            "size": "111712983"
-        }
-    },
-    "libcusparse": {
-        "name": "CUDA cuSPARSE",
-        "license": "CUDA Toolkit",
-        "version": "11.7.3.50",
-        "linux-x86_64": {
-            "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-11.7.3.50-archive.tar.xz",
-            "sha256": "c56ddd2d4deebb02bf1e082905f13cac7c685bfa415f1c489dd5fe382cf1f5de",
-            "md5": "04a62c2f92bc0608989bd82b4034d91f",
-            "size": "199048536"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-11.7.3.50-archive.tar.xz",
-            "sha256": "d756707e6c84c9ae4b174467d8afba10883f8f286aba26a9230698b73fd187e3",
-            "md5": "bf56661d346440de2242530fed4027b9",
-            "size": "199115552"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-11.7.3.50-archive.tar.xz",
-            "sha256": "e2f8a0339739c3d7aa163d98452dcf3e6b71b164d7ff5b999dd35af31d950bc4",
-            "md5": "21ae0da8af1b60bb0e9f658c16730300",
-            "size": "198793236"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-11.7.3.50-archive.zip",
-            "sha256": "e7044f4cbce8712f407d041f2116cf61a8831e21d96f28c4c9ca8512847afc28",
-            "md5": "b20eef48a3a956b8643eb7cf457764b9",
-            "size": "167174067"
-        }
-    },
-    "libnpp": {
-        "name": "CUDA NPP",
-        "license": "CUDA Toolkit",
-        "version": "11.7.3.21",
-        "linux-x86_64": {
-            "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-11.7.3.21-archive.tar.xz",
-            "sha256": "4d5f12e756304828cdbbe67dfa94a75432ee07cfe11f034aa4325e59e3c708f7",
-            "md5": "9c7ba42831e40f15b5b94543c659a74b",
-            "size": "164601168"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-11.7.3.21-archive.tar.xz",
-            "sha256": "e3064176e6e0843e5f2d1bd247512be76ca3018364fd7bf77fec34b0bfae37a2",
-            "md5": "4106d95423169f59b5af3bbe3a9e38bf",
-            "size": "164864392"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-11.7.3.21-archive.tar.xz",
-            "sha256": "9cb63cd9d79a490a2504dbf8186d35d391d3e69f74353784955d33d550c83010",
-            "md5": "d5780f7e9a1ba1c3441f810fad68fc32",
-            "size": "163688528"
-        },
-        "windows-x86_64": {
-            "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-11.7.3.21-archive.zip",
-            "sha256": "490a171c6db5e42f67502c0774678166f8018fe464f7e6c8a7b47e10c9fa3861",
-            "md5": "db863d019ff3029a9a14855ff85f6958",
-            "size": "125480452"
-        }
-    },
-    "libnvidia_nscq": {
-        "name": "NVIDIA NSCQ API",
-        "license": "NVIDIA Driver",
-        "version": "515.43.04",
-        "linux-x86_64": {
-            "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-515.43.04-archive.tar.xz",
-            "sha256": "b0690b271e65cc2096a0de15aa7003c64e336bc5f4c48a7fc87a9b355d240e2a",
-            "md5": "03edfd4d08b358ec3cc98cef63e5138c",
-            "size": "334904"
-        }
-    },
-    "libnvjpeg": {
-        "name": "CUDA nvJPEG",
-        "license": "CUDA Toolkit",
-        "version": "11.7.2.34",
-        "linux-x86_64": {
-            "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-11.7.2.34-archive.tar.xz",
-            "sha256": "0457a11af6903d63aec942e2884e02002c3d579071eacd89f08a25cab339f5eb",
-            "md5": "d6acf73e518edb33c4b7e7f3cb85aa46",
-            "size": "2042120"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-11.7.2.34-archive.tar.xz",
-            "sha256": "70afb2d27b430dd4c43f1dc342e8725d148701093cdebc68a75d6dbaf6615d3f",
-            "md5": "acdf6594c58b6178cf0d83948e8c69b5",
-            "size": "2060012"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-11.7.2.34-archive.tar.xz",
-            "sha256": "8638f70021ad0e9006ec78c0b4f88f787e9d7862176447288f84a2b7d68769f2",
-            "md5": "e3d6b429ab22b4c16476df2f936e46ba",
-            "size": "1893316"
-        },
-        "windows-x86_64": {
-            "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-11.7.2.34-archive.zip",
-            "sha256": "a3594ff7a5431495bc70763c2578ade0a32c74745803b820e49ef52cca2a872b",
-            "md5": "c4c259d4b7833e6cbe1505bf6b62229d",
-            "size": "2055730"
-        }
-    },
-    "nsight_compute": {
-        "name": "Nsight Compute",
-        "license": "NVIDIA SLA",
-        "version": "2022.2.0.13",
-        "linux-x86_64": {
-            "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2022.2.0.13-archive.tar.xz",
-            "sha256": "426949d42646164b884ee3025bd5e6b6fef8e904ed69705b7cf3cab9af1fc531",
-            "md5": "0f5700c465c92210a1eadea199b9e07a",
-            "size": "420951860"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2022.2.0.13-archive.tar.xz",
-            "sha256": "42c090ffe500b3a6c54c60a17b4f4856d230c558642841edb2b7bb725438be8c",
-            "md5": "ee1f8f57b827862c36bc6807e9a38424",
-            "size": "126737380"
-        },
-        "linux-sbsa": {
-            "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2022.2.0.13-archive.tar.xz",
-            "sha256": "4a442d5b6d0b599669ae30d342f46a0c8d047b3a7476b4419435dfe7187e23b8",
-            "md5": "11eec62f941d071b9f7c46855cc75a0b",
-            "size": "246004808"
-        },
-        "windows-x86_64": {
-            "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2022.2.0.13-archive.zip",
-            "sha256": "1f06f2d769c9c61c691c59f8c33f214aae6514d41f3eac5073c9310b7b487764",
-            "md5": "c2eb253d66b9258babc1bf9471033691",
-            "size": "354364680"
-        }
-    },
-    "nsight_nvtx": {
-        "name": "Nsight NVTX",
-        "license": "CUDA Toolkit",
-        "version": "1.21018621",
-        "windows-x86_64": {
-            "relative_path": "nsight_nvtx/windows-x86_64/nsight_nvtx-windows-x86_64-1.21018621-archive.zip",
-            "sha256": "d99b015bfb1308206f9d7c16ea401bf426fed3a5a99953b855fe4e68be5ed2d1",
-            "md5": "34ee04d45cfca1c4e3cbfba0ec8f6f80",
-            "size": "315692"
-        }
-    },
-    "nsight_systems": {
-        "name": "Nsight Systems",
-        "license": "NVIDIA SLA",
-        "version": "2022.1.3.3",
-        "linux-x86_64": {
-            "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2022.1.3.3-archive.tar.xz",
-            "sha256": "bd95553d573f117be2e3b2bda6e79d14dbb038b136c12c6e5467bbd9a891681d",
-            "md5": "40d12d33aa2d496817d959a9551418aa",
-            "size": "166785296"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2022.1.3.3-archive.tar.xz",
-            "sha256": "4c228bfbd38b80612afeb65a406cba829d2b2e2352ea4a810cd6a386d6190151",
-            "md5": "0d5da67cb5393a0e961509cd7dab98f1",
-            "size": "49700384"
-        },
-        "linux-sbsa": {
-            "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2022.1.3.3-archive.tar.xz",
-            "sha256": "9025f56b9fe70288ee3f2d30477c9cfbe8c17a304b31f7f22caf7f78153d8d23",
-            "md5": "3559eeb8416d9a984012d2b397560740",
-            "size": "50415564"
-        },
-        "windows-x86_64": {
-            "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2022.1.3.3-archive.zip",
-            "sha256": "294738ba0aa0621395740a6d039a490aa0bf5fceec449b1fd4135a97b81eda0f",
-            "md5": "91e316744714c168c1a75804c9a198c9",
-            "size": "315748009"
-        }
-    },
-    "nsight_vse": {
-        "name": "Nsight Visual Studio Edition (VSE)",
-        "license": "NVIDIA SLA",
-        "version": "2022.2.0.22095",
-        "windows-x86_64": {
-            "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2022.2.0.22095-archive.zip",
-            "sha256": "b346aadf59d633b114b5e5b3ed437f8eee2bb2b8d532da0ee374ef8af9149cb2",
-            "md5": "63d3a5f0c9abaa027efbe0f476dc7c21",
-            "size": "459001482"
-        }
-    },
-    "nvidia_driver": {
-        "name": "NVIDIA Linux Driver",
-        "license": "NVIDIA Driver",
-        "version": "515.43.04",
-        "linux-x86_64": {
-            "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-515.43.04-archive.tar.xz",
-            "sha256": "933ffd8f73e86e78299daf0b8612f8c24fe4b55cc15c2be353fbfbda3f1d62ea",
-            "md5": "19cf2b2e3d3f6f7786791db89e3a193a",
-            "size": "361628336"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-515.43.04-archive.tar.xz",
-            "sha256": "369998c33a867945193cc3c1c3c78defa7c0309767d926bc871cc02ad659ed61",
-            "md5": "486f222d765d7ce5163d257a4b0e5420",
-            "size": "75667264"
-        },
-        "linux-sbsa": {
-            "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-515.43.04-archive.tar.xz",
-            "sha256": "a534d8112bc15deb5f0e1c471382d776f4daebef25244869eaf5c935016b8fb7",
-            "md5": "5e699844a414a6f40e8c1399dd0f4c9d",
-            "size": "221246660"
-        }
-    },
-    "nvidia_fs": {
-        "name": "NVIDIA filesystem",
-        "license": "CUDA Toolkit",
-        "version": "2.12.4",
-        "linux-x86_64": {
-            "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.12.4-archive.tar.xz",
-            "sha256": "913010942a7b6781a9e8fb8082654fda7ad0cce703f726e05d571fe6551f450a",
-            "md5": "48d30f73ec1b6c8df7e70139aefeec4e",
-            "size": "67152"
-        }
-    },
-    "visual_studio_integration": {
-        "name": "CUDA Visual Studio Integration",
-        "license": "CUDA Toolkit",
-        "version": "11.7.50",
-        "windows-x86_64": {
-            "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-11.7.50-archive.zip",
-            "sha256": "4eb993cfb46ec925b6907f1433102ae00f0141e57bcfd40489eeaf72e67f0eeb",
-            "md5": "d770d51465dc15345a1ca1307e269832",
-            "size": "517028"
-        }
-    }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.2.0.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.2.0.json
deleted file mode 100644
index f4ba3034ca8ec..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.2.0.json
+++ /dev/null
@@ -1,1151 +0,0 @@
-{
-    "release_date": "2023-06-28",
-    "release_label": "12.2.0",
-    "release_product": "cuda",
-    "cuda_cccl": {
-        "name": "CXX Core Compute Libraries",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_cccl/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "3a665ffb51a3d21dc08f28e316ee035ad2381301eca65a36e657d434a27f8aa2",
-            "md5": "1a44f8f3bb192c8139ddfc109818e41d",
-            "size": "1106044"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "6cb035a15fd91436b17c66c06c15f7bff6efe70a2ca6d7a89fc1c85ab3b146ad",
-            "md5": "52073df19d7f2925956888c72e2de461",
-            "size": "1106412"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "fe020baf2784a7745cb7db1df22d9abe13528a4ce0984c10ffc892a27507a7d9",
-            "md5": "e991c3c63effb228b0ea38edb84414f6",
-            "size": "1105768"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "a2f5579e23f24dd50cfb72d2ee28fb8ed3a7cb1484602df66fa808fe9defb6b3",
-            "md5": "0e23f2e0f3dd484ae4b770183f9d63d3",
-            "size": "2957130"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_cccl/linux-aarch64/cuda_cccl-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "6e6b4c01334778beed0b4320f067758c5c77701e573d8e502a7ffc51843faf7e",
-            "md5": "29a3d1c635fc4ee82aa1ab17a3aadc71",
-            "size": "1106468"
-        }
-    },
-    "cuda_compat": {
-        "name": "CUDA compat L4T",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_compat/LICENSE.txt",
-        "version": "12.2.33189084",
-        "linux-aarch64": {
-            "relative_path": "cuda_compat/linux-aarch64/cuda_compat-linux-aarch64-12.2.33189084-archive.tar.xz",
-            "sha256": "e31c801017be83f2ba875f5b9afec91f8ff7b9c71d19b6591f7a85c03043236e",
-            "md5": "7cbaca4d76bacbb657f0b21aa815deb4",
-            "size": "18690068"
-        }
-    },
-    "cuda_cudart": {
-        "name": "CUDA Runtime (cudart)",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_cudart/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "e21fb4fc9152f5bbeea94b860b70546545d4a9a36ae3e33f508de15908d47b76",
-            "md5": "025fbfcecbb9b09e0ae2427b6d5a8472",
-            "size": "1000396"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "fa18c6c76182ded75ea76a5db54097ed852b1e164e15f29d48b95bd589e2a872",
-            "md5": "535ced6ae08940680ed4dd80735a4138",
-            "size": "989476"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "77310096876cd6c4fae7508225d180f30f4ab6cca73634aa18a11c2e4f0ebde6",
-            "md5": "fab5c7525a3c4d959f042b4043556d4f",
-            "size": "999804"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "950c71e53aa168d8459ad49050eae5d531b0c024cf0a2d176024d83dea9d3555",
-            "md5": "3772988f5a5771c914aee8a2c9a2163a",
-            "size": "2416404"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_cudart/linux-aarch64/cuda_cudart-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "7aaa03032bc9abb7a04f9215bc13e7a5fff5f8fd83a537b79c4f9dd7983bd1d1",
-            "md5": "9fd906e2964883d3df346ec5b0f8b6cb",
-            "size": "1066396"
-        }
-    },
-    "cuda_cuobjdump": {
-        "name": "cuobjdump",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_cuobjdump/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "420e0a60e11b0187e107d791007b63f87eec143fdab50ba08cadcf45dfbba8c5",
-            "md5": "a5398dd80c504cc52138b3fb3bd58e9a",
-            "size": "170828"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "831692e3e23c9655fd02f9b19704d0adcd65c7cc1f2cf6143bc2dddbf0f2f468",
-            "md5": "292ace508f5c82d7e113b3fe2360817f",
-            "size": "212824"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "b77c73ab4ea28a98f41ee88884bcfe3c93b7f6d646984376a0dca870cd73ec87",
-            "md5": "0da93b2444f0f7d413556a396607aab6",
-            "size": "179248"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "36676a17558a3a8137c7259f255854bd6eac8489787a4dc72796da8f100ad9bd",
-            "md5": "0def615994e278707a4609da17ed8a5d",
-            "size": "3776112"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_cuobjdump/linux-aarch64/cuda_cuobjdump-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "aae7adce1a84af830c8a92dd46a60eeb7dcb8cedb9a18c6d9e619f50c6adf9f5",
-            "md5": "bf9ea89b071cfcab146add4ed365dcd0",
-            "size": "163804"
-        }
-    },
-    "cuda_cupti": {
-        "name": "CUPTI",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_cupti/LICENSE.txt",
-        "version": "12.2.60",
-        "linux-x86_64": {
-            "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.2.60-archive.tar.xz",
-            "sha256": "494663c1ac68f5f8ee86adc31de34089ec4f4fb5e174503298722474adf864f9",
-            "md5": "f6c81c9267e8af1188e6ef3a05b01049",
-            "size": "18800604"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.2.60-archive.tar.xz",
-            "sha256": "cbec530bb1c666a5ea336344705c1927f41f42254bb0051261ad8c13b35bd4b1",
-            "md5": "ec629ff4843c39b6b509b3b2e1238f80",
-            "size": "10630824"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.2.60-archive.tar.xz",
-            "sha256": "653684dd10af3b810c69bfabe7d8b0ddee59629c779c1f005993cb50b774756e",
-            "md5": "53bcf073b379637c03984d55e59e5a2b",
-            "size": "9781820"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.2.60-archive.zip",
-            "sha256": "cf85306b44197720e5078629e627874c7015891e83a94b1a298a7db2c8baa4b7",
-            "md5": "6d547a40c28f38cb63b34a863cebe476",
-            "size": "13151576"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_cupti/linux-aarch64/cuda_cupti-linux-aarch64-12.2.60-archive.tar.xz",
-            "sha256": "e951c00abc6928928dbb687743841f0c0d73c436ffe797e6413e4627d749f96a",
-            "md5": "bee88796d6ef238540a5f517fec4e1b9",
-            "size": "7731940"
-        }
-    },
-    "cuda_cuxxfilt": {
-        "name": "CUDA cuxxfilt (demangler)",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_cuxxfilt/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "becedc25d308be46b63ebcbc041dd791c5e10a9ff24227eb481b3cc0c53499b2",
-            "md5": "90257b8ec952759368e008b89d7c0ad8",
-            "size": "188028"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "0c5af08176f55c939692e0df87d3f61affe527a665fb321b65e49f608a88f0b0",
-            "md5": "510a67ba8e82af333848c4f25468f391",
-            "size": "179980"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "069b5005b271ba1ba5de3edbbb3aabf945bdf7466ba89ee25477448c1ec27d04",
-            "md5": "991fbe08fc7e7ed0afe5da73833a8d7c",
-            "size": "174668"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "d1a8b508c33dc7488337b4744747d6a1deaf3e67f6279a04f2e9de638ba8334d",
-            "md5": "c6e567c6fa6339e4c50739f7f5c648b6",
-            "size": "169417"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_cuxxfilt/linux-aarch64/cuda_cuxxfilt-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "d3aaa8f58aa6a7164f097bfec4ab2640d59224671465927f6dce328137c074b5",
-            "md5": "558919c2abb5c55d35d2b229737f69da",
-            "size": "167304"
-        }
-    },
-    "cuda_demo_suite": {
-        "name": "CUDA Demo Suite",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_demo_suite/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "074d80c5b3eafa80efa18010b51e17b256ed84422cb9970c77391839bd2e86e8",
-            "md5": "edfd69322632e5a36f285951b8049177",
-            "size": "4011816"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "c90a2683593652cf7feae460a96c6240f61e9468ee49cef2ab848d30c3e5022e",
-            "md5": "ad5f3a4d59b3bcff7bbef6c771ddeaab",
-            "size": "5052163"
-        }
-    },
-    "cuda_documentation": {
-        "name": "CUDA Documentation",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_documentation/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "166a02868d57a635b3810e2557ac0d0233b2de554a7070c412709eae8ec06ec9",
-            "md5": "c6a19cbc239d694066c6ee211288d369",
-            "size": "67148"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "790b9b948b058bda215bf8af0693638c90a2201a6910aa618ddbb4b540bdda15",
-            "md5": "9d8ca1deb21491627bc68e3b1c00a50c",
-            "size": "67072"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "1a6ef53db09820f685792042c72c25d4395953a1ff63a6a6b8a63bd472c67959",
-            "md5": "88198884d70f7f5d29863becfb553348",
-            "size": "67076"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "b110874271a51c1ff1ecb91b421f75850400a3be8aee6cad9385c2a80ec93f5d",
-            "md5": "0d8949ba742832f32c90d6060e0d0032",
-            "size": "105364"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_documentation/linux-aarch64/cuda_documentation-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "42bc8a0467a16b62c8976c433f9598d2835eec2c95e81cbe37b640301b118853",
-            "md5": "a9d34a1d043919b3abf79084925ad736",
-            "size": "67228"
-        }
-    },
-    "cuda_gdb": {
-        "name": "CUDA GDB",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_gdb/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "7360b3b126052712d86e760cc9cd2e5977bda98f25a32a25a36f4e3e1d86477e",
-            "md5": "454e9bbcb8c44b12610372d67edc16f0",
-            "size": "65702272"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "d58bdf87458af81be178d0457ed666cdbf9307bca35819e92e13c9069a13bd7c",
-            "md5": "fadcec8f26e76b85740734b525596149",
-            "size": "65469448"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "350fd284c81258b5a7e60eddfb74984d2369254d7a2cc2bbfc0afd14096ff501",
-            "md5": "aaf51203301579f7fd2517786ff00078",
-            "size": "65360012"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_gdb/linux-aarch64/cuda_gdb-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "5659d69039b9215086fd294e437ed669bdacf2b9a203f4348b820a68d1564cde",
-            "md5": "ddfca3180674496e161f8de6fa858b2c",
-            "size": "65285732"
-        }
-    },
-    "cuda_nsight": {
-        "name": "Nsight Eclipse Edition Plugin",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nsight/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "6f3674d4ba97ba18152e5aaa9f36e38b43017441b002cf801d5177bccdd52679",
-            "md5": "5e60e672c7be453b4cde6243180663ba",
-            "size": "118606032"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "8599079e194fb17e08459d8f92e6dc4bb7910869158db83f02413946605a6aad",
-            "md5": "342c5efc729e3794aa975a2e1bd25cb0",
-            "size": "118606032"
-        }
-    },
-    "cuda_nvcc": {
-        "name": "CUDA NVCC",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvcc/LICENSE.txt",
-        "version": "12.2.91",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.2.91-archive.tar.xz",
-            "sha256": "d703af09bea3999b40c8c04095a78ec76ccf02b11094059300a3a9c2bd52ec61",
-            "md5": "b3b07d9b0b874c09a0cafadfc32b8760",
-            "size": "46508716"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.2.91-archive.tar.xz",
-            "sha256": "a39ebc6ce0f952ae0a3272b770dda7752fa298a0d522f3799ccc3400a7ed0460",
-            "md5": "92f38d3dafbda1cfe42d5f4ff5fe514d",
-            "size": "41981244"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.2.91-archive.tar.xz",
-            "sha256": "dcdb55340adc6239ed3cbdc1ad8c3b0409f4d71c488f10a819d9ee1a57e097d2",
-            "md5": "23440328c7ef2fe44e58d197c1c0e09e",
-            "size": "41062040"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.2.91-archive.zip",
-            "sha256": "c83baba72ec53a9c69fac2a5db098ccbb0dbe029bb4552b13b07f624ddfc8fcf",
-            "md5": "905a2cb1107a480613972f7804ca1048",
-            "size": "60255563"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvcc/linux-aarch64/cuda_nvcc-linux-aarch64-12.2.91-archive.tar.xz",
-            "sha256": "e338332a7c585cd79c7fab4aa17bf6b53f474156f6766c8d599d47a8bbbebb29",
-            "md5": "76f51119161076f894b9bd61c3e85144",
-            "size": "42640072"
-        }
-    },
-    "cuda_nvdisasm": {
-        "name": "CUDA nvdisasm",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvdisasm/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "30ac135c709a39eb58f6a1f30bd340965499198c9fb0030762253fbaad1c43ff",
-            "md5": "4f6bd5e1ff724738b2d1909037f1629e",
-            "size": "49881548"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "2219a350d2d02e53a16190d17d6ae4384f6b77ac89f5d5530622d3edc974c72d",
-            "md5": "ff3a9c319c988267f318857d28df78f7",
-            "size": "49858640"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "88d5394f92dd0e65e43ddc46b536f7db9425cb9ad12462e5cc9dc2b589c2a9b3",
-            "md5": "672fa265e1330a0a718766ebd58e7e6f",
-            "size": "49811968"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "2ffcff04d7134f6e7f262da5ebd37e1ca6119660e8d07963d86fa97b809ba344",
-            "md5": "04083830287f39e180a9073399709621",
-            "size": "50125121"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvdisasm/linux-aarch64/cuda_nvdisasm-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "7cd16a90c25503073334ae896b6b176afa297a0e30556e61596e8c8e5ca0ebfa",
-            "md5": "5fce580872b7211d4d3c03d46139b0e9",
-            "size": "49808416"
-        }
-    },
-    "cuda_nvml_dev": {
-        "name": "CUDA NVML Headers",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvml_dev/LICENSE.txt",
-        "version": "12.2.81",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.2.81-archive.tar.xz",
-            "sha256": "07efe02d5ecf7f9079150dfaea06e6b6b9f284e9b0322bb8e07fc743ca39ba98",
-            "md5": "cf77fec8ce77ade6dfb803d0f471ea6d",
-            "size": "85072"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.2.81-archive.tar.xz",
-            "sha256": "a72c79f32672a5fe3afa20fdabee9621fd57f5b21bbcdea6deb042026e040df1",
-            "md5": "0ad388bc765a0f483e2d8c51e5c070db",
-            "size": "84424"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.2.81-archive.tar.xz",
-            "sha256": "d8c76caf01a2a9399c59f2a368fceec5b12df5d7ff2bbf0e5bdeb6d01a8b9e3c",
-            "md5": "fcd43cdaf216afc39ebcc5f96e18f514",
-            "size": "85016"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.2.81-archive.zip",
-            "sha256": "04657b81d0012c7517f27da80eb572c3fbd0d354821e7a368cc0a677182baa78",
-            "md5": "63722c5bc70003a028d2ee057d443b50",
-            "size": "119150"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvml_dev/linux-aarch64/cuda_nvml_dev-linux-aarch64-12.2.81-archive.tar.xz",
-            "sha256": "d585c5c3cdf3ae7253a78624776edf81b1a5ae1ad18c0a7fa5b61bdb3727a845",
-            "md5": "ff412e9af3a1d5fa9ebdab1a83997442",
-            "size": "85032"
-        }
-    },
-    "cuda_nvprof": {
-        "name": "CUDA nvprof",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvprof/LICENSE.txt",
-        "version": "12.2.60",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.2.60-archive.tar.xz",
-            "sha256": "09dca174f073657b915de9be6585e654477b7336bf1f04753391cc35b1b9d660",
-            "md5": "42c6e437e27d8eee8aaad720de749e71",
-            "size": "2441200"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.2.60-archive.tar.xz",
-            "sha256": "db8302b6b5f9c490325d5f29e94f1b42c618e27fcf95f468ab9cce350cd77c66",
-            "md5": "2f98ce48278ceded6a9d721abb9c9089",
-            "size": "2119668"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.2.60-archive.zip",
-            "sha256": "1330fd4803a37c2f8cb8ffdac62a538bf5e2a5d69169519b3bccecafa4b266ef",
-            "md5": "c4ed24f3d7a59a3ffc028f17abed7acf",
-            "size": "1700986"
-        }
-    },
-    "cuda_nvprune": {
-        "name": "CUDA nvprune",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvprune/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "79550967b7975a3ad38d2b94605a71cbaeb6d24e37ed8cb604253bfeefdef241",
-            "md5": "066300fa3fa03553acec2ba4ca435330",
-            "size": "56152"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "59da797aaaed54f2a3e9e4d225c4552d15ef3e9d5af02a79979814c8bdda7f84",
-            "md5": "3cbbf747e4f2a41caf709b4d9bc92731",
-            "size": "57076"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "5fb12b382a59ac9d7094f2885d769bc15b60da8ebdf259cab426348732f2bce9",
-            "md5": "384e0c4725ab1898a512338c01215198",
-            "size": "48144"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "581721f4a28ff1209e41d163d3575842a21f81d206569862d6d988d5cac16a68",
-            "md5": "b77d2561d486c69a8eb3e5c2292b6799",
-            "size": "145868"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvprune/linux-aarch64/cuda_nvprune-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "e27db910927c1c84adc3d7982c49518428f6d331f149eb7ba4e98bebd4af81c1",
-            "md5": "f0f3e29643c1b45544c7e352d7757ec2",
-            "size": "49716"
-        }
-    },
-    "cuda_nvrtc": {
-        "name": "CUDA NVRTC",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvrtc/LICENSE.txt",
-        "version": "12.2.91",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.2.91-archive.tar.xz",
-            "sha256": "c366d551840268b66420b216066f64ad471dc1063156bf8c63cf8538bf606141",
-            "md5": "01d50d7b944941e10c2cd5000d365a29",
-            "size": "30600936"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.2.91-archive.tar.xz",
-            "sha256": "74ca0a176515fb7f5fb73a8ea1b550425e376b5f471d45f793759045b85daddc",
-            "md5": "a7d0a50025a122d7f7b2db86b7b31066",
-            "size": "28230692"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.2.91-archive.tar.xz",
-            "sha256": "be057dbc9cc098a2923057be985e068199d16ca1ead802f427ad2e9eee1b15e0",
-            "md5": "9bbff4319f82a1faf4f10fa996175078",
-            "size": "28229148"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.2.91-archive.zip",
-            "sha256": "f92f8e71ac6a6efdfcb1bec23cb10bef6901861d8fcdfd0e95f7c22af3246158",
-            "md5": "ffc97eb7fd177e31dfa2be0ffc4d8c83",
-            "size": "96122917"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvrtc/linux-aarch64/cuda_nvrtc-linux-aarch64-12.2.91-archive.tar.xz",
-            "sha256": "a00c80a98b7582e94601e7b82845d065acef7d9f10805a73a6f8736745a8b71f",
-            "md5": "156feaa39450acb83deb6e1a768a7b47",
-            "size": "29471304"
-        }
-    },
-    "cuda_nvtx": {
-        "name": "CUDA NVTX",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvtx/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "3bcbec1b2ed198bf044f8a85f73fdf011719e5567b418376fcdcde28b0b29c3e",
-            "md5": "7eb7e5ca661f27fd2b6bc8b816dfc774",
-            "size": "48372"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "446e02152814f41cc3eb725c8adccb3d597a36934fefc4fdfd53c78e012571c6",
-            "md5": "3a1dbd4cbf2e8a93837873d795dc9b07",
-            "size": "48428"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "8d8b10154b55212ace5ab9e9be4c24c6579b3ef4940fafb0090274e30aa44a49",
-            "md5": "b24cc3a2b3b4432c80910978595eb541",
-            "size": "49004"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "04a54a3bf04ca81750c5495d5c5c69f218338c2f01b8e433dd7858f61760e729",
-            "md5": "1e497aa200c0827f2da7486d6961f6bd",
-            "size": "65690"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_nvtx/linux-aarch64/cuda_nvtx-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "5b85fabb3a212832180be0e79b4af225e73a8d2202646a9166995efb3e0ff22e",
-            "md5": "c44c019829a1270f030704014cc01fbf",
-            "size": "51548"
-        }
-    },
-    "cuda_nvvp": {
-        "name": "CUDA NVVP",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_nvvp/LICENSE.txt",
-        "version": "12.2.60",
-        "linux-x86_64": {
-            "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.2.60-archive.tar.xz",
-            "sha256": "b213d80a96d6fa22dd48a1e471de817c8c462a52a7cebcffceb37bc942dc00f2",
-            "md5": "726c6d43ef0e28996f2e7e6aa6ee5751",
-            "size": "117694060"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.2.60-archive.tar.xz",
-            "sha256": "c597d50e6345739f63bcec8b7af2bfc096da348f1be0721ffcd7f4037cc8be26",
-            "md5": "966f4b457038d6cb5e4cc2ce1ddda338",
-            "size": "117147564"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.2.60-archive.zip",
-            "sha256": "225a86ef18bdb5ec49a53d89fbf2b37eabc623f817dc668e536a02ae6f6052d6",
-            "md5": "0a3ba61f91a92dee25aef180d3f199e2",
-            "size": "120358259"
-        }
-    },
-    "cuda_opencl": {
-        "name": "CUDA OpenCL",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_opencl/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "139fc9d16f4aaaa68a9161367829a927fe1ae2602e82a1d93adf2a9250b506d3",
-            "md5": "dd671fd1df845bcef67fd854fa66b2a1",
-            "size": "74936"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "5fc4f66532f797c1daaa2539e55ca32d9accb9d41429e0f3ca6112f893c6627c",
-            "md5": "5b54f604183a206896e9d0e81f72991c",
-            "size": "112902"
-        }
-    },
-    "cuda_profiler_api": {
-        "name": "CUDA Profiler API",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_profiler_api/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "b534489386c9e1df62a5a8544da86fabaae872ef12b3209d8cf222fbb1678ba4",
-            "md5": "806822db69e151e01992422a5e92fca0",
-            "size": "16060"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "2b7473f96fac0af92d13fb3a40eaf2c4fa5df60b4ab8afc3a9f2e0f252b8b084",
-            "md5": "b9fe730c03d14430e258c7634407ab5d",
-            "size": "16056"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "42c7463dcc2f1ee1c06576d103ad9886ba3620e8348ea760f22aaa963100fd99",
-            "md5": "628d561d285e45aa5ec28b20d7f57abb",
-            "size": "16052"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "4b07eb70491d31ee48c6b181a4923dbcf98c2b5b9d14f7c8e12a1a519320b7c9",
-            "md5": "38d7cc004f8f921271faaaf1e1ee6c0e",
-            "size": "20075"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_profiler_api/linux-aarch64/cuda_profiler_api-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "72d6f489b77deb65aa576fef66e4b6015fbe7a1a0a5695d45acf76682c9ab7c8",
-            "md5": "28b71ef7ca59a5fb6546b5dfe701b0cf",
-            "size": "16048"
-        }
-    },
-    "cuda_sanitizer_api": {
-        "name": "CUDA Compute Sanitizer API",
-        "license": "CUDA Toolkit",
-        "license_path": "cuda_sanitizer_api/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-x86_64": {
-            "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.2.53-archive.tar.xz",
-            "sha256": "ad70fb519239cd7b53178938c73183ee3cb1b3b3639eeacf3e63fcea8ef32a92",
-            "md5": "d7c6c2ad94fc0640009c84286da5274e",
-            "size": "8063936"
-        },
-        "linux-ppc64le": {
-            "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.2.53-archive.tar.xz",
-            "sha256": "1d5f46fc86e34f9279fe9acde1efc688388db72dc08ea3b95cf0f27df68124eb",
-            "md5": "2651d09b3f8acfc1586a449863da3f83",
-            "size": "7638524"
-        },
-        "linux-sbsa": {
-            "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.2.53-archive.tar.xz",
-            "sha256": "9e1c66bd3d3b81d5b28c3cbabf798a853a63ea31eb86d14d4e259c0d49b27613",
-            "md5": "aaba9569e08361ad47794e54cf3bde39",
-            "size": "6215664"
-        },
-        "windows-x86_64": {
-            "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "1d3f7a07a5fe18e0bccf859e58c98f92a6e40080b156fc65ebf89d9967ed4f7e",
-            "md5": "ad145cb1bf0bdd1a08045a33f01809a8",
-            "size": "13897178"
-        },
-        "linux-aarch64": {
-            "relative_path": "cuda_sanitizer_api/linux-aarch64/cuda_sanitizer_api-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "24cbb446c763a49875d15aba1a2878d408c796d6412118884a130e54f585409b",
-            "md5": "9478627e21ed32a1fd2f682da606eb51",
-            "size": "3538240"
-        }
-    },
-    "fabricmanager": {
-        "name": "NVIDIA Fabric Manager",
-        "license": "NVIDIA Driver",
-        "license_path": "fabricmanager/LICENSE.txt",
-        "version": "535.54.03",
-        "linux-x86_64": {
-            "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-535.54.03-archive.tar.xz",
-            "sha256": "a04f72d5491d102e402d48f91096272276caf38c868852ad5d13a151bcb41a62",
-            "md5": "7fa84b39ceee1f56f075284413c8d0ac",
-            "size": "1819128"
-        },
-        "linux-sbsa": {
-            "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-535.54.03-archive.tar.xz",
-            "sha256": "d5d9ca3e4aad2fc5382b490b99c3a79e4bffce90b433dabcee99d66bbc8766d6",
-            "md5": "ad6b474572fea29a14044c92d9ad1454",
-            "size": "1679976"
-        }
-    },
-    "libcublas": {
-        "name": "CUDA cuBLAS",
-        "license": "CUDA Toolkit",
-        "license_path": "libcublas/LICENSE.txt",
-        "version": "12.2.1.16",
-        "linux-x86_64": {
-            "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.2.1.16-archive.tar.xz",
-            "sha256": "59b7509bc16c438b88469705f7c46cbcfb20848d6738845c1e4f39e2ea3b1d2c",
-            "md5": "d1cbebbf93af112a80a8fd2b71e7d098",
-            "size": "486327288"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.2.1.16-archive.tar.xz",
-            "sha256": "0174812ce96bd997d8bb3707140788d7283c054c8f04ea0674f286816ebfe331",
-            "md5": "27f53db7127c73fcdf68a92f0b74dc55",
-            "size": "389457560"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.2.1.16-archive.tar.xz",
-            "sha256": "0bde331f46d0251a6416a198697a5ff07b9ff73b30794ee6a3647248d3793973",
-            "md5": "ef9244b625a693e85e093b72832271de",
-            "size": "484681612"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.2.1.16-archive.zip",
-            "sha256": "70c8bbc1cb1b58e8987623fef465477398839f14118cf9026868327159b8ec89",
-            "md5": "02630f7d68d31841c521f49c4f0931c3",
-            "size": "433276035"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcublas/linux-aarch64/libcublas-linux-aarch64-12.2.1.16-archive.tar.xz",
-            "sha256": "5d3dd3e92964c48e2ad976410cef944820964649683f15b3d090ea259efcfc91",
-            "md5": "ec74be5b9456476f1735eb1e472a58a2",
-            "size": "442689448"
-        }
-    },
-    "libcudla": {
-        "name": "cuDLA",
-        "license": "CUDA Toolkit",
-        "license_path": "libcudla/LICENSE.txt",
-        "version": "12.2.53",
-        "linux-aarch64": {
-            "relative_path": "libcudla/linux-aarch64/libcudla-linux-aarch64-12.2.53-archive.tar.xz",
-            "sha256": "c0c5ec192110a4eb556a2d042c07281574aa0ffbf27aa354f017152dd26dd8e6",
-            "md5": "7766e66ace29d881556eb3b8f8205869",
-            "size": "37856"
-        }
-    },
-    "libcufft": {
-        "name": "CUDA cuFFT",
-        "license": "CUDA Toolkit",
-        "license_path": "libcufft/LICENSE.txt",
-        "version": "11.0.8.15",
-        "linux-x86_64": {
-            "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.0.8.15-archive.tar.xz",
-            "sha256": "ce0991bff7d17caddf38262573ce783afbf4faf68034ae2e0543472f8dd90f40",
-            "md5": "152eaa27cf4c2c23b9bfc68dbcc797bd",
-            "size": "170425736"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.0.8.15-archive.tar.xz",
-            "sha256": "9df5e513987601cc4dbfe3ee084da21d0e318e448fa94550e5d4762ecf4d6aae",
-            "md5": "1b9df07f5b2c2803ca46a9b3fa2b5d74",
-            "size": "170536256"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.0.8.15-archive.tar.xz",
-            "sha256": "3eeb365441549334ae582318653260c92137943c1ad285bb325eeccfba9e15e7",
-            "md5": "b4adab68ba9ab153f5b0b16c57f40cbb",
-            "size": "170569432"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.0.8.15-archive.zip",
-            "sha256": "cbec006d998561eed5d89fc8365247dce597bba5280e3642e0e4ba34db083645",
-            "md5": "e79fcca7c4ffcc1a67bda6f32e85044e",
-            "size": "97456840"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcufft/linux-aarch64/libcufft-linux-aarch64-11.0.8.15-archive.tar.xz",
-            "sha256": "a877d212db7cc4b2320d9579a9e2344609a3ec86b8b0c3f1716b0eec98dd8e11",
-            "md5": "a2a0df7cbd1373e93ede7be8d1015069",
-            "size": "170665012"
-        }
-    },
-    "libcufile": {
-        "name": "CUDA cuFile",
-        "license": "CUDA Toolkit",
-        "license_path": "libcufile/LICENSE.txt",
-        "version": "1.7.0.149",
-        "linux-x86_64": {
-            "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.7.0.149-archive.tar.xz",
-            "sha256": "dbcec7913ad9b59162a60aa5818335d3dbb5aee207ed2c3c65c8995a77746a96",
-            "md5": "41b451c16c1657e1126f11cb9bae080e",
-            "size": "41848568"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.7.0.149-archive.tar.xz",
-            "sha256": "86f5b0b910e3813ea190a074bb743f319ad9b95bfc31bb402d663ac5c284b2c8",
-            "md5": "a19e71dc765d85a3007493a9b31484a4",
-            "size": "41294576"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcufile/linux-aarch64/libcufile-linux-aarch64-1.7.0.149-archive.tar.xz",
-            "sha256": "39a7dbd1763b6d4c7da2cb5b15db75501e723844a8f8a5914a29fcaa6ad9eca3",
-            "md5": "7855d4c52825274fb5acfb2d27387e7b",
-            "size": "41274348"
-        }
-    },
-    "libcurand": {
-        "name": "CUDA cuRAND",
-        "license": "CUDA Toolkit",
-        "license_path": "libcurand/LICENSE.txt",
-        "version": "10.3.3.53",
-        "linux-x86_64": {
-            "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.3.53-archive.tar.xz",
-            "sha256": "890181ef02a4752fd4cf4113770c27340f19112d81cd6076d0630dba8f746ed6",
-            "md5": "c11537005ba88971f536effdc0825a5a",
-            "size": "81945064"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.3.53-archive.tar.xz",
-            "sha256": "d0d819e85139346229aef2000231e42ff8d20e13c9ad6acae780e265d3dc8b8e",
-            "md5": "501debf6ad4405494bfee9a769a976f0",
-            "size": "81983028"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.3.53-archive.tar.xz",
-            "sha256": "4367394f6d57dd0ff9b597f5f7471b8b346f6c878ad5dca6f2b8f377d0b23d72",
-            "md5": "6a16970981b6c64be5cbeec2245a5f07",
-            "size": "81931700"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.3.53-archive.zip",
-            "sha256": "39a68f5049825bb52af30cabf2f29b20a1cfe0f127875ae11a3684824efd41d5",
-            "md5": "f8654726922d89040d8679cddc5bd150",
-            "size": "55279087"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcurand/linux-aarch64/libcurand-linux-aarch64-10.3.3.53-archive.tar.xz",
-            "sha256": "759082826aea2bfd4d63f7dafb84518a24a306f3007ffc061554d28faf9b4dc6",
-            "md5": "ae3d27bf5dcb77af666bb89463ce5c88",
-            "size": "84107132"
-        }
-    },
-    "libcusolver": {
-        "name": "CUDA cuSOLVER",
-        "license": "CUDA Toolkit",
-        "license_path": "libcusolver/LICENSE.txt",
-        "version": "11.5.0.53",
-        "linux-x86_64": {
-            "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.5.0.53-archive.tar.xz",
-            "sha256": "0ce1f6058005117fc1aa2dd731e1c6009aa79993c179cbdb2d01f17959dfdc87",
-            "md5": "2df25f844d081afb79b3cffe6bc53ce6",
-            "size": "123332556"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.5.0.53-archive.tar.xz",
-            "sha256": "1f690cabb35ae92ef5a1cd3d6f1222a535bafea86a259d88cf8d2410558b6414",
-            "md5": "46670044a53afbf7ebdb2fff57bd2a64",
-            "size": "122967236"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.5.0.53-archive.tar.xz",
-            "sha256": "5135dff78a3cf7353362b7c6547af61fdca164e8b792fbff4066989c36183925",
-            "md5": "419bad18195a23817c76aba940d8e5ff",
-            "size": "122295788"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.5.0.53-archive.zip",
-            "sha256": "36bac40d8f8f9a05bf9936a2348cfe71c848fbb52d40750dfb6600c3e84ef9ff",
-            "md5": "edad14e88c2faeae872a53ee1975575b",
-            "size": "120629517"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcusolver/linux-aarch64/libcusolver-linux-aarch64-11.5.0.53-archive.tar.xz",
-            "sha256": "4eaec6e813dded192cef54252902b915de9116149c52aa840b7631bab7e244a3",
-            "md5": "f93615f925e87ad318f1307d303a4c5c",
-            "size": "133342388"
-        }
-    },
-    "libcusparse": {
-        "name": "CUDA cuSPARSE",
-        "license": "CUDA Toolkit",
-        "license_path": "libcusparse/LICENSE.txt",
-        "version": "12.1.1.53",
-        "linux-x86_64": {
-            "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.1.1.53-archive.tar.xz",
-            "sha256": "3b38e39c27fc9e91ccae949bc06692a76e5d6d88320177d8b1795be3086ea305",
-            "md5": "9333e20cba966d557186fa32ad47008b",
-            "size": "211590820"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.1.1.53-archive.tar.xz",
-            "sha256": "4c5297adea9229fd820c7891694e851f39ecbe69bd642449007e7eca62c6124f",
-            "md5": "acd166b34c7f6e5dbe60ddea1ad4a76a",
-            "size": "211736192"
-        },
-        "linux-sbsa": {
-            "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.1.1.53-archive.tar.xz",
-            "sha256": "504b2a6bfd588cda6cb293f030f98b7aa36a6d60a30063c4c4aa9b74ab27dc92",
-            "md5": "e233abe1bd165db5619d1bfa1abbe3a9",
-            "size": "211253852"
-        },
-        "windows-x86_64": {
-            "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.1.1.53-archive.zip",
-            "sha256": "39b9d0927c5f3ac9a3b92523b60aac7871b41fa7a72a210bc9bb3b5828b8d5f8",
-            "md5": "6d8e6e1c410d3cf50ad95d3df21d0d67",
-            "size": "192210264"
-        },
-        "linux-aarch64": {
-            "relative_path": "libcusparse/linux-aarch64/libcusparse-linux-aarch64-12.1.1.53-archive.tar.xz",
-            "sha256": "b86fcc1f706080bc6cdc5f2f8f99f99ceab62977a40aa13f97eb01e10ad97334",
-            "md5": "88264e9ac0334655f5b80eb8cea03a2e",
-            "size": "226908380"
-        }
-    },
-    "libnpp": {
-        "name": "CUDA NPP",
-        "license": "CUDA Toolkit",
-        "license_path": "libnpp/LICENSE.txt",
-        "version": "12.1.1.14",
-        "linux-x86_64": {
-            "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.1.1.14-archive.tar.xz",
-            "sha256": "efc53c1d554dab8cd4f75b21528b68f39a32b20eaabc5d8d2585e0db91f4353d",
-            "md5": "902f1d530b9245d35a61ba56ec8cd516",
-            "size": "182561952"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.1.1.14-archive.tar.xz",
-            "sha256": "4d58706c834addf38613eaa76eed01690762ee337faeab085ecbf7528d6fac70",
-            "md5": "ce315e5b89199106aa93a03db65ca39f",
-            "size": "182373984"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.1.1.14-archive.tar.xz",
-            "sha256": "e99c853cd9ec8526cc053228d1b90597e6bb89ae1856af72bf85a7095b83106c",
-            "md5": "0a3254d7e4042d88ac522b14a43e278f",
-            "size": "181513452"
-        },
-        "windows-x86_64": {
-            "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.1.1.14-archive.zip",
-            "sha256": "846e7ba7d473a10918a97f81ce6b3742a11282ae0126ca99692971a4d30736b1",
-            "md5": "cb84a09751bceb3380a8f9e028e8f1c5",
-            "size": "151773014"
-        },
-        "linux-aarch64": {
-            "relative_path": "libnpp/linux-aarch64/libnpp-linux-aarch64-12.1.1.14-archive.tar.xz",
-            "sha256": "77c0b1cccd53e2dec1928dfc22cbce819f51140ede32edcf567840119f51f89d",
-            "md5": "82a83bf87d10da2f80e443e45deef998",
-            "size": "199197524"
-        }
-    },
-    "libnvidia_nscq": {
-        "name": "NVIDIA NSCQ API",
-        "license": "NVIDIA Driver",
-        "license_path": "libnvidia_nscq/LICENSE.txt",
-        "version": "535.54.03",
-        "linux-x86_64": {
-            "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-535.54.03-archive.tar.xz",
-            "sha256": "3433f2b46c47efeec54fc1eef990859b070801af9dfdcb5305783380e322e833",
-            "md5": "6e4728a04c1de840190f481b6b9cc0f0",
-            "size": "349948"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-535.54.03-archive.tar.xz",
-            "sha256": "8ee52b4f763062e68ab41ed0af7b0daf2ce9d4c0bd3d27aeb14059584703e915",
-            "md5": "ead66878ffdf57c8875c0151855828b6",
-            "size": "317244"
-        }
-    },
-    "libnvjitlink": {
-        "name": "NVIDIA compiler library for JIT LTO functionality",
-        "license": "CUDA Toolkit",
-        "license_path": "libnvjitlink/LICENSE.txt",
-        "version": "12.2.91",
-        "linux-x86_64": {
-            "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.2.91-archive.tar.xz",
-            "sha256": "5f99b51c7dbb7420ad2559f295d651064259c42780298a1fcb6e647560421a98",
-            "md5": "377b9a77093f05b73e023164ccd58ff1",
-            "size": "26077128"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.2.91-archive.tar.xz",
-            "sha256": "18c703ad153525b14d69c0e5ff46b5505b22354e406923887e2d26f3a09f2f9b",
-            "md5": "09721fd552a006237fe8aad0b6e5dc03",
-            "size": "23976600"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.2.91-archive.tar.xz",
-            "sha256": "8b2141ffa23e030fdc7d707b6eebda2b3f32c3e33379c0fe75868640c0f5c701",
-            "md5": "0d728f150ca04bae7f8f5f6930d27be6",
-            "size": "23937120"
-        },
-        "windows-x86_64": {
-            "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.2.91-archive.zip",
-            "sha256": "bb66172487d485d4aa969600a6128d92f0a6e4c02687c5008d282648b9f087e0",
-            "md5": "fedd2335f22e42106f76966845e031bf",
-            "size": "86994854"
-        },
-        "linux-aarch64": {
-            "relative_path": "libnvjitlink/linux-aarch64/libnvjitlink-linux-aarch64-12.2.91-archive.tar.xz",
-            "sha256": "6676827058de20c4d63819050fb8b53528dc19fd24982fc381ff28456472f6c4",
-            "md5": "6703a7759c62a74b658859913d5a4c63",
-            "size": "25130600"
-        }
-    },
-    "libnvjpeg": {
-        "name": "CUDA nvJPEG",
-        "license": "CUDA Toolkit",
-        "license_path": "libnvjpeg/LICENSE.txt",
-        "version": "12.1.1.14",
-        "linux-x86_64": {
-            "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.1.1.14-archive.tar.xz",
-            "sha256": "7ffeea14fc61f6600c29fd7872edbebad57abf360b3db15308d96902cbec34e7",
-            "md5": "36c92e8bd55423399dc64a80b1e4e2d5",
-            "size": "2506196"
-        },
-        "linux-ppc64le": {
-            "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.1.1.14-archive.tar.xz",
-            "sha256": "c56eea8afd8f500b827041f26bfe127d836ba08b15028a48fd41c122e8f06e5c",
-            "md5": "5d42d6e37898c2f612da15e455fd1ef9",
-            "size": "2490368"
-        },
-        "linux-sbsa": {
-            "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.1.1.14-archive.tar.xz",
-            "sha256": "cb17129e4dcbb7338ef7e37149de9ce4023ca9e2efad97de1ae0806bf67bdd10",
-            "md5": "b020197978d730b63a92caa140bb2a2a",
-            "size": "2336180"
-        },
-        "windows-x86_64": {
-            "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.1.1.14-archive.zip",
-            "sha256": "bf4107f5993c6595834821da5e2d50b1b1cd1dd687cb6224176656c198cacbbd",
-            "md5": "0da427edeea81414df1466fd5bc9b791",
-            "size": "2766220"
-        },
-        "linux-aarch64": {
-            "relative_path": "libnvjpeg/linux-aarch64/libnvjpeg-linux-aarch64-12.1.1.14-archive.tar.xz",
-            "sha256": "9b39d91814bf077c89e4ad5fbd5608acda0dd2fae4a0ccf0c91da6e45b11eaa6",
-            "md5": "e36afb6fd678c4846d1202f22a97b2fa",
-            "size": "2474640"
-        }
-    },
-    "nsight_compute": {
-        "name": "Nsight Compute",
-        "license": "NVIDIA SLA",
-        "license_path": "nsight_compute/LICENSE.txt",
-        "version": "2023.2.0.16",
-        "linux-x86_64": {
-            "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2023.2.0.16-archive.tar.xz",
-            "sha256": "d4232eecbdb709f1482629af916c8fe6c6c6084764fff9fe5d4eec289cc10cb8",
-            "md5": "bad0c0f76173996c9995884bfb6ae3b6",
-            "size": "724640244"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2023.2.0.16-archive.tar.xz",
-            "sha256": "ac3e1530830cf70b4d298818d5ed4e33864c1ebd6c44455ecafaaa264b8d3be7",
-            "md5": "7fcdf966becc5b915dcd65700e7f6e38",
-            "size": "185175700"
-        },
-        "linux-sbsa": {
-            "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2023.2.0.16-archive.tar.xz",
-            "sha256": "5d9f2daeed1aaf87ac4fd8237699d0c915ef2de52b66a1f4ab4bda0057f47c7f",
-            "md5": "d9639e34e406f705530a25ccfcb55358",
-            "size": "350199152"
-        },
-        "windows-x86_64": {
-            "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2023.2.0.16-archive.zip",
-            "sha256": "16579328355102bd1dd27f6969ab6bda426ea9e8a1bdf2f62f2bbf8b9370d5b9",
-            "md5": "c6be0d2ff8d1f1fe7cce5181393b79a8",
-            "size": "664635780"
-        },
-        "linux-aarch64": {
-            "relative_path": "nsight_compute/linux-aarch64/nsight_compute-linux-aarch64-2023.2.0.16-archive.tar.xz",
-            "sha256": "09a815a8e00fde87acc4b32c6409dfb616b8b49b7ae8f931c66de7c795db87e4",
-            "md5": "f3879107229a1a031b5971e77cd18916",
-            "size": "740361468"
-        }
-    },
-    "nsight_systems": {
-        "name": "Nsight Systems",
-        "license": "NVIDIA SLA",
-        "license_path": "nsight_systems/LICENSE.txt",
-        "version": "2023.2.3.1001",
-        "linux-x86_64": {
-            "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.2.3.1001-archive.tar.xz",
-            "sha256": "3c5ff99cd44d99808e25d72059372cf8d36cd435ff4724e840a227cc674d79d0",
-            "md5": "4addd2a842d5e753e992bb2595babf15",
-            "size": "222188232"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.2.3.1001-archive.tar.xz",
-            "sha256": "c71f3e39355bb23c6da411450360acb763b4effc5752918d0735517633d38352",
-            "md5": "2ef6e9dc891b39439541b123056b69c7",
-            "size": "64464952"
-        },
-        "linux-sbsa": {
-            "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.2.3.1001-archive.tar.xz",
-            "sha256": "6e559924fcdcfbc677490131f343ea9a2ab2a9ecb994906b3a23791601428dfc",
-            "md5": "92dfed2062891bc73e4b5f488cf48467",
-            "size": "197068636"
-        },
-        "windows-x86_64": {
-            "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.2.3.1001-archive.zip",
-            "sha256": "928d40a3edd0434d82fd5a48d70781e41a01071db8095891588d0299ba888962",
-            "md5": "1bb802ca720f4dabdbc5933f426f35ee",
-            "size": "335353534"
-        }
-    },
-    "nsight_vse": {
-        "name": "Nsight Visual Studio Edition (VSE)",
-        "license": "NVIDIA SLA",
-        "license_path": "nsight_vse/LICENSE.txt",
-        "version": "2023.2.0.23143",
-        "windows-x86_64": {
-            "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2023.2.0.23143-archive.zip",
-            "sha256": "07a819f72797cae9aa95e4308ae65b712384d1e76ed104842cc2d51ac6196b9f",
-            "md5": "5cd16b1761028a887351148ac8e078f1",
-            "size": "526806378"
-        }
-    },
-    "nvidia_driver": {
-        "name": "NVIDIA Linux Driver",
-        "license": "NVIDIA Driver",
-        "license_path": "nvidia_driver/LICENSE.txt",
-        "version": "535.54.03",
-        "linux-x86_64": {
-            "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-535.54.03-archive.tar.xz",
-            "sha256": "c394729dc4a52d47d88d2573265fd29037709732f20f489a37ac4ab47f6822f1",
-            "md5": "955c14cf3dd6178547257a50f07b8c6f",
-            "size": "399961036"
-        },
-        "linux-ppc64le": {
-            "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-535.54.03-archive.tar.xz",
-            "sha256": "72176f44f8317fcaa4e3a14ad28dbff0c4d999a1b72f9cd91171cda3d7f0d66c",
-            "md5": "4a459d6fdd07d8dd9b94d26e96cf9f23",
-            "size": "99839420"
-        },
-        "linux-sbsa": {
-            "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-535.54.03-archive.tar.xz",
-            "sha256": "01bca95203ebac62fc7e87b4142cb0b2ebdaed5290e957fb13999e6c460f78ef",
-            "md5": "3a69e12fd2d28c957156512021a0dc3e",
-            "size": "313982992"
-        }
-    },
-    "nvidia_fs": {
-        "name": "NVIDIA filesystem",
-        "license": "CUDA Toolkit",
-        "license_path": "nvidia_fs/LICENSE.txt",
-        "version": "2.16.1",
-        "linux-x86_64": {
-            "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.16.1-archive.tar.xz",
-            "sha256": "c899c58d07dbbe337abead01337a2aec72a7fd4600b95838b044335c85199c6b",
-            "md5": "f6f00d81e1e0dcb0847fea3b3c83d3a1",
-            "size": "57608"
-        },
-        "linux-sbsa": {
-            "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.16.1-archive.tar.xz",
-            "sha256": "779d2b669d5021125da6689dfc1c45772996abb63ace42d388cbc03a85dfa4fb",
-            "md5": "c462ac53d3318e5fb73bc04201a78046",
-            "size": "57580"
-        },
-        "linux-aarch64": {
-            "relative_path": "nvidia_fs/linux-aarch64/nvidia_fs-linux-aarch64-2.16.1-archive.tar.xz",
-            "sha256": "a6f56b158246178637a5e87889d81ec3796407a6105ae8b17844842a3d0beafb",
-            "md5": "ee4bdba81554d3548cf778a72e6321a7",
-            "size": "57596"
-        }
-    },
-    "visual_studio_integration": {
-        "name": "CUDA Visual Studio Integration",
-        "license": "CUDA Toolkit",
-        "license_path": "visual_studio_integration/LICENSE.txt",
-        "version": "12.2.53",
-        "windows-x86_64": {
-            "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.2.53-archive.zip",
-            "sha256": "427c33b33f67f0d412d37e1e34c72c16e9fd34ef25f6d15b90ab91488ed3d0f5",
-            "md5": "ddf0c3651191623c29c63e268c6720f2",
-            "size": "517874"
-        }
-    }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.4.4.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.4.4.json
deleted file mode 100644
index 04a33a88a8635..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.4.4.json
+++ /dev/null
@@ -1,1518 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "lib32"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_memcheck": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_nvtx": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt",
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.5.2.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.5.2.json
deleted file mode 100644
index f07f1826dec8d..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.5.2.json
+++ /dev/null
@@ -1,1536 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "lib32"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_memcheck": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_nvtx": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt",
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.6.2.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.6.2.json
deleted file mode 100644
index c4f02188c4d48..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.6.2.json
+++ /dev/null
@@ -1,1546 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "lib32"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_memcheck": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_nvtx": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt",
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.7.0.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.7.0.json
deleted file mode 100644
index 56ef5a91b0386..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.7.0.json
+++ /dev/null
@@ -1,1565 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_memcheck": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_nvtx": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt",
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.8.0.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.8.0.json
deleted file mode 100644
index 4a71b484e2871..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_11.8.0.json
+++ /dev/null
@@ -1,1938 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_compat": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compat"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_memcheck": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_profiler_api": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcudla": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_nvtx": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "NvToolsExt"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.0.1.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.0.1.json
deleted file mode 100644
index f02ba5bfca84b..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.0.1.json
+++ /dev/null
@@ -1,2050 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_compat": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compat"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_opencl": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_profiler_api": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcudla": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvjitlink": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "res"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvvm_samples": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.1.1.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.1.1.json
deleted file mode 100644
index f02ba5bfca84b..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.1.1.json
+++ /dev/null
@@ -1,2050 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_compat": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compat"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_opencl": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_profiler_api": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcudla": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvjitlink": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "res"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvvm_samples": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nvvm"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.2.0.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.2.0.json
deleted file mode 100644
index e5201f7f81eb4..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_features_12.2.0.json
+++ /dev/null
@@ -1,2030 +0,0 @@
-{
-  "cuda_cccl": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_compat": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compat"
-      ]
-    }
-  },
-  "cuda_cudart": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_cuobjdump": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_cupti": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": false,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "doc",
-        "include",
-        "lib",
-        "samples"
-      ]
-    }
-  },
-  "cuda_cuxxfilt": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_demo_suite": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "demo_suite"
-      ]
-    }
-  },
-  "cuda_documentation": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "tools"
-      ]
-    }
-  },
-  "cuda_gdb": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "extras",
-        "share"
-      ]
-    }
-  },
-  "cuda_nsight": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsightee_plugins"
-      ]
-    }
-  },
-  "cuda_nvcc": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "nvvm"
-      ]
-    }
-  },
-  "cuda_nvdisasm": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvml_dev": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "nvml"
-      ]
-    }
-  },
-  "cuda_nvprof": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvprune": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin"
-      ]
-    }
-  },
-  "cuda_nvrtc": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_nvtx": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_nvvp": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "libnvvp"
-      ]
-    }
-  },
-  "cuda_opencl": {
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "cuda_profiler_api": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include"
-      ]
-    }
-  },
-  "cuda_sanitizer_api": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "compute-sanitizer"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "compute-sanitizer"
-      ]
-    }
-  },
-  "fabricmanager": {
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "etc",
-        "include",
-        "lib",
-        "sbin",
-        "share",
-        "systemd"
-      ]
-    }
-  },
-  "libcublas": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libcudla": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    }
-  },
-  "libcufft": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcufile": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": true,
-      "hasStatic": true,
-      "rootDirs": [
-        "etc",
-        "include",
-        "lib",
-        "man",
-        "pkg-config",
-        "samples",
-        "tools"
-      ]
-    }
-  },
-  "libcurand": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusolver": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libcusparse": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "src"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "src"
-      ]
-    }
-  },
-  "libnpp": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "libnvidia_nscq": {
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "lib"
-      ]
-    }
-  },
-  "libnvjitlink": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config",
-        "res"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib",
-        "res"
-      ]
-    }
-  },
-  "libnvjpeg": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "include",
-        "lib",
-        "pkg-config"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": true,
-      "hasDev": true,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": true,
-      "rootDirs": [
-        "bin",
-        "include",
-        "lib"
-      ]
-    }
-  },
-  "nsight_compute": {
-    "linux-aarch64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-compute"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-compute"
-      ]
-    }
-  },
-  "nsight_systems": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "nsight-systems"
-      ]
-    },
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight-systems"
-      ]
-    }
-  },
-  "nsight_vse": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "nsight_vse"
-      ]
-    }
-  },
-  "nvidia_driver": {
-    "linux-ppc64le": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "kernel",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": true,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": true,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "bin",
-        "docs",
-        "etc",
-        "firmware",
-        "kernel",
-        "kernel-open",
-        "lib",
-        "lib32",
-        "man",
-        "sbin",
-        "share",
-        "src",
-        "supported-gpus",
-        "systemd",
-        "tests",
-        "wine"
-      ]
-    }
-  },
-  "nvidia_fs": {
-    "linux-aarch64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    },
-    "linux-sbsa": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    },
-    "linux-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "src"
-      ]
-    }
-  },
-  "visual_studio_integration": {
-    "windows-x86_64": {
-      "hasBin": false,
-      "hasDev": false,
-      "hasDoc": false,
-      "hasLib": false,
-      "hasSample": false,
-      "hasStatic": false,
-      "rootDirs": [
-        "visual_studio_integration"
-      ]
-    }
-  }
-}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/overrides.nix b/pkgs/development/compilers/cudatoolkit/redist/overrides.nix
deleted file mode 100644
index a0ac0b0fcb1fb..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/redist/overrides.nix
+++ /dev/null
@@ -1,142 +0,0 @@
-final: prev:
-let
-  inherit (prev) lib pkgs;
-  cudaVersionOlder = lib.versionOlder final.cudaVersion;
-  cudaVersionAtLeast = lib.versionAtLeast final.cudaVersion;
-in
-(lib.filterAttrs (attr: _: (prev ? "${attr}")) {
-  ### Overrides to fix the components of cudatoolkit-redist
-
-  # Attributes that don't exist in the previous set are removed.
-  # That means only overrides can go here, and not new expressions!
-
-  libcufile = prev.libcufile.overrideAttrs (oldAttrs: {
-    buildInputs = oldAttrs.buildInputs ++ [
-      final.libcublas.lib
-      pkgs.numactl
-      pkgs.rdma-core
-    ];
-    # libcuda needs to be resolved during runtime
-    autoPatchelfIgnoreMissingDeps =
-      ["libcuda.so.1"]
-      # Before 12.0 libcufile depends on itself for some reason.
-      ++ lib.optionals (cudaVersionOlder "12.0") [
-        "libcufile.so.0"
-      ];
-  });
-
-  libcusolver = final.addBuildInputs prev.libcusolver (
-    # Always depends on this
-    [final.libcublas.lib]
-    # Dependency from 12.0 and on
-    ++ lib.optionals (cudaVersionAtLeast "12.0") [
-      final.libnvjitlink.lib
-    ]
-    # Dependency from 12.1 and on
-    ++ lib.optionals (cudaVersionAtLeast "12.1") [
-      final.libcusparse.lib
-    ]
-  );
-
-  libcusparse = final.addBuildInputs prev.libcusparse (
-    lib.optionals (cudaVersionAtLeast "12.0") [
-      final.libnvjitlink.lib
-    ]
-  );
-
-  cuda_gdb = final.addBuildInputs prev.cuda_gdb (
-    # x86_64 only needs gmp from 12.0 and on
-    lib.optionals (cudaVersionAtLeast "12.0") [
-      pkgs.gmp
-    ]
-  );
-
-  cuda_nvcc = prev.cuda_nvcc.overrideAttrs (_: {
-    # Required by cmake's enable_language(CUDA) to build a test program
-    # When implementing cross-compilation support: this is
-    # final.pkgs.targetPackages.cudaPackages.cuda_cudart
-    env = {
-      # Given the multiple-outputs each CUDA redist has, we can specify the exact components we
-      # need from the package. CMake requires:
-      # - the cuda_runtime.h header, which is in the dev output
-      # - the dynamic library, which is in the lib output
-      # - the static library, which is in the static output
-      cudartInclude = "${final.cuda_cudart.dev}";
-      cudartLib = "${final.cuda_cudart.lib}";
-      cudartStatic = "${final.cuda_cudart.static}";
-    };
-
-    # Point NVCC at a compatible compiler
-
-    # Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to
-    # nativeBuildInputs (offsets `(-1, 0)`), magma should also source the
-    # setupCudaHook, i.e. we want it the hook to be propagated into the
-    # same nativeBuildInputs.
-    #
-    # Logically, cuda_nvcc should include the hook in depsHostHostPropagated,
-    # so that the final offsets for the propagated hook would be `(-1, 0) +
-    # (0, 0) = (-1, 0)`.
-    #
-    # In practice, TargetTarget appears to work:
-    # https://gist.github.com/fd80ff142cd25e64603618a3700e7f82
-    depsTargetTargetPropagated = [
-      final.setupCudaHook
-    ];
-  });
-
-  cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: {
-    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.addOpenGLRunpath ];
-    buildInputs = oldAttrs.buildInputs ++ [ final.cuda_cupti.lib ];
-    # libcuda needs to be resolved during runtime
-    autoPatchelfIgnoreMissingDeps = ["libcuda.so.1"];
-  });
-
-  cuda_demo_suite = final.addBuildInputs prev.cuda_demo_suite [
-    pkgs.freeglut
-    pkgs.libGLU
-    pkgs.libglvnd
-    pkgs.mesa
-    final.libcufft.lib
-    final.libcurand.lib
-  ];
-
-  nsight_compute = prev.nsight_compute.overrideAttrs (oldAttrs: {
-    nativeBuildInputs = oldAttrs.nativeBuildInputs
-    ++ (if (lib.versionOlder prev.nsight_compute.version "2022.2.0")
-       then [ pkgs.qt5.wrapQtAppsHook ]
-       else [ pkgs.qt6.wrapQtAppsHook ]);
-    buildInputs = oldAttrs.buildInputs
-    ++ (if (lib.versionOlder prev.nsight_compute.version "2022.2.0")
-       then [ pkgs.qt5.qtwebview ]
-       else [ pkgs.qt6.qtwebview ]);
-  });
-
-  nsight_systems = prev.nsight_systems.overrideAttrs (oldAttrs: {
-    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [
-      pkgs.addOpenGLRunpath
-      pkgs.qt5.wrapQtAppsHook
-    ];
-    buildInputs = oldAttrs.buildInputs ++ [
-      pkgs.alsa-lib
-      pkgs.e2fsprogs
-      pkgs.nss
-      pkgs.numactl
-      pkgs.pulseaudio
-      pkgs.wayland
-      pkgs.xorg.libXcursor
-      pkgs.xorg.libXdamage
-      pkgs.xorg.libXrandr
-      pkgs.xorg.libXtst
-    ];
-    # libcuda needs to be resolved during runtime
-    autoPatchelfIgnoreMissingDeps = true;
-  });
-
-  nvidia_driver = prev.nvidia_driver.overrideAttrs (oldAttrs: {
-    # libcuda needs to be resolved during runtime
-    autoPatchelfIgnoreMissingDeps = ["libcuda.so.1"];
-    # No need to support this package as we have drivers already
-    # in linuxPackages.
-    meta.broken = true;
-  });
-})
diff --git a/pkgs/development/compilers/cudatoolkit/saxpy/default.nix b/pkgs/development/compilers/cudatoolkit/saxpy/default.nix
deleted file mode 100644
index f347b43d1d11c..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/saxpy/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ autoAddOpenGLRunpathHook
-, backendStdenv
-, cmake
-, cuda_cccl
-, cuda_cudart
-, cudaFlags
-, cuda_nvcc
-, lib
-, libcublas
-, setupCudaHook
-, stdenv
-}:
-
-backendStdenv.mkDerivation {
-  pname = "saxpy";
-  version = "unstable-2023-07-11";
-
-  src = ./.;
-
-  buildInputs = [
-    libcublas
-    cuda_cudart
-    cuda_cccl
-  ];
-  nativeBuildInputs = [
-    cmake
-
-    # NOTE: this needs to be pkgs.buildPackages.cudaPackages_XX_Y.cuda_nvcc for
-    # cross-compilation to work. This should work automatically once we move to
-    # spliced scopes. Delete this comment once that happens
-    cuda_nvcc
-
-    # Alternatively, we could remove the propagated hook from cuda_nvcc and add
-    # directly:
-    # setupCudaHook
-    autoAddOpenGLRunpathHook
-  ];
-
-  cmakeFlags = [
-    "-DCMAKE_VERBOSE_MAKEFILE=ON"
-    "-DCMAKE_CUDA_ARCHITECTURES=${with cudaFlags; builtins.concatStringsSep ";" (map dropDot cudaCapabilities)}"
-  ];
-
-  meta = {
-    description = "A simple (Single-precision AX Plus Y) FindCUDAToolkit.cmake example for testing cross-compilation";
-    license = lib.licenses.mit;
-    maintainers = lib.teams.cuda.members;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/compilers/cudatoolkit/stdenv.nix b/pkgs/development/compilers/cudatoolkit/stdenv.nix
deleted file mode 100644
index 95e783a682bff..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/stdenv.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, nixpkgsCompatibleLibstdcxx
-, nvccCompatibleCC
-, overrideCC
-, stdenv
-, wrapCCWith
-}:
-
-let
-  cc = wrapCCWith
-    {
-      cc = nvccCompatibleCC;
-
-      # This option is for clang's libcxx, but we (ab)use it for gcc's libstdc++.
-      # Note that libstdc++ maintains forward-compatibility: if we load a newer
-      # libstdc++ into the process, we can still use libraries built against an
-      # older libstdc++. This, in practice, means that we should use libstdc++ from
-      # the same stdenv that the rest of nixpkgs uses.
-      # We currently do not try to support anything other than gcc and linux.
-      libcxx = nixpkgsCompatibleLibstdcxx;
-    };
-  cudaStdenv = overrideCC stdenv cc;
-  passthruExtra = {
-    inherit nixpkgsCompatibleLibstdcxx;
-    # cc already exposed
-  };
-  assertCondition = true;
-in
-lib.extendDerivation
-  assertCondition
-  passthruExtra
-  cudaStdenv
-
diff --git a/pkgs/development/compilers/cudatoolkit/versions.toml b/pkgs/development/compilers/cudatoolkit/versions.toml
deleted file mode 100644
index 509b7d6bffd7c..0000000000000
--- a/pkgs/development/compilers/cudatoolkit/versions.toml
+++ /dev/null
@@ -1,91 +0,0 @@
-["10.0"]
-version = "10.0.130"
-url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux"
-sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj"
-gcc = "gcc7"
-
-["10.1"]
-version = "10.1.243"
-url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run"
-sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7"
-gcc = "gcc7"
-
-["10.2"]
-version = "10.2.89"
-url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run"
-sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an"
-gcc = "gcc7"
-
-["11.0"]
-version = "11.0.3"
-url = "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run"
-sha256 = "1h4c69nfrgm09jzv8xjnjcvpq8n4gnlii17v3wzqry5d13jc8ydh"
-gcc = "gcc9"
-
-["11.1"]
-version = "11.1.1"
-url = "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run"
-sha256 = "13yxv2fgvdnqqbwh1zb80x4xhyfkbajfkwyfpdg9493010kngbiy"
-gcc = "gcc9"
-
-["11.2"]
-version = "11.2.1"
-url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run"
-sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g="
-gcc = "gcc9"
-
-["11.3"]
-version = "11.3.1"
-url = "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run"
-sha256 = "0d19pwcqin76scbw1s5kgj8n0z1p4v1hyfldqmamilyfxycfm4xd"
-gcc = "gcc9"
-
-["11.4"]
-version = "11.4.2"
-url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run"
-sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo="
-gcc = "gcc10"
-
-["11.5"]
-version = "11.5.0"
-url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run"
-sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw="
-# cuda 11.5 has problems with glibc 2.4 -> keeping gcc10
-# cf. https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750/15
-gcc = "gcc10"
-
-["11.6"]
-version = "11.6.1"
-url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run"
-sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4="
-gcc = "gcc11"
-
-["11.7"]
-version = "11.7.0"
-url = "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run"
-sha256 = "sha256-CH/fy7ofeVQ7H3jkOo39rF9tskLQQt3oIOFtwYWJLyY="
-gcc = "gcc11"
-
-["11.8"]
-version = "11.8.0"
-url = "https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run"
-sha256 = "sha256-kiPErzrr5Ke77Zq9mxY7A6GzS4VfvCtKDRtwasCaWhY="
-gcc = "gcc11"
-
-["12.0"]
-version = "12.0.1"
-url = "https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda_12.0.1_525.85.12_linux.run"
-sha256 = "sha256-GyBaBicvFGP0dydv2rkD8/ZmkXwGjlIHOAAeacehh1s="
-gcc = "gcc12"
-
-["12.1"]
-version = "12.1.1"
-url = "https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run"
-sha256 = "sha256-10Ai1B2AEFMZ36Ib7qObd6W5kZU5wEh6BcqvJEbWpw4="
-gcc = "gcc12"
-
-["12.2"]
-version = "12.2.0"
-url = "https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run"
-sha256 = "sha256-7PPSr63LrAKfD0UFeFgQ1S0AbkuHunn/P5hDNqK79Rg="
-gcc = "gcc12"
diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix
index 0526825ee2114..c711e02d396ff 100644
--- a/pkgs/development/compilers/dart/sources.nix
+++ b/pkgs/development/compilers/dart/sources.nix
@@ -1,24 +1,24 @@
-let version = "3.1.3"; in
+let version = "3.2.0"; 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 = "00bjyjya5hb1aaywbbaqbsxas5q93xvxrz9sd3x40m3792zxdbfx";
+    sha256 = "0a1mbi2si0ww9b96hx633xviwrbqk4skf7gxs0h95npw2cf6n9kd";
   };
   "${version}-aarch64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
-    sha256 = "0nansfrnzb8ximg15my8yv5kc2gih60rkann7r008h7zk5cd8nkr";
+    sha256 = "0yhmhvfq8w6l8q5ahlxk5qbr3ji319snb8ghpi6y7px2pfbv5gwr";
   };
   "${version}-aarch64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
-    sha256 = "08njr5n7z94dfkmbi9wcdv5yciy94nzfgvjbdhsjswyq3h030a1b";
+    sha256 = "052vz5zjjwjbww81qws3vyj39wkw2i9mqqs8fcifzgzbfdyc8lb0";
   };
   "${version}-x86_64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
-    sha256 = "0ff73ws20i2j5lk2h2dy6k3fbfx7l9na9gqyji37c0dc67vxyl01";
+    sha256 = "0wvpyjpvyaasazjmizb0ha3p70q3rhqpqq8bzl1bv9jrsgcniqsf";
   };
   "${version}-i686-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
-    sha256 = "1703vsmw0m867gqzd2wy93bab0gg7z40r9rfin4lzhxw20x2brs4";
+    sha256 = "1z187sl652fzkp3nf044snjh09svnvmlxh0ribzf3b955a40l8cd";
   };
 }
diff --git a/pkgs/development/compilers/flix/default.nix b/pkgs/development/compilers/flix/default.nix
index 9ce582623fe1b..544c1f6ed9207 100644
--- a/pkgs/development/compilers/flix/default.nix
+++ b/pkgs/development/compilers/flix/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "flix";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchurl {
     url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
-    sha256 = "sha256-bDeqwk+grkCxmGE9H8Ks7Q8KvLxNCzaLe44DlR6E7YE=";
+    sha256 = "sha256-fkYyJxBlJWUkXGgcszerNKFNEFRIOm6tUyiTZj0q11k=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix
index 01f1725130803..eef6faf26424e 100644
--- a/pkgs/development/compilers/gcc/default.nix
+++ b/pkgs/development/compilers/gcc/default.nix
@@ -29,7 +29,7 @@
 , buildPackages
 , pkgsBuildTarget
 , libxcrypt
-, disableGdbPlugin ? !enablePlugin
+, disableGdbPlugin ? !enablePlugin || (stdenv.targetPlatform.isAvr && stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
 , nukeReferences
 , callPackage
 , majorMinorVersion
@@ -259,7 +259,6 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
     else [ "out" "lib" "man" "info" ];
 
   setOutputFlags = false;
-  NIX_NO_SELF_RPATH = true;
 
   libc_dev = stdenv.cc.libc_dev;
 
@@ -353,44 +352,59 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
   # https://gcc.gnu.org/PR109898
   enableParallelInstalling = false;
 
-  # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
-  ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
-
-  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
-  # library headers and binaries, regarless of the language being compiled.
-  #
-  # Note: When building the Java AWT GTK peer, the build system doesn't honor
-  # `--with-gmp' et al., e.g., when building
-  # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
-  # them to $CPATH and $LIBRARY_PATH in this case.
-  #
-  # Likewise, the LTO code doesn't find zlib.
-  #
-  # Cross-compiling, we need gcc not to read ./specs in order to build the g++
-  # compiler (after the specs for the cross-gcc are created). Having
-  # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
-
-  CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
-    ++ optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
-  ));
-
-  LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (
-    optional (zlib != null) zlib
-    ++ optional langJava boehmgc
-    ++ optionals javaAwtGtk xlibs
-    ++ optionals javaAwtGtk [ gmp mpfr ]
-  ));
-
-  inherit (callFile ./common/extra-target-flags.nix { })
-    EXTRA_FLAGS_FOR_TARGET
-    EXTRA_LDFLAGS_FOR_TARGET
-    ;
+  env = mapAttrs (_: v: toString v) ({
+
+    NIX_NO_SELF_RPATH = true;
+
+    # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+    ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
+
+    # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
+    # library headers and binaries, regarless of the language being compiled.
+    #
+    # Note: When building the Java AWT GTK peer, the build system doesn't honor
+    # `--with-gmp' et al., e.g., when building
+    # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
+    # them to $CPATH and $LIBRARY_PATH in this case.
+    #
+    # Likewise, the LTO code doesn't find zlib.
+    #
+    # Cross-compiling, we need gcc not to read ./specs in order to build the g++
+    # compiler (after the specs for the cross-gcc are created). Having
+    # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
+
+    CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
+      ++ optional (zlib != null) zlib
+      ++ optional langJava boehmgc
+      ++ optionals javaAwtGtk xlibs
+      ++ optionals javaAwtGtk [ gmp mpfr ]
+    ));
+
+    LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (
+      optional (zlib != null) zlib
+      ++ optional langJava boehmgc
+      ++ optionals javaAwtGtk xlibs
+      ++ optionals javaAwtGtk [ gmp mpfr ]
+    ));
+
+    inherit (callFile ./common/extra-target-flags.nix { })
+      EXTRA_FLAGS_FOR_TARGET
+      EXTRA_LDFLAGS_FOR_TARGET
+      ;
+  } // optionalAttrs is7 {
+    NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"
+      # Downgrade register storage class specifier errors to warnings when building a cross compiler from a clang stdenv.
+      + lib.optionalString (stdenv.cc.isClang && targetPlatform != hostPlatform) " -Wno-register";
+  } // optionalAttrs (!is7 && !atLeast12 && stdenv.cc.isClang && targetPlatform != hostPlatform) {
+    NIX_CFLAGS_COMPILE = "-Wno-register";
+  } // optionalAttrs (!atLeast7) {
+    inherit langJava;
+  } // optionalAttrs atLeast6 {
+    NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm";
+  });
 
   passthru = {
-    inherit langC langCC langObjC langObjCpp langAda langFortran langGo langD version;
+    inherit langC langCC langObjC langObjCpp langAda langFortran langGo langD langJava version;
     isGNU = true;
   } // lib.optionalAttrs (!atLeast12) {
     hardeningUnsupportedFlags = lib.optionals is48 [ "stackprotector" ] ++ [ "fortify3" ];
@@ -409,19 +423,19 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
       maintainers
     ;
   } // lib.optionalAttrs (!atLeast11) {
-    badPlatforms = if !(is48 || is49) then [ "aarch64-darwin" ] else lib.platforms.darwin;
+    badPlatforms =
+      # avr-gcc8 is maintained for the `qmk` package
+      if (is8 && targetPlatform.isAvr) then []
+      else if !(is48 || is49) then [ "aarch64-darwin" ]
+      else lib.platforms.darwin;
+  } // lib.optionalAttrs is11 {
+    badPlatforms = if targetPlatform != hostPlatform then [ "aarch64-darwin" ] else [ ];
   };
-} // optionalAttrs is7 {
-  env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
-} // lib.optionalAttrs (!atLeast10 && stdenv.hostPlatform.isDarwin) {
+} // lib.optionalAttrs (!atLeast10 && stdenv.targetPlatform.isDarwin) {
   # GCC <10 requires default cctools `strip` instead of `llvm-strip` used by Darwin bintools.
   preBuild = ''
     makeFlagsArray+=('STRIP=${lib.getBin darwin.cctools-port}/bin/${stdenv.cc.targetPrefix}strip')
   '';
-} // optionalAttrs (!atLeast7) {
-  env.langJava = langJava;
-} // optionalAttrs atLeast6 {
-  NIX_LDFLAGS = lib.optionalString  hostPlatform.isSunOS "-lm";
 } // optionalAttrs (!atLeast8) {
   doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
 } // optionalAttrs enableMultilib {
diff --git a/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch b/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch
deleted file mode 100644
index 787862fbcffaa..0000000000000
--- a/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/gcc/config/avr/avr.c	2022-10-08 19:18:33.000000000 +0200
-+++ b/gcc/config/avr/avr.patched.c	2022-10-08 19:19:34.000000000 +0200
-@@ -10196,7 +10196,7 @@
-    to track need of __do_copy_data.  */
- 
- static void
--avr_output_data_section_asm_op (const void *data)
-+avr_output_data_section_asm_op (const char *data)
- {
-   avr_need_copy_data_p = true;
- 
-@@ -10209,7 +10209,7 @@
-    to track need of __do_clear_bss.  */
- 
- static void
--avr_output_bss_section_asm_op (const void *data)
-+avr_output_bss_section_asm_op (const char *data)
- {
-   avr_need_clear_bss_p = true;
- 
diff --git a/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch b/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch
deleted file mode 100644
index f9adbe9eb1ca5..0000000000000
--- a/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-commit 4c38abe0967bad78dd6baa61c86923e4d4b346d3
-Author: Ben Gamari <ben@smart-cactus.org>
-Date:   Sun Nov 5 13:14:19 2017 -0500
-
-    Fix it
-
-diff --git a/config/gcc-plugin.m4 b/config/gcc-plugin.m4
-index dd06a58..f4435b8 100644
---- a/config/gcc-plugin.m4
-+++ b/config/gcc-plugin.m4
-@@ -13,6 +13,32 @@ dnl the same distribution terms as the rest of that program.
- # Sets the shell variables enable_plugin and pluginlibs.
- AC_DEFUN([GCC_ENABLE_PLUGINS],
-   [# Check for plugin support
-+
-+   # Figure out what objdump we will be using.
-+   AS_VAR_SET_IF(gcc_cv_objdump,, [
-+   if test -f $gcc_cv_binutils_srcdir/configure.ac \
-+        && test -f ../binutils/Makefile \
-+        && test x$build = x$host; then
-+   	# Single tree build which includes binutils.
-+   	gcc_cv_objdump=../binutils/objdump$build_exeext
-+   elif test -x objdump$build_exeext; then
-+   	gcc_cv_objdump=./objdump$build_exeext
-+   elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then
-+           gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
-+   else
-+           AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
-+   fi])
-+   
-+   AC_MSG_CHECKING(what objdump to use)
-+   if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
-+   	# Single tree build which includes binutils.
-+   	AC_MSG_RESULT(newly built objdump)
-+   elif test x$gcc_cv_objdump = x; then
-+   	AC_MSG_RESULT(not found)
-+   else
-+   	AC_MSG_RESULT($gcc_cv_objdump)
-+   fi
-+
-    AC_ARG_ENABLE(plugin,
-    [AS_HELP_STRING([--enable-plugin], [enable plugin support])],
-    enable_plugin=$enableval,
diff --git a/pkgs/development/compilers/gcc/patches/8/avr-gcc-8-darwin.patch b/pkgs/development/compilers/gcc/patches/8/avr-gcc-8-darwin.patch
new file mode 100644
index 0000000000000..3705ed99c49a2
--- /dev/null
+++ b/pkgs/development/compilers/gcc/patches/8/avr-gcc-8-darwin.patch
@@ -0,0 +1,16 @@
+From https://gist.githubusercontent.com/DavidEGrayson/88bceb3f4e62f45725ecbb9248366300/raw/c1f515475aff1e1e3985569d9b715edb0f317648/gcc-11-arm-darwin.patch
+
+diff -ur a/gcc/config/host-darwin.c b/gcc/config/host-darwin.c
+--- a/gcc/config/host-darwin.c	2021-04-27 03:00:13.000000000 -0700
++++ b/gcc/config/host-darwin.c	2021-06-11 14:49:13.754000000 -0700
+@@ -22,6 +22,10 @@
+ #include "coretypes.h"
+ #include "diagnostic-core.h"
+ #include "config/host-darwin.h"
++#include "hosthooks.h"
++#include "hosthooks-def.h"
++
++const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
+ 
+ /* Yes, this is really supposed to work.  */
+ /* This allows for a pagesize of 16384, which we have on Darwin20, but should
\ No newline at end of file
diff --git a/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch b/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch
deleted file mode 100644
index 17a4e0a2447b3..0000000000000
--- a/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From 6001db79c477b03eacc7e7049560921fb54b7845 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <richard.sandiford@arm.com>
-Date: Mon, 7 Sep 2020 20:15:36 +0100
-Subject: [PATCH] lra: Avoid cycling on certain subreg reloads [PR96796]
-
-This PR is about LRA cycling for a reload of the form:
-
-----------------------------------------------------------------------------
-Changing pseudo 196 in operand 1 of insn 103 on equiv [r105:DI*0x8+r140:DI]
-      Creating newreg=287, assigning class ALL_REGS to slow/invalid mem r287
-      Creating newreg=288, assigning class ALL_REGS to slow/invalid mem r288
-  103: r203:SI=r288:SI<<0x1+r196:DI#0
-      REG_DEAD r196:DI
-    Inserting slow/invalid mem reload before:
-  316: r287:DI=[r105:DI*0x8+r140:DI]
-  317: r288:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-The problem is with r287.  We rightly give it a broad starting class of
-POINTER_AND_FP_REGS (reduced from ALL_REGS by preferred_reload_class).
-However, we never make forward progress towards narrowing it down to
-a specific choice of class (POINTER_REGS or FP_REGS).
-
-I think in practice we rely on two things to narrow a reload pseudo's
-class down to a specific choice:
-
-(1) a restricted class is specified when the pseudo is created
-
-    This happens for input address reloads, where the class is taken
-    from the target's chosen base register class.  It also happens
-    for simple REG reloads, where the class is taken from the chosen
-    alternative's constraints.
-
-(2) uses of the reload pseudo as a direct input operand
-
-    In this case get_reload_reg tries to reuse the existing register
-    and narrow its class, instead of creating a new reload pseudo.
-
-However, neither occurs here.  As described above, r287 rightly
-starts out with a wide choice of class, ultimately derived from
-ALL_REGS, so we don't get (1).  And as the comments in the PR
-explain, r287 is never used as an input reload, only the subreg is,
-so we don't get (2):
-
-----------------------------------------------------------------------------
-         Choosing alt 13 in insn 317:  (0) r  (1) w {*movsi_aarch64}
-      Creating newreg=291, assigning class FP_REGS to r291
-  317: r288:SI=r291:SI
-    Inserting insn reload before:
-  320: r291:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-IMO, in this case we should rely on the reload of r316 to narrow
-down the class of r278.  Currently we do:
-
-----------------------------------------------------------------------------
-         Choosing alt 7 in insn 316:  (0) r  (1) m {*movdi_aarch64}
-      Creating newreg=289 from oldreg=287, assigning class GENERAL_REGS to r289
-  316: r289:DI=[r105:DI*0x8+r140:DI]
-    Inserting insn reload after:
-  318: r287:DI=r289:DI
----------------------------------------------------
-
-i.e. we create a new pseudo register r289 and give *that* pseudo
-GENERAL_REGS instead.  This is because get_reload_reg only narrows
-down the existing class for OP_IN and OP_INOUT, not OP_OUT.
-
-But if we have a reload pseudo in a reload instruction and have chosen
-a specific class for the reload pseudo, I think we should simply install
-it for OP_OUT reloads too, if the class is a subset of the existing class.
-We will need to pick such a register whatever happens (for r289 in the
-example above).  And as explained in the PR, doing this actually avoids
-an unnecessary move via the FP registers too.
-
-The patch is quite aggressive in that it does this for all reload
-pseudos in all reload instructions.  I wondered about reusing the
-condition for a reload move in in_class_p:
-
-          INSN_UID (curr_insn) >= new_insn_uid_start
-          && curr_insn_set != NULL
-          && ((OBJECT_P (SET_SRC (curr_insn_set))
-               && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-              || (GET_CODE (SET_SRC (curr_insn_set)) == SUBREG
-                  && OBJECT_P (SUBREG_REG (SET_SRC (curr_insn_set)))
-                  && ! CONSTANT_P (SUBREG_REG (SET_SRC (curr_insn_set)))))))
-
-but I can't really justify that on first principles.  I think we
-should apply the rule consistently until we have a specific reason
-for doing otherwise.
-
-gcc/
-	PR rtl-optimization/96796
-	* lra-constraints.c (in_class_p): Add a default-false
-	allow_all_reload_class_changes_p parameter.  Do not treat
-	reload moves specially when the parameter is true.
-	(get_reload_reg): Try to narrow the class of an existing OP_OUT
-	reload if we're reloading a reload pseudo in a reload instruction.
-
-gcc/testsuite/
-	PR rtl-optimization/96796
-	* gcc.c-torture/compile/pr96796.c: New test.
----
- gcc/lra-constraints.c                         | 54 ++++++++++++++----
- gcc/testsuite/gcc.c-torture/compile/pr96796.c | 55 +++++++++++++++++++
- 2 files changed, 99 insertions(+), 10 deletions(-)
- create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr96796.c
-
-diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
-index 580da9c3ed6..161b721efb1 100644
---- a/gcc/lra-constraints.c
-+++ b/gcc/lra-constraints.c
-@@ -236,12 +236,17 @@ get_reg_class (int regno)
-    CL.  Use elimination first if REG is a hard register.  If REG is a
-    reload pseudo created by this constraints pass, assume that it will
-    be allocated a hard register from its allocno class, but allow that
--   class to be narrowed to CL if it is currently a superset of CL.
-+   class to be narrowed to CL if it is currently a superset of CL and
-+   if either:
-+
-+   - ALLOW_ALL_RELOAD_CLASS_CHANGES_P is true or
-+   - the instruction we're processing is not a reload move.
- 
-    If NEW_CLASS is nonnull, set *NEW_CLASS to the new allocno class of
-    REGNO (reg), or NO_REGS if no change in its class was needed.  */
- static bool
--in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
-+in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class,
-+	    bool allow_all_reload_class_changes_p = false)
- {
-   enum reg_class rclass, common_class;
-   machine_mode reg_mode;
-@@ -266,7 +271,8 @@ in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
- 	 typically moves that have many alternatives, and restricting
- 	 reload pseudos for one alternative may lead to situations
- 	 where other reload pseudos are no longer allocatable.  */
--      || (INSN_UID (curr_insn) >= new_insn_uid_start
-+      || (!allow_all_reload_class_changes_p
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
- 	  && curr_insn_set != NULL
- 	  && ((OBJECT_P (SET_SRC (curr_insn_set))
- 	       && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-@@ -598,13 +604,12 @@ canonicalize_reload_addr (rtx addr)
-   return addr;
- }
- 
--/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse already
--   created input reload pseudo (only if TYPE is not OP_OUT).  Don't
--   reuse pseudo if IN_SUBREG_P is true and the reused pseudo should be
--   wrapped up in SUBREG.  The result pseudo is returned through
--   RESULT_REG.  Return TRUE if we created a new pseudo, FALSE if we
--   reused the already created input reload pseudo.  Use TITLE to
--   describe new registers for debug purposes.  */
-+/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse an existing
-+   reload pseudo.  Don't reuse an existing reload pseudo if IN_SUBREG_P
-+   is true and the reused pseudo should be wrapped up in a SUBREG.
-+   The result pseudo is returned through RESULT_REG.  Return TRUE if we
-+   created a new pseudo, FALSE if we reused an existing reload pseudo.
-+   Use TITLE to describe new registers for debug purposes.  */
- static bool
- get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 		enum reg_class rclass, bool in_subreg_p,
-@@ -616,6 +621,35 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 
-   if (type == OP_OUT)
-     {
-+      /* Output reload registers tend to start out with a conservative
-+	 choice of register class.  Usually this is ALL_REGS, although
-+	 a target might narrow it (for performance reasons) through
-+	 targetm.preferred_reload_class.  It's therefore quite common
-+	 for a reload instruction to require a more restrictive class
-+	 than the class that was originally assigned to the reload register.
-+
-+	 In these situations, it's more efficient to refine the choice
-+	 of register class rather than create a second reload register.
-+	 This also helps to avoid cycling for registers that are only
-+	 used by reload instructions.  */
-+      if (REG_P (original)
-+	  && (int) REGNO (original) >= new_regno_start
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
-+	  && in_class_p (original, rclass, &new_class, true))
-+	{
-+	  unsigned int regno = REGNO (original);
-+	  if (lra_dump_file != NULL)
-+	    {
-+	      fprintf (lra_dump_file, "	 Reuse r%d for output ", regno);
-+	      dump_value_slim (lra_dump_file, original, 1);
-+	    }
-+	  if (new_class != lra_get_allocno_class (regno))
-+	    lra_change_class (regno, new_class, ", change to", false);
-+	  if (lra_dump_file != NULL)
-+	    fprintf (lra_dump_file, "\n");
-+	  *result_reg = original;
-+	  return false;
-+	}
-       *result_reg
- 	= lra_create_new_reg_with_unique_value (mode, original, rclass, title);
-       return true;
-diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96796.c b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-new file mode 100644
-index 00000000000..8808e62fe77
---- /dev/null
-+++ b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-@@ -0,0 +1,55 @@
-+/* { dg-additional-options "-fcommon" } */
-+
-+struct S0 {
-+  signed f0 : 8;
-+  unsigned f1;
-+  unsigned f4;
-+};
-+struct S1 {
-+  long f3;
-+  char f4;
-+} g_3_4;
-+
-+int g_5, func_1_l_32, func_50___trans_tmp_31;
-+static struct S0 g_144, g_834, g_1255, g_1261;
-+
-+int g_273[120] = {};
-+int *g_555;
-+char **g_979;
-+static int g_1092_0;
-+static int g_1193;
-+int safe_mul_func_int16_t_s_s(int si1, int si2) { return si1 * si2; }
-+static struct S0 *func_50();
-+int func_1() { func_50(g_3_4, g_5, func_1_l_32, 8, 3); }
-+void safe_div_func_int64_t_s_s(int *);
-+void safe_mod_func_uint32_t_u_u(struct S0);
-+struct S0 *func_50(int p_51, struct S0 p_52, struct S1 p_53, int p_54,
-+                   int p_55) {
-+  int __trans_tmp_30;
-+  char __trans_tmp_22;
-+  short __trans_tmp_19;
-+  long l_985_1;
-+  long l_1191[8];
-+  safe_div_func_int64_t_s_s(g_273);
-+  __builtin_printf((char*)g_1261.f4);
-+  safe_mod_func_uint32_t_u_u(g_834);
-+  g_144.f0 += 1;
-+  for (;;) {
-+    struct S1 l_1350 = {&l_1350};
-+    for (; p_53.f3; p_53.f3 -= 1)
-+      for (; g_1193 <= 2; g_1193 += 1) {
-+        __trans_tmp_19 = safe_mul_func_int16_t_s_s(l_1191[l_985_1 + p_53.f3],
-+                                                   p_55 % (**g_979 = 10));
-+        __trans_tmp_22 = g_1255.f1 * p_53.f4;
-+        __trans_tmp_30 = __trans_tmp_19 + __trans_tmp_22;
-+        if (__trans_tmp_30)
-+          g_1261.f0 = p_51;
-+        else {
-+          g_1255.f0 = p_53.f3;
-+          int *l_1422 = g_834.f0 = g_144.f4 != (*l_1422)++ > 0 < 0 ^ 51;
-+          g_555 = ~0;
-+          g_1092_0 |= func_50___trans_tmp_31;
-+        }
-+      }
-+  }
-+}
--- 
-2.18.4
-
diff --git a/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch b/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch
deleted file mode 100644
index 1aea1f9b18a14..0000000000000
--- a/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3d0135bf3be416bbe2531dc763d19b749eb2b856 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Sat, 17 Apr 2021 11:27:14 +0200
-Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
-
-As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
-glibc 2.34 and later, so
-static const uptr kAltStackSize = SIGSTKSZ * 4;
-needs dynamic initialization, but is used by a function called indirectly
-from .preinit_array and therefore before the variable is constructed.
-This results in using 0 size instead and all asan instrumented programs
-die with:
-==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
-
-Here is a cherry-pick from upstream to fix this.
-
-2021-04-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/100114
-	* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
-	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
-	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
-
-(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
----
- .../sanitizer_common/sanitizer_posix_libcdep.cc     | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-index d2fd76a6d36..1917e29ced2 100644
---- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
- 
- #if !SANITIZER_GO
- // TODO(glider): different tools may require different altstack size.
--static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
-+static uptr GetAltStackSize() {
-+  // SIGSTKSZ is not enough.
-+  static const uptr kAltStackSize = SIGSTKSZ * 4;
-+  return kAltStackSize;
-+}
- 
- void SetAlternateSignalStack() {
-   stack_t altstack, oldstack;
-@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
-   // TODO(glider): the mapped stack should have the MAP_STACK flag in the
-   // future. It is not required by man 2 sigaltstack now (they're using
-   // malloc()).
--  void* base = MmapOrDie(kAltStackSize, __func__);
--  altstack.ss_sp = (char*) base;
-+  altstack.ss_size = GetAltStackSize();
-+  altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
-   altstack.ss_flags = 0;
--  altstack.ss_size = kAltStackSize;
-   CHECK_EQ(0, sigaltstack(&altstack, nullptr));
- }
- 
-@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
-   stack_t altstack, oldstack;
-   altstack.ss_sp = nullptr;
-   altstack.ss_flags = SS_DISABLE;
--  altstack.ss_size = kAltStackSize;  // Some sane value required on Darwin.
-+  altstack.ss_size = GetAltStackSize();  // Some sane value required on Darwin.
-   CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
-   UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
- }
--- 
-2.27.0
-
diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix
index 9eda241f6d3ac..55636b8ab51cd 100644
--- a/pkgs/development/compilers/gcc/patches/default.nix
+++ b/pkgs/development/compilers/gcc/patches/default.nix
@@ -175,9 +175,6 @@ in
 
 ## gcc 11.0 and older ##############################################################################
 
-# https://github.com/osx-cross/homebrew-avr/issues/280#issuecomment-1272381808
-++ optional (is11 && stdenv.isDarwin && targetPlatform.isAvr) ./avr-gcc-11.3-darwin.patch
-
 # libgcc’s `configure` script misdetects aarch64-darwin, resulting in an invalid deployment target.
 ++ optional (is11 && stdenv.isDarwin && stdenv.isAarch64) ./11/libgcc-aarch64-darwin-detection.patch
 
@@ -218,6 +215,11 @@ in
 # which is not supported by the clang integrated assembler used by default on Darwin.
 ++ optional (is8 && hostPlatform.isDarwin) ./8/gcc8-darwin-as-gstabs.patch
 
+# Make avr-gcc8 build on aarch64-darwin
+# avr-gcc8 is maintained for the `qmk` package
+# https://github.com/osx-cross/homebrew-avr/blob/main/Formula/avr-gcc%408.rb#L69
+++ optional (is8 && targetPlatform.isAvr && hostPlatform.isDarwin && hostPlatform.isAarch64) ./8/avr-gcc-8-darwin.patch
+
 
 ## gcc 7.0 and older ##############################################################################
 
diff --git a/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch b/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch
deleted file mode 100644
index e2155cd0c982d..0000000000000
--- a/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2bf34b9f4e446bf9be7f04458058dd5319fb396e
-https://gcc.gnu.org/PR100379 
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -366,15 +366,6 @@ static void ioctl_table_fill() {
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
--  _(CYGETDEFTHRESH, WRITE, sizeof(int));
--  _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
--  _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
--  _(CYGETTHRESH, WRITE, sizeof(int));
--  _(CYGETTIMEOUT, WRITE, sizeof(int));
--  _(CYSETDEFTHRESH, NONE, 0);
--  _(CYSETDEFTIMEOUT, NONE, 0);
--  _(CYSETTHRESH, NONE, 0);
--  _(CYSETTIMEOUT, NONE, 0);
-   _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
-   _(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
-   _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t;
- # include <sys/procfs.h>
- #endif
- #include <sys/user.h>
--#include <linux/cyclades.h>
- #include <linux/if_eql.h>
- #include <linux/if_plip.h>
- #include <linux/lp.h>
-@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
--  unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
- #if EV_VERSION > (0x010000)
-   unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
- #else
-@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- #endif // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--  unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
--  unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
--  unsigned IOCTL_CYGETMON = CYGETMON;
--  unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
--  unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
--  unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
--  unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
--  unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
--  unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
-   unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
-   unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
-   unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz;
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- extern unsigned struct_ax25_parms_struct_sz;
--extern unsigned struct_cyclades_monitor_sz;
- extern unsigned struct_input_keymap_entry_sz;
- extern unsigned struct_ipx_config_data_sz;
- extern unsigned struct_kbdiacrs_sz;
-@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE;
- #endif  // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--extern unsigned IOCTL_CYGETDEFTHRESH;
--extern unsigned IOCTL_CYGETDEFTIMEOUT;
--extern unsigned IOCTL_CYGETMON;
--extern unsigned IOCTL_CYGETTHRESH;
--extern unsigned IOCTL_CYGETTIMEOUT;
--extern unsigned IOCTL_CYSETDEFTHRESH;
--extern unsigned IOCTL_CYSETDEFTIMEOUT;
--extern unsigned IOCTL_CYSETTHRESH;
--extern unsigned IOCTL_CYSETTIMEOUT;
- extern unsigned IOCTL_EQL_EMANCIPATE;
- extern unsigned IOCTL_EQL_ENSLAVE;
- extern unsigned IOCTL_EQL_GETMASTRCFG;
--- 
-2.33.0
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch b/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch
deleted file mode 100644
index 6e1ddb252c24c..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 17 Jul 2017 19:41:08 +0000
-Subject: [PATCH] 	Backported from mainline 	2017-07-14  Jakub
- Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81066
-	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
-	* sanitizer_common/sanitizer_linux.cc: Likewise.
-	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
-	* tsan/tsan_platform_linux.cc: Likewise.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@250287 138bc75d-0d04-0410-961f-82ee72b054a4
----
- libsanitizer/ChangeLog  (REMOVED)                             | 11 +++++++++++
- libsanitizer/sanitizer_common/sanitizer_linux.cc              |  3 +--
- libsanitizer/sanitizer_common/sanitizer_linux.h               |  4 +---
- .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc  |  2 +-
- libsanitizer/tsan/tsan_platform_linux.cc                      |  2 +-
- 5 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-index 806fcd5..5b6f186 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-@@ -605,8 +605,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
- 
--uptr internal_sigaltstack(const struct sigaltstack *ss,
--                         struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
-   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
- 
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
-index 895bfc1..a42df57 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
-@@ -19,7 +19,6 @@
- #include "sanitizer_platform_limits_posix.h"
- 
- struct link_map;  // Opaque type returned by dlopen().
--struct sigaltstack;
- 
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -28,8 +27,7 @@ struct linux_dirent;
- 
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
--                          struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
-     __sanitizer_sigset_t *oldset);
- 
-diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-index 891386dc..234e8c6 100644
---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -273,7 +273,7 @@ static int TracerThread(void* argument) {
- 
-   // Alternate stack for signal handling.
-   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
--  struct sigaltstack handler_stack;
-+  stack_t handler_stack;
-   internal_memset(&handler_stack, 0, sizeof(handler_stack));
-   handler_stack.ss_sp = handler_stack_memory.data();
-   handler_stack.ss_size = kHandlerStackSize;
-diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
-index 2ed5718..6f972ab 100644
---- a/libsanitizer/tsan/tsan_platform_linux.cc
-+++ b/libsanitizer/tsan/tsan_platform_linux.cc
-@@ -287,7 +287,7 @@ void InitializePlatform() {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   int cnt = 0;
--  __res_state *statp = (__res_state*)state;
-+  struct __res_state *statp = (struct __res_state*)state;
-   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
-     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
-       fds[cnt++] = statp->_u._ext.nssocks[i];
--- 
-2.9.3
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch b/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch
deleted file mode 100644
index a84e9ffe26811..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-Trivally backported the upstream commit
-b685411208e0aaa79190d54faf945763514706b8
-(different directory, some files not present, etc.)
-We only really use x86* from those, probably, so I didn't bother much.
-diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
-index bdbba4a..e84812e 100644
---- a/gcc/config/alpha/linux-unwind.h
-+++ b/gcc/config/alpha/linux-unwind.h
-@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       sc = &rt_->uc.uc_mcontext;
-     }
-diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
-index 77b7c23..8bf5e82 100644
---- a/gcc/config/bfin/linux-unwind.h
-+++ b/gcc/config/bfin/linux-unwind.h
-@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
- 	void *puc;
- 	char retcode[8];
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
- 
-       /* The void * cast is necessary to avoid an aliasing warning.
-diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
-index 540a0a2..29efbe3 100644
---- a/gcc/config/i386/linux-unwind.h
-+++ b/gcc/config/i386/linux-unwind.h
-@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
-   if (*(unsigned char *)(pc+0) == 0x48
-       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
-     {
--      struct ucontext *uc_ = context->cfa;
-+      ucontext_t *uc_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-          because it does not alias anything.  */
-@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
- 	siginfo_t *pinfo;
- 	void *puc;
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-diff --git a/gcc/config/m68k/linux-unwind.h b/gcc/config/m68k/linux-unwind.h
-index 75b7cf7..f964e24 100644
---- a/gcc/config/m68k/linux-unwind.h
-+++ b/gcc/config/m68k/linux-unwind.h
-@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
- /* <sys/ucontext.h> is unfortunately broken right now.  */
- struct uw_ucontext {
- 	unsigned long	  uc_flags;
--	struct ucontext  *uc_link;
-+	ucontext_t	 *uc_link;
- 	stack_t		  uc_stack;
- 	mcontext_t	  uc_mcontext;
- 	unsigned long	  uc_filler[80];
-diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
-index 9a2657f..e47493d 100644
---- a/gcc/config/pa/linux-unwind.h
-+++ b/gcc/config/pa/linux-unwind.h
-@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
-   struct sigcontext *sc;
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *frame;
- 
-   /* rt_sigreturn trampoline:
-diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
-index e389cac..0bf43ba 100644
---- a/gcc/config/sh/linux-unwind.h
-+++ b/gcc/config/sh/linux-unwind.h
-@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
-index 9872492..586a9d4 100644
---- a/gcc/config/xtensa/linux-unwind.h
-+++ b/gcc/config/xtensa/linux-unwind.h
-@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
- 
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *rt_;
- 
-   /* movi a2, __NR_rt_sigreturn; syscall */
--- 
-2.9.3
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch b/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch
deleted file mode 100644
index 3892a56954e08..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/libjava/include/x86_64-signal.h
-+++ a/libjava/include/x86_64-signal.h
-@@ -28,7 +28,7 @@
- #define HANDLE_DIVIDE_OVERFLOW						\
- do									\
- {									\
--  struct ucontext *_uc = (struct ucontext *)_p;				\
-+  ucontext_t *_uc = (ucontext_t *)_p;					\
-   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
-   unsigned char *_rip = (unsigned char *)_gregs[REG_RIP];		\
- 									\
---- a/libjava/include/i386-signal.h
-+++ a/libjava/include/i386-signal.h
-@@ -29,7 +29,7 @@
- #define HANDLE_DIVIDE_OVERFLOW						\
- do									\
- {									\
--  struct ucontext *_uc = (struct ucontext *)_p;				\
-+  ucontext_t *_uc = (ucontext_t *)_p;					\
-   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
-   unsigned char *_eip = (unsigned char *)_gregs[REG_EIP];		\
- 									\
---- a/libjava/include/s390-signal.h
-+++ a/libjava/include/s390-signal.h
-@@ -51,7 +51,7 @@
-   struct                                                                \
-   {                                                                     \
-     unsigned long int uc_flags;                                         \
--    struct ucontext *uc_link;                                           \
-+    ucontext_t *uc_link;                                                \
-     stack_t uc_stack;                                                   \
-     mcontext_t uc_mcontext;                                             \
-     unsigned long sigmask[2];                                           \
diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix
index d7d2578cdc494..58e61604cd61a 100644
--- a/pkgs/development/compilers/ghc/8.6.5-binary.nix
+++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix
@@ -10,7 +10,9 @@
 assert stdenv.targetPlatform == stdenv.hostPlatform;
 
 let
-  useLLVM = !stdenv.targetPlatform.isx86;
+  useLLVM = !(stdenv.targetPlatform.isx86
+              || stdenv.targetPlatform.isPower
+              || stdenv.targetPlatform.isSparc);
 
   useNcurses6 = stdenv.hostPlatform.system == "x86_64-linux"
                 || (with stdenv.hostPlatform; isPower64 && isLittleEndian);
@@ -38,7 +40,7 @@ let
     targetPackages.stdenv.cc.bintools
     coreutils # for cat
   ]
-  ++ lib.optionals useLLVM [
+  ++ lib.optionals (assert useLLVM -> !(llvmPackages == null); useLLVM) [
     (lib.getBin llvmPackages.llvm)
   ]
   # On darwin, we need unwrapped bintools as well (for otool)
@@ -66,10 +68,6 @@ stdenv.mkDerivation rec {
       url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-fedora27-linux.tar.xz";
       sha256 = "18dlqm5d028fqh6ghzn7pgjspr5smw030jjzl3kq6q1kmwzbay6g";
     };
-    aarch64-linux = {
-      url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz";
-      sha256 = "11n7l2a36i5vxzzp85la2555q4m34l747g0pnmd81cp46y85hlhq";
-    };
     x86_64-darwin = {
       url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
       sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz";
@@ -216,7 +214,12 @@ stdenv.mkDerivation rec {
 
   meta = rec {
     license = lib.licenses.bsd3;
-    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "powerpc64le-linux" ];
+    platforms = [
+      "x86_64-linux"
+      "i686-linux"
+      "x86_64-darwin"
+      "powerpc64le-linux"
+    ];
     # build segfaults, use ghc8102Binary which has proper musl support instead
     broken = stdenv.hostPlatform.isMusl;
     maintainers = with lib.maintainers; [
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
deleted file mode 100644
index b00b6183121d9..0000000000000
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ /dev/null
@@ -1,381 +0,0 @@
-{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
-
-# build-tools
-, bootPkgs
-, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
-, bash
-
-, libiconv ? null, ncurses
-
-, # GHC can be built with system libffi or a bundled one.
-  libffi ? null
-
-, useLLVM ? !(stdenv.targetPlatform.isx86
-              || stdenv.targetPlatform.isPower
-              || stdenv.targetPlatform.isSparc)
-, # LLVM is conceptually a run-time-only dependency, but for
-  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
-  # build-time dependency too.
-  buildTargetLlvmPackages, llvmPackages
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
-  # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp
-                          && lib.meta.availableOn stdenv.targetPlatform gmp)
-, gmp
-
-, # If enabled, use -fPIC when compiling static libs.
-  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
-
-, enableProfiledLibs ? true
-
-, # Whether to build dynamic libs for the standard library (on the target
-  # platform). Static libs are always built.
-  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
-
-, # Whether to build terminfo.
-  enableTerminfo ? !stdenv.targetPlatform.isWindows
-
-, # What flavour to build. An empty string indicates no
-  # specific flavour and falls back to ghc default values.
-  ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
-    (if useLLVM then "perf-cross" else "perf-cross-ncg")
-
-, #  Whether to build sphinx documentation.
-  enableDocs ? (
-    # Docs disabled for musl and cross because it's a large task to keep
-    # all `sphinx` dependencies building in those environments.
-    # `sphinx` pullls in among others:
-    # Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
-    (stdenv.targetPlatform == stdenv.hostPlatform)
-    && !stdenv.hostPlatform.isMusl
-  )
-
-, enableHaddockProgram ?
-    # Disabled for cross; see note [HADDOCK_DOCS].
-    (stdenv.targetPlatform == stdenv.hostPlatform)
-
-, # Whether to disable the large address space allocator
-  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
-  disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
-}:
-
-assert !enableIntegerSimple -> gmp != null;
-
-# Cross cannot currently build the `haddock` program for silly reasons,
-# see note [HADDOCK_DOCS].
-assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
-
-let
-  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
-
-  inherit (bootPkgs) ghc;
-
-  # TODO(@Ericson2314) Make unconditional
-  targetPrefix = lib.optionalString
-    (targetPlatform != hostPlatform)
-    "${targetPlatform.config}-";
-
-  buildMK = dontStrip: ''
-    BuildFlavour = ${ghcFlavour}
-    ifneq \"\$(BuildFlavour)\" \"\"
-    include mk/flavours/\$(BuildFlavour).mk
-    endif
-    BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
-    BUILD_SPHINX_PDF = NO
-  '' +
-  # Note [HADDOCK_DOCS]:
-  # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
-  # program is built (which we generally always want to have a complete GHC install)
-  # and whether it is run on the GHC sources to generate hyperlinked source code
-  # (which is impossible for cross-compilation); see:
-  # https://gitlab.haskell.org/ghc/ghc/-/issues/20077
-  # This implies that currently a cross-compiled GHC will never have a `haddock`
-  # program, so it can never generate haddocks for any packages.
-  # If this is solved in the future, we'd like to unconditionally
-  # build the haddock program (removing the `enableHaddockProgram` option).
-  ''
-    HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
-    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
-    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
-  ''
-    # We only need to build stage1 on most cross-compilation because
-    # we will be running the compiler on the native system. In some
-    # situations, like native Musl compilation, we need the compiler
-    # to actually link to our new Libc. The iOS simulator is a special
-    # exception because we can’t actually run simulators binaries
-    # ourselves.
-  + lib.optionalString (targetPlatform != hostPlatform) ''
-    Stage1Only = ${if (targetPlatform.system == hostPlatform.system && !targetPlatform.isiOS) then "NO" else "YES"}
-    CrossCompilePrefix = ${targetPrefix}
-  '' + lib.optionalString dontStrip ''
-    STRIP_CMD = :
-  '' + lib.optionalString (!enableProfiledLibs) ''
-    GhcLibWays = "v dyn"
-  '' + lib.optionalString enableRelocatedStaticLibs ''
-    GhcLibHcOpts += -fPIC
-    GhcRtsHcOpts += -fPIC
-  '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
-    EXTRA_CC_OPTS += -std=gnu99
-  ''
-  # While split sections are now enabled by default in ghc 8.8 for windows,
-  # they seem to lead to `too many sections` errors when building base for
-  # profiling.
-  + lib.optionalString targetPlatform.isWindows ''
-    SplitSections = NO
-  '';
-
-  # Splicer will pull out correct variations
-  libDeps = platform: lib.optional enableTerminfo ncurses
-    ++ [libffi]
-    ++ lib.optional (!enableIntegerSimple) gmp
-    ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
-
-  # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
-  # GHC doesn't seem to have {LLC,OPT}_HOST
-  toolsForTarget = [
-    pkgsBuildTarget.targetPackages.stdenv.cc
-  ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
-
-  targetCC = builtins.head toolsForTarget;
-
-  # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
-  # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
-  # see #84670 and #49071 for more background.
-  useLdGold = targetPlatform.linker == "gold" ||
-    (targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
-
-  # Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
-  variantSuffix = lib.concatStrings [
-    (lib.optionalString stdenv.hostPlatform.isMusl "-musl")
-    (lib.optionalString enableIntegerSimple "-integer-simple")
-  ];
-
-in
-
-# C compiler, bintools and LLVM are used at build time, but will also leak into
-# the resulting GHC's settings file and used at runtime. This means that we are
-# currently only able to build GHC if hostPlatform == buildPlatform.
-assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
-assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
-assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
-
-stdenv.mkDerivation (rec {
-  version = "8.8.4";
-  pname = "${targetPrefix}ghc${variantSuffix}";
-
-  src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "0bgwbxxvdn56l91bp9p5d083gzcfdi6z8l8b17qzjpr3n8w5wl7h";
-  };
-
-  enableParallelBuilding = true;
-
-  outputs = [ "out" "doc" ];
-
-  patches = [
-    # Fix docs build with sphinx >= 6.0
-    # https://gitlab.haskell.org/ghc/ghc/-/issues/22766
-    ./ghc-8.8.4-sphinx-6.0.patch
-
-    # See upstream patch at
-    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
-    # from source distributions, the auto-generated configure script needs to be
-    # patched as well, therefore we use an in-tree patch instead of pulling the
-    # upstream patch. Don't forget to check backport status of the upstream patch
-    # when adding new GHC releases in nixpkgs.
-    ./respect-ar-path.patch
-    # Fix documentation configuration which causes a syntax error with sphinx 4.*
-    # See also https://gitlab.haskell.org/ghc/ghc/-/issues/19962
-    ./sphinx-4-configuration.patch
-    # cabal passes incorrect --host= when cross-compiling
-    # https://github.com/haskell/cabal/issues/5887
-    (fetchpatch {
-            url = "https://raw.githubusercontent.com/input-output-hk/haskell.nix/122bd81150386867da07fdc9ad5096db6719545a/overlays/patches/ghc/cabal-host.patch";
-      sha256 = "sha256:0yd0sajgi24sc1w5m55lkg2lp6kfkgpp3lgija2c8y3cmkwfpdc1";
-    })
-
-    # error: 'VirtualAllocExNuma' redeclared as different kind of symbol
-    # name conflict between rts/win32/OSMem.c and winbase.h from the mingw-w64 runtime package
-    # Renamed to match ghc8.8:
-    # https://gitlab.haskell.org/ghc/ghc/-/commit/4b431f334018eaef2cf36de3316025c68c922915#20d64c0bdc272817149d1d5cf20a73a8b5fd637f
-    ./rename-numa-api-call.patch
-  ];
-
-  postPatch = "patchShebangs .";
-
-  # GHC is a bit confused on its cross terminology.
-  # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
-  preConfigure =
-    # Aarch64 allow backward bootstrapping since earlier versions are unstable.
-    # Same for musl, as earlier versions do not provide a musl bindist for bootstrapping.
-    lib.optionalString (stdenv.isAarch64 || stdenv.hostPlatform.isMusl) ''
-      find . -name \*\.cabal\* -exec sed -i -e 's/\(base.*\)4.14/\14.16/' {} \; \
-        -exec sed -i -e 's/\(prim.*\)0.6/\10.8/' {} \;
-    ''
-  + ''
-    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
-      export "''${env#TARGET_}=''${!env}"
-    done
-    # GHC is a bit confused on its cross terminology, as these would normally be
-    # the *host* tools.
-    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
-    export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
-    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
-    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
-    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
-    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
-    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
-    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
-    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
-  '' + lib.optionalString useLLVM ''
-    export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
-    export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
-  '' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
-    # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
-    export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
-  '' + ''
-
-    echo -n "${buildMK dontStrip}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
-  '' + lib.optionalString stdenv.isDarwin ''
-    export NIX_LDFLAGS+=" -no_dtrace_dof"
-  '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
-    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
-  '' + lib.optionalString targetPlatform.isMusl ''
-      echo "patching llvm-targets for musl targets..."
-      echo "Cloning these existing '*-linux-gnu*' targets:"
-      grep linux-gnu llvm-targets | sed 's/^/  /'
-      echo "(go go gadget sed)"
-      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
-      echo "llvm-targets now contains these '*-linux-musl*' targets:"
-      grep linux-musl llvm-targets | sed 's/^/  /'
-
-      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
-      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
-      for x in configure aclocal.m4; do
-        substituteInPlace $x \
-          --replace '*-android*|*-gnueabi*)' \
-                    '*-android*|*-gnueabi*|*-musleabi*)'
-      done
-  '';
-
-  # TODO(@Ericson2314): Always pass "--target" and always prefix.
-  configurePlatforms = [ "build" "host" ]
-    ++ lib.optional (targetPlatform != hostPlatform) "target";
-
-  # `--with` flags for libraries needed for RTS linker
-  configureFlags = [
-    "--datadir=$doc/share/doc/ghc"
-    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
-  ] ++ lib.optionals (libffi != null) [
-    "--with-system-libffi"
-    "--with-ffi-includes=${targetPackages.libffi.dev}/include"
-    "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
-  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
-    "--with-gmp-includes=${targetPackages.gmp.dev}/include"
-    "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
-  ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
-    "--with-iconv-includes=${libiconv}/include"
-    "--with-iconv-libraries=${libiconv}/lib"
-  ] ++ lib.optionals (targetPlatform != hostPlatform) [
-    "--enable-bootstrap-with-devel-snapshot"
-  ] ++ lib.optionals useLdGold [
-    "CFLAGS=-fuse-ld=gold"
-    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
-    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
-  ] ++ lib.optionals (disableLargeAddressSpace) [
-    "--disable-large-address-space"
-  ];
-
-  # Make sure we never relax`$PATH` and hooks support for compatibility.
-  strictDeps = true;
-
-  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
-  dontAddExtraLibs = true;
-
-  nativeBuildInputs = [
-    perl autoconf automake m4 python3
-    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
-  ] ++ lib.optionals enableDocs [
-    sphinx
-  ];
-
-  # For building runtime libs
-  depsBuildTarget = toolsForTarget;
-
-  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
-
-  depsTargetTarget = map lib.getDev (libDeps targetPlatform);
-  depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
-
-  checkTarget = "test";
-
-  hardeningDisable =
-    [ "format" ]
-    # In nixpkgs, musl based builds currently enable `pie` hardening by default
-    # (see `defaultHardeningFlags` in `make-derivation.nix`).
-    # But GHC cannot currently produce outputs that are ready for `-pie` linking.
-    # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
-    # See:
-    # * https://github.com/NixOS/nixpkgs/issues/129247
-    # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
-    ++ lib.optional stdenv.targetPlatform.isMusl "pie";
-
-  postInstall = ''
-    # Install the bash completion file.
-    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-  '';
-
-  passthru = {
-    inherit bootPkgs targetPrefix;
-
-    inherit llvmPackages;
-    inherit enableShared;
-
-    # This is used by the haskell builder to query
-    # the presence of the haddock program.
-    hasHaddock = enableHaddockProgram;
-
-    # Our Cabal compiler name
-    haskellCompilerName = "ghc-${version}";
-  };
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = with lib.maintainers; [
-      guibou
-    ] ++ lib.teams.haskell.members;
-    timeout = 24 * 3600;
-    inherit (ghc.meta) license;
-    # hardcode platforms because the bootstrap GHC differs depending on the platform,
-    # with differing platforms available for each of them; See HACK comment in
-    # 8.10.2-binary.nix for an explanation of the musl special casing.
-    platforms = [
-      "x86_64-linux"
-    ] ++ lib.optionals (!hostPlatform.isMusl) [
-      "i686-linux"
-      "aarch64-linux"
-      "x86_64-darwin"
-    ];
-    # integer-simple builds are broken with musl when bootstrapping using
-    # GHC 8.10.2 and below, however it is not possible to reverse bootstrap
-    # GHC 8.8.4 with GHC 8.10.7.
-    # See https://github.com/NixOS/nixpkgs/pull/138523#issuecomment-927339953
-    broken = hostPlatform.isMusl && enableIntegerSimple;
-  };
-
-  dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
-
-} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt{
-  dontPatchELF = true;
-  noAuditTmpdir = true;
-})
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 83b986be2b328..8bc9a58351773 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -477,6 +477,14 @@ stdenv.mkDerivation ({
   preInstall = ''
     pushd _build/bindist/*
 
+  ''
+  # the bindist configure script uses different env variables than the GHC configure script
+  # see https://github.com/NixOS/nixpkgs/issues/267250 and https://gitlab.haskell.org/ghc/ghc/-/issues/24211
+  + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+    export InstallNameToolCmd=$INSTALL_NAME_TOOL
+    export OtoolCmd=$OTOOL
+  ''
+  + ''
     $configureScript $configureFlags "''${configureFlagsArray[@]}"
   '';
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 6b8d657f34ec7..a6fff5feb6b01 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 import ./common-hadrian.nix {
-  version = "9.9.20231014";
-  rev = "13d3c613c3c1e4942c698449bdf58a6a13b76695";
-  sha256 = "13xp4ijnym2qbw2qbxkvfb79l7034vrcm9j2j9kirbhjxzdshvx9";
+  version = "9.9.20231121";
+  rev = "955520c6c4f07187b6d5e4770ecf681cc78374f2";
+  sha256 = "0pv77khciv513aw64pfac5p60xn5z90rxl84dcalj6knmbhm8dqy";
 }
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index b2a5561dcf4dc..db03d2d85ca25 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -30,16 +30,16 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.14828.8";
+  version = "1.0.15136.4";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    hash = "sha256-BGmZVBEw7XlgbQcWgRK+qbJS9U4Sm9G8g9m0GRUhmCI=";
+    hash = "sha256-Qh3FNck1z+rr7eSqxVnNs7YKvgXpKGY5dd3yx1Ft9Mg=";
   };
 
-  nativeBuildInputs = [ bison cmake flex python3 ];
+  nativeBuildInputs = [ bison cmake flex (python3.withPackages (ps : with ps; [ mako ])) ];
 
   buildInputs = [ lld llvm spirv-headers spirv-llvm-translator' spirv-tools ];
 
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index 9d5e53700c176..0a76f0ae31da5 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -9,6 +9,7 @@
 , unzip
 , rsync
 , debugBuild ? false
+, withJcef ? true
 
 , libXdamage
 , libXxf86vm
@@ -27,6 +28,8 @@
 , udev
 }:
 
+assert debugBuild -> withJcef;
+
 let
   arch = {
     "aarch64-linux" = "aarch64";
@@ -35,37 +38,36 @@ let
   cpu = stdenv.hostPlatform.parsed.cpu.name;
 in
 openjdk17.overrideAttrs (oldAttrs: rec {
-  pname = "jetbrains-jdk-jcef";
-  javaVersion = "17.0.7";
-  build = "829.16";
+  pname = "jetbrains-jdk" + lib.optionalString withJcef "-jcef";
+  javaVersion = "17.0.8";
+  build = "1000.8";
   # To get the new tag:
   # git clone https://github.com/jetbrains/jetbrainsruntime
   # cd jetbrainsruntime
   # git reset --hard [revision]
-  # git log --simplify-by-decoration --decorate=short --pretty=short | grep "jdk-" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1
-  openjdkTag = "jdk-18+0";
+  # git log --simplify-by-decoration --decorate=short --pretty=short | grep "jbr-" --color=never | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ","
+  openjdkTag = "jbr-17.0.7+7";
   version = "${javaVersion}-b${build}";
 
   src = fetchFromGitHub {
     owner = "JetBrains";
     repo = "JetBrainsRuntime";
     rev = "jb${version}";
-    hash = "sha256-b3wW52knkYUeG8h4naTQLGUedhAMiPnUsn3zFAiJCwM=";
+    hash = "sha256-PXS8wRF37D9vzeC4CvmB3szFMbt+NRqhQqtPZcbeAO8=";
   };
 
   BOOT_JDK = openjdk17-bootstrap.home;
-  SOURCE_DATE_EPOCH = 1666098567;
+  # run `git log -1 --pretty=%ct` in jdk repo for new value on update
+  SOURCE_DATE_EPOCH = 1691119859;
 
-  patches = [];
+  patches = [ ];
 
-  # Configure is done in build phase
-  configurePhase = "true";
+  dontConfigure = true;
 
   buildPhase = ''
     runHook preBuild
 
-    mkdir -p jcef_linux_${arch}/jmods
-    cp ${jetbrains.jcef}/* jcef_linux_${arch}/jmods
+    ${lib.optionalString withJcef "cp -r ${jetbrains.jcef} jcef_linux_${arch}"}
 
     sed \
         -e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \
@@ -79,64 +81,66 @@ openjdk17.overrideAttrs (oldAttrs: rec {
         -i jb/project/tools/linux/scripts/mkimages_${arch}.sh
 
     patchShebangs .
-    ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${if debugBuild then "fd" else "jcef"}
+    ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${if debugBuild then "fd" else (if withJcef then "jcef" else "nomod")}
 
     runHook postBuild
   '';
 
-  installPhase = let
-    buildType = if debugBuild then "fastdebug" else "release";
-    debugSuffix = lib.optionalString debugBuild "-fastdebug";
-    jcefSuffix = lib.optionalString (!debugBuild) "_jcef";
-  in ''
-    runHook preInstall
-
-    mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/jbrsdk${jcefSuffix}-${javaVersion}-linux-${arch}${debugSuffix}-b${build}
-    rm -rf build/linux-${cpu}-server-${buildType}/images/jdk
-    mv build/linux-${cpu}-server-${buildType}/images/jbrsdk${jcefSuffix}-${javaVersion}-linux-${arch}${debugSuffix}-b${build} build/linux-${cpu}-server-${buildType}/images/jdk
-  '' + oldAttrs.installPhase + "runHook postInstall";
-
-  postInstall = ''
+  installPhase =
+    let
+      buildType = if debugBuild then "fastdebug" else "release";
+      debugSuffix = if debugBuild then "-fastdebug" else "";
+      jcefSuffix = if debugBuild || !withJcef then "" else "_jcef";
+      jbrsdkDir = "jbrsdk${jcefSuffix}-${javaVersion}-linux-${arch}${debugSuffix}-b${build}";
+    in
+    ''
+      runHook preInstall
+
+      rm -rf build/linux-${cpu}-server-${buildType}/images/jdk
+      mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk
+    '' + oldAttrs.installPhase + "runHook postInstall";
+
+  postInstall = lib.optionalString withJcef ''
     chmod +x $out/lib/openjdk/lib/chrome-sandbox
   '';
 
   dontStrip = debugBuild;
 
   postFixup = ''
-      # Build the set of output library directories to rpath against
-      LIBDIRS="${lib.makeLibraryPath [
-        libXdamage libXxf86vm libXrandr libXi libXcursor libXrender libX11 libXext libxcb
-        nss nspr libdrm mesa wayland udev
-      ]}"
-      for output in $outputs; do
-        if [ "$output" = debug ]; then continue; fi
-        LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS"
+    # Build the set of output library directories to rpath against
+    LIBDIRS="${lib.makeLibraryPath [
+      libXdamage libXxf86vm libXrandr libXi libXcursor libXrender libX11 libXext libxcb
+      nss nspr libdrm mesa wayland udev
+    ]}"
+    for output in $outputs; do
+      if [ "$output" = debug ]; then continue; fi
+      LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS"
+    done
+    # Add the local library paths to remove dependencies on the bootstrap
+    for output in $outputs; do
+      if [ "$output" = debug ]; then continue; fi
+      OUTPUTDIR=$(eval echo \$$output)
+      BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
+      echo "$BINLIBS" | while read i; do
+        patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
+        patchelf --shrink-rpath "$i" || true
       done
-      # Add the local library paths to remove dependencies on the bootstrap
-      for output in $outputs; do
-        if [ "$output" = debug ]; then continue; fi
-        OUTPUTDIR=$(eval echo \$$output)
-        BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
-        echo "$BINLIBS" | while read i; do
-          patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
-          patchelf --shrink-rpath "$i" || true
-        done
-      done
-    '';
+    done
+  '';
 
   nativeBuildInputs = [ git autoconf unzip rsync ] ++ oldAttrs.nativeBuildInputs;
 
   meta = with lib; {
     description = "An OpenJDK fork to better support Jetbrains's products.";
     longDescription = ''
-     JetBrains Runtime is a runtime environment for running IntelliJ Platform
-     based products on Windows, Mac OS X, and Linux. JetBrains Runtime is
-     based on OpenJDK project with some modifications. These modifications
-     include: Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI
-     support, ligatures, some fixes for native crashes not presented in
-     official build, and other small enhancements.
-     JetBrains Runtime is not a certified build of OpenJDK. Please, use at
-     your own risk.
+      JetBrains Runtime is a runtime environment for running IntelliJ Platform
+      based products on Windows, Mac OS X, and Linux. JetBrains Runtime is
+      based on OpenJDK project with some modifications. These modifications
+      include: Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI
+      support, ligatures, some fixes for native crashes not presented in
+      official build, and other small enhancements.
+      JetBrains Runtime is not a certified build of OpenJDK. Please, use at
+      your own risk.
     '';
     homepage = "https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime";
     inherit (openjdk17.meta) license platforms mainProgram;
diff --git a/pkgs/development/compilers/jetbrains-jdk/jcef.nix b/pkgs/development/compilers/jetbrains-jdk/jcef.nix
index a36eae8be52d3..6b688e32ba502 100644
--- a/pkgs/development/compilers/jetbrains-jdk/jcef.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/jcef.nix
@@ -44,60 +44,62 @@
 assert !stdenv.isDarwin;
 # I can't test darwin
 
-let rpath = lib.makeLibraryPath [
-  glib
-  nss
-  nspr
-  atk
-  at-spi2-atk
-  libdrm
-  expat
-  libxcb
-  libxkbcommon
-  libX11
-  libXcomposite
-  libXdamage
-  libXext
-  libXfixes
-  libXrandr
-  mesa
-  gtk3
-  pango
-  cairo
-  alsa-lib
-  dbus
-  at-spi2-core
-  cups
-  libxshmfence
-  udev
-];
-
-buildType = if debugBuild then "Debug" else "Release";
-platform = {
-  "aarch64-linux" = "linuxarm64";
-  "x86_64-linux" = "linux64";
-}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
-arches = {
-  "linuxarm64" = {
-    depsArch = "arm64";
-    projectArch = "arm64";
-    targetArch = "arm64";
-  };
-  "linux64" = {
-    depsArch = "amd64";
-    projectArch = "x86_64";
-    targetArch = "x86_64";
-  };
-}.${platform};
-inherit (arches) depsArch projectArch targetArch;
+let
+  rpath = lib.makeLibraryPath [
+    glib
+    nss
+    nspr
+    atk
+    at-spi2-atk
+    libdrm
+    expat
+    libxcb
+    libxkbcommon
+    libX11
+    libXcomposite
+    libXdamage
+    libXext
+    libXfixes
+    libXrandr
+    mesa
+    gtk3
+    pango
+    cairo
+    alsa-lib
+    dbus
+    at-spi2-core
+    cups
+    libxshmfence
+    udev
+  ];
+
+  buildType = if debugBuild then "Debug" else "Release";
+  platform = {
+    "aarch64-linux" = "linuxarm64";
+    "x86_64-linux" = "linux64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  arches = {
+    "linuxarm64" = {
+      depsArch = "arm64";
+      projectArch = "arm64";
+      targetArch = "arm64";
+    };
+    "linux64" = {
+      depsArch = "amd64";
+      projectArch = "x86_64";
+      targetArch = "x86_64";
+    };
+  }.${platform};
+  inherit (arches) depsArch projectArch targetArch;
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "jcef-jetbrains";
-  rev = "1ac1c682c497f2b864f86050796461f22935ea64";
+  rev = "9f8d4fb20b4658db6b2b6bc08e5dd0d8c7340290";
   # This is the commit number
   # Currently from the branch: https://github.com/JetBrains/jcef/tree/232
   # Run `git rev-list --count HEAD`
-  version = "672";
+  version = "675";
 
   nativeBuildInputs = [ cmake python3 jdk17 git rsync ant ninja ];
   buildInputs = [ libX11 libXdamage nss nspr ];
@@ -106,19 +108,22 @@ in stdenv.mkDerivation rec {
     owner = "jetbrains";
     repo = "jcef";
     inherit rev;
-    hash = "sha256-3HuW8upR/bZoK8euVti2KpCZh9xxfqgyHmgoG1NjxOI=";
-  };
-  cef-bin = let
-    name = "cef_binary_111.2.1+g870da30+chromium-111.0.5563.64_${platform}_minimal";
-    hash = {
-      "linuxarm64" = "sha256-gCDIfWsysXE8lHn7H+YM3Jag+mdbWwTQpJf0GKdXEVs=";
-      "linux64" = "sha256-r+zXTmDN5s/bYLvbCnHufYdXIqQmCDlbWgs5pdOpLTw=";
-    }.${platform};
-    urlName = builtins.replaceStrings ["+"] ["%2B"] name;
-  in fetchzip {
-    url = "https://cef-builds.spotifycdn.com/${urlName}.tar.bz2";
-    inherit name hash;
+    hash = "sha256-8zsgcWl0lZtC1oud5IlkUdeXxJUlHoRfw8t0FrZUQec=";
   };
+  cef-bin =
+    let
+      # `cef_binary_${CEF_VERSION}_linux64_minimal`, where CEF_VERSION is from $src/CMakeLists.txt
+      name = "cef_binary_111.2.1+g870da30+chromium-111.0.5563.64_${platform}_minimal";
+      hash = {
+        "linuxarm64" = "sha256-gCDIfWsysXE8lHn7H+YM3Jag+mdbWwTQpJf0GKdXEVs=";
+        "linux64" = "sha256-r+zXTmDN5s/bYLvbCnHufYdXIqQmCDlbWgs5pdOpLTw=";
+      }.${platform};
+      urlName = builtins.replaceStrings [ "+" ] [ "%2B" ] name;
+    in
+    fetchzip {
+      url = "https://cef-builds.spotifycdn.com/${urlName}.tar.bz2";
+      inherit name hash;
+    };
   clang-fmt = fetchurl {
     url = "https://storage.googleapis.com/chromium-clang-format/dd736afb28430c9782750fc0fd5f0ed497399263";
     hash = "sha256-4H6FVO9jdZtxH40CSfS+4VESAHgYgYxfCBFSMHdT0hE=";
@@ -228,7 +233,9 @@ in stdenv.mkDerivation rec {
     mkdir lib
     cp -R "$OUT_NATIVE_DIR"/* lib
 
-    mkdir $out
+    mkdir -p $out/jmods
+
+    bash "$JB_TOOLS_DIR"/common/create_version_file.sh $out
 
     runHook postInstall
   '';
@@ -237,11 +244,11 @@ in stdenv.mkDerivation rec {
 
   postFixup = ''
     cd $unpacked/gluegen
-    jmod create --class-path gluegen-rt.jar --libs lib $out/gluegen.rt.jmod
+    jmod create --class-path gluegen-rt.jar --libs lib $out/jmods/gluegen.rt.jmod
     cd ../jogl
-    jmod create --module-path . --class-path jogl-all.jar --libs lib $out/jogl.all.jmod
+    jmod create --module-path . --class-path jogl-all.jar --libs lib $out/jmods/jogl.all.jmod
     cd ../jcef
-    jmod create --module-path . --class-path jcef.jar --libs lib $out/jcef.jmod
+    jmod create --module-path . --class-path jcef.jar --libs lib $out/jmods/jcef.jmod
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/17/clang/default.nix
index 136a69e72161a..a576c07d36617 100644
--- a/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/17/clang/default.nix
@@ -1,72 +1,68 @@
-{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3
+{ lib, stdenv, llvm_meta
+, monorepoSrc, runCommand
+, cmake, ninja, libxml2, libllvm, version, python3
 , buildLlvmTools
 , fixDarwinDylibNames
 , enableManpages ? false
-, enablePolly ? false # TODO: get this info from llvm (passthru?)
 }:
 
 let
-  self = stdenv.mkDerivation ({
+  self = stdenv.mkDerivation (rec {
     pname = "clang";
     inherit version;
 
-    src = fetch "cfe" "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9";
-
-    unpackPhase = ''
-      unpackFile $src
-      mv cfe-${version}* clang
-      sourceRoot=$PWD/clang
-      unpackFile ${clang-tools-extra_src}
-      mv clang-tools-extra-* $sourceRoot/tools/extra
+    src = runCommand "${pname}-src-${version}" {} ''
+      mkdir -p "$out"
+      cp -r ${monorepoSrc}/cmake "$out"
+      cp -r ${monorepoSrc}/${pname} "$out"
+      cp -r ${monorepoSrc}/clang-tools-extra "$out"
     '';
 
-    nativeBuildInputs = [ cmake python3 ]
+    sourceRoot = "${src.name}/${pname}";
+
+    nativeBuildInputs = [ cmake ninja python3 ]
       ++ lib.optional enableManpages python3.pkgs.sphinx
       ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
     buildInputs = [ libxml2 libllvm ];
 
     cmakeFlags = [
-      "-DCMAKE_CXX_FLAGS=-std=c++11"
+      "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang"
+      "-DCLANGD_BUILD_XPC=OFF"
       "-DLLVM_ENABLE_RTTI=ON"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+      "-DLLVM_INCLUDE_TESTS=OFF"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
       "-DSPHINX_OUTPUT_MAN=ON"
       "-DSPHINX_OUTPUT_HTML=OFF"
       "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-    ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
       "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
       "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
-    ] ++ lib.optionals enablePolly [
-      "-DWITH_POLLY=ON"
-      "-DLINK_POLLY_INTO_TOOLS=ON"
+      # Added in LLVM15:
+      # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb
+      # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7
+      "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen"
+      "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen"
     ];
 
     patches = [
-      ../../common/clang/5-8-purity.patch
-      # make clang -xhip use $PATH to find executables
-      ./HIP-use-PATH-7.patch
-      # Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
-      # needed for our bootstrapping to not interfere with C.
-      ./unwindlib.patch
+      ./purity.patch
+      # https://reviews.llvm.org/D51899
       ./gnu-install-dirs.patch
-      (substituteAll {
-        src = ../../clang-6-10-LLVMgold-path.patch;
-        libllvmLibdir = "${libllvm.lib}/lib";
-      })
+      ../../common/clang/add-nostdlibinc-flag.patch
+      # FIMXE: do we need this patch?
+      # (substituteAll {
+      #   src = ../../clang-11-12-LLVMgold-path.patch;
+      #  libllvmLibdir = "${libllvm.lib}/lib";
+      # })
     ];
 
     postPatch = ''
-      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
-             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
-             lib/Driver/ToolChains/*.cpp
+      (cd tools && ln -s ../../clang-tools-extra extra)
     '' + lib.optionalString stdenv.hostPlatform.isMusl ''
       sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-      substituteInPlace tools/extra/clangd/CMakeLists.txt \
-        --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
     '';
 
     outputs = [ "out" "lib" "dev" "python" ];
@@ -74,23 +70,27 @@ let
     postInstall = ''
       ln -sv $out/bin/clang $out/bin/cpp
 
+      mkdir -p $lib/lib/clang
+      mv $lib/lib/17 $lib/lib/clang/17
+
       # Move libclang to 'lib' output
       moveToOutput "lib/libclang.*" "$lib"
-      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
-          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+      moveToOutput "lib/libclang-cpp.*" "$lib"
+      substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
+          --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
 
-      mkdir -p $python/bin $python/share/{clang,scan-view}
+      mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
         mv $out/bin/set-xcode-analyzer $python/bin
       fi
       mv $out/share/clang/*.py $python/share/clang
-      mv $out/share/scan-view/*.py $python/share/scan-view
       rm $out/bin/c-index-test
       patchShebangs $python/bin
 
       mkdir -p $dev/bin
-      cp bin/clang-tblgen $dev/bin
+      cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin
     '';
 
     passthru = {
@@ -118,9 +118,7 @@ let
   } // lib.optionalAttrs enableManpages {
     pname = "clang-manpages";
 
-    buildPhase = ''
-      make docs-clang-man
-    '';
+    ninjaFlags = [ "docs-clang-man" ];
 
     installPhase = ''
       mkdir -p $out/share/man/man1
diff --git a/pkgs/development/compilers/llvm/17/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/clang/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..cc8737f353433
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/clang/gnu-install-dirs.patch
@@ -0,0 +1,98 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f7936d72e088..a362fa49b534 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,7 +31,21 @@ if(CLANG_BUILT_STANDALONE)
+   find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
+   list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
+ 
+-  # Turn into CACHE PATHs for overwritting
++  # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
++  # LLVM_CONFIG.
++  if (NOT LLVM_CONFIG_FOUND)
++    # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
++    # path is removed.
++    set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
++    set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
++    # N.B. this is just a default value, the CACHE PATHs below can be overriden.
++    set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
++    set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}")
++    set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}")
++  else()
++    set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}")
++  endif()
++
+   set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
+   set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree")
+   set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree")
+diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
+index 75b0080f6715..c895b884cd27 100644
+--- a/cmake/modules/AddClang.cmake
++++ b/cmake/modules/AddClang.cmake
+@@ -119,8 +119,8 @@ macro(add_clang_library name)
+         install(TARGETS ${lib}
+           COMPONENT ${lib}
+           ${export_to_clangtargets}
+-          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
++          LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
++          ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
+           RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ 
+         if (NOT LLVM_ENABLE_IDE)
+diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
+index f2b0c5cddcbb..52f37fc368ce 100644
+--- a/lib/Headers/CMakeLists.txt
++++ b/lib/Headers/CMakeLists.txt
+@@ -473,6 +473,7 @@ add_header_target("windows-resource-headers" ${windows_only_files})
+ add_header_target("utility-resource-headers" ${utility_files})
+ 
+ get_clang_resource_dir(header_install_dir SUBDIR include)
++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${CLANG_VERSION_MAJOR}/include)
+ 
+ #############################################################
+ # Install rules for the catch-all clang-resource-headers target
+diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
+index 4f23065a2472..6a0f55991e24 100644
+--- a/tools/libclang/CMakeLists.txt
++++ b/tools/libclang/CMakeLists.txt
+@@ -234,7 +234,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
+           COMPONENT
+             libclang-python-bindings
+           DESTINATION
+-            "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
++            "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
+ endforeach()
+ if(NOT LLVM_ENABLE_IDE)
+   add_custom_target(libclang-python-bindings)
+diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt
+index 3aca22c0b0a8..3115353e3fe3 100644
+--- a/tools/scan-build-py/CMakeLists.txt
++++ b/tools/scan-build-py/CMakeLists.txt
+@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild})
+                      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib})
+   list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib})
+   install(FILES lib/libscanbuild/${lib}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild
++          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild"
+           COMPONENT scan-build-py)
+ endforeach()
+ 
+@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources})
+                      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource})
+   list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource})
+   install(FILES lib/libscanbuild/resources/${resource}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources
++          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources"
+           COMPONENT scan-build-py)
+ endforeach()
+ 
+@@ -122,7 +122,7 @@ foreach(lib ${LibEar})
+                      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib})
+   list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib})
+   install(FILES lib/libear/${lib}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear
++          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear"
+           COMPONENT scan-build-py)
+ endforeach()
+ 
diff --git a/pkgs/development/compilers/llvm/17/clang/purity.patch b/pkgs/development/compilers/llvm/17/clang/purity.patch
new file mode 100644
index 0000000000000..1c94f293eb934
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/clang/purity.patch
@@ -0,0 +1,29 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -487,13 +487,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+   } else {
+     if (Args.hasArg(options::OPT_rdynamic))
+       CmdArgs.push_back("-export-dynamic");
+
+-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE &&
+-        !Args.hasArg(options::OPT_r)) {
+-      CmdArgs.push_back("-dynamic-linker");
+-      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
+-                                           ToolChain.getDynamicLinker(Args)));
+-    }
+   }
+ 
+   CmdArgs.push_back("-o");
+-- 
+2.11.0
diff --git a/pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch
new file mode 100644
index 0000000000000..07013e5a68259
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch
@@ -0,0 +1,21 @@
+diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
+index 3a66dd9c3fb..7efc85d9f9f 100644
+--- a/lib/builtins/CMakeLists.txt
++++ b/lib/builtins/CMakeLists.txt
+@@ -348,4 +348,8 @@ if (NOT MSVC)
+ 
++  set(i486_SOURCES ${i386_SOURCES})
++  set(i586_SOURCES ${i386_SOURCES})
++  set(i686_SOURCES ${i386_SOURCES})
++
+   if (WIN32)
+     set(i386_SOURCES
+       ${i386_SOURCES}
+@@ -723,6 +723,7 @@ else ()
+   endif()
+ 
+   foreach (arch ${BUILTIN_SUPPORTED_ARCH})
++      message("arch: ${arch}")
+     if (CAN_TARGET_${arch})
+       # For ARM archs, exclude any VFP builtins if VFP is not supported
+       if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
diff --git a/pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch
new file mode 100644
index 0000000000000..425dc2af01e7c
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch
@@ -0,0 +1,71 @@
+diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
+--- a/lib/sanitizer_common/sanitizer_mac.cpp
++++ b/lib/sanitizer_common/sanitizer_mac.cpp
+@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
+ // Offset example:
+ // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
+ constexpr u16 GetOSMajorKernelOffset() {
+-  if (TARGET_OS_OSX) return 4;
+-  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
+-  if (TARGET_OS_WATCH) return 13;
++#if TARGET_OS_OSX
++  return 4;
++#endif
++#if TARGET_OS_IOS || TARGET_OS_TV
++  return 6;
++#endif
++#if TARGET_OS_WATCH
++  return 13;
++#endif
+ }
+ 
+ using VersStr = char[64];
+@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
+   u16 os_major = kernel_major - offset;
+ 
+   const char *format = "%d.0";
+-  if (TARGET_OS_OSX) {
+-    if (os_major >= 16) {  // macOS 11+
+-      os_major -= 5;
+-    } else {  // macOS 10.15 and below
+-      format = "10.%d";
+-    }
++#if TARGET_OS_OSX
++  if (os_major >= 16) {  // macOS 11+
++    os_major -= 5;
++  } else {  // macOS 10.15 and below
++    format = "10.%d";
+   }
++#endif
+   return internal_snprintf(vers, sizeof(VersStr), format, os_major);
+ }
+ 
+@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
+ // Aligned versions example:
+ // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
+ static void MapToMacos(u16 *major, u16 *minor) {
+-  if (TARGET_OS_OSX)
+-    return;
+-
+-  if (TARGET_OS_IOS || TARGET_OS_TV)
++#if !TARGET_OS_OSX
++#if TARGET_OS_IOS || TARGET_OS_TV
+     *major += 2;
+-  else if (TARGET_OS_WATCH)
++#elif TARGET_OS_WATCH
+     *major += 9;
+-  else
++#else
+     UNREACHABLE("unsupported platform");
++#endif
+ 
+   if (*major >= 16) {  // macOS 11+
+     *major -= 5;
+@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
+     *minor = *major;
+     *major = 10;
+   }
++#endif
+ }
+ 
+ static MacosVersion GetMacosAlignedVersionInternal() {
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/pkgs/development/compilers/llvm/17/compiler-rt/default.nix
index 7354397d2bf0f..7add8fab0f91f 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/17/compiler-rt/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
+{ lib, stdenv, llvm_meta, version
+, monorepoSrc, runCommand
+, cmake, ninja, python3, xcbuild, libllvm, libcxxabi, libxcrypt
 , doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
 }:
 
@@ -7,37 +9,62 @@ let
   useLLVM = stdenv.hostPlatform.useLLVM or false;
   bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
   haveLibc = stdenv.cc.libc != null;
+  isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic;
   inherit (stdenv.hostPlatform) isMusl;
 
+  baseName = "compiler-rt";
+
+  src = runCommand "${baseName}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${baseName} "$out"
+  '';
 in
 
 stdenv.mkDerivation {
-  pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc";
+  pname = baseName + lib.optionalString (haveLibc) "-libc";
   inherit version;
-  src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5";
 
-  nativeBuildInputs = [ cmake python3 libllvm.dev ];
+  inherit src;
+  sourceRoot = "${src.name}/${baseName}";
+
+  nativeBuildInputs = [ cmake ninja python3 libllvm.dev ]
+    ++ lib.optional stdenv.isDarwin xcbuild.xcrun;
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
-  env.NIX_CFLAGS_COMPILE = toString [
+  env.NIX_CFLAGS_COMPILE = toString ([
     "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
-  ];
+  ] ++ lib.optionals (!haveLibc) [
+    # The compiler got stricter about this, and there is a usellvm patch below
+    # which patches out the assert include causing an implicit definition of
+    # assert. It would be nicer to understand why compiler-rt thinks it should
+    # be able to #include <assert.h> in the first place; perhaps it's in the
+    # wrong, or perhaps there is a way to provide an assert.h.
+    "-Wno-error=implicit-function-declaration"
+  ]);
 
   cmakeFlags = [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
     "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
+  ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [
+    "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include"
+  ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [
     "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
     "-DCOMPILER_RT_BUILD_XRAY=OFF"
     "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+    "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
+    "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary
   ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
-  ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
-    "-DCMAKE_C_COMPILER_WORKS=ON"
+     "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+  ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [
     "-DCMAKE_CXX_COMPILER_WORKS=ON"
+  ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [
+    "-DCMAKE_C_COMPILER_WORKS=ON"
     "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
     "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
+  ] ++ lib.optionals (useLLVM && !haveLibc) [
+    "-DCMAKE_C_FLAGS=-nodefaultlibs"
   ] ++ lib.optionals (useLLVM) [
     "-DCOMPILER_RT_BUILD_BUILTINS=ON"
     #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -45,22 +72,31 @@ stdenv.mkDerivation {
   ] ++ lib.optionals (bareMetal) [
     "-DCOMPILER_RT_OS_DIR=baremetal"
   ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
-    # The compiler-rt build infrastructure sniffs supported platforms on Darwin
-    # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails
-    # when it tries to use libc++ and libc++api for i386.
+    "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo"
+    "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON"
     "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
+    "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}"
+
+    # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin:
+    # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153
+    "-DCOMPILER_RT_ENABLE_IOS=OFF"
   ];
 
   outputs = [ "out" "dev" ];
 
   patches = [
-    # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
-    ../../common/compiler-rt/glibc.patch
-    ../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+    ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config
     ./gnu-install-dirs.patch
-    ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-  ] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
+    # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
+    # extra `/`.
+    ./normalize-var.patch
+    # Prevent a compilation error on darwin
+    ./darwin-targetconditionals.patch
+    # See: https://github.com/NixOS/nixpkgs/pull/186575
+    ../../common/compiler-rt/darwin-plistbuddy-workaround.patch
+    # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893
+    # ../../common/compiler-rt/armv7l-15.patch
+  ];
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
   # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
@@ -73,7 +109,7 @@ stdenv.mkDerivation {
   '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace cmake/config-ix.cmake \
       --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + lib.optionalString (useLLVM) ''
+  '' + lib.optionalString (useLLVM && !haveLibc) ''
     substituteInPlace lib/builtins/int_util.c \
       --replace "#include <stdlib.h>" ""
     substituteInPlace lib/builtins/clear_cache.c \
@@ -82,20 +118,22 @@ stdenv.mkDerivation {
       --replace "#include <assert.h>" ""
   '';
 
-  preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
-    cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
-  '';
-
   # Hack around weird upsream RPATH bug
-  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
+  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin) ''
     ln -s "$out/lib"/*/* "$out/lib"
-  '' + lib.optionalString (useLLVM) ''
+  '' + lib.optionalString (useLLVM && stdenv.hostPlatform.isLinux) ''
     ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
     ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
+    # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg:
+    # The presence of crtbegin_shared has been added and removed; it's possible
+    # people have added/removed it to get it working on their platforms.
+    # Try each in turn for now.
+    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o
+    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o
     ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
     ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
   '' + lib.optionalString doFakeLibgcc ''
-    ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
+     ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
   '';
 
   meta = llvm_meta // {
@@ -112,6 +150,5 @@ stdenv.mkDerivation {
     # "All of the code in the compiler-rt project is dual licensed under the MIT
     # license and the UIUC License (a BSD-like license)":
     license = with lib.licenses; [ mit ncsa ];
-    broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/pkgs/development/compilers/llvm/17/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/compiler-rt/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..f3b1f63a7d713
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/compiler-rt/gnu-install-dirs.patch
@@ -0,0 +1,20 @@
+diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
+index 8a6219568b3f..30ee68a47ccf 100644
+--- a/cmake/base-config-ix.cmake
++++ b/cmake/base-config-ix.cmake
+@@ -100,13 +100,13 @@ endif()
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+     ${COMPILER_RT_OUTPUT_DIR}/lib)
+-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
++  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}")
+   set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+     "Path where built compiler-rt libraries should be installed.")
+ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
+-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
++  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}/${COMPILER_RT_OS_DIR}")
+   set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+     "Path where built compiler-rt libraries should be installed.")
+ endif()
diff --git a/pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch
new file mode 100644
index 0000000000000..2b25fd4a07449
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
+index 4c85551d7766..297d7a47c54b 100644
+--- a/cmake/Modules/CompilerRTUtils.cmake
++++ b/cmake/Modules/CompilerRTUtils.cmake
+@@ -328,8 +328,9 @@ macro(load_llvm_config)
+     endif()
+   endif()
+ 
+-  set(LLVM_LIBRARY_OUTPUT_INTDIR
+-    ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
++  get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR
++    ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}
++    REALPATH)
+ 
+   set(LLVM_MAIN_SRC_DIR "${LLVM_MAIN_SRC_DIR_DEFAULT}" CACHE PATH "Path to LLVM source tree")
+   message(STATUS "LLVM_MAIN_SRC_DIR: \"${LLVM_MAIN_SRC_DIR}\"")
diff --git a/pkgs/development/compilers/llvm/17/default.nix b/pkgs/development/compilers/llvm/17/default.nix
new file mode 100644
index 0000000000000..950affae3029a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/default.nix
@@ -0,0 +1,358 @@
+{ lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja
+, preLibcCrossHeaders
+, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
+, buildLlvmTools # tools, but from the previous stage, for cross
+, targetLlvmLibraries # libraries, but from the next stage, for cross
+, targetLlvm
+# This is the default binutils, but with *this* version of LLD rather
+# than the default LLVM verion's, if LLD is the choice. We use these for
+# the `useLLVM` bootstrapping below.
+, bootBintoolsNoLibc ?
+    if stdenv.targetPlatform.linker == "lld"
+    then null
+    else pkgs.bintoolsNoLibc
+, bootBintools ?
+    if stdenv.targetPlatform.linker == "lld"
+    then null
+    else pkgs.bintools
+, darwin
+# LLVM release information; specify one of these but not both:
+, gitRelease ? null
+  # i.e.:
+  # {
+  #   version = /* i.e. "15.0.0" */;
+  #   rev = /* commit SHA */;
+  #   rev-version = /* human readable version; i.e. "unstable-2022-26-07" */;
+  #   sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */;
+  # }
+, officialRelease ? { version = "17.0.2"; sha256 = "08w6mksm7mkws3hhhsy5gg881b4whr6abrshmh6q4c32qlni94nn"; }
+  # i.e.:
+  # {
+  #   version = /* i.e. "15.0.0" */;
+  #   candidate = /* optional; if specified, should be: "rcN" */
+  #   sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */;
+  # }
+# By default, we'll try to fetch a release from `github:llvm/llvm-project`
+# corresponding to the `gitRelease` or `officialRelease` specified.
+#
+# You can provide your own LLVM source by specifying this arg but then it's up
+# to you to make sure that the LLVM repo given matches the release configuration
+# specified.
+, monorepoSrc ? null
+}:
+
+assert let
+  int = a: if a then 1 else 0;
+  xor = a: b: ((builtins.bitXor (int a) (int b)) == 1);
+in
+  lib.assertMsg
+    (xor
+      (gitRelease != null)
+      (officialRelease != null))
+    ("must specify `gitRelease` or `officialRelease`" +
+      (lib.optionalString (gitRelease != null) " — not both"));
+let
+  monorepoSrc' = monorepoSrc;
+in let
+  inherit (import ../common/common-let.nix { inherit lib gitRelease officialRelease; }) releaseInfo;
+
+  inherit (releaseInfo) release_version version;
+
+  inherit (import ../common/common-let.nix { inherit lib fetchFromGitHub release_version gitRelease officialRelease monorepoSrc'; }) llvm_meta monorepoSrc;
+
+  tools = lib.makeExtensible (tools: let
+    callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
+    major = lib.versions.major release_version;
+    mkExtraBuildCommands0 = cc: ''
+      rsrc="$out/resource-root"
+      mkdir "$rsrc"
+      ln -s "${cc.lib}/lib/clang/${major}/include" "$rsrc"
+      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+    '';
+    mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
+      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+      ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
+    '';
+
+  bintoolsNoLibc' =
+    if bootBintoolsNoLibc == null
+    then tools.bintoolsNoLibc
+    else bootBintoolsNoLibc;
+  bintools' =
+    if bootBintools == null
+    then tools.bintools
+    else bootBintools;
+
+  in {
+
+    libllvm = callPackage ./llvm {
+      inherit llvm_meta;
+    };
+
+    # `llvm` historically had the binaries.  When choosing an output explicitly,
+    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
+    llvm = tools.libllvm;
+
+    libclang = callPackage ./clang {
+      inherit llvm_meta;
+    };
+
+    clang-unwrapped = tools.libclang;
+
+    llvm-manpages = lowPrio (tools.libllvm.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
+
+    clang-manpages = lowPrio (tools.libclang.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
+
+    lldb-manpages = lowPrio (tools.lldb.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
+
+    # pick clang appropriate for package set we are targeting
+    clang =
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
+      else tools.libcxxClang;
+
+    libstdcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
+      libcxx = null;
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    libcxxClang = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      extraPackages = [
+        libcxx.cxxabi
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+    };
+
+    lld = callPackage ./lld {
+      inherit llvm_meta;
+    };
+
+    lldb = callPackage ../common/lldb.nix {
+      src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} ''
+        mkdir -p "$out"
+        cp -r ${monorepoSrc}/cmake "$out"
+        cp -r ${monorepoSrc}/lldb "$out"
+      '') { };
+      patches =
+        [
+          # FIXME: do we need this? ./procfs.patch
+          ./lldb/gnu-install-dirs.patch
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
+      inherit llvm_meta;
+    };
+
+    # Below, is the LLVM bootstrapping logic. It handles building a
+    # fully LLVM toolchain from scratch. No GCC toolchain should be
+    # pulled in. As a consequence, it is very quick to build different
+    # targets provided by LLVM and we can also build for what GCC
+    # doesn’t support like LLVM. Probably we should move to some other
+    # file.
+
+    bintools-unwrapped = callPackage ../common/bintools.nix { };
+
+    bintoolsNoLibc = wrapBintoolsWith {
+      bintools = tools.bintools-unwrapped;
+      libc = preLibcCrossHeaders;
+    };
+
+    bintools = wrapBintoolsWith {
+      bintools = tools.bintools-unwrapped;
+    };
+
+    clangUseLLVM = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = targetLlvmLibraries.libcxx;
+      bintools = bintools';
+      extraPackages = [
+        libcxx.cxxabi
+        targetLlvmLibraries.compiler-rt
+      ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
+        targetLlvmLibraries.libunwind
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+      nixSupport.cc-cflags =
+        [ "-rtlib=compiler-rt"
+          "-Wno-unused-command-line-argument"
+          "-B${targetLlvmLibraries.compiler-rt}/lib"
+        ]
+        ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
+        ++ lib.optional
+          (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false)
+          "-lunwind"
+        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
+    };
+
+    clangNoLibcxx = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintools';
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+      nixSupport.cc-cflags =
+        [
+          "-rtlib=compiler-rt"
+          "-B${targetLlvmLibraries.compiler-rt}/lib"
+          "-nostdlib++"
+        ]
+        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
+    };
+
+    clangNoLibc = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintoolsNoLibc';
+      extraPackages = [
+        targetLlvmLibraries.compiler-rt
+      ];
+      extraBuildCommands = mkExtraBuildCommands cc;
+      nixSupport.cc-cflags =
+        [
+          "-rtlib=compiler-rt"
+          "-B${targetLlvmLibraries.compiler-rt}/lib"
+        ]
+        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
+    };
+
+    clangNoCompilerRt = wrapCCWith rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintoolsNoLibc';
+      extraPackages = [ ];
+      extraBuildCommands = mkExtraBuildCommands0 cc;
+      nixSupport.cc-cflags =
+        [
+          "-nostartfiles"
+        ]
+        ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
+    };
+
+    clangNoCompilerRtWithLibc = wrapCCWith (rec {
+      cc = tools.clang-unwrapped;
+      libcxx = null;
+      bintools = bintools';
+      extraPackages = [ ];
+      extraBuildCommands = mkExtraBuildCommands0 cc;
+    } // lib.optionalAttrs stdenv.targetPlatform.isWasm {
+      nixSupport.cc-cflags = [ "-fno-exceptions" ];
+    });
+
+  });
+
+  libraries = lib.makeExtensible (libraries: let
+    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc; });
+  in {
+
+    compiler-rt-libc = callPackage ./compiler-rt {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic)
+               then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
+               else stdenv;
+    };
+
+    compiler-rt-no-libc = callPackage ./compiler-rt {
+      inherit llvm_meta;
+      stdenv = if stdenv.hostPlatform.useLLVM or false
+               then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
+               else stdenv;
+    };
+
+    # N.B. condition is safe because without useLLVM both are the same.
+    compiler-rt = if stdenv.hostPlatform.isAndroid || stdenv.hostPlatform.isDarwin
+      then libraries.compiler-rt-libc
+      else libraries.compiler-rt-no-libc;
+
+    stdenv = overrideCC stdenv buildLlvmTools.clang;
+
+    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
+
+    libcxxabi = let
+      # CMake will "require" a compiler capable of compiling C++ programs
+      # cxx-header's build does not actually use one so it doesn't really matter
+      # what stdenv we use here, as long as CMake is happy.
+      cxx-headers = callPackage ./libcxx {
+        inherit llvm_meta;
+        # Note that if we use the regular stdenv here we'll get cycle errors
+        # when attempting to use this compiler in the stdenv.
+        #
+        # The final stdenv pulls `cxx-headers` from the package set where
+        # hostPlatform *is* the target platform which means that `stdenv` at
+        # that point attempts to use this toolchain.
+        #
+        # So, we use `stdenv_` (the stdenv containing `clang` from this package
+        # set, defined below) to sidestep this issue.
+        #
+        # Because we only use `cxx-headers` in `libcxxabi` (which depends on the
+        # clang stdenv _anyways_), this is okay.
+        stdenv = stdenv_;
+        headersOnly = true;
+      };
+
+      # `libcxxabi` *doesn't* need a compiler with a working C++ stdlib but it
+      # *does* need a relatively modern C++ compiler (see:
+      # https://releases.llvm.org/15.0.0/projects/libcxx/docs/index.html#platform-and-compiler-support).
+      #
+      # So, we use the clang from this LLVM package set, like libc++
+      # "boostrapping builds" do:
+      # https://releases.llvm.org/15.0.0/projects/libcxx/docs/BuildingLibcxx.html#bootstrapping-build
+      #
+      # We cannot use `clangNoLibcxx` because that contains `compiler-rt` which,
+      # on macOS, depends on `libcxxabi`, thus forming a cycle.
+      stdenv_ = overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc;
+    in callPackage ./libcxxabi {
+      stdenv = stdenv_;
+      inherit llvm_meta cxx-headers;
+    };
+
+    # Like `libcxxabi` above, `libcxx` requires a fairly modern C++ compiler,
+    # so: we use the clang from this LLVM package set instead of the regular
+    # stdenv's compiler.
+    libcxx = callPackage ./libcxx {
+      inherit llvm_meta;
+      stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
+    };
+
+    libunwind = callPackage ./libunwind {
+      inherit llvm_meta;
+      stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
+    };
+
+    openmp = callPackage ./openmp {
+      inherit llvm_meta targetLlvm;
+    };
+  });
+  noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
+
+in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
diff --git a/pkgs/development/compilers/llvm/17/libcxx/default.nix b/pkgs/development/compilers/llvm/17/libcxx/default.nix
new file mode 100644
index 0000000000000..7b99966416638
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/libcxx/default.nix
@@ -0,0 +1,114 @@
+{ lib, stdenv, llvm_meta
+, monorepoSrc, runCommand
+, cmake, ninja, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt, libunwind
+, enableShared ? !stdenv.hostPlatform.isStatic
+
+# If headersOnly is true, the resulting package would only include the headers.
+# Use this to break the circular dependency between libcxx and libcxxabi.
+#
+# Some context:
+# https://reviews.llvm.org/rG1687f2bbe2e2aaa092f942d4a97d41fad43eedfb
+, headersOnly ? false
+}:
+
+let
+  basename = "libcxx";
+in
+
+assert stdenv.isDarwin -> cxxabi.libName == "c++abi";
+
+stdenv.mkDerivation rec {
+  pname = basename + lib.optionalString headersOnly "-headers";
+  inherit version;
+
+  src = runCommand "${pname}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${basename} "$out"
+    mkdir -p "$out/libcxxabi"
+    cp -r ${monorepoSrc}/libcxxabi/include "$out/libcxxabi"
+    mkdir -p "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
+    cp -r ${monorepoSrc}/third-party "$out"
+    cp -r ${monorepoSrc}/runtimes "$out"
+  '';
+
+  sourceRoot = "${src.name}/runtimes";
+
+  outputs = [ "out" ] ++ lib.optional (!headersOnly) "dev";
+
+  prePatch = ''
+    cd ../${basename}
+    chmod -R u+w .
+  '';
+
+  postPatch = ''
+    cd ../runtimes
+  '';
+
+  preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
+  '';
+
+  nativeBuildInputs = [ cmake ninja python3 ]
+    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  buildInputs =
+    lib.optionals (!headersOnly) [ cxxabi ]
+    ++ lib.optionals (stdenv.hostPlatform.useLLVM or false && !stdenv.hostPlatform.isWasm) [ libunwind ];
+
+  cmakeFlags = let
+    # See: https://libcxx.llvm.org/BuildingLibcxx.html#cmdoption-arg-libcxx-cxx-abi-string
+    libcxx_cxx_abi_opt = {
+      "c++abi" = "system-libcxxabi";
+      "cxxrt" = "libcxxrt";
+    }.${cxxabi.libName} or (throw "unknown cxxabi: ${cxxabi.libName} (${cxxabi.pname})");
+  in [
+    "-DLLVM_ENABLE_RUNTIMES=libcxx"
+    "-DLIBCXX_CXX_ABI=${if headersOnly then "none" else libcxx_cxx_abi_opt}"
+  ] ++ lib.optional (!headersOnly && cxxabi.libName == "c++abi") "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi.dev}/include/c++/v1"
+    ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
+      "-DLIBCXX_USE_COMPILER_RT=ON"
+      # There's precedent for this in llvm-project/libcxx/cmake/caches.
+      # In a monorepo build you might do the following in the libcxxabi build:
+      #   -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder
+      #   -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On
+      # libcxx appears to require unwind and doesn't pull it in via other means.
+      "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind"
+    ] ++ lib.optionals stdenv.hostPlatform.isWasm [
+      "-DLIBCXX_ENABLE_THREADS=OFF"
+      "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
+      "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
+      "-DUNIX=ON" # Required otherwise libc++ fails to detect the correct linker
+    ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"
+    # If we're only building the headers we don't actually *need* a functioning
+    # C/C++ compiler:
+    ++ lib.optionals (headersOnly) [
+      "-DCMAKE_C_COMPILER_WORKS=ON"
+      "-DCMAKE_CXX_COMPILER_WORKS=ON"
+    ];
+
+  ninjaFlags = lib.optional headersOnly "generate-cxx-headers";
+  installTargets = lib.optional headersOnly "install-cxx-headers";
+
+  passthru = {
+    isLLVM = true;
+    inherit cxxabi;
+  };
+
+  meta = llvm_meta // {
+    homepage = "https://libcxx.llvm.org/";
+    description = "C++ standard library";
+    longDescription = ''
+      libc++ is an implementation of the C++ standard library, targeting C++11,
+      C++14 and above.
+    '';
+    # "All of the code in libc++ is dual licensed under the MIT license and the
+    # UIUC License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+  };
+}
diff --git a/pkgs/development/compilers/llvm/17/libcxxabi/default.nix b/pkgs/development/compilers/llvm/17/libcxxabi/default.nix
new file mode 100644
index 0000000000000..0a795da44ae41
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/libcxxabi/default.nix
@@ -0,0 +1,117 @@
+{ lib, stdenv, llvm_meta, cmake, ninja, python3
+, monorepoSrc, runCommand, fetchpatch
+, cxx-headers, libunwind, version
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libcxxabi";
+  inherit version;
+
+  src = runCommand "${pname}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${pname} "$out"
+    mkdir -p "$out/libcxx/src"
+    cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
+    cp -r ${monorepoSrc}/libcxx/include "$out/libcxx"
+    cp -r ${monorepoSrc}/libcxx/src/include "$out/libcxx/src"
+    mkdir -p "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
+    cp -r ${monorepoSrc}/runtimes "$out"
+  '';
+
+  sourceRoot = "${src.name}/runtimes";
+
+  outputs = [ "out" "dev" ];
+
+  postUnpack = lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '';
+
+  prePatch = ''
+    cd ../${pname}
+    chmod -R u+w .
+  '';
+
+  patches = [
+    ./gnu-install-dirs.patch
+
+    # https://reviews.llvm.org/D132298, Allow building libcxxabi alone
+    (fetchpatch {
+      url = "https://github.com/llvm/llvm-project/commit/e6a0800532bb409f6d1c62f3698bdd6994a877dc.patch";
+      sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a";
+      stripLen = 1;
+    })
+  ];
+
+  postPatch = ''
+    cd ../runtimes
+  '';
+
+  nativeBuildInputs = [ cmake ninja python3 ];
+  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
+
+  cmakeFlags = [
+    "-DLLVM_ENABLE_RUNTIMES=libcxxabi"
+    "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1"
+
+    # `libcxxabi`'s build does not need a toolchain with a c++ stdlib attached
+    # (we specify the headers it should use explicitly above).
+    #
+    # CMake however checks for this anyways; this flag tells it not to. See:
+    # https://github.com/llvm/llvm-project/blob/4bd3f3759259548e159aeba5c76efb9a0864e6fa/llvm/runtimes/CMakeLists.txt#L243
+    "-DCMAKE_CXX_COMPILER_WORKS=ON"
+  ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false && !stdenv.hostPlatform.isWasm) [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+    # libcxxabi's CMake looks as though it treats -nostdlib++ as implying -nostdlib,
+    # but that does not appear to be the case for example when building
+    # pkgsLLVM.libcxxabi (which uses clangNoCompilerRtWithLibc).
+    "-DCMAKE_EXE_LINKER_FLAGS=-nostdlib"
+    "-DCMAKE_SHARED_LINKER_FLAGS=-nostdlib"
+  ] ++ lib.optionals stdenv.hostPlatform.isWasm [
+    "-DCMAKE_C_COMPILER_WORKS=ON"
+    "-DCMAKE_CXX_COMPILER_WORKS=ON"
+    "-DLIBCXXABI_ENABLE_THREADS=OFF"
+    "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
+    "-DUNIX=ON"
+  ] ++ lib.optionals (!enableShared) [
+    "-DLIBCXXABI_ENABLE_SHARED=OFF"
+  ];
+
+  preInstall = lib.optionalString stdenv.isDarwin ''
+    for file in lib/*.dylib; do
+      # this should be done in CMake, but having trouble figuring out
+      # the magic combination of necessary CMake variables
+      # if you fancy a try, take a look at
+      # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
+      install_name_tool -id $out/$file $file
+    done
+  '';
+
+  postInstall = ''
+    mkdir -p "$dev/include"
+    install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
+  '';
+
+  passthru = {
+    libName = "c++abi";
+  };
+
+  meta = llvm_meta // {
+    homepage = "https://libcxxabi.llvm.org/";
+    description = "Provides C++ standard library support";
+    longDescription = ''
+      libc++abi is a new implementation of low level support for a standard C++ library.
+    '';
+    # "All of the code in libc++abi is dual licensed under the MIT license and
+    # the UIUC License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
+    # Broken until https://github.com/llvm/llvm-project/issues/64226 is resolved
+    # We should check if the version is not 10.13 but that is currently broken.
+    broken = stdenv.isDarwin && stdenv.isx86_64;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/17/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/libcxxabi/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..51382fcefed27
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/libcxxabi/gnu-install-dirs.patch
@@ -0,0 +1,22 @@
+diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
+index f380fe6b6b92..a9656258c38e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -188,7 +188,7 @@ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
+ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+   set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
+   set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
+   if(LIBCXX_LIBDIR_SUBDIR)
+     string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
+@@ -202,7 +202,7 @@ else()
+     set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR})
+     set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
+   endif()
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE STRING
++  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+       "Path where built libc++abi libraries should be installed.")
+ endif()
+ 
diff --git a/pkgs/development/compilers/llvm/17/libunwind/default.nix b/pkgs/development/compilers/llvm/17/libunwind/default.nix
new file mode 100644
index 0000000000000..a3c8e2594f5a7
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/libunwind/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, llvm_meta, version
+, monorepoSrc, runCommand
+, cmake
+, ninja
+, python3
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libunwind";
+  inherit version;
+
+  # I am not so comfortable giving libc++ and friends the whole monorepo as
+  # requested, so I filter it to what is needed.
+  src = runCommand "${pname}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${pname} "$out"
+    mkdir -p "$out/libcxx"
+    cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
+    cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
+    mkdir -p "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
+    cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
+    cp -r ${monorepoSrc}/runtimes "$out"
+  '';
+
+  sourceRoot = "${src.name}/runtimes";
+
+  prePatch = ''
+    cd ../${pname}
+    chmod -R u+w .
+  '';
+
+  postPatch = ''
+    cd ../runtimes
+  '';
+
+  postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
+    # libcxxabi wants to link to libunwind_shared.so (?).
+    ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
+  '';
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake ninja python3 ];
+
+  cmakeFlags = [
+    "-DLLVM_ENABLE_RUNTIMES=libunwind"
+  ] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
+
+  meta = llvm_meta // {
+    # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
+    homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
+    description = "LLVM's unwinder library";
+    longDescription = ''
+      The unwind library provides a family of _Unwind_* functions implementing
+      the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
+      I). It is a dependency of the C++ ABI library, and sometimes is a
+      dependency of other runtimes.
+    '';
+  };
+}
diff --git a/pkgs/development/compilers/llvm/7/lld/default.nix b/pkgs/development/compilers/llvm/17/lld/default.nix
index 2016e6321e0ff..cc18aee76a448 100644
--- a/pkgs/development/compilers/llvm/7/lld/default.nix
+++ b/pkgs/development/compilers/llvm/17/lld/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, llvm_meta
 , buildLlvmTools
-, fetch
+, monorepoSrc, runCommand
 , cmake
+, ninja
 , libxml2
 , libllvm
 , version
@@ -11,17 +12,27 @@ stdenv.mkDerivation rec {
   pname = "lld";
   inherit version;
 
-  src = fetch pname "0rsqb7zcnij5r5ipfhr129j7skr5n9pyr388kjpqwh091952f3x1";
+  # Blank llvm dir just so relative path works
+  src = runCommand "${pname}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${pname} "$out"
+    mkdir -p "$out/libunwind"
+    cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
+    mkdir -p "$out/llvm"
+  '';
+
+  sourceRoot = "${src.name}/${pname}";
 
   patches = [
     ./gnu-install-dirs.patch
   ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   buildInputs = [ libllvm libxml2 ];
 
   cmakeFlags = [
-    "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
+    "-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
   ];
@@ -38,8 +49,8 @@ stdenv.mkDerivation rec {
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
       that are useful for toolchain developers.
-      The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS)
-      in descending order of completeness. Internally, LLD consists
+      The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
+      WebAssembly in descending order of completeness. Internally, LLD consists
       of several different linkers.
     '';
   };
diff --git a/pkgs/development/compilers/llvm/17/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/lld/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..86e76f4a16d8b
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/lld/gnu-install-dirs.patch
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3d6225646fe6..9b5d0b15af13 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -33,10 +33,22 @@ if(LLD_BUILT_STANDALONE)
+   find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
+   list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
+ 
+-  # Turn into CACHE PATHs for overwriting
+-  set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
+-  set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree")
+-  set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree")
++  # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
++  # LLVM_CONFIG.
++  if (NOT LLVM_CONFIG_FOUND)
++    # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
++    # path is removed.
++    set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
++    set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
++    # N.B. this is just a default value, the CACHE PATHs below can be overridden.
++    set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
++  else()
++    set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}")
++  endif()
++
++  set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
++  set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
++  set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
+ 
+   find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+     NO_DEFAULT_PATH)
+diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
+index d3924f7243d4..42a7cd62281c 100644
+--- a/cmake/modules/AddLLD.cmake
++++ b/cmake/modules/AddLLD.cmake
+@@ -18,8 +18,8 @@ macro(add_lld_library name)
+     install(TARGETS ${name}
+       COMPONENT ${name}
+       ${export_to_lldtargets}
+-      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
++      LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
++      ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
+       RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ 
+     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
diff --git a/pkgs/development/compilers/llvm/17/lldb/cpu_subtype_arm64e_replacement.patch b/pkgs/development/compilers/llvm/17/lldb/cpu_subtype_arm64e_replacement.patch
new file mode 100644
index 0000000000000..20d35c9f3ea91
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/lldb/cpu_subtype_arm64e_replacement.patch
@@ -0,0 +1,12 @@
+diff --git a/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+--- a/source/Host/macosx/objcxx/HostInfoMacOSX.mm
++++ b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+@@ -233,7 +233,7 @@ void HostInfoMacOSX::ComputeHostArchitectureSupport(ArchSpec &arch_32,
+     len = sizeof(is_64_bit_capable);
+     ::sysctlbyname("hw.cpu64bit_capable", &is_64_bit_capable, &len, NULL, 0);
+ 
+-    if (cputype == CPU_TYPE_ARM64 && cpusubtype == CPU_SUBTYPE_ARM64E) {
++    if (cputype == CPU_TYPE_ARM64 && cpusubtype == ((cpu_subtype_t) 2)) { // CPU_SUBTYPE_ARM64E is not available in the macOS 10.12 headers
+       // The arm64e architecture is a preview. Pretend the host architecture
+       // is arm64.
+       cpusubtype = CPU_SUBTYPE_ARM64_ALL;
diff --git a/pkgs/development/compilers/llvm/17/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/lldb/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..4388f5c7f593f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/lldb/gnu-install-dirs.patch
@@ -0,0 +1,23 @@
+diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
+index 3291a7c808e1..b27d27ce6a87 100644
+--- a/cmake/modules/AddLLDB.cmake
++++ b/cmake/modules/AddLLDB.cmake
+@@ -109,7 +109,7 @@ function(add_lldb_library name)
+   endif()
+ 
+   if(PARAM_SHARED)
+-    set(install_dest lib${LLVM_LIBDIR_SUFFIX})
++    set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+     if(PARAM_INSTALL_PREFIX)
+       set(install_dest ${PARAM_INSTALL_PREFIX})
+     endif()
+diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
+index 7d48491ec89a..c04543585588 100644
+--- a/tools/intel-features/CMakeLists.txt
++++ b/tools/intel-features/CMakeLists.txt
+@@ -30,4 +30,4 @@ add_lldb_library(lldbIntelFeatures SHARED
+   )
+ 
+ install(TARGETS lldbIntelFeatures
+-  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
++  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
diff --git a/pkgs/development/compilers/llvm/17/lldb/procfs.patch b/pkgs/development/compilers/llvm/17/lldb/procfs.patch
new file mode 100644
index 0000000000000..7b200e86505ca
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/lldb/procfs.patch
@@ -0,0 +1,46 @@
+--- a/source/Plugins/Process/Linux/Procfs.h
++++ b/source/Plugins/Process/Linux/Procfs.h
+@@ -10,6 +10,13 @@
+ // sys/procfs.h on Android/Linux for all supported architectures.
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
++
++// on i686 preprocessor symbols with these register names are defined as
++// numeric constants; these symbols clash with identifier names used in
++// `llvm/Support/VirtualFileSystem.h` and `llvm/ADT/SmallVector.h`
++#undef FS
++#undef CS
+ 
+ #include "lldb/lldb-types.h"
+ 
+@@ -17,23 +24,13 @@
+ 
+ #include <vector>
+ 
+-#ifdef __ANDROID__
+-#if defined(__arm64__) || defined(__aarch64__)
+-typedef unsigned long elf_greg_t;
+-typedef elf_greg_t
+-    elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
+-typedef struct user_fpsimd_state elf_fpregset_t;
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#elif defined(__mips__)
+-#ifndef NT_FPREGSET
+-#define NT_FPREGSET NT_PRFPREG
+-#endif // NT_FPREGSET
+-#endif
+-#else // __ANDROID__
++#if !defined(__GLIBC__) && defined(__powerpc__)
++#define pt_regs musl_pt_regs
++#include <sys/procfs.h>
++#undef pt_regs
++#else
+ #include <sys/procfs.h>
+-#endif // __ANDROID__
++#endif
+ 
+ namespace lldb_private {
+ namespace process_linux {
diff --git a/pkgs/development/compilers/llvm/17/llvm/default.nix b/pkgs/development/compilers/llvm/17/llvm/default.nix
new file mode 100644
index 0000000000000..3d05837d45da5
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/default.nix
@@ -0,0 +1,427 @@
+{ lib, stdenv, llvm_meta
+, pkgsBuildBuild
+, monorepoSrc
+, runCommand
+, cmake
+, darwin
+, ninja
+, python3
+, python3Packages
+, libffi
+# TODO: Gold plugin on LLVM16 has a severe memory corruption bug: https://github.com/llvm/llvm-project/issues/61350.
+, enableGoldPlugin ? false
+, libbfd
+, libpfm
+, libxml2
+, ncurses
+, version
+, release_version
+, zlib
+, which
+, sysctl
+, buildLlvmTools
+, debugVersion ? false
+, doCheck ? (!stdenv.isx86_32 /* TODO: why */) && (!stdenv.hostPlatform.isMusl)
+  && (stdenv.hostPlatform == stdenv.buildPlatform)
+, enableManpages ? false
+, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
+, enablePFM ? stdenv.isLinux /* PFM only supports Linux */
+  # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
+  # broken for the armv7l builder
+  && !stdenv.hostPlatform.isAarch
+, enablePolly ? true
+}:
+
+let
+  inherit (lib) optional optionals optionalString;
+
+  # Used when creating a version-suffixed symlink of libLLVM.dylib
+  shortVersion = with lib;
+    concatStringsSep "." (take 1 (splitString "." release_version));
+
+  # Ordinarily we would just the `doCheck` and `checkDeps` functionality
+  # `mkDerivation` gives us to manage our test dependencies (instead of breaking
+  # out `doCheck` as a package level attribute).
+  #
+  # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in
+  # particular the children it uses to do feature detection.
+  #
+  # This means that python deps we add to `checkDeps` (which the python
+  # interpreter is made aware of via `$PYTHONPATH` – populated by the python
+  # setup hook) are not picked up by `lit` which causes it to skip tests.
+  #
+  # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work
+  # because this package is shadowed in `$PATH` by the regular `python3`
+  # package.
+  #
+  # So, we "manually" assemble one python derivation for the package to depend
+  # on, taking into account whether checks are enabled or not:
+  python = if doCheck then
+    # Note that we _explicitly_ ask for a python interpreter for our host
+    # platform here; the splicing that would ordinarily take care of this for
+    # us does not seem to work once we use `withPackages`.
+    let
+      checkDeps = ps: with ps; [ psutil ];
+    in pkgsBuildBuild.targetPackages.python3.withPackages checkDeps
+  else python3;
+
+in
+  assert (lib.assertMsg (!enableGoldPlugin) "Gold plugin cannot be enabled on LLVM16 due to a upstream issue: https://github.com/llvm/llvm-project/issues/61350");
+  stdenv.mkDerivation (rec {
+  pname = "llvm";
+  inherit version;
+
+  src = runCommand "${pname}-src-${version}" {} (''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${pname} "$out"
+    cp -r ${monorepoSrc}/third-party "$out"
+  '' + lib.optionalString enablePolly ''
+    chmod u+w "$out/${pname}/tools"
+    cp -r ${monorepoSrc}/polly "$out/${pname}/tools"
+  '');
+
+  sourceRoot = "${src.name}/${pname}";
+
+  outputs = [ "out" "lib" "dev" "python" ];
+
+  nativeBuildInputs = [ cmake ninja python ]
+    ++ optionals enableManpages [
+      # Note: we intentionally use `python3Packages` instead of `python3.pkgs`;
+      # splicing does *not* work with the latter. (TODO: fix)
+      python3Packages.sphinx python3Packages.recommonmark
+    ];
+
+  buildInputs = [ libxml2 libffi ]
+    ++ optional enablePFM libpfm; # exegesis
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  nativeCheckInputs = [
+    which
+  ] ++ lib.optional stdenv.isDarwin sysctl;
+
+  patches = [
+    ./gnu-install-dirs.patch
+
+    # Running the tests involves invoking binaries (like `opt`) that depend on
+    # the LLVM dylibs and reference them by absolute install path (i.e. their
+    # nix store path).
+    #
+    # Because we have not yet run the install phase (we're running these tests
+    # as part of `checkPhase` instead of `installCheckPhase`) these absolute
+    # paths do not exist yet; to work around this we point the loader (`ld` on
+    # unix, `dyld` on macOS) at the `lib` directory which will later become this
+    # package's `lib` output.
+    #
+    # Previously we would just set `LD_LIBRARY_PATH` to include the build `lib`
+    # dir but:
+    #   - this doesn't generalize well to other platforms; `lit` doesn't forward
+    #     `DYLD_LIBRARY_PATH` (macOS):
+    #     + https://github.com/llvm/llvm-project/blob/0d89963df354ee309c15f67dc47c8ab3cb5d0fb2/llvm/utils/lit/lit/TestingConfig.py#L26
+    #   - even if `lit` forwarded this env var, we actually cannot set
+    #     `DYLD_LIBRARY_PATH` in the child processes `lit` launches because
+    #     `DYLD_LIBRARY_PATH` (and `DYLD_FALLBACK_LIBRARY_PATH`) is cleared for
+    #     "protected processes" (i.e. the python interpreter that runs `lit`):
+    #     https://stackoverflow.com/a/35570229
+    #   - other LLVM subprojects deal with this issue by having their `lit`
+    #     configuration set these env vars for us; it makes sense to do the same
+    #     for LLVM:
+    #     + https://github.com/llvm/llvm-project/blob/4c106cfdf7cf7eec861ad3983a3dd9a9e8f3a8ae/clang-tools-extra/test/Unit/lit.cfg.py#L22-L31
+    #
+    # !!! TODO: look into upstreaming this patch
+    ./llvm-lit-cfg-add-libs-to-dylib-path.patch
+
+    # `lit` has a mode where it executes run lines as a shell script which is
+    # constructs; this is problematic for macOS because it means that there's
+    # another process in between `lit` and the binaries being tested. As noted
+    # above, this means that `DYLD_LIBRARY_PATH` is cleared which means that our
+    # tests fail with dyld errors.
+    #
+    # To get around this we patch `lit` to reintroduce `DYLD_LIBRARY_PATH`, when
+    # present in the test configuration.
+    #
+    # It's not clear to me why this isn't an issue for LLVM developers running
+    # on macOS (nothing about this _seems_ nix specific)..
+    ./lit-shell-script-runner-set-dyld-library-path.patch
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+
+    # Just like the `llvm-lit-cfg` patch, but for `polly`.
+    ./polly-lit-cfg-add-libs-to-dylib-path.patch
+  ];
+
+  postPatch = optionalString stdenv.isDarwin ''
+    substituteInPlace cmake/modules/AddLLVM.cmake \
+      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
+      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
+
+    # As of LLVM 15, marked as XFAIL on arm64 macOS but lit doesn't seem to pick
+    # this up: https://github.com/llvm/llvm-project/blob/c344d97a125b18f8fed0a64aace73c49a870e079/llvm/test/MC/ELF/cfi-version.ll#L7
+    rm test/MC/ELF/cfi-version.ll
+
+    # This test tries to call `sw_vers` by absolute path (`/usr/bin/sw_vers`)
+    # and thus fails under the sandbox:
+    substituteInPlace unittests/TargetParser/Host.cpp \
+      --replace '/usr/bin/sw_vers' "${(builtins.toString darwin.DarwinTools) + "/bin/sw_vers" }"
+
+    # This test tries to call the intrinsics `@llvm.roundeven.f32` and
+    # `@llvm.roundeven.f64` which seem to (incorrectly?) lower to `roundevenf`
+    # and `roundeven` on macOS.
+    #
+    # However these functions are glibc specific so the test fails:
+    #   - https://www.gnu.org/software/gnulib/manual/html_node/roundevenf.html
+    #   - https://www.gnu.org/software/gnulib/manual/html_node/roundeven.html
+    #
+    substituteInPlace test/ExecutionEngine/Interpreter/intrinsics.ll \
+      --replace "%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)" "" \
+      --replace "%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)" ""
+  '' + optionalString (stdenv.isDarwin && stdenv.hostPlatform.isx86) ''
+    # This test fails on darwin x86_64 because `sw_vers` reports a different
+    # macOS version than what LLVM finds by reading
+    # `/System/Library/CoreServices/SystemVersion.plist` (which is passed into
+    # the sandbox on macOS).
+    #
+    # The `sw_vers` provided by nixpkgs reports the macOS version associated
+    # with the `CoreFoundation` framework with which it was built. Because
+    # nixpkgs pins the SDK for `aarch64-darwin` and `x86_64-darwin` what
+    # `sw_vers` reports is not guaranteed to match the macOS version of the host
+    # that's building this derivation.
+    #
+    # Astute readers will note that we only _patch_ this test on aarch64-darwin
+    # (to use the nixpkgs provided `sw_vers`) instead of disabling it outright.
+    # So why does this test pass on aarch64?
+    #
+    # Well, it seems that `sw_vers` on aarch64 actually links against the _host_
+    # CoreFoundation framework instead of the nixpkgs provided one.
+    #
+    # Not entirely sure what the right fix is here. I'm assuming aarch64
+    # `sw_vers` doesn't intentionally link against the host `CoreFoundation`
+    # (still digging into how this ends up happening, will follow up) but that
+    # aside I think the more pertinent question is: should we be patching LLVM's
+    # macOS version detection logic to use `sw_vers` instead of reading host
+    # paths? This *is* a way in which details about builder machines can creep
+    # into the artifacts that are produced, affecting reproducibility, but it's
+    # not clear to me when/where/for what this even gets used in LLVM.
+    #
+    # TODO(@rrbutani): fix/follow-up
+    substituteInPlace unittests/TargetParser/Host.cpp \
+      --replace "getMacOSHostVersion" "DISABLED_getMacOSHostVersion"
+
+    # This test fails with a `dysmutil` crash; have not yet dug into what's
+    # going on here (TODO(@rrbutani)).
+    rm test/tools/dsymutil/ARM/obfuscated.test
+  '' + ''
+    # FileSystem permissions tests fail with various special bits
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+    rm unittests/Support/Path.cpp
+    substituteInPlace unittests/IR/CMakeLists.txt \
+      --replace "PassBuilderCallbacksTest.cpp" ""
+    rm unittests/IR/PassBuilderCallbacksTest.cpp
+    rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
+  '' + optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../../TLI-musl.patch}
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "add_subdirectory(DynamicLibrary)" ""
+    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+    # valgrind unhappy with musl or glibc, but fails w/musl only
+    rm test/CodeGen/AArch64/wineh4.mir
+  '' + optionalString stdenv.hostPlatform.isAarch32 ''
+    # skip failing X86 test cases on 32-bit ARM
+    rm test/DebugInfo/X86/convert-debugloc.ll
+    rm test/DebugInfo/X86/convert-inlined.ll
+    rm test/DebugInfo/X86/convert-linked.ll
+    rm test/tools/dsymutil/X86/op-convert.test
+    rm test/tools/gold/X86/split-dwarf.ll
+    rm test/tools/llvm-dwarfdump/X86/prettyprint_types.s
+    rm test/tools/llvm-dwarfdump/X86/simplified-template-names.s
+    rm test/CodeGen/RISCV/attributes.ll
+    rm test/CodeGen/RISCV/xtheadmempair.ll
+  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
+    # Seems to require certain floating point hardware (NEON?)
+    rm test/ExecutionEngine/frem.ll
+  '' + ''
+    patchShebangs test/BugPoint/compile-custom.ll.py
+  '';
+
+  preConfigure = ''
+    # Workaround for configure flags that need to have spaces
+    cmakeFlagsArray+=(
+      -DLLVM_LIT_ARGS="-svj''${NIX_BUILD_CORES} --no-progress-bar"
+    )
+  '';
+
+  # Defensive check: some paths (that we make symlinks to) depend on the release
+  # version, for example:
+  #  - https://github.com/llvm/llvm-project/blob/406bde9a15136254f2b10d9ef3a42033b3cb1b16/clang/lib/Headers/CMakeLists.txt#L185
+  #
+  # So we want to sure that the version in the source matches the release
+  # version we were given.
+  #
+  # We do this check here, in the LLVM build, because it happens early.
+  postConfigure = let
+    v = lib.versions;
+    major = v.major release_version;
+    minor = v.minor release_version;
+    patch = v.patch release_version;
+  in ''
+    # $1: part, $2: expected
+    check_version() {
+      part="''${1^^}"
+      part="$(cat include/llvm/Config/llvm-config.h  | grep "#define LLVM_VERSION_''${part} " | cut -d' ' -f3)"
+
+      if [[ "$part" != "$2" ]]; then
+        echo >&2 \
+          "mismatch in the $1 version! we have version ${release_version}" \
+          "and expected the $1 version to be '$2'; the source has '$part' instead"
+        exit 3
+      fi
+    }
+
+    check_version major ${major}
+    check_version minor ${minor}
+    check_version patch ${patch}
+  '';
+
+  # E.g. mesa.drivers use the build-id as a cache key (see #93946):
+  LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
+
+  cmakeBuildType = if debugVersion then "Debug" else "Release";
+
+  cmakeFlags = with stdenv; let
+    # These flags influence llvm-config's BuildVariables.inc in addition to the
+    # general build. We need to make sure these are also passed via
+    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
+    # will return different results from the cross llvm-config.
+    #
+    # Some flags don't need to be repassed because LLVM already does so (like
+    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
+    flagsForLlvmConfig = [
+      "-DLLVM_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/llvm"
+      "-DLLVM_ENABLE_RTTI=ON"
+    ] ++ optionals enableSharedLibraries [
+      "-DLLVM_LINK_LLVM_DYLIB=ON"
+    ];
+  in flagsForLlvmConfig ++ [
+    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
+    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_ENABLE_DUMP=ON"
+  ] ++ optionals stdenv.hostPlatform.isStatic [
+    # Disables building of shared libs, -fPIC is still injected by cc-wrapper
+    "-DLLVM_ENABLE_PIC=OFF"
+    "-DLLVM_BUILD_STATIC=ON"
+    "-DLLVM_LINK_LLVM_DYLIB=off"
+    # libxml2 needs to be disabled because the LLVM build system ignores its .la
+    # file and doesn't link zlib as well.
+    # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812
+    "-DLLVM_ENABLE_LIBXML2=OFF"
+  ] ++ optionals enableManpages [
+    "-DLLVM_BUILD_DOCS=ON"
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_OUTPUT_HTML=OFF"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ] ++ optionals (false) [
+    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+  ] ++ optionals isDarwin [
+    "-DLLVM_ENABLE_LIBCXX=ON"
+    "-DCAN_TARGET_i386=false"
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "-DCMAKE_CROSSCOMPILING=True"
+    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
+    (
+      let
+        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
+        nativeBintools = nativeCC.bintools.bintools;
+        nativeToolchainFlags = [
+          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
+          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
+          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
+          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
+          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
+        ];
+        # We need to repass the custom GNUInstallDirs values, otherwise CMake
+        # will choose them for us, leading to wrong results in llvm-config-native
+        nativeInstallFlags = [
+          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
+          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
+          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
+          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
+        ];
+      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
+      + lib.concatStringsSep ";" (lib.concatLists [
+        flagsForLlvmConfig
+        nativeToolchainFlags
+        nativeInstallFlags
+      ])
+    )
+  ];
+
+  postInstall = ''
+    mkdir -p $python/share
+    mv $out/share/opt-viewer $python/share/opt-viewer
+    moveToOutput "bin/llvm-config*" "$dev"
+    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
+      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
+    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
+      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "'"$lib"'")'
+  ''
+  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+  ''
+  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
+  '';
+
+  inherit doCheck;
+
+  checkTarget = "check-all";
+
+  # For the update script:
+  passthru.monorepoSrc = monorepoSrc;
+
+  requiredSystemFeatures = [ "big-parallel" ];
+  meta = llvm_meta // {
+    homepage = "https://llvm.org/";
+    description = "A collection of modular and reusable compiler and toolchain technologies";
+    longDescription = ''
+      The LLVM Project is a collection of modular and reusable compiler and
+      toolchain technologies. Despite its name, LLVM has little to do with
+      traditional virtual machines. The name "LLVM" itself is not an acronym; it
+      is the full name of the project.
+      LLVM began as a research project at the University of Illinois, with the
+      goal of providing a modern, SSA-based compilation strategy capable of
+      supporting both static and dynamic compilation of arbitrary programming
+      languages. Since then, LLVM has grown to be an umbrella project consisting
+      of a number of subprojects, many of which are being used in production by
+      a wide variety of commercial and open source projects as well as being
+      widely used in academic research. Code in the LLVM project is licensed
+      under the "Apache 2.0 License with LLVM exceptions".
+    '';
+  };
+} // lib.optionalAttrs enableManpages {
+  pname = "llvm-manpages";
+
+  propagatedBuildInputs = [];
+
+  ninjaFlags = [ "docs-llvm-man" ];
+  installTargets = [ "install-docs-llvm-man" ];
+
+  postPatch = null;
+  postInstall = null;
+
+  outputs = [ "out" ];
+
+  doCheck = false;
+
+  meta = llvm_meta // {
+    description = "man pages for LLVM ${version}";
+  };
+})
diff --git a/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch
new file mode 100644
index 0000000000000..b01363e98aa00
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch
@@ -0,0 +1,19 @@
+This is the one remaining Polly install dirs related change that hasn't made it
+into upstream yet; previously this patch file also included:
+https://reviews.llvm.org/D117541
+
+diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
+index 518a09b45a42..bd9d6f5542ad 100644
+--- a/tools/polly/cmake/polly_macros.cmake
++++ b/tools/polly/cmake/polly_macros.cmake
+@@ -44,8 +44,8 @@ macro(add_polly_library name)
+   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
+     install(TARGETS ${name}
+       EXPORT LLVMExports
+-      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+-      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
++	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
++      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+   endif()
+   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endmacro(add_polly_library)
diff --git a/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..e2122ebf603d9
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs.patch
@@ -0,0 +1,137 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 471817d68286..c51463304159 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1010,7 +1010,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "")
+   add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src
+     ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime)
+   install(TARGETS tf_xla_runtime EXPORT LLVMExports
+-    ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime)
++    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime)
+   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime)
+   # Once we add more modules, we should handle this more automatically.
+   if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL)
+diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
+index 230620c37027..dd16cab1835e 100644
+--- a/cmake/modules/AddLLVM.cmake
++++ b/cmake/modules/AddLLVM.cmake
+@@ -876,8 +876,8 @@ macro(add_llvm_library name)
+       get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
+       install(TARGETS ${name}
+               ${export_to_llvmexports}
+-              LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+-              ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
++              LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name}
++              ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name}
+               RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
+ 
+       if (NOT LLVM_ENABLE_IDE)
+@@ -2069,7 +2069,7 @@ function(llvm_install_library_symlink name dest type)
+     set(LLVM_LINK_OR_COPY copy)
+   endif()
+ 
+-  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
++  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
+   if(WIN32 AND "${type}" STREQUAL "SHARED")
+     set(output_dir "${CMAKE_INSTALL_BINDIR}")
+   endif()
+@@ -2344,16 +2344,37 @@ function(llvm_setup_rpath name)
+ 
+   if (APPLE)
+     set(_install_name_dir INSTALL_NAME_DIR "@rpath")
+-    set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
++    set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+   elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
+     # $ORIGIN is not interpreted at link time by aix ld.
+     # Since BUILD_SHARED_LIBS is only recommended for use by developers,
+     # hardcode the rpath to build/install lib dir first in this mode.
+     # FIXME: update this when there is better solution.
+-    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
++    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+   elseif(UNIX)
+-    set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+-    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}")
++    # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back
++    # to `_install_rpath` here.
++    #
++    # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e.
++    # clang); instead LLVM is its own package and thus lands at its own nix
++    # store path. This makes it so that the default relative rpath (`../lib/`)
++    # does not point at the LLVM shared objects.
++    #
++    # More discussion here:
++    #   - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329
++    #   - https://reviews.llvm.org/D146918 (16.0.5+)
++    #
++    # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is
++    # no potential that this will result in us pulling in the "wrong" LLVM.
++    # Adding this to the build rpath means we aren't forced to use
++    # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build
++    # dir, pre-install, will have the right rpath for LLVM).
++    #
++    # As noted in the differential above, an alternative solution is to have
++    # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set
++    # `CMAKE_INSTALL_RPATH`.
++    set(_build_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
++    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
+       set_property(TARGET ${name} APPEND_STRING PROPERTY
+                    LINK_FLAGS " -Wl,-z,origin ")
+diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
+index 891c9e6d618c..8d963f3b0069 100644
+--- a/cmake/modules/AddOCaml.cmake
++++ b/cmake/modules/AddOCaml.cmake
+@@ -147,9 +147,9 @@ function(add_ocaml_library name)
+   endforeach()
+ 
+   if( APPLE )
+-    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
++    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+   elseif( UNIX )
+-    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
++    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+   endif()
+   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
+ 
+diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
+index d99af79aa38e..21e794224b99 100644
+--- a/cmake/modules/CMakeLists.txt
++++ b/cmake/modules/CMakeLists.txt
+@@ -127,7 +127,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS
+   )
+ list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS)
+ 
+-extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}")
++extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
+ set(LLVM_CONFIG_LIBRARY_DIRS
+   "${LLVM_CONFIG_LIBRARY_DIR}"
+   # FIXME: Should there be other entries here?
+diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
+index 370005cd8d7d..7e790bc52111 100644
+--- a/tools/llvm-config/BuildVariables.inc.in
++++ b/tools/llvm-config/BuildVariables.inc.in
+@@ -23,6 +23,7 @@
+ #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
+ #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
+ #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
+ #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
+ #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@"
+ #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index e86eb2b44b10..f63e207e792e 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -366,7 +366,11 @@ int main(int argc, char **argv) {
+       sys::fs::make_absolute(ActivePrefix, Path);
+       ActiveBinDir = std::string(Path.str());
+     }
+-    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
++    {
++      SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX);
++      sys::fs::make_absolute(ActivePrefix, Path);
++      ActiveLibDir = std::string(Path.str());
++    }
+     {
+       SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR);
+       sys::fs::make_absolute(ActivePrefix, Path);
diff --git a/pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch
new file mode 100644
index 0000000000000..82b7b21c55fb1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch
@@ -0,0 +1,17 @@
+diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py
+index 0242e0b75af3..d732011306f7 100644
+--- a/utils/lit/lit/TestRunner.py
++++ b/utils/lit/lit/TestRunner.py
+@@ -1029,6 +1029,12 @@ def executeScript(test, litConfig, tmpBase, commands, cwd):
+             f.write('@echo off\n')
+         f.write('\n@if %ERRORLEVEL% NEQ 0 EXIT\n'.join(commands))
+     else:
++        # This env var is *purged* when invoking subprocesses so we have to
++        # manually set it from within the bash script in order for the commands
++        # in run lines to see this var:
++        if "DYLD_LIBRARY_PATH" in test.config.environment:
++            f.write(f'export DYLD_LIBRARY_PATH="{test.config.environment["DYLD_LIBRARY_PATH"]}"\n')
++
+         for i, ln in enumerate(commands):
+             match = re.match(kPdbgRegex, ln)
+             if match:
diff --git a/pkgs/development/compilers/llvm/17/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/17/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch
new file mode 100644
index 0000000000000..d4ccb2ae98227
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch
@@ -0,0 +1,80 @@
+diff --git a/test/Unit/lit.cfg.py b/test/Unit/lit.cfg.py
+index 81e8dc04acea..479ff95681e2 100644
+--- a/test/Unit/lit.cfg.py
++++ b/test/Unit/lit.cfg.py
+@@ -3,6 +3,7 @@
+ # Configuration file for the 'lit' test runner.
+ 
+ import os
++import platform
+ import subprocess
+ 
+ import lit.formats
+@@ -55,3 +56,26 @@ if sys.platform in ["win32", "cygwin"] and os.path.isdir(config.shlibdir):
+ # Win32 may use %SYSTEMDRIVE% during file system shell operations, so propogate.
+ if sys.platform == "win32" and "SYSTEMDRIVE" in os.environ:
+     config.environment["SYSTEMDRIVE"] = os.environ["SYSTEMDRIVE"]
++
++# Add the LLVM dynamic libs to the platform-specific loader search path env var:
++#
++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify..
++def find_shlibpath_var():
++    if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]:
++        yield "LD_LIBRARY_PATH"
++    elif platform.system() == "Darwin":
++        yield "DYLD_LIBRARY_PATH"
++    elif platform.system() == "Windows":
++        yield "PATH"
++    elif platform.system() == "AIX":
++        yield "LIBPATH"
++
++for shlibpath_var in find_shlibpath_var():
++    shlibpath = os.path.pathsep.join(
++        (config.shlibdir,
++         config.environment.get(shlibpath_var, '')))
++    config.environment[shlibpath_var] = shlibpath
++    break
++else:
++    lit_config.warning("unable to inject shared library path on '{}'"
++                       .format(platform.system()))
+diff --git a/test/lit.cfg.py b/test/lit.cfg.py
+index 75a38b4c5dad..856fc75c9d74 100644
+--- a/test/lit.cfg.py
++++ b/test/lit.cfg.py
+@@ -42,6 +42,26 @@ llvm_config.with_environment("PATH", config.llvm_tools_dir, append_path=True)
+ llvm_config.with_system_environment(
+     ["HOME", "INCLUDE", "LIB", "TMP", "TEMP"])
+ 
++# Add the LLVM dynamic libs to the platform-specific loader search path env var:
++#
++# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify..
++def find_shlibpath_var():
++    if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]:
++        yield "LD_LIBRARY_PATH"
++    elif platform.system() == "Darwin":
++        yield "DYLD_LIBRARY_PATH"
++    elif platform.system() == "Windows":
++        yield "PATH"
++    elif platform.system() == "AIX":
++        yield "LIBPATH"
++
++for shlibpath_var in find_shlibpath_var():
++    shlibpath = config.llvm_shlib_dir
++    llvm_config.with_environment(shlibpath_var, shlibpath, append_path = True)
++    break
++else:
++    lit_config.warning("unable to inject shared library path on '{}'"
++                       .format(platform.system()))
+ 
+ # Set up OCAMLPATH to include newly built OCaml libraries.
+ top_ocaml_lib = os.path.join(config.llvm_lib_dir, "ocaml")
+@@ -318,7 +338,7 @@ def have_cxx_shared_library():
+ 
+     try:
+         readobj_cmd = subprocess.Popen(
+-            [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE
++            [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE, env=config.environment
+         )
+     except OSError:
+         print("could not exec llvm-readobj")
+
diff --git a/pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch
new file mode 100644
index 0000000000000..1354ad267314a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch
@@ -0,0 +1,24 @@
+diff --git a/tools/polly/test/lit.cfg b/tools/polly/test/lit.cfg
+index 41e3a589c61e..09f3b17498b0 100644
+--- a/tools/polly/test/lit.cfg
++++ b/tools/polly/test/lit.cfg
+@@ -36,9 +36,17 @@ base_paths = [config.llvm_tools_dir, config.environment['PATH']]
+ path = os.path.pathsep.join(base_paths + config.extra_paths)
+ config.environment['PATH'] = path
+ 
++# (Copied from polly/test/Unit/lit.cfg)
++if platform.system() == 'Darwin':
++    shlibpath_var = 'DYLD_LIBRARY_PATH'
++elif platform.system() == 'Windows':
++    shlibpath_var = 'PATH'
++else:
++    shlibpath_var = 'LD_LIBRARY_PATH'
++
+ path = os.path.pathsep.join((config.llvm_libs_dir,
+-                              config.environment.get('LD_LIBRARY_PATH','')))
+-config.environment['LD_LIBRARY_PATH'] = path
++                              config.environment.get(shlibpath_var,'')))
++config.environment[shlibpath_var] = path
+ 
+ llvm_config.use_default_substitutions()
+ 
diff --git a/pkgs/development/compilers/llvm/17/openmp/default.nix b/pkgs/development/compilers/llvm/17/openmp/default.nix
new file mode 100644
index 0000000000000..d51335436ad23
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/openmp/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, stdenv
+, llvm_meta
+, monorepoSrc
+, runCommand
+, cmake
+, ninja
+, llvm
+, targetLlvm
+, lit
+, clang-unwrapped
+, perl
+, pkg-config
+, xcbuild
+, version
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openmp";
+  inherit version;
+
+  src = runCommand "${pname}-src-${version}" {} ''
+    mkdir -p "$out"
+    cp -r ${monorepoSrc}/cmake "$out"
+    cp -r ${monorepoSrc}/${pname} "$out"
+  '';
+
+  sourceRoot = "${src.name}/${pname}";
+
+  patches = [
+    ./fix-find-tool.patch
+    ./gnu-install-dirs.patch
+    ./run-lit-directly.patch
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake ninja perl pkg-config lit ];
+  buildInputs = [
+    (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
+  ];
+
+  nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
+
+  # Unsup:Pass:XFail:Fail
+  # 26:267:16:8
+  doCheck = false;
+  checkTarget = "check-openmp";
+
+  preCheck = ''
+    patchShebangs ../tools/archer/tests/deflake.bash
+  '';
+
+  cmakeFlags = [
+    "-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
+    "-DOPT_TOOL=${llvm}/bin/opt"
+    "-DLINK_TOOL=${llvm}/bin/llvm-link"
+  ];
+
+  meta = llvm_meta // {
+    homepage = "https://openmp.llvm.org/";
+    description = "Support for the OpenMP language";
+    longDescription = ''
+      The OpenMP subproject of LLVM contains the components required to build an
+      executable OpenMP program that are outside the compiler itself.
+      Contains the code for the runtime library against which code compiled by
+      "clang -fopenmp" must be linked before it can run and the library that
+      supports offload to target devices.
+    '';
+    # "All of the code is dual licensed under the MIT license and the UIUC
+    # License (a BSD-like license)":
+    license = with lib.licenses; [ mit ncsa ];
+  };
+}
diff --git a/pkgs/development/compilers/llvm/17/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/17/openmp/fix-find-tool.patch
new file mode 100644
index 0000000000000..b7f51196f7bab
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/openmp/fix-find-tool.patch
@@ -0,0 +1,17 @@
+diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt
+index 630947abec7e..9f032dc7bd3f 100644
+--- a/libomptarget/DeviceRTL/CMakeLists.txt
++++ b/libomptarget/DeviceRTL/CMakeLists.txt
+@@ -27,10 +27,10 @@ endif()
+ if (LLVM_DIR)
+   # Builds that use pre-installed LLVM have LLVM_DIR set.
+   # A standalone or LLVM_ENABLE_RUNTIMES=openmp build takes this route
+-  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
++  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR})
+   find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
+   find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
+-  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
++  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR})
+   if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL) OR (NOT PACKAGER_TOOL))
+     libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL}, opt: ${OPT_TOOL}, or clang-offload-packager: ${PACKAGER_TOOL}")
+     return()
diff --git a/pkgs/development/compilers/llvm/17/openmp/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/openmp/gnu-install-dirs.patch
new file mode 100644
index 0000000000000..77a93208832a1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/openmp/gnu-install-dirs.patch
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b6ddbe90516d..311ab1d50e7f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,7 +29,7 @@ if (OPENMP_STANDALONE_BUILD)
+   set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING
+     "Suffix of lib installation directory, e.g. 64 => lib64")
+   # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR.
+-  set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}")
++  set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}")
+ 
+   # Group test settings.
+   set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING
+@@ -40,7 +40,7 @@ if (OPENMP_STANDALONE_BUILD)
+ else()
+   set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR})
+   # If building in tree, we honor the same install suffix LLVM uses.
+-  set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}")
++  set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
+ 
+   if (NOT MSVC)
+     set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
diff --git a/pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch
new file mode 100644
index 0000000000000..e69de29bb2d1d
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch
diff --git a/pkgs/development/compilers/llvm/6/lldb/default.nix b/pkgs/development/compilers/llvm/6/lldb/default.nix
index e64584edf29d1..c8d3c4c1a771d 100644
--- a/pkgs/development/compilers/llvm/6/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/6/lldb/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.libobjc
     darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
   ];
 
   CXXFLAGS = "-fno-rtti";
diff --git a/pkgs/development/compilers/llvm/7/clang/HIP-use-PATH-7.patch b/pkgs/development/compilers/llvm/7/clang/HIP-use-PATH-7.patch
deleted file mode 100644
index 764dddd966cbb..0000000000000
--- a/pkgs/development/compilers/llvm/7/clang/HIP-use-PATH-7.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 8412cba68835f8f4cc527d02194b181faa5944d4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Holger=20W=C3=BCnsche?= <holger.o.wuensche@t-online.de>
-Date: Tue, 21 Jan 2020 19:46:09 +0100
-Subject: [PATCH] [HIP] use GetProgramPath for executable discovery
-
-This change replaces the manual building of executable paths
-using llvm::sys::path::append with GetProgramPath.
-This enables adding other paths in case executables reside
-in different directories and makes the code easier to read.
-
-Differential Revision: https://reviews.llvm.org/D72903
----
- clang/lib/Driver/ToolChains/HIP.cpp | 18 ++++++------------
- 1 file changed, 6 insertions(+), 12 deletions(-)
-
-diff --git a/lib/Driver/ToolChains/HIP.cpp b/lib/Driver/ToolChains/HIP.cpp
-index 03acf45a9b3..75fd3226c75 100644
---- a/lib/Driver/ToolChains/HIP.cpp
-+++ b/lib/Driver/ToolChains/HIP.cpp
-@@ -98,9 +98,8 @@ const char *AMDGCN::Linker::constructLLVMLinkCommand(
-   const char *OutputFileName =
-       C.addTempFile(C.getArgs().MakeArgString(TmpName));
-   CmdArgs.push_back(OutputFileName);
--  SmallString<128> ExecPath(C.getDriver().Dir);
--  llvm::sys::path::append(ExecPath, "llvm-link");
--  const char *Exec = Args.MakeArgString(ExecPath);
-+  const char *Exec =
-+      Args.MakeArgString(getToolChain().GetProgramPath("llvm-link"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
-   return OutputFileName;
- }
-@@ -141,9 +140,8 @@ const char *AMDGCN::Linker::constructOptCommand(
-   const char *OutputFileName =
-       C.addTempFile(C.getArgs().MakeArgString(TmpFileName));
-   OptArgs.push_back(OutputFileName);
--  SmallString<128> OptPath(C.getDriver().Dir);
--  llvm::sys::path::append(OptPath, "opt");
--  const char *OptExec = Args.MakeArgString(OptPath);
-+  const char *OptExec =
-+      Args.MakeArgString(getToolChain().GetProgramPath("opt"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, OptExec, OptArgs, Inputs));
-   return OutputFileName;
- }
-@@ -161,9 +159,7 @@ const char *AMDGCN::Linker::constructLlcCommand(
-   const char *LlcOutputFile =
-       C.addTempFile(C.getArgs().MakeArgString(LlcOutputFileName));
-   LlcArgs.push_back(LlcOutputFile);
--  SmallString<128> LlcPath(C.getDriver().Dir);
--  llvm::sys::path::append(LlcPath, "llc");
--  const char *Llc = Args.MakeArgString(LlcPath);
-+  const char *Llc = Args.MakeArgString(getToolChain().GetProgramPath("llc"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Llc, LlcArgs, Inputs));
-   return LlcOutputFile;
- }
-@@ -178,9 +174,7 @@ void AMDGCN::Linker::constructLldCommand(Compilation &C, const JobAction &JA,
-   ArgStringList LldArgs{"-flavor",    "gnu", "--no-undefined",
-                         "-shared",    "-o",  Output.getFilename(),
-                         InputFileName};
--  SmallString<128> LldPath(C.getDriver().Dir);
--  llvm::sys::path::append(LldPath, "lld");
--  const char *Lld = Args.MakeArgString(LldPath);
-+  const char *Lld = Args.MakeArgString(getToolChain().GetProgramPath("lld"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Lld, LldArgs, Inputs));
- }
- 
--- 
-2.23.1
-
diff --git a/pkgs/development/compilers/llvm/7/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/clang/gnu-install-dirs.patch
deleted file mode 100644
index 540c043a2db9a..0000000000000
--- a/pkgs/development/compilers/llvm/7/clang/gnu-install-dirs.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 52b881939499..85662a2113e7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.4.3)
- if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
-   project(Clang)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   find_program(LLVM_CONFIG "llvm-config")
-@@ -374,7 +376,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/clang include/clang-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.def"
-     PATTERN "*.h"
-@@ -383,7 +385,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "CMakeFiles" EXCLUDE
-     PATTERN "*.inc"
-@@ -391,7 +393,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(PROGRAMS utils/bash-autocomplete.sh
--    DESTINATION share/clang
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-     )
- endif()
- 
-diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
-index c09a8423f9f6..39f37e0097eb 100644
---- a/cmake/modules/AddClang.cmake
-+++ b/cmake/modules/AddClang.cmake
-@@ -99,9 +99,9 @@ macro(add_clang_library name)
-       install(TARGETS ${name}
-         COMPONENT ${name}
-         ${export_to_clangtargets}
--        LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        RUNTIME DESTINATION bin)
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-       if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-         add_llvm_install_targets(install-${name}
-@@ -141,7 +141,7 @@ macro(add_clang_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_clangtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -156,5 +156,5 @@ endmacro()
- macro(add_clang_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
-index 1930d8e225c7..bb9158093079 100644
---- a/lib/Headers/CMakeLists.txt
-+++ b/lib/Headers/CMakeLists.txt
-@@ -162,19 +162,19 @@ install(
-   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${cuda_wrapper_files}
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
-   add_llvm_install_targets(install-clang-headers
-diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt
-index 53e3421f1b35..79ae5bb4c399 100644
---- a/tools/c-index-test/CMakeLists.txt
-+++ b/tools/c-index-test/CMakeLists.txt
-@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
-        "@executable_path/../../lib")
-   else()
--    set(INSTALL_DESTINATION bin)
-+    set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endif()
- 
-   install(TARGETS c-index-test
-diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt
-index c5ace26c2914..97bdfca7d896 100644
---- a/tools/clang-check/CMakeLists.txt
-+++ b/tools/clang-check/CMakeLists.txt
-@@ -20,4 +20,4 @@ target_link_libraries(clang-check
-   )
- 
- install(TARGETS clang-check
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt
-index a295e8cd0b2a..1973ff82c7f6 100644
---- a/tools/clang-format/CMakeLists.txt
-+++ b/tools/clang-format/CMakeLists.txt
-@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
- endif()
- 
- install(PROGRAMS clang-format-bbedit.applescript
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-diff.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-sublime.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS git-clang-format
--  DESTINATION bin
-+  DESTINATION ${CMAKE_INSTALL_BINDIR}
-   COMPONENT clang-format)
-diff --git a/tools/clang-func-mapping/CMakeLists.txt b/tools/clang-func-mapping/CMakeLists.txt
-index ae28e28d532d..8ecb2e37a8f7 100644
---- a/tools/clang-func-mapping/CMakeLists.txt
-+++ b/tools/clang-func-mapping/CMakeLists.txt
-@@ -20,4 +20,4 @@ target_link_libraries(clang-func-mapping
-   )
- 
- install(TARGETS clang-func-mapping
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt
-index 8718015be76a..7a038f39622e 100644
---- a/tools/clang-offload-bundler/CMakeLists.txt
-+++ b/tools/clang-offload-bundler/CMakeLists.txt
-@@ -22,4 +22,4 @@ target_link_libraries(clang-offload-bundler
-   ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS}
-   )
- 
--install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin)
-+install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt
-index 3b3ab1540a80..9aca9ba4a2cf 100644
---- a/tools/clang-rename/CMakeLists.txt
-+++ b/tools/clang-rename/CMakeLists.txt
-@@ -18,8 +18,8 @@ target_link_libraries(clang-rename
-   )
- 
- install(PROGRAMS clang-rename.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
- install(PROGRAMS clang-rename.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
-diff --git a/tools/diagtool/CMakeLists.txt b/tools/diagtool/CMakeLists.txt
-index 96d1c390249c..41c762b37b76 100644
---- a/tools/diagtool/CMakeLists.txt
-+++ b/tools/diagtool/CMakeLists.txt
-@@ -21,7 +21,7 @@ target_link_libraries(diagtool
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(TARGETS diagtool
-     COMPONENT diagtool
--    RUNTIME DESTINATION bin)
-+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-   if (NOT CMAKE_CONFIGURATION_TYPES)
-     add_llvm_install_targets(install-diagtool
-diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
-index e539c8308e75..4e1fbccea35d 100644
---- a/tools/libclang/CMakeLists.txt
-+++ b/tools/libclang/CMakeLists.txt
-@@ -130,7 +130,7 @@ endif()
- if(INTERNAL_INSTALL_PREFIX)
-   set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
- else()
--  set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
-+  set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
- 
- install(DIRECTORY ../../include/clang-c
-diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt
-index 380379300b09..adfd58ed5f7d 100644
---- a/tools/scan-build/CMakeLists.txt
-+++ b/tools/scan-build/CMakeLists.txt
-@@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(LibexecFile ${LibexecFiles})
-@@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/libexec/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
--    install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec)
-+    install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
-   endforeach()
- 
-   foreach(ManPage ${ManPages})
-@@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/share/scan-build/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
--    install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build)
-+    install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build)
-   endforeach()
- 
-   add_custom_target(scan-build ALL DEPENDS ${Depends})
-diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt
-index b305ca562a72..554bcb379061 100644
---- a/tools/scan-view/CMakeLists.txt
-+++ b/tools/scan-view/CMakeLists.txt
-@@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(ShareFile ${ShareFiles})
-@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/share/scan-view/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
--    install(FILES share/${ShareFile} DESTINATION share/scan-view)
-+    install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view)
-   endforeach()
- 
-   add_custom_target(scan-view ALL DEPENDS ${Depends})
-diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt
-index 5573009d343a..24b3a90f233f 100644
---- a/utils/hmaptool/CMakeLists.txt
-+++ b/utils/hmaptool/CMakeLists.txt
-@@ -9,7 +9,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM
-                    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${CLANG_HMAPTOOL})
- 
- list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL})
--install(PROGRAMS ${CLANG_HMAPTOOL} DESTINATION bin)
-+install(PROGRAMS ${CLANG_HMAPTOOL} DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- add_custom_target(hmaptool ALL DEPENDS ${Depends})
- set_target_properties(hmaptool PROPERTIES FOLDER "Utils")
diff --git a/pkgs/development/compilers/llvm/7/clang/unwindlib.patch b/pkgs/development/compilers/llvm/7/clang/unwindlib.patch
deleted file mode 100644
index 59a092d7c7069..0000000000000
--- a/pkgs/development/compilers/llvm/7/clang/unwindlib.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-commit a5cacb5ba7f1f18e7bb6f6709e42683eeb7e6470
-Author: Sterling Augustine <saugustine@google.com>
-Date:   Tue Mar 19 20:01:59 2019 +0000
-
-    Add --unwindlib=[libgcc|compiler-rt] to parallel --rtlib= [take 2]
-    
-    "clang++ hello.cc --rtlib=compiler-rt"
-    
-    now can works without specifying additional unwind or exception
-    handling libraries.
-    
-    This reworked version of the feature no longer modifies today's default
-    unwind library for compiler-rt: which is nothing. Rather, a user
-    can specify -DCLANG_DEFAULT_UNWINDLIB=libunwind when configuring
-    the compiler.
-    
-    This should address the issues from the previous version.
-    
-    Update tests for new --unwindlib semantics.
-    
-    Differential Revision: https://reviews.llvm.org/D59109
-    
-    llvm-svn: 356508
-
-diff --git clang/CMakeLists.txt clang/CMakeLists.txt
-index 52b881939499..2c3fb62f6e73 100644
---- clang/CMakeLists.txt
-+++ clang/CMakeLists.txt
-@@ -244,6 +244,24 @@ if (NOT(CLANG_DEFAULT_RTLIB STREQUAL "" OR
-     "Default runtime library to use (\"libgcc\" or \"compiler-rt\", empty for platform default)" FORCE)
- endif()
- 
-+set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING
-+  "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty to match runtime library.)")
-+if (CLANG_DEFAULT_UNWINDLIB STREQUAL "")
-+  if (CLANG_DEFAULT_RTLIB STREQUAL "libgcc")
-+    set (CLANG_DEFAULT_UNWINDLIB "libgcc" CACHE STRING "" FORCE)
-+  elseif (CLANG_DEFAULT_RTLIBS STREQUAL "libunwind")
-+    set (CLANG_DEFAULT_UNWINDLIB "none" CACHE STRING "" FORCE)
-+  endif()
-+endif()
-+
-+if (NOT(CLANG_DEFAULT_UNWINDLIB STREQUAL "none" OR
-+        CLANG_DEFAULT_UNWINDLIB STREQUAL "libgcc" OR
-+        CLANG_DEFAULT_UNWINDLIB STREQUAL "libunwind"))
-+  message(WARNING "Resetting default unwindlib to use platform default")
-+  set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING
-+    "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty for none)" FORCE)
-+endif()
-+
- set(CLANG_DEFAULT_OBJCOPY "objcopy" CACHE STRING
-   "Default objcopy executable to use.")
- 
-diff --git clang/include/clang/Basic/DiagnosticDriverKinds.td clang/include/clang/Basic/DiagnosticDriverKinds.td
-index 7f75f45c6578..7e1bb33b5cef 100644
---- clang/include/clang/Basic/DiagnosticDriverKinds.td
-+++ clang/include/clang/Basic/DiagnosticDriverKinds.td
-@@ -52,6 +52,10 @@ def err_drv_invalid_rtlib_name : Error<
-   "invalid runtime library name in argument '%0'">;
- def err_drv_unsupported_rtlib_for_platform : Error<
-   "unsupported runtime library '%0' for platform '%1'">;
-+def err_drv_invalid_unwindlib_name : Error<
-+  "invalid unwind library name in argument '%0'">;
-+def err_drv_incompatible_unwindlib : Error<
-+  "--rtlib=libgcc requires --unwindlib=libgcc">;
- def err_drv_invalid_stdlib_name : Error<
-   "invalid library name in argument '%0'">;
- def err_drv_invalid_output_with_multiple_archs : Error<
-diff --git clang/include/clang/Config/config.h.cmake clang/include/clang/Config/config.h.cmake
-index 1d624450b9d9..2d4cb747e87e 100644
---- clang/include/clang/Config/config.h.cmake
-+++ clang/include/clang/Config/config.h.cmake
-@@ -23,6 +23,9 @@
- /* Default runtime library to use. */
- #define CLANG_DEFAULT_RTLIB "${CLANG_DEFAULT_RTLIB}"
- 
-+/* Default unwind library to use. */
-+#define CLANG_DEFAULT_UNWINDLIB "${CLANG_DEFAULT_UNWINDLIB}"
-+
- /* Default objcopy to use */
- #define CLANG_DEFAULT_OBJCOPY "${CLANG_DEFAULT_OBJCOPY}"
- 
-diff --git clang/include/clang/Driver/Options.td clang/include/clang/Driver/Options.td
-index 601aa8744967..0e74a2d36dea 100644
---- clang/include/clang/Driver/Options.td
-+++ clang/include/clang/Driver/Options.td
-@@ -2428,6 +2428,8 @@ def std_EQ : Joined<["-", "--"], "std=">, Flags<[CC1Option]>,
-   }]>;
- def stdlib_EQ : Joined<["-", "--"], "stdlib=">, Flags<[CC1Option]>,
-   HelpText<"C++ standard library to use">, Values<"libc++,libstdc++,platform">;
-+def unwindlib_EQ : Joined<["-", "--"], "unwindlib=">, Flags<[CC1Option]>,
-+  HelpText<"Unwind library to use">, Values<"libgcc,unwindlib,platform">;
- def sub__library : JoinedOrSeparate<["-"], "sub_library">;
- def sub__umbrella : JoinedOrSeparate<["-"], "sub_umbrella">;
- def system_header_prefix : Joined<["--"], "system-header-prefix=">,
-diff --git clang/include/clang/Driver/ToolChain.h clang/include/clang/Driver/ToolChain.h
-index 2f9c2c190e32..d5b131bcf112 100644
---- clang/include/clang/Driver/ToolChain.h
-+++ clang/include/clang/Driver/ToolChain.h
-@@ -99,6 +99,12 @@ public:
-     RLT_Libgcc
-   };
- 
-+  enum UnwindLibType {
-+    UNW_None,
-+    UNW_CompilerRT,
-+    UNW_Libgcc
-+  };
-+
-   enum RTTIMode {
-     RM_Enabled,
-     RM_Disabled,
-@@ -352,6 +358,10 @@ public:
-     return ToolChain::CST_Libstdcxx;
-   }
- 
-+  virtual UnwindLibType GetDefaultUnwindLibType() const {
-+    return ToolChain::UNW_None;
-+  }
-+
-   virtual std::string getCompilerRTPath() const;
- 
-   virtual std::string getCompilerRT(const llvm::opt::ArgList &Args,
-@@ -484,6 +494,10 @@ public:
-   // given compilation arguments.
-   virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const;
- 
-+  // GetUnwindLibType - Determine the unwind library type to use with the
-+  // given compilation arguments.
-+  virtual UnwindLibType GetUnwindLibType(const llvm::opt::ArgList &Args) const;
-+
-   /// AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set
-   /// the include paths to use for the given C++ standard library type.
-   virtual void
-diff --git clang/lib/Driver/ToolChain.cpp clang/lib/Driver/ToolChain.cpp
-index cf3db34688df..d980dd5d23fb 100644
---- clang/lib/Driver/ToolChain.cpp
-+++ clang/lib/Driver/ToolChain.cpp
-@@ -665,6 +665,33 @@ ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType(
-   return GetDefaultRuntimeLibType();
- }
- 
-+ToolChain::UnwindLibType ToolChain::GetUnwindLibType(
-+    const ArgList &Args) const {
-+  const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ);
-+  StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_UNWINDLIB;
-+
-+  if (LibName == "none")
-+    return ToolChain::UNW_None;
-+  else if (LibName == "platform" || LibName == "") {
-+    ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args);
-+    if (RtLibType == ToolChain::RLT_CompilerRT)
-+      return ToolChain::UNW_None;
-+    else if (RtLibType == ToolChain::RLT_Libgcc)
-+      return ToolChain::UNW_Libgcc;
-+  } else if (LibName == "libunwind") {
-+    if (GetRuntimeLibType(Args) == RLT_Libgcc)
-+      getDriver().Diag(diag::err_drv_incompatible_unwindlib);
-+    return ToolChain::UNW_CompilerRT;
-+  } else if (LibName == "libgcc")
-+    return ToolChain::UNW_Libgcc;
-+
-+  if (A)
-+    getDriver().Diag(diag::err_drv_invalid_unwindlib_name)
-+        << A->getAsString(Args);
-+
-+  return GetDefaultUnwindLibType();
-+}
-+
- ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
-   const Arg *A = Args.getLastArg(options::OPT_stdlib_EQ);
-   StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_CXX_STDLIB;
-diff --git clang/test/Driver/compiler-rt-unwind.c clang/test/Driver/compiler-rt-unwind.c
-new file mode 100644
-index 000000000000..00024dfa7ed3
---- /dev/null
-+++ clang/test/Driver/compiler-rt-unwind.c
-@@ -0,0 +1,49 @@
-+// General tests that the driver handles combinations of --rtlib=XXX and
-+// --unwindlib=XXX properly.
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-EMPTY %s
-+// RTLIB-EMPTY: "{{.*}}lgcc"
-+// RTLIB-EMPTY: "{{.*}}-lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-GCC %s
-+// RTLIB-GCC: "{{.*}}lgcc"
-+// RTLIB-GCC: "{{.*}}lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER-RT %s
-+// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lgcc"
-+// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lunwind"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1   \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT %s
-+// RTLIB-COMPILER-RT: "{{.*}}libclang_rt.builtins-x86_64.a"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1   \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC %s
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}libclang_rt.builtins-x86_64.a"
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1              \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \
-+// RUN:     -static --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC %s
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}libclang_rt.builtins-x86_64.a"
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}lgcc_eh"
-+//
-+// RUN: not %clang -no-canonical-prefixes %s -o %t.o 2> %t.err              \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
-+// RUN:     --gcc-toolchain="" \
-+// RUN: FileCheck --input-file=%t.err --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER_RT %s
-+// RTLIB-GCC-UNWINDLIB-COMPILER_RT: "{{[.|\\\n]*}}--rtlib=libgcc requires --unwindlib=libgcc"
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/7/compiler-rt/armv7l.patch
deleted file mode 100644
index 89d7f1aec918c..0000000000000
--- a/pkgs/development/compilers/llvm/7/compiler-rt/armv7l.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -ur compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake
---- compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake	2018-05-25 06:36:27.000000000 +0900
-+++ compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake	2020-05-09 20:26:33.030608692 +0900
-@@ -24,7 +24,7 @@
- 
- 
- set(ARM64 aarch64)
--set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
-+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
- set(HEXAGON hexagon)
- set(X86 i386)
- set(X86_64 x86_64)
-diff -ur compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt
---- compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt	2018-07-31 03:18:59.000000000 +0900
-+++ compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt	2020-05-09 20:27:38.893409318 +0900
-@@ -453,6 +453,7 @@
- set(armv7_SOURCES ${arm_SOURCES})
- set(armv7s_SOURCES ${arm_SOURCES})
- set(armv7k_SOURCES ${arm_SOURCES})
-+set(armv7l_SOURCES ${arm_SOURCES})
- set(arm64_SOURCES ${aarch64_SOURCES})
- 
- # macho_embedded archs
-@@ -563,12 +564,12 @@
-       set(_arch ${arch})
-       if("${arch}" STREQUAL "armv6m")
-         set(_arch "arm|armv6m")
--      elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
-+      elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
-         set(_arch "arm")
-       endif()
- 
-       # For ARM archs, exclude any VFP builtins if VFP is not supported
--      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
-+      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
-         string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
-         check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP)
-         if(NOT COMPILER_RT_HAS_${arch}_VFP)
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/crtbegin-and-end.patch b/pkgs/development/compilers/llvm/7/compiler-rt/crtbegin-and-end.patch
deleted file mode 100644
index e63be181f95cc..0000000000000
--- a/pkgs/development/compilers/llvm/7/compiler-rt/crtbegin-and-end.patch
+++ /dev/null
@@ -1,595 +0,0 @@
-Get crtbegin and crtend without compiler GCC! PR is at https://reviews.llvm.org/D28791
-
-Index: compiler-rt/CMakeLists.txt
-===================================================================
---- compiler-rt/CMakeLists.txt
-+++ compiler-rt/CMakeLists.txt
-@@ -29,6 +29,8 @@
- 
- option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
- mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
-+option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON)
-+mark_as_advanced(COMPILER_RT_BUILD_CRT)
- option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON)
- mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS)
- option(COMPILER_RT_BUILD_XRAY "Build xray" ON)
-Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake
-===================================================================
---- compiler-rt/cmake/Modules/AddCompilerRT.cmake
-+++ compiler-rt/cmake/Modules/AddCompilerRT.cmake
-@@ -132,7 +132,7 @@
- # Adds static or shared runtime for a list of architectures and operating
- # systems and puts it in the proper directory in the build and install trees.
- # add_compiler_rt_runtime(<name>
--#                         {STATIC|SHARED}
-+#                         {OBJECT|STATIC|SHARED}
- #                         ARCHS <architectures>
- #                         OS <os list>
- #                         SOURCES <source files>
-@@ -144,8 +144,8 @@
- #                         PARENT_TARGET <convenience parent target>
- #                         ADDITIONAL_HEADERS <header files>)
- function(add_compiler_rt_runtime name type)
--  if(NOT type MATCHES "^(STATIC|SHARED)$")
--    message(FATAL_ERROR "type argument must be STATIC or SHARED")
-+  if(NOT type MATCHES "^(OBJECT|STATIC|SHARED)$")
-+    message(FATAL_ERROR "type argument must be OBJECT, STATIC or SHARED")
-     return()
-   endif()
-   cmake_parse_arguments(LIB
-@@ -204,7 +204,10 @@
-         message(FATAL_ERROR "Architecture ${arch} can't be targeted")
-         return()
-       endif()
--      if(type STREQUAL "STATIC")
-+      if(type STREQUAL "OBJECT")
-+        set(libname "${name}-${arch}")
-+        set(output_name_${libname} ${libname}${COMPILER_RT_OS_SUFFIX})
-+      elseif(type STREQUAL "STATIC")
-         set(libname "${name}-${arch}")
-         set_output_name(output_name_${libname} ${name} ${arch})
-       else()
-@@ -270,12 +273,34 @@
-       set(COMPONENT_OPTION COMPONENT ${libname})
-     endif()
- 
--    add_library(${libname} ${type} ${sources_${libname}})
--    set_target_compile_flags(${libname} ${extra_cflags_${libname}})
--    set_target_link_flags(${libname} ${extra_link_flags_${libname}})
--    set_property(TARGET ${libname} APPEND PROPERTY
--                COMPILE_DEFINITIONS ${LIB_DEFS})
--    set_target_output_directories(${libname} ${output_dir_${libname}})
-+    if(type STREQUAL "OBJECT")
-+      string(TOUPPER ${CMAKE_BUILD_TYPE} config)
-+      get_property(cflags SOURCE ${sources_${libname}} PROPERTY COMPILE_FLAGS)
-+      separate_arguments(cflags)
-+      add_custom_command(
-+          OUTPUT ${output_dir_${libname}}/${libname}.o
-+          COMMAND ${CMAKE_C_COMPILER} ${sources_${libname}} ${cflags} ${extra_cflags_${libname}} -c -o ${output_dir_${libname}}/${libname}.o
-+          DEPENDS ${sources_${libname}}
-+          COMMENT "Building C object ${libname}.o")
-+      add_custom_target(${libname} DEPENDS ${output_dir_${libname}}/${libname}.o)
-+      install(FILES ${output_dir_${libname}}/${libname}.o
-+        DESTINATION ${install_dir_${libname}}
-+        ${COMPONENT_OPTION})
-+    else()
-+      add_library(${libname} ${type} ${sources_${libname}})
-+      set_target_compile_flags(${libname} ${extra_cflags_${libname}})
-+      set_target_link_flags(${libname} ${extra_link_flags_${libname}})
-+      set_property(TARGET ${libname} APPEND PROPERTY
-+                   COMPILE_DEFINITIONS ${LIB_DEFS})
-+      set_target_output_directories(${libname} ${output_dir_${libname}})
-+      install(TARGETS ${libname}
-+        ARCHIVE DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION}
-+        LIBRARY DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION}
-+        RUNTIME DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION})
-+    endif()
-     set_target_properties(${libname} PROPERTIES
-         OUTPUT_NAME ${output_name_${libname}})
-     set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime")
-@@ -299,13 +324,6 @@
-         )
-       endif()
-     endif()
--    install(TARGETS ${libname}
--      ARCHIVE DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION}
--      LIBRARY DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION}
--      RUNTIME DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION})
- 
-     # We only want to generate per-library install targets if you aren't using
-     # an IDE because the extra targets get cluttered in IDEs.
-Index: compiler-rt/cmake/config-ix.cmake
-===================================================================
---- compiler-rt/cmake/config-ix.cmake
-+++ compiler-rt/cmake/config-ix.cmake
-@@ -227,6 +227,7 @@
-     ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X})
- set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
-     ${MIPS32} ${MIPS64} ${PPC64} ${S390X})
-+set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
- set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
- set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
- 
-@@ -474,6 +475,7 @@
-     SANITIZER_COMMON_SUPPORTED_ARCH)
- 
- else()
-+  filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH})
-   # Architectures supported by compiler-rt libraries.
-   filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH
-     ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH})
-@@ -563,6 +565,12 @@
- 
- # TODO: Add builtins support.
- 
-+if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux")
-+  set(COMPILER_RT_HAS_CRT TRUE)
-+else()
-+  set(COMPILER_RT_HAS_CRT FALSE)
-+endif()
-+
- if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND
-     OS_NAME MATCHES "Linux")
-   set(COMPILER_RT_HAS_DFSAN TRUE)
-Index: compiler-rt/lib/CMakeLists.txt
-===================================================================
---- compiler-rt/lib/CMakeLists.txt
-+++ compiler-rt/lib/CMakeLists.txt
-@@ -17,6 +17,10 @@
-   add_subdirectory(builtins)
- endif()
- 
-+if(COMPILER_RT_BUILD_CRT)
-+  add_subdirectory(crt)
-+endif()
-+
- function(compiler_rt_build_runtime runtime)
-   string(TOUPPER ${runtime} runtime_uppercase)
-   if(COMPILER_RT_HAS_${runtime_uppercase})
-Index: compiler-rt/lib/crt/CMakeLists.txt
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/CMakeLists.txt
-@@ -0,0 +1,102 @@
-+add_compiler_rt_component(crt)
-+
-+function(check_cxx_section_exists section output)
-+  cmake_parse_arguments(ARG "" "" "SOURCE;FLAGS" ${ARGN})
-+  if(NOT ARG_SOURCE)
-+    set(ARG_SOURCE "int main() { return 0; }\n")
-+  endif()
-+
-+  string(RANDOM TARGET_NAME)
-+  set(TARGET_NAME "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmTC_${TARGET_NAME}.dir")
-+  file(MAKE_DIRECTORY ${TARGET_NAME})
-+
-+  file(WRITE "${TARGET_NAME}/CheckSectionExists.c" "${ARG_SOURCE}\n")
-+
-+  string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions
-+         ${CMAKE_C_COMPILE_OBJECT})
-+
-+  set(try_compile_flags "${ARG_FLAGS}")
-+  if(CMAKE_C_COMPILER_ID MATCHES Clang AND CMAKE_C_COMPILER_TARGET)
-+    list(APPEND try_compile_flags "-target ${CMAKE_C_COMPILER_TARGET}")
-+  endif()
-+
-+  string(REPLACE ";" " " extra_flags "${try_compile_flags}")
-+
-+  set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}")
-+  foreach(substitution ${substitutions})
-+    if(substitution STREQUAL "<CMAKE_C_COMPILER>")
-+      string(REPLACE "<CMAKE_C_COMPILER>"
-+             "${CMAKE_C_COMPILER}" test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<OBJECT>")
-+      string(REPLACE "<OBJECT>" "${TARGET_NAME}/CheckSectionExists.o"
-+             test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<SOURCE>")
-+      string(REPLACE "<SOURCE>" "${TARGET_NAME}/CheckSectionExists.c"
-+             test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<FLAGS>")
-+      string(REPLACE "<FLAGS>" "${CMAKE_C_FLAGS} ${extra_flags}"
-+             test_compile_command ${test_compile_command})
-+    else()
-+      string(REPLACE "${substitution}" "" test_compile_command
-+             ${test_compile_command})
-+    endif()
-+  endforeach()
-+
-+  string(REPLACE " " ";" test_compile_command "${test_compile_command}")
-+
-+  execute_process(
-+    COMMAND ${test_compile_command}
-+    RESULT_VARIABLE TEST_RESULT
-+    OUTPUT_VARIABLE TEST_OUTPUT
-+    ERROR_VARIABLE TEST_ERROR
-+  )
-+
-+  execute_process(
-+    COMMAND ${CMAKE_OBJDUMP} -h "${TARGET_NAME}/CheckSectionExists.o"
-+    RESULT_VARIABLE CHECK_RESULT
-+    OUTPUT_VARIABLE CHECK_OUTPUT
-+    ERROR_VARIABLE CHECK_ERROR
-+  )
-+  string(FIND "${CHECK_OUTPUT}" "${section}" SECTION_FOUND)
-+
-+  if(NOT SECTION_FOUND EQUAL -1)
-+    set(${output} TRUE PARENT_SCOPE)
-+  else()
-+    set(${output} FALSE PARENT_SCOPE)
-+  endif()
-+
-+  file(REMOVE_RECURSE ${TARGET_NAME})
-+endfunction()
-+
-+check_cxx_section_exists(".init_array" COMPILER_RT_HAS_INITFINI_ARRAY
-+  SOURCE "__attribute__((constructor)) void f() {}\nint main() { return 0; }\n")
-+
-+append_list_if(COMPILER_RT_HAS_INITFINI_ARRAY -DCRT_HAS_INITFINI_ARRAY CRT_CFLAGS)
-+append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC CRT_CFLAGS)
-+
-+foreach(arch ${CRT_SUPPORTED_ARCH})
-+  add_compiler_rt_runtime(clang_rt.crtbegin
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c
-+    CFLAGS ${CRT_CFLAGS}
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtbegin_shared
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c
-+    CFLAGS ${CRT_CFLAGS} -DCRT_SHARED
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtend
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c
-+    CFLAGS ${CRT_CFLAGS}
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtend_shared
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c
-+    CFLAGS ${CRT_CFLAGS} -DCRT_SHARED
-+    PARENT_TARGET crt)
-+endforeach()
-Index: compiler-rt/lib/crt/crtbegin.c
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/crtbegin.c
-@@ -0,0 +1,108 @@
-+/* ===-- crtbegin.c - Start of constructors and destructors ----------------===
-+ *
-+ *      	       The LLVM Compiler Infrastructure
-+ *
-+ * This file is dual licensed under the MIT and the University of Illinois Open
-+ * Source Licenses. See LICENSE.TXT for details.
-+ *
-+ * ===----------------------------------------------------------------------===
-+ */
-+
-+#include <stddef.h>
-+
-+__attribute__((visibility("hidden")))
-+#ifdef CRT_SHARED
-+void *__dso_handle = &__dso_handle;
-+#else
-+void *__dso_handle = (void *)0;
-+#endif
-+
-+static long __EH_FRAME_LIST__[]
-+    __attribute__((section(".eh_frame"), aligned(sizeof(void *)))) = {};
-+
-+extern void __register_frame_info(const void *, void *) __attribute__((weak));
-+extern void *__deregister_frame_info(const void *) __attribute__((weak));
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+typedef void (*fp)(void);
-+
-+static fp __CTOR_LIST__[]
-+    __attribute__((section(".ctors"), aligned(sizeof(fp)), used)) = {(fp)-1};
-+extern fp __CTOR_LIST_END__[];
-+#endif
-+
-+#ifdef CRT_SHARED
-+extern void __cxa_finalize(void *) __attribute__((weak));
-+#endif
-+
-+static void __attribute__((used)) __do_init() {
-+  static _Bool __initialized;
-+  if (__builtin_expect(__initialized, 0))
-+    return;
-+  __initialized = 1;
-+
-+  static struct { void *p[8]; } __object;
-+  if (__register_frame_info)
-+    __register_frame_info(__EH_FRAME_LIST__, &__object);
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+  const size_t n = __CTOR_LIST_END__ - __CTOR_LIST__ - 1;
-+  for (size_t i = n; i >= 1; i--) __CTOR_LIST__[i]();
-+#endif
-+}
-+
-+#ifdef CRT_HAS_INITFINI_ARRAY
-+__attribute__((section(".init_array"),
-+               used)) static void (*__init)(void) = __do_init;
-+#else  // CRT_HAS_INITFINI_ARRAY
-+#if defined(__i386__) || defined(__x86_64__)
-+asm(".pushsection .init,\"ax\",@progbits\n\t"
-+    "call " __USER_LABEL_PREFIX__ "__do_init\n\t"
-+    ".popsection");
-+#elif defined(__arm__)
-+asm(".pushsection .init,\"ax\",%progbits\n\t"
-+    "bl " __USER_LABEL_PREFIX__ "__do_init\n\t"
-+    ".popsection");
-+#endif  // CRT_HAS_INITFINI_ARRAY
-+#endif
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+static fp __DTOR_LIST__[]
-+    __attribute__((section(".dtors"), aligned(sizeof(fp)), used)) = {(fp)-1};
-+extern fp __DTOR_LIST_END__[];
-+#endif
-+
-+static void __attribute__((used)) __do_fini() {
-+  static _Bool __finalized;
-+  if (__builtin_expect(__finalized, 0))
-+    return;
-+  __finalized = 1;
-+
-+#ifdef CRT_SHARED
-+  if (__cxa_finalize)
-+    __cxa_finalize(__dso_handle);
-+#endif
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+  if (__deregister_frame_info)
-+    __deregister_frame_info(__EH_FRAME_LIST__);
-+
-+  const size_t n = __DTOR_LIST_END__ - __DTOR_LIST__ - 1;
-+  for (size_t i = 1; i < n; i++) __DTOR_LIST__[i]();
-+#endif
-+}
-+
-+#ifdef CRT_HAS_INITFINI_ARRAY
-+__attribute__((section(".fini_array"),
-+               used)) static void (*__fini)(void) = __do_fini;
-+#else  // CRT_HAS_INITFINI_ARRAY
-+#if defined(__i386__) || defined(__x86_64__)
-+asm(".pushsection .fini,\"ax\",@progbits\n\t"
-+    "call " __USER_LABEL_PREFIX__ "__do_fini\n\t"
-+    ".popsection");
-+#elif defined(__arm__)
-+asm(".pushsection .fini,\"ax\",%progbits\n\t"
-+    "bl " __USER_LABEL_PREFIX__ "__do_fini\n\t"
-+    ".popsection");
-+#endif
-+#endif  // CRT_HAS_INIT_FINI_ARRAY
-Index: compiler-rt/lib/crt/crtend.c
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/crtend.c
-@@ -0,0 +1,24 @@
-+/* ===-- crtend.c - End of constructors and destructors --------------------===
-+ *
-+ *      	       The LLVM Compiler Infrastructure
-+ *
-+ * This file is dual licensed under the MIT and the University of Illinois Open
-+ * Source Licenses. See LICENSE.TXT for details.
-+ *
-+ * ===----------------------------------------------------------------------===
-+ */
-+
-+#include <stdint.h>
-+
-+// Put 4-byte zero which is the length field in FDE at the end as a terminator.
-+const int32_t __EH_FRAME_LIST_END__[]
-+    __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)),
-+                   visibility("hidden"), used)) = {0};
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+typedef void (*fp)(void);
-+fp __CTOR_LIST_END__[]
-+    __attribute__((section(".ctors"), visibility("hidden"), used)) = {0};
-+fp __DTOR_LIST_END__[]
-+    __attribute__((section(".dtors"), visibility("hidden"), used)) = {0};
-+#endif
-Index: compiler-rt/test/CMakeLists.txt
-===================================================================
---- compiler-rt/test/CMakeLists.txt
-+++ compiler-rt/test/CMakeLists.txt
-@@ -73,6 +73,9 @@
-   if(COMPILER_RT_BUILD_XRAY)
-     compiler_rt_test_runtime(xray)
-   endif()
-+  if(COMPILER_RT_HAS_CRT)
-+    add_subdirectory(crt)
-+  endif()
-   # ShadowCallStack does not yet provide a runtime with compiler-rt, the tests
-   # include their own minimal runtime
-   add_subdirectory(shadowcallstack)
-Index: compiler-rt/test/crt/CMakeLists.txt
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/CMakeLists.txt
-@@ -0,0 +1,31 @@
-+set(CRT_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-+
-+set(CRT_TESTSUITES)
-+
-+set(CRT_TEST_DEPS "")
-+
-+if(NOT COMPILER_RT_STANDALONE_BUILD AND COMPILER_RT_BUILD_CRT AND
-+   COMPILER_RT_HAS_CRT)
-+  list(APPEND CRT_TEST_DEPS crt)
-+endif()
-+
-+set(CRT_TEST_ARCH ${CRT_SUPPORTED_ARCH})
-+if (COMPILER_RT_BUILD_CRT AND COMPILER_RT_HAS_CRT)
-+  foreach(arch ${CRT_TEST_ARCH})
-+    set(CRT_TEST_TARGET_ARCH ${arch})
-+    string(TOLOWER "-${arch}-${OS_NAME}" CRT_TEST_CONFIG_SUFFIX)
-+    get_test_cc_for_arch(${arch} CRT_TEST_TARGET_CC CRT_TEST_TARGET_CFLAGS)
-+    string(TOUPPER ${arch} ARCH_UPPER_CASE)
-+    set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
-+
-+    configure_lit_site_cfg(
-+      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
-+      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg)
-+    list(APPEND CRT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
-+  endforeach()
-+endif()
-+
-+add_lit_testsuite(check-crt "Running the CRT tests"
-+  ${CRT_TESTSUITES}
-+  DEPENDS ${CRT_TEST_DEPS})
-+set_target_properties(check-crt PROPERTIES FOLDER "Compiler-RT Misc")
-Index: compiler-rt/test/crt/dso_handle.cpp
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/dso_handle.cpp
-@@ -0,0 +1,33 @@
-+// RUN: %clangxx -g -DCRT_SHARED -c %s -fPIC -o %tshared.o
-+// RUN: %clangxx -g -c %s -fPIC -o %t.o
-+// RUN: %clangxx -g -shared -o %t.so -nostdlib %crti %shared_crtbegin %tshared.o %libstdcxx -lc -lm -lgcc_s %shared_crtend %crtn
-+// RUN: %clangxx -g -o %t -nostdlib %crt1 %crti %crtbegin %t.o %libstdcxx -lc -lm %libgcc %t.so %crtend %crtn
-+// RUN: %run %t 2>&1 | FileCheck %s
-+
-+#include <stdio.h>
-+
-+// CHECK: 1
-+// CHECK-NEXT: ~A()
-+
-+#ifdef CRT_SHARED
-+bool G;
-+void C() {
-+  printf("%d\n", G);
-+}
-+
-+struct A {
-+  A() { G = true; }
-+  ~A() {
-+    printf("~A()\n");
-+  }
-+};
-+
-+A a;
-+#else
-+void C();
-+
-+int main() {
-+  C();
-+  return 0;
-+}
-+#endif
-Index: compiler-rt/test/crt/lit.cfg
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/lit.cfg
-@@ -0,0 +1,80 @@
-+# -*- Python -*-
-+
-+import os
-+import subprocess
-+
-+# Setup config name.
-+config.name = 'CRT' + config.name_suffix
-+
-+# Setup source root.
-+config.test_source_root = os.path.dirname(__file__)
-+
-+
-+def get_library_path(file):
-+    cmd = subprocess.Popen([config.clang.strip(),
-+                            config.target_cflags.strip(),
-+                            '-print-file-name=%s' % file],
-+                           stdout=subprocess.PIPE,
-+                           env=config.environment)
-+    if not cmd.stdout:
-+      lit_config.fatal("Couldn't find the library path for '%s'" % file)
-+    dir = cmd.stdout.read().strip()
-+    if sys.platform in ['win32'] and execute_external:
-+        # Don't pass dosish path separator to msys bash.exe.
-+        dir = dir.replace('\\', '/')
-+    # Ensure the result is an ascii string, across Python2.5+ - Python3.
-+    return str(dir.decode('ascii'))
-+
-+
-+def get_libgcc_file_name():
-+    cmd = subprocess.Popen([config.clang.strip(),
-+                            config.target_cflags.strip(),
-+                            '-print-libgcc-file-name'],
-+                           stdout=subprocess.PIPE,
-+                           env=config.environment)
-+    if not cmd.stdout:
-+      lit_config.fatal("Couldn't find the library path for '%s'" % file)
-+    dir = cmd.stdout.read().strip()
-+    if sys.platform in ['win32'] and execute_external:
-+        # Don't pass dosish path separator to msys bash.exe.
-+        dir = dir.replace('\\', '/')
-+    # Ensure the result is an ascii string, across Python2.5+ - Python3.
-+    return str(dir.decode('ascii'))
-+
-+
-+def build_invocation(compile_flags):
-+    return ' ' + ' '.join([config.clang] + compile_flags) + ' '
-+
-+
-+# Setup substitutions.
-+config.substitutions.append(
-+    ('%clang ', build_invocation([config.target_cflags])))
-+config.substitutions.append(
-+    ('%clangxx ',
-+     build_invocation(config.cxx_mode_flags + [config.target_cflags])))
-+
-+base_lib = os.path.join(
-+    config.compiler_rt_libdir, "clang_rt.%%s-%s.o" % config.target_arch)
-+config.substitutions.append(('%crtbegin', base_lib % "crtbegin"))
-+config.substitutions.append(('%shared_crtbegin', base_lib % "crtbegin_shared"))
-+config.substitutions.append(('%crtend', base_lib % "crtend"))
-+config.substitutions.append(('%shared_crtend', base_lib % "crtend_shared"))
-+
-+config.substitutions.append(
-+    ('%crt1', get_library_path('crt1.o')))
-+config.substitutions.append(
-+    ('%crti', get_library_path('crti.o')))
-+config.substitutions.append(
-+    ('%crtn', get_library_path('crtn.o')))
-+
-+config.substitutions.append(
-+    ('%libgcc', get_libgcc_file_name()))
-+
-+config.substitutions.append(
-+    ('%libstdcxx', '-l' + config.sanitizer_cxx_lib.lstrip('lib')))
-+
-+# Default test suffixes.
-+config.suffixes = ['.c', '.cc', '.cpp']
-+
-+if config.host_os not in ['Linux']:
-+    config.unsupported = True
-Index: compiler-rt/test/crt/lit.site.cfg.in
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/lit.site.cfg.in
-@@ -0,0 +1,14 @@
-+@LIT_SITE_CFG_IN_HEADER@
-+
-+# Tool-specific config options.
-+config.name_suffix = "@CRT_TEST_CONFIG_SUFFIX@"
-+config.crt_lit_source_dir = "@CRT_LIT_SOURCE_DIR@"
-+config.target_cflags = "@CRT_TEST_TARGET_CFLAGS@"
-+config.target_arch = "@CRT_TEST_TARGET_ARCH@"
-+config.sanitizer_cxx_lib = "@SANITIZER_TEST_CXX_LIBNAME@"
-+
-+# Load common config for all compiler-rt lit tests
-+lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
-+
-+# Load tool-specific config that would do the real work.
-+lit_config.load_config(config, "@CRT_LIT_SOURCE_DIR@/lit.cfg")
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch
deleted file mode 100644
index 41b501ec6497d..0000000000000
--- a/pkgs/development/compilers/llvm/7/compiler-rt/gnu-install-dirs.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 86ca2b3ef74b..555103bd97fe 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,6 +8,7 @@ cmake_minimum_required(VERSION 3.4.3)
- # Check if compiler-rt is built as a standalone project.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
-   project(CompilerRT C CXX ASM)
-+  include(GNUInstallDirs)
-   set(COMPILER_RT_STANDALONE_BUILD TRUE)
-   set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- endif()
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index cd4c704fc824..5abcd1260381 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -478,7 +478,7 @@ macro(add_compiler_rt_resource_file target_name file_name component)
-   add_custom_target(${target_name} DEPENDS ${dst_file})
-   # Install in Clang resource directory.
-   install(FILES ${file_name}
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/share
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR}
-     COMPONENT ${component})
-   add_dependencies(${component} ${target_name})
- 
-@@ -495,7 +495,7 @@ macro(add_compiler_rt_script name)
-   add_custom_target(${name} DEPENDS ${dst})
-   install(FILES ${dst}
-     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin)
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR})
- endmacro(add_compiler_rt_script src name)
- 
- # Builds custom version of libc++ and installs it in <prefix>.
-diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
-index 04cc955980fa..a99f6dfb2f82 100644
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -377,7 +377,7 @@ macro(darwin_add_embedded_builtin_libraries)
-     set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR
-       ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded)
-     set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR
--      ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded)
-+      ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded)
-       
-     set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi")
-     set(CFLAGS_i386 "-march=pentium")
-diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
-index e5651718fa34..d95cfc984a85 100644
---- a/cmake/Modules/CompilerRTUtils.cmake
-+++ b/cmake/Modules/CompilerRTUtils.cmake
-@@ -330,7 +330,7 @@ endfunction()
- function(get_compiler_rt_install_dir arch install_dir)
-   if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-     get_compiler_rt_target(${arch} target)
--    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${target}/lib PARENT_SCOPE)
-+    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${target}/${CMAKE_INSTALL_FULL_LIBDIR} PARENT_SCOPE)
-   else()
-     set(${install_dir} ${COMPILER_RT_LIBRARY_INSTALL_DIR} PARENT_SCOPE)
-   endif()
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index 91fe2494b476..b59a0ffc69f4 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -53,11 +53,11 @@ if (LLVM_TREE_AVAILABLE)
- else()
-     # Take output dir and install path from the user.
-   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
--    "Path where built compiler-rt libraries should be stored.")
-+    "Path where built compiler-rt build artifacts should be stored.")
-   set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-     "Path where built compiler-rt executables should be stored.")
--  set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
--    "Path where built compiler-rt libraries should be installed.")
-+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-+    "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.")
-   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-   option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-   # Use a host compiler to compile/link tests.
-@@ -85,7 +85,7 @@ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
-   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
-     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-   set(COMPILER_RT_LIBRARY_INSTALL_DIR
--    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-+    ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- endif()
- 
- if(APPLE)
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index c4b93b89a30c..3913dc3a1ee6 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -48,12 +48,12 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc")
- install(FILES ${SANITIZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer)
- # Install xray headers.
- install(FILES ${XRAY_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs.
-   add_custom_target(install-compiler-rt-headers
-diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt
-index b3ae713cf02c..52b364b900f5 100644
---- a/lib/dfsan/CMakeLists.txt
-+++ b/lib/dfsan/CMakeLists.txt
-@@ -54,4 +54,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename}
-                    DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt)
- add_dependencies(dfsan dfsan_abilist)
- install(FILES ${dfsan_abilist_filename}
--        DESTINATION ${COMPILER_RT_INSTALL_PATH}/share)
-+        DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR})
diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
deleted file mode 100644
index 972d52ac6e1a4..0000000000000
--- a/pkgs/development/compilers/llvm/7/default.nix
+++ /dev/null
@@ -1,273 +0,0 @@
-{ lowPrio, newScope, pkgs, lib, stdenv, cmake
-, preLibcCrossHeaders
-, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
-, buildLlvmTools # tools, but from the previous stage, for cross
-, targetLlvmLibraries # libraries, but from the next stage, for cross
-, targetLlvm
-# This is the default binutils, but with *this* version of LLD rather
-# than the default LLVM version's, if LLD is the choice. We use these for
-# the `useLLVM` bootstrapping below.
-, bootBintoolsNoLibc ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintoolsNoLibc
-, bootBintools ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintools
-}:
-
-let
-  release_version = "7.1.0";
-  version = release_version; # differentiating these is important for rc's
-
-  fetch = name: sha256: fetchurl {
-    url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
-    inherit sha256;
-  };
-
-  clang-tools-extra_src = fetch "clang-tools-extra" "0lb4kdh7j2fhfz8kd6iv5df7m3pikiryk1vvwsf87spc90n09q0w";
-
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
-
-  tools = lib.makeExtensible (tools: let
-    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; });
-    mkExtraBuildCommands0 = cc: ''
-      rsrc="$out/resource-root"
-      mkdir "$rsrc"
-      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
-      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '';
-    mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
-    '';
-
-  bintoolsNoLibc' =
-    if bootBintoolsNoLibc == null
-    then tools.bintoolsNoLibc
-    else bootBintoolsNoLibc;
-  bintools' =
-    if bootBintools == null
-    then tools.bintools
-    else bootBintools;
-
-  in {
-
-    libllvm = callPackage ./llvm {
-      inherit llvm_meta;
-    };
-
-    # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm;
-
-    libllvm-polly = callPackage ./llvm {
-      inherit llvm_meta;
-      enablePolly = true;
-    };
-
-    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
-
-    libclang = callPackage ./clang {
-      inherit clang-tools-extra_src llvm_meta;
-    };
-
-    clang-unwrapped = tools.libclang;
-
-    clang-polly-unwrapped = callPackage ./clang {
-      inherit llvm_meta;
-      inherit clang-tools-extra_src;
-      libllvm = tools.libllvm-polly;
-      enablePolly = true;
-    };
-
-    llvm-manpages = lowPrio (tools.libllvm.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    clang-manpages = lowPrio (tools.libclang.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    # pick clang appropriate for package set we are targeting
-    clang =
-      /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
-      else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
-      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
-      else tools.libcxxClang;
-
-    libstdcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
-      libcxx = null;
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    libcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    lld = callPackage ./lld {
-      inherit llvm_meta;
-    };
-
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-    };
-
-    # Below, is the LLVM bootstrapping logic. It handles building a
-    # fully LLVM toolchain from scratch. No GCC toolchain should be
-    # pulled in. As a consequence, it is very quick to build different
-    # targets provided by LLVM and we can also build for what GCC
-    # doesn’t support like LLVM. Probably we should move to some other
-    # file.
-
-    bintools-unwrapped = callPackage ../common/bintools.nix { };
-
-    bintoolsNoLibc = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-      libc = preLibcCrossHeaders;
-    };
-
-    bintools = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-    };
-
-    clangUseLLVM = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      bintools = bintools';
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
-        targetLlvmLibraries.libunwind
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
-        echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
-        echo "-lunwind" >> $out/nix-support/cc-ldflags
-      '' + lib.optionalString stdenv.targetPlatform.isWasm ''
-        echo "-fno-exceptions" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibcxx = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-        echo "-nostdlib++" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoCompilerRt = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [ ];
-      extraBuildCommands = ''
-        echo "-nostartfiles" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands0 cc;
-    };
-
-    clangNoCompilerRtWithLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [ ];
-      extraBuildCommands = mkExtraBuildCommands0 cc;
-    };
-
-  });
-
-  libraries = lib.makeExtensible (libraries: let
-    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
-  in {
-
-    compiler-rt-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
-               else stdenv;
-    };
-
-    compiler-rt-no-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
-               else stdenv;
-    };
-
-    # N.B. condition is safe because without useLLVM both are the same.
-    compiler-rt =
-      if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isDarwin)
-      then libraries.compiler-rt-libc
-      else libraries.compiler-rt-no-libc;
-
-    stdenv = overrideCC stdenv buildLlvmTools.clang;
-
-    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
-
-    libcxx = callPackage ./libcxx {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libunwind = callPackage ./libunwind {
-      inherit llvm_meta;
-      inherit (buildLlvmTools) llvm;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    openmp = callPackage ./openmp {
-      inherit llvm_meta targetLlvm;
-    };
-  });
-  noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
-
-in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
diff --git a/pkgs/development/compilers/llvm/7/libcxx/default.nix b/pkgs/development/compilers/llvm/7/libcxx/default.nix
deleted file mode 100644
index 3834e17fb8dde..0000000000000
--- a/pkgs/development/compilers/llvm/7/libcxx/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
-, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
-, libcxxabi, libcxxrt
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
-
-stdenv.mkDerivation {
-  pname = "libcxx";
-  inherit version;
-
-  src = fetch "libcxx" "0kmhcapm2cjwalyiqasj9dmqbw59mcwdl8fgl951wg7ax84b8hj4";
-
-  postUnpack = ''
-    unpackFile ${libcxxabi.src}
-    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ../../libcxx-0001-musl-hacks.patch
-  ];
-
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
-  prePatch = ''
-    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
-  '';
-
-  preConfigure = ''
-    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
-    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patchShebangs utils/cat_files.py
-  '';
-
-  nativeBuildInputs = [ cmake ]
-    ++ lib.optional stdenv.hostPlatform.isMusl python3
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-  buildInputs = [ cxxabi ];
-
-  cmakeFlags = [
-    "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
-  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
-    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
-    ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
-    ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ;
-
-  preInstall = lib.optionalString (stdenv.isDarwin) ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))
-      installName="$out/lib/$baseName"
-      abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
-
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
-      done
-    done
-  '';
-
-  passthru = {
-    isLLVM = true;
-    inherit cxxabi;
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxx.llvm.org/";
-    description = "C++ standard library";
-    longDescription = ''
-      libc++ is an implementation of the C++ standard library, targeting C++11,
-      C++14 and above.
-    '';
-    # "All of the code in libc++ is dual licensed under the MIT license and the
-    # UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch
deleted file mode 100644
index 910e5287a866c..0000000000000
--- a/pkgs/development/compilers/llvm/7/libcxx/gnu-install-dirs.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index acb49565ce97..6a863926cbca 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -26,6 +26,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxx CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxx)
-   set(PACKAGE_VERSION 7.0.0)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
-index 1c19d7e01af7..9c8aee8e8bb7 100644
---- a/cmake/Modules/HandleLibCXXABI.cmake
-+++ b/cmake/Modules/HandleLibCXXABI.cmake
-@@ -59,7 +59,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
- 
-         if (LIBCXX_INSTALL_HEADERS)
-           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
--            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir}
-+            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
-             COMPONENT cxx-headers
-             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-             )
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index d9def18d725c..16494dacaf6f 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -243,7 +243,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   foreach(file ${files})
-     get_filename_component(dir ${file} DIRECTORY)
-     install(FILES ${file}
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir}
-       COMPONENT cxx-headers
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-     )
-@@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   if (LIBCXX_NEEDS_SITE_CONFIG)
-     # Install the generated header as __config.
-     install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-       RENAME __config
-       COMPONENT cxx-headers)
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index e068edc8a7af..b63ad92d1d78 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -399,8 +399,8 @@ if (LIBCXX_INSTALL_LIBRARY)
-     set(experimental_lib cxx_experimental)
-   endif()
-   install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${filesystem_lib} ${experimental_lib}
--    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
--    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-     )
-   # NOTE: This install command must go after the cxx install command otherwise
-   # it will not be executed after the library symlinks are installed.
-@@ -408,7 +408,7 @@ if (LIBCXX_INSTALL_LIBRARY)
-     # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
-     # after we required CMake 3.0.
-     install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
--      DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX}
-+      DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}
-       COMPONENT libcxx)
-   endif()
- endif()
diff --git a/pkgs/development/compilers/llvm/7/libcxxabi/default.nix b/pkgs/development/compilers/llvm/7/libcxxabi/default.nix
deleted file mode 100644
index c33c61361e2ab..0000000000000
--- a/pkgs/development/compilers/llvm/7/libcxxabi/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
-, fetchpatch
-, standalone ? stdenv.hostPlatform.useLLVM or false
-, withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm
-  # on musl the shared objects don't build
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation {
-  pname = "libcxxabi";
-  inherit version;
-
-  src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2";
-
-  outputs = [ "out" "dev" ];
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    unpackFile ${llvm.src}
-    cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*) )
-  '' + lib.optionalString stdenv.isDarwin ''
-    export TRIPLE=x86_64-apple-darwin
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
-  '' + lib.optionalString (!stdenv.cc.isClang) ''
-    pushd libcxx-*
-    patch -p2 < ${fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/76ccec07b4fa0cc68dfd07d557e7fb661804a468.patch";
-      sha256 = "1lgzkfkp7qinfc6gd8x5di1iq1gqdv81249c6f02chn9q122sbq1";
-    }}
-    popd
-  '';
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = lib.optional withLibunwind libunwind;
-
-  cmakeFlags = lib.optionals standalone [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-  ] ++ lib.optionals (standalone && withLibunwind) [
-    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-  ] ++ lib.optional (!enableShared) "-DLIBCXXABI_ENABLE_SHARED=OFF";
-
-  preInstall = lib.optionalString stdenv.isDarwin ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      # Fix up the install name. Preserve the basename, just replace the path.
-      installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
-
-      # this should be done in CMake, but having trouble figuring out
-      # the magic combination of necessary CMake variables
-      # if you fancy a try, take a look at
-      # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-      ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
-
-      # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
-      # libcxxabi to sometimes link against a different version of itself.
-      # Here we simply make that second reference point to ourselves.
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
-      done
-    done
-  '';
-
-  postInstall = ''
-    mkdir -p "$dev/include"
-    install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
-  '';
-
-  passthru = {
-    libName = "c++abi";
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxxabi.llvm.org/";
-    description = "Provides C++ standard library support";
-    longDescription = ''
-      libc++abi is a new implementation of low level support for a standard C++ library.
-    '';
-    # "All of the code in libc++abi is dual licensed under the MIT license and
-    # the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch
deleted file mode 100644
index 92d9e94fdee7d..0000000000000
--- a/pkgs/development/compilers/llvm/7/libcxxabi/gnu-install-dirs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d6648ede1f59..55a8f17ca5e6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxxabi CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxxabi)
-   set(PACKAGE_VERSION 7.0.0svn)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 776c51294330..314b45feac69 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -195,8 +195,8 @@ add_custom_target(cxxabi DEPENDS ${LIBCXXABI_BUILD_TARGETS})
- 
- if (LIBCXXABI_INSTALL_LIBRARY)
-   install(TARGETS ${LIBCXXABI_INSTALL_TARGETS}
--    LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
--    ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+    LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+    ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-     )
- endif()
- 
diff --git a/pkgs/development/compilers/llvm/7/libunwind/default.nix b/pkgs/development/compilers/llvm/7/libunwind/default.nix
deleted file mode 100644
index 426895029b3eb..0000000000000
--- a/pkgs/development/compilers/llvm/7/libunwind/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, fetchpatch, cmake, llvm
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libunwind";
-  inherit version;
-
-  src = fetch pname "035dsxs10nyiqd00q07yycvmkjl01yz4jdlrjvmch8klxg4pyjhp";
-
-  postUnpack = ''
-    unpackFile ${llvm.src}
-    cmakeFlagsArray=($cmakeFlagsArray -DLLVM_PATH=$PWD/$(ls -d llvm-*))
-  '';
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
-    # removes use of `new` that require libc++
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/libunwind/commit/34a45c630d4c79af403661d267db42fbe7de1178.patch";
-      sha256 = "0n0pv6jvcky8pn3srhrf9x5kbnd0d2kia9xlx2g590f5q0bgwfhv";
-    })
-    # cleans up remaining libc++ dependencies (mostly header inclusions)
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/libunwind/commit/e050272d2eb57eb4e56a37b429a61df2ebb8aa3e.patch";
-      sha256 = "170mwmj0wf40iyk1kzdpaiy36rz9n8dpl881h4h7s5da0rh51xya";
-      includes = [ "src/libunwind.cpp" "src/UnwindCursor.hpp" ];
-    })
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = lib.optionals (!enableShared) [
-    "-DLIBUNWIND_ENABLE_SHARED=OFF"
-  ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-  ];
-
-  meta = llvm_meta // {
-    # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
-    homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
-    description = "LLVM's unwinder library";
-    longDescription = ''
-      The unwind library provides a family of _Unwind_* functions implementing
-      the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
-      I). It is a dependency of the C++ ABI library, and sometimes is a
-      dependency of other runtimes.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/7/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/libunwind/gnu-install-dirs.patch
deleted file mode 100644
index 21d4fa80ea13d..0000000000000
--- a/pkgs/development/compilers/llvm/7/libunwind/gnu-install-dirs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0e48d713837a..05483c367bd1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -18,6 +18,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libunwind)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   if(NOT LLVM_CONFIG_PATH)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 937159e2cb86..07f8b936e7e5 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -141,8 +141,8 @@ add_custom_target(unwind DEPENDS ${LIBUNWIND_BUILD_TARGETS})
- 
- if (LIBUNWIND_INSTALL_LIBRARY)
-   install(TARGETS ${LIBUNWIND_INSTALL_TARGETS}
--    LIBRARY DESTINATION ${LIBUNWIND_INSTALL_PREFIX}lib${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind
--    ARCHIVE DESTINATION ${LIBUNWIND_INSTALL_PREFIX}lib${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind)
-+    LIBRARY DESTINATION ${LIBUNWIND_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind
-+    ARCHIVE DESTINATION ${LIBUNWIND_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind)
- endif()
- 
- if (NOT CMAKE_CONFIGURATION_TYPES AND LIBUNWIND_INSTALL_LIBRARY)
diff --git a/pkgs/development/compilers/llvm/7/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/lld/gnu-install-dirs.patch
deleted file mode 100644
index acc2d3d47760b..0000000000000
--- a/pkgs/development/compilers/llvm/7/lld/gnu-install-dirs.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e2fbdbfbbb47..d601b231ebb8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   set(CMAKE_INCLUDE_CURRENT_DIR ON)
-   set(LLD_BUILT_STANDALONE TRUE)
- 
-+  include(GNUInstallDirs)
-+
-   find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary")
-   if(NOT LLVM_CONFIG_PATH)
-     message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
-@@ -203,7 +205,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
-index fa48b428d26b..e7967aad3ceb 100644
---- a/cmake/modules/AddLLD.cmake
-+++ b/cmake/modules/AddLLD.cmake
-@@ -20,9 +20,9 @@ macro(add_lld_library name)
-     install(TARGETS ${name}
-       COMPONENT ${name}
-       ${export_to_lldtargets}
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      RUNTIME DESTINATION bin)
-+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-       add_llvm_install_targets(install-${name}
-@@ -54,7 +54,7 @@ macro(add_lld_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_lldtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -69,5 +69,5 @@ endmacro()
- macro(add_lld_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
-index d8829493fc22..df748a0e749b 100644
---- a/tools/lld/CMakeLists.txt
-+++ b/tools/lld/CMakeLists.txt
-@@ -16,7 +16,7 @@ target_link_libraries(lld
-   )
- 
- install(TARGETS lld
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(NOT LLD_SYMLINKS_TO_CREATE)
-   set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld)
diff --git a/pkgs/development/compilers/llvm/7/lldb/default.nix b/pkgs/development/compilers/llvm/7/lldb/default.nix
deleted file mode 100644
index 02e3cdcb8eb9a..0000000000000
--- a/pkgs/development/compilers/llvm/7/lldb/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ lib, stdenv, llvm_meta
-, fetch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, perl
-, python3
-, version
-, darwin
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v";
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  postPatch = ''
-    # Fix up various paths that assume llvm and clang are installed in the same place
-    sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \
-           -e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \
-           tools/debugserver/source/CMakeLists.txt
-
-    # Fix /usr/bin references for sandboxed builds.
-    patchShebangs scripts
-  '';
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake perl python3 which swig
-  ];
-
-  buildInputs = [
-    ncurses zlib libedit libxml2 libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.libobjc
-    darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation
-    darwin.bootstrap_cmds
-    darwin.apple_sdk.frameworks.Carbon
-    darwin.apple_sdk.frameworks.Cocoa
-    darwin.apple_sdk.frameworks.DebugSymbols
-  ];
-
-  CXXFLAGS = "-fno-rtti";
-  hardeningDisable = [ "format" ];
-
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2";
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-    "-DSKIP_DEBUGSERVER=ON"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  postInstall = ''
-    mkdir -p $out/share/man/man1
-    cp ../docs/lldb.1 $out/share/man/man1/
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/7/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/lldb/gnu-install-dirs.patch
deleted file mode 100644
index 40645743ecc78..0000000000000
--- a/pkgs/development/compilers/llvm/7/lldb/gnu-install-dirs.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 00ddcdc1488f..af2aa238939a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH
-   "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
-   )
- 
-+include(GNUInstallDirs)
-+
- include(LLDBStandalone)
- include(LLDBConfig)
- include(AddLLDB)
-diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
-index 129a5ef7500d..fb3fb3ce655c 100644
---- a/cmake/modules/AddLLDB.cmake
-+++ b/cmake/modules/AddLLDB.cmake
-@@ -56,14 +56,14 @@ function(add_lldb_library name)
-         endif()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          RUNTIME DESTINATION bin
-+          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-           LIBRARY DESTINATION ${out_dir}
-           ARCHIVE DESTINATION ${out_dir})
-       else()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+          LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       endif()
-       if (NOT CMAKE_CONFIGURATION_TYPES)
-         add_llvm_install_targets(install-${name}
-@@ -121,7 +121,7 @@ function(add_lldb_executable name)
-   endif()
- 
-   if(ARG_GENERATE_INSTALL)
--    set(out_dir "bin")
-+    set(out_dir "${CMAKE_INSTALL_BINDIR}")
-     if (LLDB_BUILD_FRAMEWORK AND ARG_INCLUDE_IN_SUITE)
-       set(out_dir ${LLDB_FRAMEWORK_INSTALL_DIR}/${LLDB_FRAMEWORK_RESOURCE_DIR})
-     endif()
-diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
-index dae6e365da38..ef272d5de5c0 100644
---- a/cmake/modules/LLDBConfig.cmake
-+++ b/cmake/modules/LLDBConfig.cmake
-@@ -278,7 +278,7 @@ include_directories(BEFORE
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-@@ -288,7 +288,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
-index b5316540fdf3..3c3c882d503f 100644
---- a/tools/intel-features/CMakeLists.txt
-+++ b/tools/intel-features/CMakeLists.txt
-@@ -64,4 +64,4 @@ if (NOT LLDB_DISABLE_PYTHON AND LLDB_BUILD_INTEL_PT)
- endif()
- 
- install(TARGETS lldbIntelFeatures
--  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
diff --git a/pkgs/development/compilers/llvm/7/llvm/default.nix b/pkgs/development/compilers/llvm/7/llvm/default.nix
deleted file mode 100644
index 97ac428a7f550..0000000000000
--- a/pkgs/development/compilers/llvm/7/llvm/default.nix
+++ /dev/null
@@ -1,322 +0,0 @@
-{ lib, stdenv, llvm_meta
-, pkgsBuildBuild
-, fetch
-, fetchpatch
-, cmake
-, python3
-, libffi
-, enableGoldPlugin ? libbfd.hasPluginAPI
-, libbfd
-, libpfm
-, libxml2
-, ncurses
-, version
-, release_version
-, zlib
-, buildLlvmTools
-, debugVersion ? false
-, doCheck ? stdenv.isLinux && (!stdenv.isx86_32)
-  && (stdenv.hostPlatform == stdenv.buildPlatform)
-, enableManpages ? false
-, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
-# broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
-# broken for the armv7l builder
-, enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch
-, enablePolly ? false
-}:
-
-let
-  inherit (lib) optional optionals optionalString;
-
-  # Used when creating a versioned symlinks of libLLVM.dylib
-  versionSuffixes = with lib;
-    let parts = splitVersion release_version; in
-    imap (i: _: concatStringsSep "." (take i parts)) parts;
-
-  # Ordinarily we would just the `doCheck` and `checkDeps` functionality
-  # `mkDerivation` gives us to manage our test dependencies (instead of breaking
-  # out `doCheck` as a package level attribute).
-  #
-  # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in
-  # particular the children it uses to do feature detection.
-  #
-  # This means that python deps we add to `checkDeps` (which the python
-  # interpreter is made aware of via `$PYTHONPATH` – populated by the python
-  # setup hook) are not picked up by `lit` which causes it to skip tests.
-  #
-  # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work
-  # because this package is shadowed in `$PATH` by the regular `python3`
-  # package.
-  #
-  # So, we "manually" assemble one python derivation for the package to depend
-  # on, taking into account whether checks are enabled or not:
-  python = if doCheck then
-    let
-      checkDeps = ps: with ps; [ psutil ];
-    in python3.withPackages checkDeps
-  else python3;
-
-in stdenv.mkDerivation (rec {
-  pname = "llvm";
-  inherit version;
-
-  src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v";
-  polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h";
-
-  unpackPhase = ''
-    unpackFile $src
-    mv llvm-${version}* llvm
-    sourceRoot=$PWD/llvm
-  '' + optionalString enablePolly ''
-    unpackFile $polly_src
-    mv polly-* $sourceRoot/tools/polly
-  '';
-
-  outputs = [ "out" "lib" "dev" "python" ];
-
-  nativeBuildInputs = [ cmake python ]
-    ++ optional enableManpages python3.pkgs.sphinx;
-
-  buildInputs = [ libxml2 libffi ]
-    ++ optional enablePFM libpfm; # exegesis
-
-  propagatedBuildInputs = [ ncurses zlib ];
-
-  patches = [
-    # backport, fix building rust crates with lto
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/llvm/commit/da1fb72bb305d6bc1f3899d541414146934bf80f.patch";
-      sha256 = "0p81gkhc1xhcx0hmnkwyhrn8x8l8fd24xgaj1whni29yga466dwc";
-    })
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/llvm/commit/cc1f2a595ead516812a6c50398f0f3480ebe031f.patch";
-      sha256 = "0k6k1p5yisgwx417a67s7sr9930rqh1n0zv5jvply8vjjy4b3kf8";
-    })
-
-    # When cross-compiling we configure llvm-config-native with an approximation
-    # of the flags used for the normal LLVM build. To avoid the need for building
-    # a native libLLVM.so (which would fail) we force llvm-config to be linked
-    # statically against the necessary LLVM components always.
-    ../../llvm-config-link-static.patch
-
-    ./gnu-install-dirs.patch
-
-    # Fix invalid std::string(nullptr) for GCC 12
-    (fetchpatch {
-      name = "nvptx-gcc-12.patch";
-      url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch";
-      sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3";
-      stripLen = 1;
-    })
-
-    ../../llvm-7-musl.patch
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
-
-  postPatch = optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/modules/AddLLVM.cmake \
-      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
-      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  '' + ''
-    # FileSystem permissions tests fail with various special bits
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "Path.cpp" ""
-    rm unittests/Support/Path.cpp
-  '' + optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -i ${../../TLI-musl.patch}
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "add_subdirectory(DynamicLibrary)" ""
-    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-  '' + optionalString stdenv.hostPlatform.isAarch32 ''
-    # skip failing X86 test cases on armv7l
-    rm test/DebugInfo/X86/debug_addr.ll
-    rm test/tools/llvm-dwarfdump/X86/debug_addr.s
-    rm test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s
-    rm test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s
-    rm test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
-    rm test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s
-  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
-    # Seems to require certain floating point hardware (NEON?)
-    rm test/ExecutionEngine/frem.ll
-  '' + ''
-    patchShebangs test/BugPoint/compile-custom.ll.py
-  '' + ''
-    # Tweak tests to ignore namespace part of type to support
-    # gcc-12: https://gcc.gnu.org/PR103598.
-    # The change below mangles strings like:
-    #    CHECK-NEXT: Starting llvm::Function pass manager run.
-    # to:
-    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
-    for f in \
-      test/Other/new-pass-manager.ll \
-      test/Other/new-pm-defaults.ll \
-      test/Other/new-pm-lto-defaults.ll \
-      test/Other/new-pm-thinlto-defaults.ll \
-      test/Other/pass-pipeline-parsing.ll \
-      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
-      test/Transforms/Inline/clear-analyses.ll \
-      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
-      test/Transforms/SCCP/preserve-analysis.ll \
-      test/Transforms/SROA/dead-inst.ll \
-      test/tools/gold/X86/new-pm.ll \
-      ; do
-      echo "PATCH: $f"
-      substituteInPlace $f \
-        --replace 'Starting llvm::' 'Starting {{.*}}' \
-        --replace 'Finished llvm::' 'Finished {{.*}}'
-    done
-  '';
-
-  preConfigure = ''
-    # Workaround for configure flags that need to have spaces
-    cmakeFlagsArray+=(
-      -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar'
-    )
-  '';
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = ''
-    mkdir -p $out/
-    ln -sv $PWD/lib $out
-  '';
-
-  cmakeBuildType = if debugVersion then "Debug" else "Release";
-
-  cmakeFlags = with stdenv; let
-    # These flags influence llvm-config's BuildVariables.inc in addition to the
-    # general build. We need to make sure these are also passed via
-    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
-    # will return different results from the cross llvm-config.
-    #
-    # Some flags don't need to be repassed because LLVM already does so (like
-    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
-    flagsForLlvmConfig = [
-      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ optionals enableSharedLibraries [
-      "-DLLVM_LINK_LLVM_DYLIB=ON"
-    ];
-  in flagsForLlvmConfig ++ [
-    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
-    "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
-    "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableManpages [
-    "-DLLVM_BUILD_DOCS=ON"
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ optionals (enableGoldPlugin) [
-    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
-  ] ++ optionals (isDarwin) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DCAN_TARGET_i386=false"
-  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DCMAKE_CROSSCOMPILING=True"
-    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-    (
-      let
-        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
-        nativeBintools = nativeCC.bintools.bintools;
-        nativeToolchainFlags = [
-          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
-          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
-          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
-          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
-          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
-        ];
-        # We need to repass the custom GNUInstallDirs values, otherwise CMake
-        # will choose them for us, leading to wrong results in llvm-config-native
-        nativeInstallFlags = [
-          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
-          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
-          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
-          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
-          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
-        ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
-      + lib.concatStringsSep ";" (lib.concatLists [
-        flagsForLlvmConfig
-        nativeToolchainFlags
-        nativeInstallFlags
-      ])
-    )
-  ];
-
-  postBuild = ''
-    rm -fR $out
-  '';
-
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
-  '';
-
-  postInstall = ''
-    mkdir -p $python/share
-    mv $out/share/opt-viewer $python/share/opt-viewer
-    moveToOutput "bin/llvm-config*" "$dev"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
-      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
-      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
-      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")'
-  ''
-  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
-    ${lib.concatMapStringsSep "\n" (v: ''
-      ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
-    '') versionSuffixes}
-  ''
-  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
-  '';
-
-  inherit doCheck;
-
-  checkTarget = "check-all";
-
-  requiredSystemFeatures = [ "big-parallel" ];
-  meta = llvm_meta // {
-    homepage = "https://llvm.org/";
-    description = "A collection of modular and reusable compiler and toolchain technologies";
-    longDescription = ''
-      The LLVM Project is a collection of modular and reusable compiler and
-      toolchain technologies. Despite its name, LLVM has little to do with
-      traditional virtual machines. The name "LLVM" itself is not an acronym; it
-      is the full name of the project.
-      LLVM began as a research project at the University of Illinois, with the
-      goal of providing a modern, SSA-based compilation strategy capable of
-      supporting both static and dynamic compilation of arbitrary programming
-      languages. Since then, LLVM has grown to be an umbrella project consisting
-      of a number of subprojects, many of which are being used in production by
-      a wide variety of commercial and open source projects as well as being
-      widely used in academic research. Code in the LLVM project is licensed
-      under the "Apache 2.0 License with LLVM exceptions".
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "llvm-manpages";
-
-  buildPhase = ''
-    make docs-llvm-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  installPhase = ''
-    make -C docs install
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLVM ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs-polly.patch
deleted file mode 100644
index 0b2d3b79e41f7..0000000000000
--- a/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs-polly.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
-index 9939097f743e..8cc538da912a 100644
---- a/tools/polly/CMakeLists.txt
-+++ b/tools/polly/CMakeLists.txt
-@@ -2,7 +2,11 @@
- if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   project(Polly)
-   cmake_minimum_required(VERSION 3.4.3)
-+endif()
-+
-+include(GNUInstallDirs)
- 
-+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   # Where is LLVM installed?
-   find_package(LLVM CONFIG REQUIRED)
-   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-@@ -145,14 +149,14 @@ include_directories(
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-     )
- 
-   install(DIRECTORY ${POLLY_BINARY_DIR}/include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN "CMakeFiles" EXCLUDE
-diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
-index 969292cd6b00..d7aea77bdd20 100644
---- a/tools/polly/cmake/CMakeLists.txt
-+++ b/tools/polly/cmake/CMakeLists.txt
-@@ -79,18 +79,18 @@ file(GENERATE
- 
- # Generate PollyConfig.cmake for the install tree.
- unset(POLLY_EXPORTS)
--set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-+set(POLLY_INSTALL_PREFIX "")
- set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
-+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
-+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
- if (POLLY_BUNDLED_ISL)
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
--    "${POLLY_INSTALL_PREFIX}/include/polly"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
-     )
- else()
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
-     ${ISL_INCLUDE_DIRS}
-     )
- endif()
-@@ -100,12 +100,12 @@ endif()
- foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
-   get_target_property(tgt_type ${tgt} TYPE)
-   if (tgt_type STREQUAL "EXECUTABLE")
--    set(tgt_prefix "bin/")
-+    set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
-   else()
--    set(tgt_prefix "lib/")
-+    set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
-   endif()
- 
--  set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-+  set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-   file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
- 
-   if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
-diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
-index e48203871884..5bc8a2a52541 100644
---- a/tools/polly/cmake/polly_macros.cmake
-+++ b/tools/polly/cmake/polly_macros.cmake
-@@ -44,8 +44,8 @@ macro(add_polly_library name)
-   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
-     install(TARGETS ${name}
-       EXPORT LLVMExports
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   endif()
-   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endmacro(add_polly_library)
-diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
-index 8ffd984e542b..261cc19f3238 100644
---- a/tools/polly/lib/External/CMakeLists.txt
-+++ b/tools/polly/lib/External/CMakeLists.txt
-@@ -274,7 +274,7 @@ if (POLLY_BUNDLED_ISL)
-     install(DIRECTORY
-       ${ISL_SOURCE_DIR}/include/
-       ${ISL_BINARY_DIR}/include/
--      DESTINATION include/polly
-+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
-       FILES_MATCHING
-       PATTERN "*.h"
-       PATTERN "CMakeFiles" EXCLUDE
diff --git a/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs.patch
deleted file mode 100644
index 7e7921e49ab0a..0000000000000
--- a/pkgs/development/compilers/llvm/7/llvm/gnu-install-dirs.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a3d3013cedcd..b298d6ef04af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -275,15 +275,21 @@ if (CMAKE_BUILD_TYPE AND
-   message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
- endif()
- 
-+include(GNUInstallDirs)
-+
- set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
- 
--set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')")
-+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
-+    "Path for binary subdirectory (defaults to 'bin')")
- mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
- 
- set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING
-     "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
- mark_as_advanced(LLVM_UTILS_INSTALL_DIR)
- 
-+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING
-+	"Path for CMake subdirectory (defaults to lib/cmake/llvm)" )
-+
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-@@ -531,9 +537,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
- option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
- option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
- 
--set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
-+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html"
-     CACHE STRING "Doxygen-generated HTML documentation install directory")
--set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
-+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html"
-     CACHE STRING "OCamldoc-generated HTML documentation install directory")
- 
- option (LLVM_BUILD_EXTERNAL_COMPILER_RT
-@@ -966,7 +972,7 @@ endif()
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/llvm include/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -978,7 +984,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index c0f90ba7068d..d656156ff9c8 100644
---- a/cmake/modules/AddLLVM.cmake
-+++ b/cmake/modules/AddLLVM.cmake
-@@ -638,11 +638,11 @@ macro(add_llvm_library name)
-   else()
-     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR
-         (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
--      set(install_dir lib${LLVM_LIBDIR_SUFFIX})
-+      set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       if(ARG_SHARED OR BUILD_SHARED_LIBS)
-         if(WIN32 OR CYGWIN OR MINGW)
-           set(install_type RUNTIME)
--          set(install_dir bin)
-+          set(install_dir ${CMAKE_INSTALL_BINDIR})
-         else()
-           set(install_type LIBRARY)
-         endif()
-@@ -684,9 +684,9 @@ macro(add_llvm_loadable_module name)
-       if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-         if(WIN32 OR CYGWIN)
-           # DLL platform
--          set(dlldir "bin")
-+          set(dlldir "${CMAKE_INSTALL_BINDIR}")
-         else()
--          set(dlldir "lib${LLVM_LIBDIR_SUFFIX}")
-+          set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-         endif()
- 
-         if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
-@@ -698,7 +698,7 @@ macro(add_llvm_loadable_module name)
-         install(TARGETS ${name}
-                 ${export_to_llvmexports}
-                 LIBRARY DESTINATION ${dlldir}
--                ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+                ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       endif()
-       set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
-     endif()
-@@ -912,7 +912,7 @@ macro(add_llvm_example name)
-   endif()
-   add_llvm_executable(${name} ${ARGN})
-   if( LLVM_BUILD_EXAMPLES )
--    install(TARGETS ${name} RUNTIME DESTINATION examples)
-+    install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
-   endif()
-   set_target_properties(${name} PROPERTIES FOLDER "Examples")
- endmacro(add_llvm_example name)
-@@ -1430,7 +1430,7 @@ function(llvm_install_library_symlink name dest type)
-   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
-   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
- 
--  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
-+  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   if(WIN32 AND "${type}" STREQUAL "SHARED")
-     set(output_dir bin)
-   endif()
-@@ -1446,7 +1446,7 @@ function(llvm_install_library_symlink name dest type)
-   endif()
- endfunction()
- 
--function(llvm_install_symlink name dest)
-+function(llvm_install_symlink name dest output_dir)
-   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
-   foreach(path ${CMAKE_MODULE_PATH})
-     if(EXISTS ${path}/LLVMInstallSymlink.cmake)
-@@ -1469,7 +1469,7 @@ function(llvm_install_symlink name dest)
-   set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
- 
-   install(SCRIPT ${INSTALL_SYMLINK}
--          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
-+          CODE "install_symlink(${full_name} ${full_dest} ${output_dir})"
-           COMPONENT ${component})
- 
-   if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)
-@@ -1551,7 +1551,8 @@ function(add_llvm_tool_symlink link_name target)
-     endif()
- 
-     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
--      llvm_install_symlink(${link_name} ${target})
-+      GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR)
-+      llvm_install_symlink(${link_name} ${target} ${output_dir})
-     endif()
-   endif()
- endfunction()
-@@ -1635,9 +1636,9 @@ function(llvm_setup_rpath name)
- 
-   if (APPLE)
-     set(_install_name_dir INSTALL_NAME_DIR "@rpath")
--    set(_install_rpath "@loader_path/../lib" ${extra_libdir})
-+    set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir})
-   elseif(UNIX)
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-+    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
-index 02bab6846376..eff26adb2efc 100644
---- a/cmake/modules/AddOCaml.cmake
-+++ b/cmake/modules/AddOCaml.cmake
-@@ -140,9 +140,9 @@ function(add_ocaml_library name)
-   endforeach()
- 
-   if( APPLE )
--    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   elseif( UNIX )
--    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   endif()
-   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
- 
-diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake
-index 22e3dcb776aa..ba77b9c195e2 100644
---- a/cmake/modules/AddSphinxTarget.cmake
-+++ b/cmake/modules/AddSphinxTarget.cmake
-@@ -73,7 +73,7 @@ function (add_sphinx_target builder project)
- 
-       elseif (builder STREQUAL html)
-         string(TOUPPER "${project}" project_upper)
--        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html"
-+        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html"
-             CACHE STRING "HTML documentation install directory for ${project}")
- 
-         # '/.' indicates: copy the contents of the directory directly into
-diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index 6c316a2f04fb..129c0995059c 100644
---- a/cmake/modules/CMakeLists.txt
-+++ b/cmake/modules/CMakeLists.txt
-@@ -1,4 +1,4 @@
--set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
-+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
- set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
- 
- # First for users who use an installed LLVM, create the LLVMExports.cmake file.
-@@ -90,11 +90,11 @@ foreach(p ${_count})
-   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
- get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
- endforeach(p)
--set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
--set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
-+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
-+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
- set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
- set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
--set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
-+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
- set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
- set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
- configure_file(
-diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
-index 1a04de931ff7..1c5ea4200635 100644
---- a/cmake/modules/LLVMInstallSymlink.cmake
-+++ b/cmake/modules/LLVMInstallSymlink.cmake
-@@ -10,7 +10,7 @@ function(install_symlink name target outdir)
-     set(LINK_OR_COPY copy)
-   endif()
- 
--  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
-+  set(bindir "${DESTDIR}${outdir}/")
- 
-   message("Creating ${name}")
- 
-diff --git a/docs/CMake.rst b/docs/CMake.rst
-index cbcadc212498..a3da96546f43 100644
---- a/docs/CMake.rst
-+++ b/docs/CMake.rst
-@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
- **LLVM_LIBDIR_SUFFIX**:STRING
-   Extra suffix to append to the directory where libraries are to be
-   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
--  to install libraries to ``/usr/lib64``.
-+  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
- 
- **CMAKE_C_FLAGS**:STRING
-   Extra flags to use when compiling C source files.
-@@ -473,8 +473,8 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
-   The path to install Doxygen-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/doxygen-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
- 
- **LLVM_ENABLE_SPHINX**:BOOL
-   If specified, CMake will search for the ``sphinx-build`` executable and will make
-@@ -505,13 +505,33 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING
-   The path to install Sphinx-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/html`.
- 
- **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING
-   The path to install OCamldoc-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/ocaml-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`.
-+
-+**CMAKE_INSTALL_BINDIR**:STRING
-+  The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `bin`.
-+
-+**CMAKE_INSTALL_LIBDIR**:STRING
-+  The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `lib`.
-+
-+**CMAKE_INSTALL_INCLUDEDIR**:STRING
-+  The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `include`.
-+
-+**CMAKE_INSTALL_DOCDIR**:STRING
-+  The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/doc`.
-+
-+**CMAKE_INSTALL_MANDIR**:STRING
-+  The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/man`.
- 
- **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
-   OS X Only: If enabled CMake will generate a target named
-@@ -676,9 +696,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
- 
- This file is available in two different locations.
- 
--* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where
--  ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM.
--  On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
-+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where
-+  ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are
-+  installed as part of an installed version of LLVM. This is typically
-+  ``cmake/llvm/`` within the lib directory. On Linux, this is typically
-+  ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
- 
- * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where
-   ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only
-diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt
-index 1d5ca3ba92b0..026f5453c1da 100644
---- a/include/llvm/CMakeLists.txt
-+++ b/include/llvm/CMakeLists.txt
-@@ -4,5 +4,5 @@ add_subdirectory(Support)
- # If we're doing an out-of-tree build, copy a module map for generated
- # header files into the build area.
- if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
--  configure_file(module.modulemap.build module.modulemap COPYONLY)
-+  configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY)
- endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
-diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index f201e1f7bff0..4582ed556a02 100644
---- a/tools/llvm-config/BuildVariables.inc.in
-+++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -24,6 +24,10 @@
- #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
- #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
- #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
-+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@"
-+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
-+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
-+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@"
- #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
- #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
- #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@"
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 892adc3b9dd8..cabe7fcc630f 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,12 +333,26 @@ int main(int argc, char **argv) {
-         ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-   } else {
-     ActivePrefix = CurrentExecPrefix;
--    ActiveIncludeDir = ActivePrefix + "/include";
--    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
--    sys::fs::make_absolute(ActivePrefix, path);
--    ActiveBinDir = path.str();
--    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
--    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveIncludeDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveBinDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveLibDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveCMakeDir = std::string(path.str());
-+    }
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
-index 6e913519a809..85641eef721f 100644
---- a/tools/lto/CMakeLists.txt
-+++ b/tools/lto/CMakeLists.txt
-@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
- add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen)
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT LTO)
- 
- if (APPLE)
-diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt
-index 19b606933082..27b9f71b3d79 100644
---- a/tools/opt-viewer/CMakeLists.txt
-+++ b/tools/opt-viewer/CMakeLists.txt
-@@ -8,6 +8,6 @@ set (files
- 
- foreach (file ${files})
-   install(PROGRAMS ${file}
--    DESTINATION share/opt-viewer
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer
-     COMPONENT opt-viewer)
- endforeach (file)
diff --git a/pkgs/development/compilers/llvm/7/openmp/default.nix b/pkgs/development/compilers/llvm/7/openmp/default.nix
deleted file mode 100644
index a87dd319d8ec3..0000000000000
--- a/pkgs/development/compilers/llvm/7/openmp/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, llvm_meta
-, fetch
-, cmake
-, llvm
-, targetLlvm
-, perl
-, version
-}:
-
-stdenv.mkDerivation {
-  pname = "openmp";
-  inherit version;
-
-  src = fetch "openmp" "1dg53wzsci2kra8lh1y0chh60h2l8h1by93br5spzvzlxshkmrqy";
-
-  nativeBuildInputs = [ cmake perl ];
-  buildInputs = [
-    (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
-  ];
-
-  meta = llvm_meta // {
-    homepage = "https://openmp.llvm.org/";
-    description = "Support for the OpenMP language";
-    longDescription = ''
-      The OpenMP subproject of LLVM contains the components required to build an
-      executable OpenMP program that are outside the compiler itself.
-      Contains the code for the runtime library against which code compiled by
-      "clang -fopenmp" must be linked before it can run and the library that
-      supports offload to target devices.
-    '';
-    # "All of the code is dual licensed under the MIT license and the UIUC
-    # License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix
index 8a0fea85e260d..7cef04347429c 100644
--- a/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/8/llvm/default.nix
@@ -117,7 +117,17 @@ in stdenv.mkDerivation (rec {
       relative = "llvm";
       hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
     })
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+    # Add missing isl header includess required to build LLVM 8 + Polly with clang 16.
+    (fetchpatch {
+      name = "polly-ppcg-isl-headers.patch";
+      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
+      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
+      extraPrefix = "tools/polly/lib/External/ppcg/";
+      stripLen = 1;
+    })
+  ];
 
   postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix
index 526030d6b34d8..75c7868559734 100644
--- a/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -115,7 +115,17 @@ in stdenv.mkDerivation (rec {
       relative = "llvm";
       hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
     })
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+    # Add missing isl header includess required to build LLVM 9 + Polly with clang 16.
+    (fetchpatch {
+      name = "polly-ppcg-isl-headers.patch";
+      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
+      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
+      extraPrefix = "tools/polly/lib/External/ppcg/";
+      stripLen = 1;
+    })
+  ];
 
   postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
diff --git a/pkgs/development/compilers/llvm/common/lldb.nix b/pkgs/development/compilers/llvm/common/lldb.nix
index 1f5d4a1e33856..2444c1795a78e 100644
--- a/pkgs/development/compilers/llvm/common/lldb.nix
+++ b/pkgs/development/compilers/llvm/common/lldb.nix
@@ -23,6 +23,7 @@
 , monorepoSrc ? null
 , patches ? [ ]
 , enableManpages ? false
+, ...
 }:
 
 let
@@ -108,6 +109,8 @@ stdenv.mkDerivation (rec {
     "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
   ] ++ lib.optionals (!stdenv.isDarwin) [
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ] ++ lib.optionals (lib.versionAtLeast release_version "17") [
+    "-DCLANG_RESOURCE_DIR=../../../../${libclang.lib}"
   ] ++ lib.optionals enableManpages ([
     "-DLLVM_ENABLE_SPHINX=ON"
     "-DSPHINX_OUTPUT_MAN=ON"
diff --git a/pkgs/development/compilers/llvm/git/clang/default.nix b/pkgs/development/compilers/llvm/git/clang/default.nix
index 733f5462d320c..61034dbc37b00 100644
--- a/pkgs/development/compilers/llvm/git/clang/default.nix
+++ b/pkgs/development/compilers/llvm/git/clang/default.nix
@@ -30,6 +30,7 @@ let
       "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang"
       "-DCLANGD_BUILD_XPC=OFF"
       "-DLLVM_ENABLE_RTTI=ON"
+      "-DLLVM_INCLUDE_TESTS=OFF"
     ] ++ lib.optionals enableManpages [
       "-DCLANG_INCLUDE_DOCS=ON"
       "-DLLVM_ENABLE_SPHINX=ON"
@@ -51,10 +52,11 @@ let
       # https://reviews.llvm.org/D51899
       ./gnu-install-dirs.patch
       ../../common/clang/add-nostdlibinc-flag.patch
-      (substituteAll {
-        src = ../../clang-11-12-LLVMgold-path.patch;
-        libllvmLibdir = "${libllvm.lib}/lib";
-      })
+      # FIMXE: do we need this patch?
+      # (substituteAll {
+      #   src = ../../clang-11-12-LLVMgold-path.patch;
+      #  libllvmLibdir = "${libllvm.lib}/lib";
+      # })
     ];
 
     postPatch = ''
@@ -65,15 +67,12 @@ let
 
     outputs = [ "out" "lib" "dev" "python" ];
 
-    env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
-      # The following warning is triggered with (at least) gcc >=
-      # 12, but appears to occur only for cross compiles.
-      NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized";
-    };
-
     postInstall = ''
       ln -sv $out/bin/clang $out/bin/cpp
 
+      mkdir -p $lib/lib/clang
+      mv $lib/lib/18 $lib/lib/clang/18
+
       # Move libclang to 'lib' output
       moveToOutput "lib/libclang.*" "$lib"
       moveToOutput "lib/libclang-cpp.*" "$lib"
@@ -81,13 +80,12 @@ let
           --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
           --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
 
-      mkdir -p $python/bin $python/share/{clang,scan-view}
+      mkdir -p $python/bin $python/share/clang/
       mv $out/bin/{git-clang-format,scan-view} $python/bin
       if [ -e $out/bin/set-xcode-analyzer ]; then
         mv $out/bin/set-xcode-analyzer $python/bin
       fi
       mv $out/share/clang/*.py $python/share/clang
-      mv $out/share/scan-view/*.py $python/share/scan-view
       rm $out/bin/c-index-test
       patchShebangs $python/bin
 
diff --git a/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch
index f767c56836d5c..cc8737f353433 100644
--- a/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch
+++ b/pkgs/development/compilers/llvm/git/clang/gnu-install-dirs.patch
@@ -1,38 +1,32 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c27beec313d7..480f13e73c9f 100644
+index f7936d72e088..a362fa49b534 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -78,15 +78,17 @@ if(CLANG_BUILT_STANDALONE)
-   if (NOT LLVM_CONFIG_FOUND)
-     # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
-     # path is removed.
--    set(MAIN_INCLUDE_DIR "${LLVM_INCLUDE_DIR}")
+@@ -31,7 +31,21 @@ if(CLANG_BUILT_STANDALONE)
+   find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
+   list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
+ 
+-  # Turn into CACHE PATHs for overwritting
++  # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
++  # LLVM_CONFIG.
++  if (NOT LLVM_CONFIG_FOUND)
++    # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
++    # path is removed.
 +    set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
-     set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
-     # N.B. this is just a default value, the CACHE PATHs below can be overriden.
-     set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
-     set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}")
-     set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}")
++    set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
++    # N.B. this is just a default value, the CACHE PATHs below can be overriden.
++    set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
++    set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}")
++    set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}")
 +  else()
 +    set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}")
-   endif()
- 
--  set(LLVM_MAIN_INCLUDE_DIR "${MAIN_INCLUDE_DIR}" CACHE PATH "Path to llvm/include")
-+  set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
-   set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
-   set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
-   set(LLVM_TOOLS_BINARY_DIR "${TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin")
-@@ -128,7 +130,7 @@ if(CLANG_BUILT_STANDALONE)
-     set(LLVM_INCLUDE_TESTS ON)
-   endif()
- 
--  include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}")
-+  include_directories(${LLVM_INCLUDE_DIRS})
-   link_directories("${LLVM_LIBRARY_DIR}")
- 
-   set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
++  endif()
++
+   set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
+   set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree")
+   set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree")
 diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
-index 21ac332e4f5f..b16c314bd1e2 100644
+index 75b0080f6715..c895b884cd27 100644
 --- a/cmake/modules/AddClang.cmake
 +++ b/cmake/modules/AddClang.cmake
 @@ -119,8 +119,8 @@ macro(add_clang_library name)
@@ -47,23 +41,22 @@ index 21ac332e4f5f..b16c314bd1e2 100644
  
          if (NOT LLVM_ENABLE_IDE)
 diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
-index 6e2060991b92..b9bc930d26b8 100644
+index f2b0c5cddcbb..52f37fc368ce 100644
 --- a/lib/Headers/CMakeLists.txt
 +++ b/lib/Headers/CMakeLists.txt
-@@ -420,7 +420,7 @@ add_header_target("openmp-resource-headers" ${openmp_wrapper_files})
- add_header_target("windows-resource-headers" ${windows_only_files})
+@@ -473,6 +473,7 @@ add_header_target("windows-resource-headers" ${windows_only_files})
  add_header_target("utility-resource-headers" ${utility_files})
  
--set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
+ get_clang_resource_dir(header_install_dir SUBDIR include)
++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${CLANG_VERSION_MAJOR}/include)
  
  #############################################################
  # Install rules for the catch-all clang-resource-headers target
 diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
-index 8d95d0900e8c..ebc70ff7526d 100644
+index 4f23065a2472..6a0f55991e24 100644
 --- a/tools/libclang/CMakeLists.txt
 +++ b/tools/libclang/CMakeLists.txt
-@@ -180,7 +180,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
+@@ -234,7 +234,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
            COMPONENT
              libclang-python-bindings
            DESTINATION
@@ -73,14 +66,14 @@ index 8d95d0900e8c..ebc70ff7526d 100644
  if(NOT LLVM_ENABLE_IDE)
    add_custom_target(libclang-python-bindings)
 diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt
-index 061dc7ef4dd9..adc54b2edc32 100644
+index 3aca22c0b0a8..3115353e3fe3 100644
 --- a/tools/scan-build-py/CMakeLists.txt
 +++ b/tools/scan-build-py/CMakeLists.txt
 @@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild})
                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib})
    list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib})
-   install(PROGRAMS lib/libscanbuild/${lib}
--          DESTINATION lib/libscanbuild
+   install(FILES lib/libscanbuild/${lib}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild
 +          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild"
            COMPONENT scan-build-py)
  endforeach()
@@ -88,8 +81,8 @@ index 061dc7ef4dd9..adc54b2edc32 100644
 @@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources})
                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource})
    list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource})
-   install(PROGRAMS lib/libscanbuild/resources/${resource}
--          DESTINATION lib/libscanbuild/resources
+   install(FILES lib/libscanbuild/resources/${resource}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources
 +          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources"
            COMPONENT scan-build-py)
  endforeach()
@@ -97,8 +90,8 @@ index 061dc7ef4dd9..adc54b2edc32 100644
 @@ -122,7 +122,7 @@ foreach(lib ${LibEar})
                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib})
    list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib})
-   install(PROGRAMS lib/libear/${lib}
--          DESTINATION lib/libear
+   install(FILES lib/libear/${lib}
+-          DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear
 +          DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear"
            COMPONENT scan-build-py)
  endforeach()
diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch b/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch
deleted file mode 100644
index 065959d14d46c..0000000000000
--- a/pkgs/development/compilers/llvm/git/compiler-rt/codesign.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 19 Sep 2017 13:13:06 -0500
-Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
- needs it
-
----
- cmake/Modules/AddCompilerRT.cmake |  8 ------
- test/asan/CMakeLists.txt          | 52 ---------------------------------------
- test/tsan/CMakeLists.txt          | 47 -----------------------------------
- 3 files changed, 107 deletions(-)
-
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index bc69ec95c419..9f100fdcec2f 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -366,14 +366,6 @@ function(add_compiler_rt_runtime name type)
-         set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
-         set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
-       endif()
--      if(APPLE)
--        # Ad-hoc sign the dylibs
--        add_custom_command(TARGET ${libname}
--          POST_BUILD  
--          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
--          WORKING_DIRECTORY ${COMPILER_RT_OUTPUT_LIBRARY_DIR}
--        )
--      endif()
-     endif()
- 
-     set(parent_target_arg)
-2.14.1
-
diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
index b20796ab02abb..fc0d7533c9949 100644
--- a/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
@@ -9,7 +9,8 @@ let
   useLLVM = stdenv.hostPlatform.useLLVM or false;
   bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
   haveLibc = stdenv.cc.libc != null;
-  inherit (stdenv.hostPlatform) isMusl;
+  isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic;
+  inherit (stdenv.hostPlatform) isMusl isGnu;
 
   baseName = "compiler-rt";
 
@@ -31,9 +32,16 @@ stdenv.mkDerivation {
     ++ lib.optional stdenv.isDarwin xcbuild.xcrun;
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
-  env.NIX_CFLAGS_COMPILE = toString [
+  env.NIX_CFLAGS_COMPILE = toString ([
     "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
-  ];
+  ] ++ lib.optionals (!haveLibc) [
+    # The compiler got stricter about this, and there is a usellvm patch below
+    # which patches out the assert include causing an implicit definition of
+    # assert. It would be nicer to understand why compiler-rt thinks it should
+    # be able to #include <assert.h> in the first place; perhaps it's in the
+    # wrong, or perhaps there is a way to provide an assert.h.
+    "-Wno-error=implicit-function-declaration"
+  ]);
 
   cmakeFlags = [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
@@ -41,19 +49,22 @@ stdenv.mkDerivation {
     "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
   ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [
     "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include"
-  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
+  ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [
     "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
     "-DCOMPILER_RT_BUILD_XRAY=OFF"
     "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
     "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
     "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary
   ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+     "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+  ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic ) [
+    "-DCMAKE_CXX_COMPILER_WORKS=ON"
   ] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [
     "-DCMAKE_C_COMPILER_WORKS=ON"
-    "-DCMAKE_CXX_COMPILER_WORKS=ON"
     "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
     "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
+  ] ++ lib.optionals (useLLVM && !haveLibc) [
+    "-DCMAKE_C_FLAGS=-nodefaultlibs"
   ] ++ lib.optionals (useLLVM) [
     "-DCOMPILER_RT_BUILD_BUILTINS=ON"
     #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -61,18 +72,16 @@ stdenv.mkDerivation {
   ] ++ lib.optionals (bareMetal) [
     "-DCOMPILER_RT_OS_DIR=baremetal"
   ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
+    "-DCMAKE_LIPO=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}lipo"
     "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON"
     "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
     "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}"
+
     # `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin:
     # https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153
     "-DCOMPILER_RT_ENABLE_IOS=OFF"
   ];
 
-  preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
-    cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
-  '';
-
   outputs = [ "out" "dev" ];
 
   patches = [
@@ -86,7 +95,7 @@ stdenv.mkDerivation {
     # See: https://github.com/NixOS/nixpkgs/pull/186575
     ../../common/compiler-rt/darwin-plistbuddy-workaround.patch
     # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893
-    ../../common/compiler-rt/armv7l-15.patch
+    # ../../common/compiler-rt/armv7l-15.patch
   ];
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
@@ -100,7 +109,7 @@ stdenv.mkDerivation {
   '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace cmake/config-ix.cmake \
       --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + lib.optionalString (useLLVM) ''
+  '' + lib.optionalString (useLLVM && !haveLibc) ''
     substituteInPlace lib/builtins/int_util.c \
       --replace "#include <stdlib.h>" ""
     substituteInPlace lib/builtins/clear_cache.c \
@@ -115,10 +124,16 @@ stdenv.mkDerivation {
   '' + lib.optionalString (useLLVM) ''
     ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
     ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
+    # Note the history of crt{begin,end}S in previous versions of llvm in nixpkg:
+    # The presence of crtbegin_shared has been added and removed; it's possible
+    # people have added/removed it to get it working on their platforms.
+    # Try each in turn for now.
+    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o
+    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o
     ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
     ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
   '' + lib.optionalString doFakeLibgcc ''
-    ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
+     ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
   '';
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/git/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/git/compiler-rt/normalize-var.patch
index 135cf625ef78f..2b25fd4a07449 100644
--- a/pkgs/development/compilers/llvm/git/compiler-rt/normalize-var.patch
+++ b/pkgs/development/compilers/llvm/git/compiler-rt/normalize-var.patch
@@ -1,16 +1,16 @@
-diff --git a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTUtils.cmake
-index f1f46fb9599c..6f19e69507ba 100644
+diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
+index 4c85551d7766..297d7a47c54b 100644
 --- a/cmake/Modules/CompilerRTUtils.cmake
 +++ b/cmake/Modules/CompilerRTUtils.cmake
-@@ -302,8 +302,9 @@ macro(load_llvm_config)
-     # Get some LLVM variables from LLVMConfig.
-     include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
- 
--    set(LLVM_LIBRARY_OUTPUT_INTDIR
--      ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-+    get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR
-+      ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}
-+      REALPATH)
+@@ -328,8 +328,9 @@ macro(load_llvm_config)
+     endif()
    endif()
- endmacro()
  
+-  set(LLVM_LIBRARY_OUTPUT_INTDIR
+-    ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
++  get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR
++    ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}
++    REALPATH)
+ 
+   set(LLVM_MAIN_SRC_DIR "${LLVM_MAIN_SRC_DIR_DEFAULT}" CACHE PATH "Path to LLVM source tree")
+   message(STATUS "LLVM_MAIN_SRC_DIR: \"${LLVM_MAIN_SRC_DIR}\"")
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index 0748b97dd598a..bb660cf013476 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -1,11 +1,11 @@
-{ lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja
-, preLibcCrossHeaders
+{ lowPrio, newScope, pkgs, lib, stdenv, stdenvNoCC, cmake, ninja
+, gccForLibs, preLibcCrossHeaders
 , libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
 , buildLlvmTools # tools, but from the previous stage, for cross
 , targetLlvmLibraries # libraries, but from the next stage, for cross
 , targetLlvm
 # This is the default binutils, but with *this* version of LLD rather
-# than the default LLVM version's, if LLD is the choice. We use these for
+# than the default LLVM verion's, if LLD is the choice. We use these for
 # the `useLLVM` bootstrapping below.
 , bootBintoolsNoLibc ?
     if stdenv.targetPlatform.linker == "lld"
@@ -17,7 +17,12 @@
     else pkgs.bintools
 , darwin
 # LLVM release information; specify one of these but not both:
-, gitRelease ? null
+, gitRelease ? {
+  version = "18.0.0";
+  rev = "6f44f87011cd52367626cac111ddbb2d25784b90";
+  rev-version = "unstable-2023-10-04";
+  sha256 = "sha256-CqsCDlzg8I2c9BybKP7B5nfHiQWktqgVavrfiYkjkx4=";
+}
   # i.e.:
   # {
   #   version = /* i.e. "15.0.0" */;
@@ -25,7 +30,7 @@
   #   rev-version = /* human readable version; i.e. "unstable-2022-26-07" */;
   #   sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */;
   # }
-, officialRelease ? { version = "15.0.7"; sha256 = "sha256-wjuZQyXQ/jsmvy6y1aksCcEDXGBjuhpgngF3XQJ/T4s="; }
+, officialRelease ? null
   # i.e.:
   # {
   #   version = /* i.e. "15.0.0" */;
@@ -40,6 +45,7 @@
 # specified.
 , monorepoSrc ? null
 }:
+
 assert let
   int = a: if a then 1 else 0;
   xor = a: b: ((builtins.bitXor (int a) (int b)) == 1);
@@ -60,10 +66,11 @@ in let
 
   tools = lib.makeExtensible (tools: let
     callPackage = newScope (tools // { inherit stdenv cmake ninja libxml2 python3 release_version version monorepoSrc buildLlvmTools; });
+    major = lib.versions.major release_version;
     mkExtraBuildCommands0 = cc: ''
       rsrc="$out/resource-root"
       mkdir "$rsrc"
-      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
+      ln -s "${cc.lib}/lib/clang/${major}/include" "$rsrc"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
     '';
     mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
@@ -106,16 +113,14 @@ in let
       python3 = pkgs.python3;  # don't use python-boot
     });
 
-    # TODO: lldb/docs/index.rst:155:toctree contains reference to nonexisting document 'design/structureddataplugins'
-    # lldb-manpages = lowPrio (tools.lldb.override {
-    #   enableManpages = true;
-    #   python3 = pkgs.python3;  # don't use python-boot
-    # });
+    lldb-manpages = lowPrio (tools.lldb.override {
+      enableManpages = true;
+      python3 = pkgs.python3;  # don't use python-boot
+    });
 
     # pick clang appropriate for package set we are targeting
     clang =
-      /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
-      else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
+      /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
       else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
       else tools.libcxxClang;
 
@@ -160,10 +165,24 @@ in let
             { };
         in
         [
-          ./lldb/procfs.patch # FIXME: do we need this?
+          # FIXME: do we need this? ./procfs.patch
           resourceDirPatch
           ./lldb/gnu-install-dirs.patch
-        ];
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
       inherit llvm_meta;
     };
 
@@ -200,6 +219,14 @@ in let
         [ "-rtlib=compiler-rt"
           "-Wno-unused-command-line-argument"
           "-B${targetLlvmLibraries.compiler-rt}/lib"
+
+          # Combat "__cxxabi_config.h not found". Maybe this could be fixed by
+          # copying these headers into libcxx? Note that building libcxx
+          # outside of monorepo isn't supported anymore, might be related to
+          # https://github.com/llvm/llvm-project/issues/55632
+          # ("16.0.3 libcxx, libcxxabi: circular build dependencies")
+          # Looks like the machinery changed in https://reviews.llvm.org/D120727.
+          "-I${lib.getDev targetLlvmLibraries.libcxx.cxxabi}/include/c++/v1"
         ]
         ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
         ++ lib.optional
@@ -262,7 +289,7 @@ in let
 
     compiler-rt-libc = callPackage ./compiler-rt {
       inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
+      stdenv = if stdenv.hostPlatform.useLLVM or false || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic)
                then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
                else stdenv;
     };
@@ -275,7 +302,7 @@ in let
     };
 
     # N.B. condition is safe because without useLLVM both are the same.
-    compiler-rt = if stdenv.hostPlatform.isAndroid
+    compiler-rt = if stdenv.hostPlatform.isAndroid || stdenv.hostPlatform.isDarwin
       then libraries.compiler-rt-libc
       else libraries.compiler-rt-no-libc;
 
diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix
index f267b753b24ab..ac41553f5ad7d 100644
--- a/pkgs/development/compilers/llvm/git/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxx/default.nix
@@ -45,12 +45,6 @@ stdenv.mkDerivation rec {
     chmod -R u+w .
   '';
 
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ../../libcxx-0001-musl-hacks.patch
-  ];
-
   postPatch = ''
     cd ../runtimes
   '';
@@ -66,7 +60,6 @@ stdenv.mkDerivation rec {
     lib.optionals (!headersOnly) [ cxxabi ]
     ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ libunwind ];
 
-
   cmakeFlags = let
     # See: https://libcxx.llvm.org/BuildingLibcxx.html#cmdoption-arg-libcxx-cxx-abi-string
     libcxx_cxx_abi_opt = {
@@ -80,15 +73,12 @@ stdenv.mkDerivation rec {
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
       "-DLIBCXX_USE_COMPILER_RT=ON"
-      # (Backport fix from 16, which has LIBCXX_ADDITIONAL_LIBRARIES, but 15
-      # does not appear to)
       # There's precedent for this in llvm-project/libcxx/cmake/caches.
       # In a monorepo build you might do the following in the libcxxabi build:
       #   -DLLVM_ENABLE_PROJECTS=libcxxabi;libunwinder
       #   -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=On
       # libcxx appears to require unwind and doesn't pull it in via other means.
-      # "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind"
-      "-DCMAKE_SHARED_LINKER_FLAGS=-lunwind"
+      "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind"
     ] ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
       "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
diff --git a/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
deleted file mode 100644
index daee5bdd0ed33..0000000000000
--- a/pkgs/development/compilers/llvm/git/libcxx/gnu-install-dirs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 74eff2002fc9..c935d10878bb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -419,7 +419,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-   set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
-   set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
-   set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
-       "Path where built libc++ libraries should be installed.")
-   set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1" CACHE PATH
-       "Path where target-specific libc++ headers should be installed.")
-@@ -436,7 +436,7 @@ else()
-     set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1")
-   endif()
-   set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH
-       "Path where built libc++ libraries should be installed.")
-   set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}" CACHE PATH
-       "Path where target-specific libc++ headers should be installed.")
diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
index 6987e6b0ca3cb..dcd83e206ce0c 100644
--- a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
@@ -82,23 +82,11 @@ stdenv.mkDerivation rec {
 
   preInstall = lib.optionalString stdenv.isDarwin ''
     for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      # Fix up the install name. Preserve the basename, just replace the path.
-      installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
-
       # this should be done in CMake, but having trouble figuring out
       # the magic combination of necessary CMake variables
       # if you fancy a try, take a look at
       # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-      ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
-
-      # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
-      # libcxxabi to sometimes link against a different version of itself.
-      # Here we simply make that second reference point to ourselves.
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
-      done
+      install_name_tool -id $out/$file $file
     done
   '';
 
@@ -121,5 +109,8 @@ stdenv.mkDerivation rec {
     # the UIUC License (a BSD-like license)":
     license = with lib.licenses; [ mit ncsa ];
     maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
+    # Broken until https://github.com/llvm/llvm-project/issues/64226 is resolved
+    # We should check if the version is not 10.13 but that is currently broken.
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
index fa587612aaf63..51382fcefed27 100644
--- a/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/gnu-install-dirs.patch
@@ -1,21 +1,21 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b8326d08d23a..a1e36f713161 100644
+diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
+index f380fe6b6b92..a9656258c38e 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -187,7 +187,7 @@ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
+@@ -188,7 +188,7 @@ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
  if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
    set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
    set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING
 +  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
        "Path where built libc++abi libraries should be installed.")
    if(LIBCXX_LIBDIR_SUBDIR)
      string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-@@ -201,7 +201,7 @@ else()
+@@ -202,7 +202,7 @@ else()
      set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR})
      set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
    endif()
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
+-  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE STRING
 +  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH
        "Path where built libc++abi libraries should be installed.")
  endif()
diff --git a/pkgs/development/compilers/llvm/git/libunwind/default.nix b/pkgs/development/compilers/llvm/git/libunwind/default.nix
index 1b677a7a2c0d7..a3c8e2594f5a7 100644
--- a/pkgs/development/compilers/llvm/git/libunwind/default.nix
+++ b/pkgs/development/compilers/llvm/git/libunwind/default.nix
@@ -32,10 +32,6 @@ stdenv.mkDerivation rec {
     chmod -R u+w .
   '';
 
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
   postPatch = ''
     cd ../runtimes
   '';
diff --git a/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch
deleted file mode 100644
index edfb2a8760bd6..0000000000000
--- a/pkgs/development/compilers/llvm/git/libunwind/gnu-install-dirs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5a06805f05f1..86a50329e6a8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -117,7 +117,7 @@ set(LIBUNWIND_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
- 
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-   set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH
-       "Path where built libunwind libraries should be installed.")
-   if(LIBCXX_LIBDIR_SUBDIR)
-     string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
-@@ -129,7 +129,7 @@ else()
-   else()
-     set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX})
-   endif()
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH
-       "Path where built libunwind libraries should be installed.")
- endif()
- 
diff --git a/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch
index ea62b2ad50c75..86e76f4a16d8b 100644
--- a/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch
+++ b/pkgs/development/compilers/llvm/git/lld/gnu-install-dirs.patch
@@ -1,34 +1,34 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dcc649629a4b..58dca54642e4 100644
+index 3d6225646fe6..9b5d0b15af13 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -70,13 +70,15 @@ if(LLD_BUILT_STANDALONE)
-   if (NOT LLVM_CONFIG_FOUND)
-     # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
-     # path is removed.
--    set(MAIN_INCLUDE_DIR "${LLVM_INCLUDE_DIR}")
+@@ -33,10 +33,22 @@ if(LLD_BUILT_STANDALONE)
+   find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}")
+   list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
+ 
+-  # Turn into CACHE PATHs for overwriting
+-  set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
+-  set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree")
+-  set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree")
++  # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets
++  # LLVM_CONFIG.
++  if (NOT LLVM_CONFIG_FOUND)
++    # Pull values from LLVMConfig.cmake.  We can drop this once the llvm-config
++    # path is removed.
 +    set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
-     set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
-     # N.B. this is just a default value, the CACHE PATHs below can be overridden.
-     set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
++    set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
++    # N.B. this is just a default value, the CACHE PATHs below can be overridden.
++    set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
 +  else()
 +    set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}")
-   endif()
- 
--  set(LLVM_MAIN_INCLUDE_DIR "${MAIN_INCLUDE_DIR}" CACHE PATH "Path to llvm/include")
++  endif()
++
 +  set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
-   set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
-   set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
- 
-@@ -95,7 +97,7 @@ if(LLD_BUILT_STANDALONE)
- 
-   set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")
- 
--  include_directories("${LLVM_BINARY_DIR}/include" ${LLVM_INCLUDE_DIRS})
-+  include_directories(${LLVM_INCLUDE_DIRS})
-   link_directories(${LLVM_LIBRARY_DIRS})
++  set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
++  set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
  
-   if(LLVM_INCLUDE_TESTS)
+   find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+     NO_DEFAULT_PATH)
 diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
 index d3924f7243d4..42a7cd62281c 100644
 --- a/cmake/modules/AddLLD.cmake
diff --git a/pkgs/development/compilers/llvm/git/lldb/cpu_subtype_arm64e_replacement.patch b/pkgs/development/compilers/llvm/git/lldb/cpu_subtype_arm64e_replacement.patch
new file mode 100644
index 0000000000000..20d35c9f3ea91
--- /dev/null
+++ b/pkgs/development/compilers/llvm/git/lldb/cpu_subtype_arm64e_replacement.patch
@@ -0,0 +1,12 @@
+diff --git a/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+--- a/source/Host/macosx/objcxx/HostInfoMacOSX.mm
++++ b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+@@ -233,7 +233,7 @@ void HostInfoMacOSX::ComputeHostArchitectureSupport(ArchSpec &arch_32,
+     len = sizeof(is_64_bit_capable);
+     ::sysctlbyname("hw.cpu64bit_capable", &is_64_bit_capable, &len, NULL, 0);
+ 
+-    if (cputype == CPU_TYPE_ARM64 && cpusubtype == CPU_SUBTYPE_ARM64E) {
++    if (cputype == CPU_TYPE_ARM64 && cpusubtype == ((cpu_subtype_t) 2)) { // CPU_SUBTYPE_ARM64E is not available in the macOS 10.12 headers
+       // The arm64e architecture is a preview. Pretend the host architecture
+       // is arm64.
+       cpusubtype = CPU_SUBTYPE_ARM64_ALL;
diff --git a/pkgs/development/compilers/llvm/git/lldb/procfs.patch b/pkgs/development/compilers/llvm/git/lldb/procfs.patch
index a798216aa62c4..7b200e86505ca 100644
--- a/pkgs/development/compilers/llvm/git/lldb/procfs.patch
+++ b/pkgs/development/compilers/llvm/git/lldb/procfs.patch
@@ -1,14 +1,20 @@
 --- a/source/Plugins/Process/Linux/Procfs.h
 +++ b/source/Plugins/Process/Linux/Procfs.h
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,13 @@
  // sys/procfs.h on Android/Linux for all supported architectures.
  
  #include <sys/ptrace.h>
 +#include <asm/ptrace.h>
++
++// on i686 preprocessor symbols with these register names are defined as
++// numeric constants; these symbols clash with identifier names used in
++// `llvm/Support/VirtualFileSystem.h` and `llvm/ADT/SmallVector.h`
++#undef FS
++#undef CS
  
  #include "lldb/lldb-types.h"
  
-@@ -17,23 +18,13 @@
+@@ -17,23 +24,13 @@
  
  #include <vector>
  
diff --git a/pkgs/development/compilers/llvm/git/lldb/resource-dir.patch b/pkgs/development/compilers/llvm/git/lldb/resource-dir.patch
index e0db80afeb9f7..3e1a8b7d7142d 100644
--- a/pkgs/development/compilers/llvm/git/lldb/resource-dir.patch
+++ b/pkgs/development/compilers/llvm/git/lldb/resource-dir.patch
@@ -1,13 +1,14 @@
-diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
-index 37364341ff8b..7f74c1a3e257 100644
+diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
+index ec06ba285f27..286162f098fb 100644
 --- a/cmake/modules/LLDBConfig.cmake
 +++ b/cmake/modules/LLDBConfig.cmake
-@@ -257,7 +257,7 @@ if (NOT TARGET clang-resource-headers)
-   # Iterate over the possible places where the external resource directory
+@@ -290,7 +290,8 @@ if (NOT TARGET clang-resource-headers)
    # could be and pick the first that exists.
    foreach(CANDIDATE "${Clang_DIR}/../.." "${LLVM_DIR}" "${LLVM_LIBRARY_DIRS}"
--                    "${LLVM_BUILD_LIBRARY_DIR}"
-+                    "${LLVM_BUILD_LIBRARY_DIR}" "@clangLibDir@"
-                     "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
+                     "${LLVM_BUILD_LIBRARY_DIR}"
+-                    "${LLVM_LIBRARY_DIR}")
++                    "${LLVM_LIBRARY_DIR}"
++                    "@clangLibDir@")
      # Build the resource directory path by appending 'clang/<version number>'.
      set(CANDIDATE_RESOURCE_DIR "${CANDIDATE}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}")
+     if (IS_DIRECTORY "${CANDIDATE_RESOURCE_DIR}")
diff --git a/pkgs/development/compilers/llvm/git/llvm/default.nix b/pkgs/development/compilers/llvm/git/llvm/default.nix
index 119b2272beda0..ac93b5fd5bac4 100644
--- a/pkgs/development/compilers/llvm/git/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/git/llvm/default.nix
@@ -7,8 +7,10 @@
 , darwin
 , ninja
 , python3
+, python3Packages
 , libffi
-, enableGoldPlugin ? (!stdenv.isDarwin && !stdenv.targetPlatform.isWasi)
+# TODO: Gold plugin on LLVM16 has a severe memory corruption bug: https://github.com/llvm/llvm-project/issues/61350.
+, enableGoldPlugin ? false
 , libbfd
 , libpfm
 , libxml2
@@ -56,12 +58,17 @@ let
   # So, we "manually" assemble one python derivation for the package to depend
   # on, taking into account whether checks are enabled or not:
   python = if doCheck then
+    # Note that we _explicitly_ ask for a python interpreter for our host
+    # platform here; the splicing that would ordinarily take care of this for
+    # us does not seem to work once we use `withPackages`.
     let
       checkDeps = ps: with ps; [ psutil ];
-    in python3.withPackages checkDeps
+    in pkgsBuildBuild.targetPackages.python3.withPackages checkDeps
   else python3;
 
-in stdenv.mkDerivation (rec {
+in
+  assert (lib.assertMsg (!enableGoldPlugin) "Gold plugin cannot be enabled on LLVM16 due to a upstream issue: https://github.com/llvm/llvm-project/issues/61350");
+  stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
@@ -80,7 +87,11 @@ in stdenv.mkDerivation (rec {
   outputs = [ "out" "lib" "dev" "python" ];
 
   nativeBuildInputs = [ cmake ninja python ]
-    ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
+    ++ optionals enableManpages [
+      # Note: we intentionally use `python3Packages` instead of `python3.pkgs`;
+      # splicing does *not* work with the latter. (TODO: fix)
+      python3Packages.sphinx python3Packages.recommonmark
+    ];
 
   buildInputs = [ libxml2 libffi ]
     ++ optional enablePFM libpfm; # exegesis
@@ -134,13 +145,6 @@ in stdenv.mkDerivation (rec {
     # It's not clear to me why this isn't an issue for LLVM developers running
     # on macOS (nothing about this _seems_ nix specific)..
     ./lit-shell-script-runner-set-dyld-library-path.patch
-
-    # Fix musl build.
-    (fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/5cd554303ead0f8891eee3cd6d25cb07f5a7bf67.patch";
-      relative = "llvm";
-      hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
-    })
   ] ++ lib.optionals enablePolly [
     ./gnu-install-dirs-polly.patch
 
@@ -152,29 +156,28 @@ in stdenv.mkDerivation (rec {
     substituteInPlace cmake/modules/AddLLVM.cmake \
       --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
       --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
+
     # As of LLVM 15, marked as XFAIL on arm64 macOS but lit doesn't seem to pick
     # this up: https://github.com/llvm/llvm-project/blob/c344d97a125b18f8fed0a64aace73c49a870e079/llvm/test/MC/ELF/cfi-version.ll#L7
     rm test/MC/ELF/cfi-version.ll
 
     # This test tries to call `sw_vers` by absolute path (`/usr/bin/sw_vers`)
     # and thus fails under the sandbox:
-    substituteInPlace unittests/Support/Host.cpp \
+    substituteInPlace unittests/TargetParser/Host.cpp \
       --replace '/usr/bin/sw_vers' "${(builtins.toString darwin.DarwinTools) + "/bin/sw_vers" }"
-   '' + optionalString (stdenv.isDarwin && stdenv.hostPlatform.isx86) ''
+
     # This test tries to call the intrinsics `@llvm.roundeven.f32` and
     # `@llvm.roundeven.f64` which seem to (incorrectly?) lower to `roundevenf`
-    # and `roundeven` on x86_64 macOS.
+    # and `roundeven` on macOS.
     #
     # However these functions are glibc specific so the test fails:
     #   - https://www.gnu.org/software/gnulib/manual/html_node/roundevenf.html
     #   - https://www.gnu.org/software/gnulib/manual/html_node/roundeven.html
     #
-    # TODO(@rrbutani): this seems to run fine on `aarch64-darwin`, why does it
-    # pass there?
     substituteInPlace test/ExecutionEngine/Interpreter/intrinsics.ll \
       --replace "%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)" "" \
       --replace "%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)" ""
-
+  '' + optionalString (stdenv.isDarwin && stdenv.hostPlatform.isx86) ''
     # This test fails on darwin x86_64 because `sw_vers` reports a different
     # macOS version than what LLVM finds by reading
     # `/System/Library/CoreServices/SystemVersion.plist` (which is passed into
@@ -203,13 +206,13 @@ in stdenv.mkDerivation (rec {
     # not clear to me when/where/for what this even gets used in LLVM.
     #
     # TODO(@rrbutani): fix/follow-up
-    substituteInPlace unittests/Support/Host.cpp \
+    substituteInPlace unittests/TargetParser/Host.cpp \
       --replace "getMacOSHostVersion" "DISABLED_getMacOSHostVersion"
 
     # This test fails with a `dysmutil` crash; have not yet dug into what's
     # going on here (TODO(@rrbutani)).
     rm test/tools/dsymutil/ARM/obfuscated.test
-    '' + ''
+  '' + ''
     # FileSystem permissions tests fail with various special bits
     substituteInPlace unittests/Support/CMakeLists.txt \
       --replace "Path.cpp" ""
@@ -321,7 +324,7 @@ in stdenv.mkDerivation (rec {
     "-DSPHINX_OUTPUT_MAN=ON"
     "-DSPHINX_OUTPUT_HTML=OFF"
     "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ optionals (enableGoldPlugin) [
+  ] ++ optionals (false) [
     "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
   ] ++ optionals isDarwin [
     "-DLLVM_ENABLE_LIBCXX=ON"
diff --git a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch
index 0ef317af8cc75..e2122ebf603d9 100644
--- a/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch
+++ b/pkgs/development/compilers/llvm/git/llvm/gnu-install-dirs.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 45399dc0537e..5d946e9e6583 100644
+index 471817d68286..c51463304159 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -942,7 +942,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "")
+@@ -1010,7 +1010,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "")
    add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src
      ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime)
    install(TARGETS tf_xla_runtime EXPORT LLVMExports
@@ -12,10 +12,10 @@ index 45399dc0537e..5d946e9e6583 100644
    # Once we add more modules, we should handle this more automatically.
    if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL)
 diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index 057431208322..56f0dcb258da 100644
+index 230620c37027..dd16cab1835e 100644
 --- a/cmake/modules/AddLLVM.cmake
 +++ b/cmake/modules/AddLLVM.cmake
-@@ -844,8 +844,8 @@ macro(add_llvm_library name)
+@@ -876,8 +876,8 @@ macro(add_llvm_library name)
        get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
        install(TARGETS ${name}
                ${export_to_llvmexports}
@@ -26,16 +26,16 @@ index 057431208322..56f0dcb258da 100644
                RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
  
        if (NOT LLVM_ENABLE_IDE)
-@@ -2007,7 +2007,7 @@ function(llvm_install_library_symlink name dest type)
-   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
-   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
+@@ -2069,7 +2069,7 @@ function(llvm_install_library_symlink name dest type)
+     set(LLVM_LINK_OR_COPY copy)
+   endif()
  
 -  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
 +  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
    if(WIN32 AND "${type}" STREQUAL "SHARED")
      set(output_dir "${CMAKE_INSTALL_BINDIR}")
    endif()
-@@ -2271,15 +2271,15 @@ function(llvm_setup_rpath name)
+@@ -2344,16 +2344,37 @@ function(llvm_setup_rpath name)
  
    if (APPLE)
      set(_install_name_dir INSTALL_NAME_DIR "@rpath")
@@ -49,7 +49,30 @@ index 057431208322..56f0dcb258da 100644
 -    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
 +    set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
    elseif(UNIX)
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+-    set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+-    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}")
++    # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back
++    # to `_install_rpath` here.
++    #
++    # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e.
++    # clang); instead LLVM is its own package and thus lands at its own nix
++    # store path. This makes it so that the default relative rpath (`../lib/`)
++    # does not point at the LLVM shared objects.
++    #
++    # More discussion here:
++    #   - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329
++    #   - https://reviews.llvm.org/D146918 (16.0.5+)
++    #
++    # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is
++    # no potential that this will result in us pulling in the "wrong" LLVM.
++    # Adding this to the build rpath means we aren't forced to use
++    # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build
++    # dir, pre-install, will have the right rpath for LLVM).
++    #
++    # As noted in the differential above, an alternative solution is to have
++    # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set
++    # `CMAKE_INSTALL_RPATH`.
++    set(_build_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
 +    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
      if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
        set_property(TARGET ${name} APPEND_STRING PROPERTY
@@ -71,10 +94,10 @@ index 891c9e6d618c..8d963f3b0069 100644
    list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
  
 diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index d4b0ab959148..26ed981fd09f 100644
+index d99af79aa38e..21e794224b99 100644
 --- a/cmake/modules/CMakeLists.txt
 +++ b/cmake/modules/CMakeLists.txt
-@@ -128,7 +128,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS
+@@ -127,7 +127,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS
    )
  list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS)
  
@@ -83,30 +106,6 @@ index d4b0ab959148..26ed981fd09f 100644
  set(LLVM_CONFIG_LIBRARY_DIRS
    "${LLVM_CONFIG_LIBRARY_DIR}"
    # FIXME: Should there be other entries here?
-diff --git a/docs/CMake.rst b/docs/CMake.rst
-index 879b7b231d4c..9c31d14e8950 100644
---- a/docs/CMake.rst
-+++ b/docs/CMake.rst
-@@ -250,7 +250,7 @@ description is in `LLVM-related variables`_ below.
- **LLVM_LIBDIR_SUFFIX**:STRING
-   Extra suffix to append to the directory where libraries are to be
-   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
--  to install libraries to ``/usr/lib64``.
-+  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
- 
- **LLVM_PARALLEL_{COMPILE,LINK}_JOBS**:STRING
-   Building the llvm toolchain can use a lot of resources, particularly
-@@ -284,6 +284,10 @@ manual, or execute ``cmake --help-variable VARIABLE_NAME``.
-   The path to install executables, relative to the *CMAKE_INSTALL_PREFIX*.
-   Defaults to "bin".
- 
-+**CMAKE_INSTALL_LIBDIR**:PATH
-+  The path to install libraries, relative to the *CMAKE_INSTALL_PREFIX*.
-+  Defaults to "lib".
-+
- **CMAKE_INSTALL_INCLUDEDIR**:PATH
-   The path to install header files, relative to the *CMAKE_INSTALL_PREFIX*.
-   Defaults to "include".
 diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
 index 370005cd8d7d..7e790bc52111 100644
 --- a/tools/llvm-config/BuildVariables.inc.in
@@ -120,10 +119,10 @@ index 370005cd8d7d..7e790bc52111 100644
  #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@"
  #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
 diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 2c6c55f89d38..f6d2068a0827 100644
+index e86eb2b44b10..f63e207e792e 100644
 --- a/tools/llvm-config/llvm-config.cpp
 +++ b/tools/llvm-config/llvm-config.cpp
-@@ -369,7 +369,11 @@ int main(int argc, char **argv) {
+@@ -366,7 +366,11 @@ int main(int argc, char **argv) {
        sys::fs::make_absolute(ActivePrefix, Path);
        ActiveBinDir = std::string(Path.str());
      }
diff --git a/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch
index 32f1d13a9dc23..82b7b21c55fb1 100644
--- a/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch
+++ b/pkgs/development/compilers/llvm/git/llvm/lit-shell-script-runner-set-dyld-library-path.patch
@@ -15,12 +15,3 @@ index 0242e0b75af3..d732011306f7 100644
          for i, ln in enumerate(commands):
              match = re.match(kPdbgRegex, ln)
              if match:
-@@ -1363,7 +1369,7 @@ def applySubstitutions(script, substitutions, conditions={},
-         return processed
- 
-     process = processLine if recursion_limit is None else processLineToFixedPoint
--    
-+
-     return [unescapePercents(process(ln)) for ln in script]
- 
- 
diff --git a/pkgs/development/compilers/llvm/git/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/git/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch
index d824516c0a16c..d4ccb2ae98227 100644
--- a/pkgs/development/compilers/llvm/git/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch
+++ b/pkgs/development/compilers/llvm/git/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch
@@ -10,23 +10,23 @@ index 81e8dc04acea..479ff95681e2 100644
  import subprocess
  
  import lit.formats
-@@ -55,3 +56,26 @@ if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir):
+@@ -55,3 +56,26 @@ if sys.platform in ["win32", "cygwin"] and os.path.isdir(config.shlibdir):
  # Win32 may use %SYSTEMDRIVE% during file system shell operations, so propogate.
- if sys.platform == 'win32' and 'SYSTEMDRIVE' in os.environ:
-     config.environment['SYSTEMDRIVE'] = os.environ['SYSTEMDRIVE']
+ if sys.platform == "win32" and "SYSTEMDRIVE" in os.environ:
+     config.environment["SYSTEMDRIVE"] = os.environ["SYSTEMDRIVE"]
 +
 +# Add the LLVM dynamic libs to the platform-specific loader search path env var:
 +#
 +# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify..
 +def find_shlibpath_var():
-+    if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'SunOS']:
-+        yield 'LD_LIBRARY_PATH'
-+    elif platform.system() == 'Darwin':
-+        yield 'DYLD_LIBRARY_PATH'
-+    elif platform.system() == 'Windows':
-+        yield 'PATH'
-+    elif platform.system() == 'AIX':
-+        yield 'LIBPATH'
++    if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]:
++        yield "LD_LIBRARY_PATH"
++    elif platform.system() == "Darwin":
++        yield "DYLD_LIBRARY_PATH"
++    elif platform.system() == "Windows":
++        yield "PATH"
++    elif platform.system() == "AIX":
++        yield "LIBPATH"
 +
 +for shlibpath_var in find_shlibpath_var():
 +    shlibpath = os.path.pathsep.join(
@@ -41,22 +41,22 @@ diff --git a/test/lit.cfg.py b/test/lit.cfg.py
 index 75a38b4c5dad..856fc75c9d74 100644
 --- a/test/lit.cfg.py
 +++ b/test/lit.cfg.py
-@@ -42,6 +42,26 @@ llvm_config.with_environment('PATH', config.llvm_tools_dir, append_path=True)
+@@ -42,6 +42,26 @@ llvm_config.with_environment("PATH", config.llvm_tools_dir, append_path=True)
  llvm_config.with_system_environment(
-     ['HOME', 'INCLUDE', 'LIB', 'TMP', 'TEMP'])
+     ["HOME", "INCLUDE", "LIB", "TMP", "TEMP"])
  
 +# Add the LLVM dynamic libs to the platform-specific loader search path env var:
 +#
 +# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify..
 +def find_shlibpath_var():
-+    if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'SunOS']:
-+        yield 'LD_LIBRARY_PATH'
-+    elif platform.system() == 'Darwin':
-+        yield 'DYLD_LIBRARY_PATH'
-+    elif platform.system() == 'Windows':
-+        yield 'PATH'
-+    elif platform.system() == 'AIX':
-+        yield 'LIBPATH'
++    if platform.system() in ["Linux", "FreeBSD", "NetBSD", "OpenBSD", "SunOS"]:
++        yield "LD_LIBRARY_PATH"
++    elif platform.system() == "Darwin":
++        yield "DYLD_LIBRARY_PATH"
++    elif platform.system() == "Windows":
++        yield "PATH"
++    elif platform.system() == "AIX":
++        yield "LIBPATH"
 +
 +for shlibpath_var in find_shlibpath_var():
 +    shlibpath = config.llvm_shlib_dir
@@ -67,13 +67,14 @@ index 75a38b4c5dad..856fc75c9d74 100644
 +                       .format(platform.system()))
  
  # Set up OCAMLPATH to include newly built OCaml libraries.
- top_ocaml_lib = os.path.join(config.llvm_lib_dir, 'ocaml')
+ top_ocaml_lib = os.path.join(config.llvm_lib_dir, "ocaml")
 @@ -318,7 +338,7 @@ def have_cxx_shared_library():
  
      try:
          readobj_cmd = subprocess.Popen(
--            [readobj_exe, '--needed-libs', readobj_exe], stdout=subprocess.PIPE)
-+            [readobj_exe, '--needed-libs', readobj_exe], stdout=subprocess.PIPE, env=config.environment)
+-            [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE
++            [readobj_exe, "--needed-libs", readobj_exe], stdout=subprocess.PIPE, env=config.environment
+         )
      except OSError:
-         print('could not exec llvm-readobj')
-         return False
+         print("could not exec llvm-readobj")
+
diff --git a/pkgs/development/compilers/llvm/git/openmp/default.nix b/pkgs/development/compilers/llvm/git/openmp/default.nix
index 52aeb4bd9800f..d51335436ad23 100644
--- a/pkgs/development/compilers/llvm/git/openmp/default.nix
+++ b/pkgs/development/compilers/llvm/git/openmp/default.nix
@@ -11,6 +11,7 @@
 , clang-unwrapped
 , perl
 , pkg-config
+, xcbuild
 , version
 }:
 
@@ -39,6 +40,8 @@ stdenv.mkDerivation rec {
     (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
   ];
 
+  nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
+
   # Unsup:Pass:XFail:Fail
   # 26:267:16:8
   doCheck = false;
diff --git a/pkgs/development/compilers/llvm/git/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/git/openmp/fix-find-tool.patch
index 103b054ed1763..b7f51196f7bab 100644
--- a/pkgs/development/compilers/llvm/git/openmp/fix-find-tool.patch
+++ b/pkgs/development/compilers/llvm/git/openmp/fix-find-tool.patch
@@ -1,5 +1,5 @@
 diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt
-index ce66214822a2..6ab7b33c95da 100644
+index 630947abec7e..9f032dc7bd3f 100644
 --- a/libomptarget/DeviceRTL/CMakeLists.txt
 +++ b/libomptarget/DeviceRTL/CMakeLists.txt
 @@ -27,10 +27,10 @@ endif()
@@ -8,11 +8,10 @@ index ce66214822a2..6ab7b33c95da 100644
    # A standalone or LLVM_ENABLE_RUNTIMES=openmp build takes this route
 -  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
 +  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR})
-   find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR}
--    NO_DEFAULT_PATH)
+   find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
+   find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
 -  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
-+    )
 +  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR})
-   if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL))
-     libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL} or opt: ${OPT_TOOL}")
+   if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL) OR (NOT PACKAGER_TOOL))
+     libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL}, opt: ${OPT_TOOL}, or clang-offload-packager: ${PACKAGER_TOOL}")
      return()
diff --git a/pkgs/development/compilers/llvm/git/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/git/openmp/run-lit-directly.patch
index 1e952fdc36a8f..e69de29bb2d1d 100644
--- a/pkgs/development/compilers/llvm/git/openmp/run-lit-directly.patch
+++ b/pkgs/development/compilers/llvm/git/openmp/run-lit-directly.patch
@@ -1,12 +0,0 @@
-diff --git a/cmake/OpenMPTesting.cmake b/cmake/OpenMPTesting.cmake
---- a/cmake/OpenMPTesting.cmake
-+++ b/cmake/OpenMPTesting.cmake
-@@ -185,7 +185,7 @@ function(add_openmp_testsuite target comment)
-   if (${OPENMP_STANDALONE_BUILD})
-     set(LIT_ARGS ${OPENMP_LIT_ARGS} ${ARG_ARGS})
-     add_custom_target(${target}
--      COMMAND ${PYTHON_EXECUTABLE} ${OPENMP_LLVM_LIT_EXECUTABLE} ${LIT_ARGS} ${ARG_UNPARSED_ARGUMENTS}
-+      COMMAND ${OPENMP_LLVM_LIT_EXECUTABLE} ${LIT_ARGS} ${ARG_UNPARSED_ARGUMENTS}
-       COMMENT ${comment}
-       DEPENDS ${ARG_DEPENDS}
-       USES_TERMINAL
diff --git a/pkgs/development/compilers/openjdk/openjfx/17.nix b/pkgs/development/compilers/openjdk/openjfx/17.nix
index 65d6697c6ef7b..b91bde152554d 100644
--- a/pkgs/development/compilers/openjdk/openjfx/17.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/17.nix
@@ -14,8 +14,8 @@ let
     java = openjdk17_headless;
   });
 
-  dashed-icu-version = lib.concatStringsSep "-" (lib.splitString "." (lib.getVersion icu71));
-  underscored-icu-version = lib.concatStringsSep "_" (lib.splitString "." (lib.getVersion icu71));
+  dashed-icu-version = lib.concatStringsSep "-" (lib.splitVersion (lib.getVersion icu71));
+  underscored-icu-version = lib.concatStringsSep "_" (lib.splitVersion (lib.getVersion icu71));
   icu-data = fetchurl {
     url = "https://github.com/unicode-org/icu/releases/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip";
     hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 951678847076b..c82a88bb2793e 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
   pname = "polyml";
   version = "5.9.1";
 
+  src = fetchFromGitHub {
+    owner = "polyml";
+    repo = "polyml";
+    rev = "v${version}";
+    sha256 = "sha256-72wm8dt+Id59A5058mVE5P9TkXW5/LZRthZoxUustVA=";
+  };
+
   prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure.ac --replace stdc++ c++
   '';
@@ -24,12 +31,13 @@ stdenv.mkDerivation rec {
     "--with-gmp"
   ];
 
-  src = fetchFromGitHub {
-    owner = "polyml";
-    repo = "polyml";
-    rev = "v${version}";
-    sha256 = "sha256-72wm8dt+Id59A5058mVE5P9TkXW5/LZRthZoxUustVA=";
-  };
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    make check
+    runHook postCheck
+  '';
 
   meta = with lib; {
     description = "Standard ML compiler and interpreter";
diff --git a/pkgs/development/compilers/sagittarius-scheme/default.nix b/pkgs/development/compilers/sagittarius-scheme/default.nix
index 2d6a48631c054..941ac1bcb2c34 100644
--- a/pkgs/development/compilers/sagittarius-scheme/default.nix
+++ b/pkgs/development/compilers/sagittarius-scheme/default.nix
@@ -6,7 +6,7 @@
 , boehmgc
 , openssl
 , zlib
-, odbcSupport ? true
+, odbcSupport ? !stdenv.isDarwin
 , libiodbc
 }:
 
@@ -31,8 +31,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libffi boehmgc openssl zlib ] ++ lib.optional odbcSupport libiodbc;
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=int-conversion";
+
   meta = with lib; {
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin && stdenv.isAarch64;
     description = "An R6RS/R7RS Scheme system";
     longDescription = ''
       Sagittarius Scheme is a free Scheme implementation supporting
diff --git a/pkgs/development/compilers/tvm/default.nix b/pkgs/development/compilers/tvm/default.nix
index e72cc3cdb93a2..da6b2dc16700d 100644
--- a/pkgs/development/compilers/tvm/default.nix
+++ b/pkgs/development/compilers/tvm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tvm";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "incubator-tvm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-WG0vU3lxX5FNs0l37mTE1T7rSEEtfTEisE3cMphzeAk=";
+    sha256 = "sha256-ePBEiT7Yl54KQou/VP/aZEJ6BueH8ocB+/TUhZJkgH8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 6d086d57b017f..d981a1faf62d9 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -3,6 +3,7 @@
 , abc-verifier
 , bash
 , bison
+, boost
 , fetchFromGitHub
 , flex
 , libffi
@@ -18,6 +19,7 @@
 , yosys-bluespec
 , yosys-ghdl
 , yosys-symbiflow
+, enablePython ? true # enable python binding
 }:
 
 # NOTE: as of late 2020, yosys has switched to an automation robot that
@@ -68,16 +70,20 @@ let
     ghdl     = yosys-ghdl;
   } // (yosys-symbiflow);
 
+  boost_python = boost.override {
+    enablePython = true;
+    python = python3;
+  };
 
 in stdenv.mkDerivation (finalAttrs: {
   pname   = "yosys";
-  version = "0.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
     rev   = "refs/tags/${finalAttrs.pname}-${finalAttrs.version}";
-    hash  = "sha256-jB8y7XGDX9rVF6c4FSTLOyvsxPhdjU8Taj6MQeoU4KQ=";
+    hash  = "sha256-jcaXn77OuKeC3AQTicILP3ABkJ3qBccM+uGbj1wn2Vw=";
   };
 
   enableParallelBuilding = true;
@@ -90,7 +96,7 @@ in stdenv.mkDerivation (finalAttrs: {
     (python3.withPackages (pp: with pp; [
       click
     ]))
-  ];
+  ] ++ lib.optional enablePython boost_python;
 
   makeFlags = [ "PREFIX=${placeholder "out"}"];
 
@@ -123,6 +129,10 @@ in stdenv.mkDerivation (finalAttrs: {
       echo "ERROR: yosys version in Makefile isn't equivalent to version of the nix package (allegedly ${finalAttrs.version}), failing."
       exit 1
     fi
+  '' + lib.optionalString enablePython ''
+    echo "ENABLE_PYOSYS := 1" >> Makefile.conf
+    echo "PYTHON_DESTDIR := $out/${python3.sitePackages}" >> Makefile.conf
+    echo "BOOST_PYTHON_LIB := -lboost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}" >> Makefile.conf
   '';
 
   checkTarget = "test";
diff --git a/pkgs/development/compilers/yosys/fix-clang-build.patch b/pkgs/development/compilers/yosys/fix-clang-build.patch
index e81ddefcd9cc0..2581f0abab9b1 100644
--- a/pkgs/development/compilers/yosys/fix-clang-build.patch
+++ b/pkgs/development/compilers/yosys/fix-clang-build.patch
@@ -19,8 +19,8 @@ index 914a72347..bc0b129d2 100644
  	local subtest=$1; shift
  
  	../../yosys -p "read_verilog ${subtest}.v; proc; clean; write_cxxrtl -print-output std::cerr yosys-${subtest}.cc"
--	${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++
-+	${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++
+-	${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
++	${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
  	./yosys-${subtest} 2>yosys-${subtest}.log
  	iverilog -o iverilog-${subtest} ${subtest}.v ${subtest}_tb.v
  	./iverilog-${subtest} |grep -v '\$finish called' >iverilog-${subtest}.log
@@ -28,8 +28,8 @@ index 914a72347..bc0b129d2 100644
  
  ../../yosys -p "read_verilog display_lm.v" >yosys-display_lm.log
  ../../yosys -p "read_verilog display_lm.v; write_cxxrtl yosys-display_lm.cc"
--${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++
-+${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++
+-${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
++${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
  ./yosys-display_lm_cc >yosys-display_lm_cc.log
  for log in yosys-display_lm.log yosys-display_lm_cc.log; do
  	grep "^%l: \\\\bot\$" "$log"
diff --git a/pkgs/development/coq-modules/coq-bits/default.nix b/pkgs/development/coq-modules/coq-bits/default.nix
index 16a26d9fa32eb..ebc03a3a7306f 100644
--- a/pkgs/development/coq-modules/coq-bits/default.nix
+++ b/pkgs/development/coq-modules/coq-bits/default.nix
@@ -1,18 +1,18 @@
-{ lib, mkCoqDerivation, coq, mathcomp-algebra, version ? null }:
+{ lib, mkCoqDerivation, coq, mathcomp, version ? null }:
 
 mkCoqDerivation {
   pname = "coq-bits";
   repo = "bits";
   inherit version;
-  defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.10" "8.16"; out = "1.1.0"; }
-    { case = range "8.7"  "8.15"; out = "1.0.0"; }
+  defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
+    { cases = [ (range "8.10" "8.16") (isLt "2.0") ]; out = "1.1.0"; }
+    { cases = [ (range "8.7"  "8.15") (isLt "2.0") ]; out = "1.0.0"; }
   ] null;
 
   release."1.1.0".sha256 = "sha256-TCw1kSXeW0ysIdLeNr+EGmpGumEE9i8tinEMp57UXaE=";
   release."1.0.0".sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl";
 
-  propagatedBuildInputs = [ mathcomp-algebra ];
+  propagatedBuildInputs = [ mathcomp.algebra ];
 
   meta = with lib; {
     description = "A formalization of bitset operations in Coq";
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 54ef3f8b0f36f..5d39e4f0c3c70 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -5,7 +5,7 @@ mkCoqDerivation rec {
   owner = "coq-ext-lib";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.11" "8.18"; out = "0.11.8"; }
+    { case = range "8.11" "8.18"; out = "0.12.0"; }
     { case = range "8.8" "8.16"; out = "0.11.6"; }
     { case = range "8.8" "8.14"; out = "0.11.4"; }
     { case = range "8.8" "8.13"; out = "0.11.3"; }
@@ -13,6 +13,7 @@ mkCoqDerivation rec {
     { case = "8.6";              out = "0.9.5"; }
     { case = "8.5";              out = "0.9.4"; }
   ] null;
+  release."0.12.0".sha256 = "sha256-9szpnWoS83bDc+iLqElfgz0LNRo9hSRQwUFIgpTca4c=";
   release."0.11.8".sha256 = "sha256-uUBKJb7XjRnyb7rCisZrDcaDdsp1Bv1lXDIU3Ce8e5k=";
   release."0.11.7".sha256 = "sha256-HkxUny0mxDDT4VouBBh8btwxGZgsb459kBufTLLnuEY=";
   release."0.11.6".sha256 = "0w6iyrdszz7zc8kaybhy3mwjain2d2f83q79xfd5di0hgdayh7q7";
diff --git a/pkgs/development/coq-modules/extructures/default.nix b/pkgs/development/coq-modules/extructures/default.nix
index bce21f0e6c62d..15dd62fb75521 100644
--- a/pkgs/development/coq-modules/extructures/default.nix
+++ b/pkgs/development/coq-modules/extructures/default.nix
@@ -10,7 +10,7 @@
   inherit version;
   defaultVersion = with lib.versions; lib.switch [coq.coq-version ssreflect.version] [
     { cases = [(range "8.17" "8.18") (isGe "2.0.0")  ]; out = "0.4.0"; }
-    { cases = [(range "8.11" "8.18") (isGe "1.12.0") ]; out = "0.3.1"; }
+    { cases = [(range "8.11" "8.18") (range "1.12.0" "1.18.0") ]; out = "0.3.1"; }
     { cases = [(range "8.11" "8.14") (isLe "1.12.0") ]; out = "0.3.0"; }
     { cases = [(range "8.10" "8.12") (isLe "1.12.0") ]; out = "0.2.2"; }
   ] null;
diff --git a/pkgs/development/coq-modules/gaia-hydras/default.nix b/pkgs/development/coq-modules/gaia-hydras/default.nix
index 1e16adddf4958..7152084854b63 100644
--- a/pkgs/development/coq-modules/gaia-hydras/default.nix
+++ b/pkgs/development/coq-modules/gaia-hydras/default.nix
@@ -12,8 +12,8 @@ mkCoqDerivation rec {
 
   inherit version;
   defaultVersion = with lib.versions; lib.switch [coq.coq-version mathcomp.version] [
-    { cases = [ (range "8.13" "8.16") (isGe "1.12.0") ]; out = "0.9"; }
-    { cases = [ (range "8.13" "8.14") (isGe "1.12.0") ]; out = "0.5"; }
+    { cases = [ (range "8.13" "8.16") (range "1.12.0" "1.18.0") ]; out = "0.9"; }
+    { cases = [ (range "8.13" "8.14") (range "1.12.0" "1.18.0") ]; out = "0.5"; }
   ] null;
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/cuda-modules/README.md b/pkgs/development/cuda-modules/README.md
new file mode 100644
index 0000000000000..f4844c46a2c2e
--- /dev/null
+++ b/pkgs/development/cuda-modules/README.md
@@ -0,0 +1,32 @@
+# cuda-modules
+
+> [!NOTE]
+> This document is meant to help CUDA maintainers understand the structure of the CUDA packages in Nixpkgs. It is not meant to be a user-facing document.
+> For a user-facing document, see [the CUDA section of the manual](../../../doc/languages-frameworks/cuda.section.md).
+
+The files in this directory are added (in some way) to the `cudaPackages` package set by [cuda-packages.nix](../../top-level/cuda-packages.nix).
+
+## Top-level files
+
+Top-level nix files are included in the initial creation of the `cudaPackages` scope. These are typically required for the creation of the finalized `cudaPackages` scope:
+
+- `backend-stdenv.nix`: Standard environment for CUDA packages.
+- `flags.nix`: Flags set, or consumed by, NVCC in order to build packages.
+- `gpus.nix`: A list of supported NVIDIA GPUs.
+- `nvcc-compatibilities.nix`: NVCC releases and the version range of GCC/Clang they support.
+
+## Top-level directories
+
+- `cuda`: CUDA redistributables! Provides extension to `cudaPackages` scope.
+- `cudatoolkit`: monolothic CUDA Toolkit run-file installer. Provides extension to `cudaPackages` scope.
+- `cudnn`: NVIDIA cuDNN library.
+- `cutensor`: NVIDIA cuTENSOR library.
+- `generic-builders`:
+  - Contains a builder `manifest.nix` which operates on the `Manifest` type defined in `modules/generic/manifests`. Most packages are built using this builder.
+  - Contains a builder `multiplex.nix` which leverages the Manifest builder. In short, the Multiplex builder adds multiple versions of a single package to single instance of the CUDA Packages package set. It is used primarily for packages like `cudnn` and `cutensor`.
+- `modules`: Nixpkgs modules to check the shape and content of CUDA redistributable and feature manifests. These modules additionally use shims provided by some CUDA packages to allow them to re-use the `genericManifestBuilder`, even if they don't have manifest files of their own. `cudnn` and `tensorrt` are examples of packages which provide such shims. These modules are further described in the [Modules](./modules/README.md) documentation.
+- `nccl`: NVIDIA NCCL library.
+- `nccl-tests`: NVIDIA NCCL tests.
+- `saxpy`: Example CMake project that uses CUDA.
+- `setup-hooks`: Nixpkgs setup hooks for CUDA.
+- `tensorrt`: NVIDIA TensorRT library.
diff --git a/pkgs/development/cuda-modules/backend-stdenv.nix b/pkgs/development/cuda-modules/backend-stdenv.nix
new file mode 100644
index 0000000000000..10fedd1e6f271
--- /dev/null
+++ b/pkgs/development/cuda-modules/backend-stdenv.nix
@@ -0,0 +1,39 @@
+{
+  lib,
+  nvccCompatibilities,
+  cudaVersion,
+  buildPackages,
+  overrideCC,
+  stdenv,
+  wrapCCWith,
+}:
+let
+  gccMajorVersion = nvccCompatibilities.${cudaVersion}.gccMaxMajorVersion;
+  # We use buildPackages (= pkgsBuildHost) because we look for a gcc that
+  # runs on our build platform, and that produces executables for the host
+  # platform (= platform on which we deploy and run the downstream packages).
+  # The target platform of buildPackages.gcc is our host platform, so its
+  # .lib output should be the libstdc++ we want to be writing in the runpaths
+  # Cf. https://github.com/NixOS/nixpkgs/pull/225661#discussion_r1164564576
+  nixpkgsCompatibleLibstdcxx = buildPackages.gcc.cc.lib;
+  nvccCompatibleCC = buildPackages."gcc${gccMajorVersion}".cc;
+
+  cc = wrapCCWith {
+    cc = nvccCompatibleCC;
+
+    # This option is for clang's libcxx, but we (ab)use it for gcc's libstdc++.
+    # Note that libstdc++ maintains forward-compatibility: if we load a newer
+    # libstdc++ into the process, we can still use libraries built against an
+    # older libstdc++. This, in practice, means that we should use libstdc++ from
+    # the same stdenv that the rest of nixpkgs uses.
+    # We currently do not try to support anything other than gcc and linux.
+    libcxx = nixpkgsCompatibleLibstdcxx;
+  };
+  cudaStdenv = overrideCC stdenv cc;
+  passthruExtra = {
+    inherit nixpkgsCompatibleLibstdcxx;
+    # cc already exposed
+  };
+  assertCondition = true;
+in
+lib.extendDerivation assertCondition passthruExtra cudaStdenv
diff --git a/pkgs/development/cuda-modules/cuda/extension.nix b/pkgs/development/cuda-modules/cuda/extension.nix
new file mode 100644
index 0000000000000..dff79c1ee55f7
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/extension.nix
@@ -0,0 +1,102 @@
+{cudaVersion, lib}:
+let
+  inherit (lib) attrsets modules trivial;
+  redistName = "cuda";
+
+  # Manifest files for CUDA redistributables (aka redist). These can be found at
+  # https://developer.download.nvidia.com/compute/cuda/redist/
+  # Maps a cuda version to the specific version of the manifest.
+  cudaVersionMap = {
+    "11.4" = "11.4.4";
+    "11.5" = "11.5.2";
+    "11.6" = "11.6.2";
+    "11.7" = "11.7.1";
+    "11.8" = "11.8.0";
+    "12.0" = "12.0.1";
+    "12.1" = "12.1.1";
+    "12.2" = "12.2.2";
+    "12.3" = "12.3.0";
+  };
+
+  # Check if the current CUDA version is supported.
+  cudaVersionMappingExists = builtins.hasAttr cudaVersion cudaVersionMap;
+
+  # fullCudaVersion : String
+  fullCudaVersion = cudaVersionMap.${cudaVersion};
+
+  evaluatedModules = modules.evalModules {
+    modules = [
+      ../modules
+      # We need to nest the manifests in a config.cuda.manifests attribute so the
+      # module system can evaluate them.
+      {
+        cuda.manifests = {
+          redistrib = trivial.importJSON (./manifests + "/redistrib_${fullCudaVersion}.json");
+          feature = trivial.importJSON (./manifests + "/feature_${fullCudaVersion}.json");
+        };
+      }
+    ];
+  };
+
+  # Generally we prefer to do things involving getting attribute names with feature_manifest instead
+  # of redistrib_manifest because the feature manifest will have *only* the redist architecture
+  # names as the keys, whereas the redistrib manifest will also have things like version, name, license,
+  # and license_path.
+  featureManifest = evaluatedModules.config.cuda.manifests.feature;
+  redistribManifest = evaluatedModules.config.cuda.manifests.redistrib;
+
+  # Builder function which builds a single redist package for a given platform.
+  # buildRedistPackage : callPackage -> PackageName -> Derivation
+  buildRedistPackage =
+    callPackage: pname:
+    let
+      redistribRelease = redistribManifest.${pname};
+      featureRelease = featureManifest.${pname};
+      drv =
+        (callPackage ../generic-builders/manifest.nix {
+          # We pass the whole release to the builder because it has logic to handle
+          # the case we're trying to build on an unsupported platform.
+          inherit
+            pname
+            redistName
+            redistribRelease
+            featureRelease
+            ;
+        }).overrideAttrs
+          (
+            prevAttrs: {
+              # Add the package-specific license.
+              meta = prevAttrs.meta // {
+                license =
+                  let
+                    licensePath =
+                      if redistribRelease.license_path != null then
+                        redistribRelease.license_path
+                      else
+                        "${pname}/LICENSE.txt";
+                    url = "https://developer.download.nvidia.com/compute/cuda/redist/${licensePath}";
+                  in
+                  lib.licenses.nvidiaCudaRedist // {inherit url;};
+              };
+            }
+          );
+    in
+    drv;
+
+  # Build all the redist packages given final and prev.
+  redistPackages =
+    final: _prev:
+    # Wrap the whole thing in an optionalAttrs so we can return an empty set if the CUDA version
+    # is not supported.
+    # NOTE: We cannot include the call to optionalAttrs *in* the pipe as we would strictly evaluate the
+    # attrNames before we check if the CUDA version is supported.
+    attrsets.optionalAttrs cudaVersionMappingExists (
+      trivial.pipe featureManifest [
+        # Get all the package names
+        builtins.attrNames
+        # Build the redist packages
+        (trivial.flip attrsets.genAttrs (buildRedistPackage final.callPackage))
+      ]
+    );
+in
+redistPackages
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_11.4.4.json b/pkgs/development/cuda-modules/cuda/manifests/feature_11.4.4.json
new file mode 100644
index 0000000000000..d7c6cebca22f3
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_11.4.4.json
@@ -0,0 +1,1212 @@
+{
+  "cuda_cccl": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_memcheck": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_nvtx": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_11.5.2.json b/pkgs/development/cuda-modules/cuda/manifests/feature_11.5.2.json
new file mode 100644
index 0000000000000..e70a3bc950ce2
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_11.5.2.json
@@ -0,0 +1,1224 @@
+{
+  "cuda_cccl": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_memcheck": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_nvtx": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_11.6.2.json b/pkgs/development/cuda-modules/cuda/manifests/feature_11.6.2.json
new file mode 100644
index 0000000000000..0711f6fb49871
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_11.6.2.json
@@ -0,0 +1,1224 @@
+{
+  "cuda_cccl": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_memcheck": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_nvtx": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_11.7.1.json b/pkgs/development/cuda-modules/cuda/manifests/feature_11.7.1.json
new file mode 100644
index 0000000000000..54d6699d898a0
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_11.7.1.json
@@ -0,0 +1,1244 @@
+{
+  "cuda_cccl": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_memcheck": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_nvtx": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_11.8.0.json b/pkgs/development/cuda-modules/cuda/manifests/feature_11.8.0.json
new file mode 100644
index 0000000000000..d2e9958206bfa
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_11.8.0.json
@@ -0,0 +1,1540 @@
+{
+  "cuda_cccl": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_compat": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_memcheck": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_profiler_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcudla": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_nvtx": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.0.1.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.0.1.json
new file mode 100644
index 0000000000000..8dd9182861582
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.0.1.json
@@ -0,0 +1,1622 @@
+{
+  "cuda_cccl": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_compat": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_opencl": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_profiler_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcudla": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjitlink": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvvm_samples": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.1.1.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.1.1.json
new file mode 100644
index 0000000000000..8dd9182861582
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.1.1.json
@@ -0,0 +1,1622 @@
+{
+  "cuda_cccl": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_compat": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_opencl": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_profiler_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcudla": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjitlink": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvvm_samples": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.2.2.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.2.2.json
new file mode 100644
index 0000000000000..84ea7f24ebed6
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.2.2.json
@@ -0,0 +1,1600 @@
+{
+  "cuda_cccl": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_compat": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_opencl": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_profiler_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcudla": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjitlink": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-aarch64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/feature_12.3.0.json b/pkgs/development/cuda-modules/cuda/manifests/feature_12.3.0.json
new file mode 100644
index 0000000000000..d8e1d0b0aeae9
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/feature_12.3.0.json
@@ -0,0 +1,1316 @@
+{
+  "cuda_cccl": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cudart": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuobjdump": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_cupti": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": true,
+        "static": false
+      }
+    }
+  },
+  "cuda_cuxxfilt": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_demo_suite": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_documentation": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_gdb": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nsight": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvcc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvdisasm": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvml_dev": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprof": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvprune": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvrtc": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvtx": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_nvvp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_opencl": {
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_profiler_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "cuda_sanitizer_api": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "fabricmanager": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcublas": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufft": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcufile": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": true,
+        "static": true
+      }
+    }
+  },
+  "libcurand": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusolver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libcusparse": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnpp": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvidia_nscq": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjitlink": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "libnvjpeg": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_compute": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_systems": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nsight_vse": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_driver": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": true,
+        "dev": false,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "nvidia_fs": {
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  },
+  "visual_studio_integration": {
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": false,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.4.4.json
index 374079b2bcb37..374079b2bcb37 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.4.4.json
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.5.2.json
index 94335065c8a77..94335065c8a77 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.5.2.json
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.6.2.json
index 3de6bb9f6efbe..3de6bb9f6efbe 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.6.2.json
diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.7.1.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.7.1.json
new file mode 100644
index 0000000000000..be43aab3ec870
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.7.1.json
@@ -0,0 +1,885 @@
+{
+    "release_date": "2022-08-03",
+    "cuda_cccl": {
+        "name": "CXX Core Compute Libraries",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "bf051d7b22581e31fac992c12af1400036d38e6a53e230b08f2aac3fa93d593e",
+            "md5": "ba8caa16f0f0b2a34d65a83b501369eb",
+            "size": "1004116"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "5c4c56a91054e0bff1052b1359774c86b2d10f0bd0712d50cdc78b5ea636f6ee",
+            "md5": "55710f4bf751a12b3bb0525cc3794e1a",
+            "size": "1004352"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "1137f6b08aac445070ed467e61fb68494339b798a1c6e1929647e87053b05c86",
+            "md5": "3a5cb39720d7be44f32eb1331326a9ec",
+            "size": "1004092"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "638ec54f6d180d17c6f70ba45e7694a29f1d7014a434e4f1c081198c04017147",
+            "md5": "a5f9bf5a16ed2a7c0132168c1e0782c4",
+            "size": "2563581"
+        }
+    },
+    "cuda_cudart": {
+        "name": "CUDA Runtime (cudart)",
+        "license": "CUDA Toolkit",
+        "version": "11.7.99",
+        "linux-x86_64": {
+            "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-11.7.99-archive.tar.xz",
+            "sha256": "7892409299c6865d0652373cb385add31b0faa2e5421a931ae9fbc103e1472ad",
+            "md5": "31bf77729efe1d1f09ff65faba0f67f8",
+            "size": "854756"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-11.7.99-archive.tar.xz",
+            "sha256": "0a326ec6b1abcc6e54172a09bf9ba44b3b75ae536eb1287ebf4baa76609012c9",
+            "md5": "d007dc5ec2752717db482e1d0ec4c70e",
+            "size": "795684"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-11.7.99-archive.tar.xz",
+            "sha256": "b7c90ae963e67825b9b518062902d4b80a55a3f3ada6f5bb3a7c19b8e93df024",
+            "md5": "1ffd4fde62beb2c429837a365aea5760",
+            "size": "798380"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-11.7.99-archive.zip",
+            "sha256": "1eb967fe01843dbe4b41a43352df193018077dd28b06eb2fd5af897b03f92d5c",
+            "md5": "c8cc7f3f93444de4652a6fb2b08c2397",
+            "size": "2884857"
+        }
+    },
+    "cuda_cuobjdump": {
+        "name": "cuobjdump",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "a345694cf430a668b2fb9aac34e01b373c4283751cd8ee3f91439c8c9613455d",
+            "md5": "6584e15dac6ce66f10f0f76ac618c1ea",
+            "size": "127260"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "345dc2651a8e069a766ee9ceaa7052764964fbb75d17c765bd1f3656f22e45b6",
+            "md5": "c82c84e46f6d2c4c154faa81d341e3ec",
+            "size": "140532"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "f408a0534081a1e8e3cc2b3aaec33f9ba09c7c60bdd8a6d20b3ec69c688a576e",
+            "md5": "71e958168e3d637751f3bb2f948a0d8e",
+            "size": "124120"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "6024efc79c78668de3e21b608035e77f1d40dc7bb250630255d627ccb2e51380",
+            "md5": "5034e6496a31fb6c8b722590076f41a0",
+            "size": "2523878"
+        }
+    },
+    "cuda_cupti": {
+        "name": "CUPTI",
+        "license": "CUDA Toolkit",
+        "version": "11.7.101",
+        "linux-x86_64": {
+            "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-11.7.101-archive.tar.xz",
+            "sha256": "7193f5d9b23e91b5cc34df57f7500f891b8461c1ace2d2489beed38da6d22f23",
+            "md5": "8251f46de255ad61d1fa5df01de6d44f",
+            "size": "16923928"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-11.7.101-archive.tar.xz",
+            "sha256": "6f99b8a421235932974d7b14a20b8e61e7f5e65efc65b73b9f8455ef7627dbce",
+            "md5": "396fc8ebdeca795b4553e0837d1f5900",
+            "size": "8661172"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-11.7.101-archive.tar.xz",
+            "sha256": "42c2f7b9734a18dec5f63b954e3bc1ff45f4283b1707d88e7eb298d40c2a7390",
+            "md5": "103742737a3f76cc7fe53926cbcec00e",
+            "size": "8506536"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-11.7.101-archive.zip",
+            "sha256": "9d2d98b73cf70165a0c7652b5c764da2816209f519a8c73cdf01733a83502170",
+            "md5": "0103f854be9331a3fed35d1d2f1217e5",
+            "size": "11548637"
+        }
+    },
+    "cuda_cuxxfilt": {
+        "name": "CUDA cuxxfilt (demangler)",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "7d6c8074e76fdcf294569a92883355b71ac591c0c117daf0752320f60e254506",
+            "md5": "cf471de3ea0d22b0382e4c32abcba2fd",
+            "size": "186264"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "f44e311983ced0ab98fed509b08a682b2c9f9c93d31bc3f7bec4dacfe6c24d22",
+            "md5": "84f06154873f165a427e457c5bb367b3",
+            "size": "181312"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "e9798ddebc419fdc03bfe627cd1c8a3a683fd87b7f0a0b0ee2b76bfc98e951f1",
+            "md5": "9b42db5debcbd34c96ea11a975d8a487",
+            "size": "172664"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "af41ea6a2673222cfea3aaf77ba369b17741cbed528f4d4482341d9f00a2cd18",
+            "md5": "a16ae2cef58dd60a6f505a4525a85e4e",
+            "size": "168946"
+        }
+    },
+    "cuda_demo_suite": {
+        "name": "CUDA Demo Suite",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "f1ec9416a2bee5ceea0e7db9ba1936d661b5a5ab5193d19219d646018f789048",
+            "md5": "a6eddd4dc84a1996cf42d186307aa582",
+            "size": "3987624"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "5116656f74f894707e4eb3eb0028a8fc935b905f5fc3e7aa8ca7c4ee5454ce95",
+            "md5": "760a960af1d6565f15aa83df0fa3c3cf",
+            "size": "5023831"
+        }
+    },
+    "cuda_documentation": {
+        "name": "CUDA Documentation",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "680d7b7df3b627eb00046d9b051120a5568306a405c97fec46ce005d4cde7177",
+            "md5": "5ffc2d1e1b59a640b9a9889830d2fd4d",
+            "size": "65688"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "229b39ec29343137f2cf3a77cb0b1de5546b0dfbf8a7c0ffb82b7e2348f2d70a",
+            "md5": "18a638ca4c87283393a91b003e1552bb",
+            "size": "65892"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "bdfdad5afcb5e2a2915f1c0b6af022ae4c2496af66928bbcd2b6148fa1cb02f9",
+            "md5": "48358932a272ad97c5d87368b31c7895",
+            "size": "65696"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "47571f8292a07552388fe92eaea6e571a8cdc6bf4aa0d87795232cd4c6256242",
+            "md5": "7f435e81b21d65224d056d8e1f2a2293",
+            "size": "103883"
+        }
+    },
+    "cuda_gdb": {
+        "name": "CUDA GDB",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "88139baf0eff8350f5250bfa0b335d6a8a21efb125e5340264cf715c6f717dee",
+            "md5": "1b7ba763ba29aa3b867313daac3f6306",
+            "size": "64326484"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "31f91a7c13d2524bde919b2cd0f4d946522af58a0937341606e96e8e5099b8af",
+            "md5": "5e294385247fc88eaef4c27e2f2b26b0",
+            "size": "64156680"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "c00a2de57e3f293e0236c4aa23f2a2c4842a7a9a0f4e0a156e8c7073e15300c9",
+            "md5": "a9129971763d386d8f95021e0821e0f1",
+            "size": "63933124"
+        }
+    },
+    "cuda_memcheck": {
+        "name": "CUDA Memcheck",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_memcheck/linux-x86_64/cuda_memcheck-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "4e8b01194aea23ec2c5e8fec8fcb12bae60594e34552d2339dc4fc695c6a7454",
+            "md5": "5937f55b86d1b4c7a55989d2baff4a1b",
+            "size": "139772"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_memcheck/linux-ppc64le/cuda_memcheck-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "750834023e2b233a604d6bd61e3736e3fbd9271050b84c85b8fbc83e5bdba221",
+            "md5": "a13f6fded406078a14d46c69bf5b9fbf",
+            "size": "147880"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_memcheck/windows-x86_64/cuda_memcheck-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "0ec79164f5bc925ad9e1c0fd481dd5341be5c6f8c7bb366ac6a106be7f585730",
+            "md5": "5dec2fb14dace02a1be4648b4ef9d45c",
+            "size": "172868"
+        }
+    },
+    "cuda_nsight": {
+        "name": "Nsight Eclipse Edition Plugin",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "1a5a0e4b8ee7885f80953b5547bf9c94dd4b050fbf66e213ce527d3926ce4473",
+            "md5": "7bd236c01d795c19ed68b19da44614ea",
+            "size": "118610820"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "86a94c7f1f0a4746937dc77c33d3774fa8aa8fa45b48b5843a76956a8ef4642b",
+            "md5": "8679d0658976ae91ed1ef73fb73746eb",
+            "size": "118610828"
+        }
+    },
+    "cuda_nvcc": {
+        "name": "CUDA NVCC",
+        "license": "CUDA Toolkit",
+        "version": "11.7.99",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-11.7.99-archive.tar.xz",
+            "sha256": "4a75e5bd6a0e0e664ec5895ba050cf9d7cda08f41db2b6b4c36fb91cfb9627bc",
+            "md5": "9f0fad0ba21b72ef1813a8705b0e8171",
+            "size": "37045896"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-11.7.99-archive.tar.xz",
+            "sha256": "0cb5ca0b171bb0e513d1960fde4106457ad6a3d4f770984bfb69d736fb403e83",
+            "md5": "62bd522c15dd86bcff7a7bb0acad50c3",
+            "size": "34878168"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-11.7.99-archive.tar.xz",
+            "sha256": "59016452808b9b2eb83eeb05bdc0737983a1debb3812513c860869092a8152b8",
+            "md5": "3b9b2692ef4bbf413b1aa68aa8477288",
+            "size": "32636812"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-11.7.99-archive.zip",
+            "sha256": "55aac64b0c81b96628ad9511514c591c33a4649d15d5a579d351be5b89632276",
+            "md5": "e897644755a92a4681c8816cb6317981",
+            "size": "47663877"
+        }
+    },
+    "cuda_nvdisasm": {
+        "name": "CUDA nvdisasm",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "da935b2d88a3e75095981143174026ca1d2a5ea43783240e7312874ae3e73217",
+            "md5": "d573df50a5f7dc07aa9e09df81b14d98",
+            "size": "32787620"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "daf6a45fd71f80e697720445734a52422fec4eed07664bfa1154c1d84a2f0b71",
+            "md5": "e967c5fd7d9a44cc8fa07d84eb1cfe5f",
+            "size": "32792832"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "09e183b991019eb102a8592ab3f3cf64fa1969a4ec42deb96407549938ece485",
+            "md5": "a7be5d6186b166d731f870ecbdab99ee",
+            "size": "32731196"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "be716596ea300a295ab06b92caa92d7a17e4dd23f7a3f9ef0f98f1f81a63d241",
+            "md5": "189329f03aa56788ddabf00f7be6ac46",
+            "size": "33004702"
+        }
+    },
+    "cuda_nvml_dev": {
+        "name": "CUDA NVML Headers",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "b8ea7d2a5adb138a9121911dd03eaa7b7d04c96c64d2fcc585c29be2a73ddfef",
+            "md5": "439c09ca1fecea5431f9f1684cb76118",
+            "size": "76392"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "a60c92d8eb6d014b4f5e961d9d64a6fee9f0b381c6238146b55210d142a501f9",
+            "md5": "fcc7b6ae2467ffca24326b4b934d0bde",
+            "size": "76108"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "891de12a4aa2941e95b1d3d84f57ffe38840bc3883d02b1c9ff1777b16ed07d9",
+            "md5": "4441e23289ee0246aa026585677e4ade",
+            "size": "76732"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "f8a9be7526d4c201759346911145a026acafb72e664bae9ec8b9690f8ac4c56c",
+            "md5": "81fb3e254d1da50d6335beafb0f761c5",
+            "size": "106750"
+        }
+    },
+    "cuda_nvprof": {
+        "name": "CUDA nvprof",
+        "license": "CUDA Toolkit",
+        "version": "11.7.101",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-11.7.101-archive.tar.xz",
+            "sha256": "028c9ae359e037fd8b3b7976304821704818d141284e8878577061dc41e19afe",
+            "md5": "90fa02884b5cab3163f9ca94a5c3bea3",
+            "size": "1944168"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-11.7.101-archive.tar.xz",
+            "sha256": "be5cfe846f87968a7425cc210899b2c50dece34d79d975c235887ddac6453fcb",
+            "md5": "41c8f4a4ad5e8780ccb2dbd160b58775",
+            "size": "1600192"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvprof/linux-sbsa/cuda_nvprof-linux-sbsa-11.7.101-archive.tar.xz",
+            "sha256": "e910c6d39ef34317b4b6c57da4186ac88934ce6282c6392631141291821a482e",
+            "md5": "8899dafe69b323e2acb13d46cb9d3322",
+            "size": "16144"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-11.7.101-archive.zip",
+            "sha256": "2199a24ea32c4df25e55e4308bb5f620ec8e409ba904cb20f0fe57d081ac501a",
+            "md5": "625bf74f6cc19181010cd66c07d15c76",
+            "size": "1603321"
+        }
+    },
+    "cuda_nvprune": {
+        "name": "CUDA nvprune",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "94a6bd85e944f89ce0192fae649ab9b213a7cea28d7bafa5f6a1d57c49148f84",
+            "md5": "41e4d4e51f7f96cf7e1db29009db780b",
+            "size": "55136"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "93d9e2ba9819ca19bac6c17e96bfd9bc56524a60372ab9d57286430df1c2265e",
+            "md5": "2fd26dccb2e78ff92dac81ee1cf23b02",
+            "size": "55756"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "f7325009c1e73f7b4f70117073af1e698dcf81ceb07569527760606b348385fa",
+            "md5": "1511a5b8b7bb2924e8324e93a2c16a07",
+            "size": "47604"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "dcff80bce25f5d3f3b53a3f08b346ff5b38e5274a0e54572f97762e56d619236",
+            "md5": "09f6a56f13c677f6042472561529138f",
+            "size": "144825"
+        }
+    },
+    "cuda_nvrtc": {
+        "name": "CUDA NVRTC",
+        "license": "CUDA Toolkit",
+        "version": "11.7.99",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-11.7.99-archive.tar.xz",
+            "sha256": "cd6ed198ef77898bb3025145570d981cc7a0d2bda792e9a70822fcd274b18248",
+            "md5": "1afd3d6203308995b731a20563ea8303",
+            "size": "28033228"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-11.7.99-archive.tar.xz",
+            "sha256": "a99594647a16839612f078913252809fe2cbe3ff23b9023304ddd181f5ad0362",
+            "md5": "76d6e4a29cf3652c30154ec6b8e7780d",
+            "size": "26189204"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-11.7.99-archive.tar.xz",
+            "sha256": "32a94a6993edc24aadeebdae7c4e8fad04a9c7214bd1f505aec16256305feb4e",
+            "md5": "e52f252b10a8207e9d7464dc07ae55f8",
+            "size": "26042768"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-11.7.99-archive.zip",
+            "sha256": "d4b5027eee2e20155ba317b6b62f8fc36b2baa0c23b5c7031d93fa7d5b260fd1",
+            "md5": "340f20034bac368af3b3229fea99602d",
+            "size": "93547997"
+        }
+    },
+    "cuda_nvtx": {
+        "name": "CUDA NVTX",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "a7741ed4911a0f1d17ab8da20f4e7fdc01fdd3d911b3592fa874cede9f82fd64",
+            "md5": "3120a53ef3be9e9074d62c5692a30d24",
+            "size": "48152"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "d572ad45a4e878c38454b19263666f0668222390568697ada3eda376a54ecc42",
+            "md5": "d751517c504774e5b95829cefb12a8c9",
+            "size": "48132"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "ab2350160efdfc1024511c94eb1ecffbee4260575a57cf2d48bdc533d942e3ef",
+            "md5": "f0e663c07f942cbbd0de8df1163074ba",
+            "size": "48696"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "3918a2edeef7c2da6af036451b3768c1b9298a38776f8010f91f5366e1a3419f",
+            "md5": "c53c9e694b4c643cc36b4cbf1b07e8cf",
+            "size": "65690"
+        }
+    },
+    "cuda_nvvp": {
+        "name": "CUDA NVVP",
+        "license": "CUDA Toolkit",
+        "version": "11.7.101",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-11.7.101-archive.tar.xz",
+            "sha256": "1689e5a52f683e02f7ad47eae0c182f33bf8988c2ec9b8b8fe61b4a40ab97989",
+            "md5": "cd892070d2cfabadf2133039a0370de0",
+            "size": "117559820"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-11.7.101-archive.tar.xz",
+            "sha256": "81b670e1fa0e415446c6eeadc44c8f5e5d4eab7709cc280a494104ee7b636187",
+            "md5": "7920cebfb571c798d1a1b652f9960453",
+            "size": "117016948"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-11.7.101-archive.zip",
+            "sha256": "5fdf67691bf16a13fb3f472e7d7261f0a5112477c77e81aabd11d1ad27a5ae59",
+            "md5": "036b87efba3ee5982cf740b632a9f0ec",
+            "size": "120353825"
+        }
+    },
+    "cuda_sanitizer_api": {
+        "name": "CUDA Compute Sanitizer API",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "linux-x86_64": {
+            "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-11.7.91-archive.tar.xz",
+            "sha256": "232bc60afa687d75825fce271ee8d5b56f2d58528785500448b830d61795840f",
+            "md5": "d94e9fe874ac1226fd69f2cad7245b23",
+            "size": "8316344"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-11.7.91-archive.tar.xz",
+            "sha256": "2aa8cacf505c2f3cea263193df80e6411cbcb8eca5a46c539821324619fad47f",
+            "md5": "616b19f4001b6798f7f90a390912480a",
+            "size": "7742156"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-11.7.91-archive.tar.xz",
+            "sha256": "a98ad5ae882cfcf57439668f7b4fa736d85a0726160bba5c058dfce5f79cc4a4",
+            "md5": "a08127236f6343a3d7e84488f97bd1e7",
+            "size": "6454908"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "1dc3858fc0e843fff830a260f00c9f2aed61882804735bea8154e577c8da42a2",
+            "md5": "b34204afa13f28bfdf567c2128806311",
+            "size": "13478900"
+        }
+    },
+    "fabricmanager": {
+        "name": "NVIDIA Fabric Manager",
+        "license": "NVIDIA Driver",
+        "version": "515.65.01",
+        "linux-x86_64": {
+            "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-515.65.01-archive.tar.xz",
+            "sha256": "f3271a899151c762641e2beab68335ab1f52cb5beecef0f474780f8fbe804f58",
+            "md5": "8e158a039561f3fc7cec3d61dd19c525",
+            "size": "1470560"
+        },
+        "linux-sbsa": {
+            "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-515.65.01-archive.tar.xz",
+            "sha256": "dac775eaed6bf26ffb7b8e281db7fd83f5edca5625dc86a0aca26f479263b38d",
+            "md5": "b30674e7fb23b2c189bb71e200764248",
+            "size": "1359224"
+        }
+    },
+    "libcublas": {
+        "name": "CUDA cuBLAS",
+        "license": "CUDA Toolkit",
+        "version": "11.10.3.66",
+        "linux-x86_64": {
+            "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-11.10.3.66-archive.tar.xz",
+            "sha256": "15c117c74bc1401dbc87cc8a9f510155818786c030fc3396f4af6bc425aef6f3",
+            "md5": "b7ef03a0126377d8a1b3fa14b0d9c8c8",
+            "size": "417046836"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-11.10.3.66-archive.tar.xz",
+            "sha256": "89020ee3be5143b10915d78dfc1dbe44aef952c9a0aad44b3bb973288bcf98c7",
+            "md5": "32b4ffb9312b7311ae46030b6007409f",
+            "size": "417479596"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-11.10.3.66-archive.tar.xz",
+            "sha256": "3d64f899d4e88bd85ff410aa8fda0fe3c14d0e3acadba9ef550924ac8f34b52d",
+            "md5": "c2641e424ea84665a9f67721ecb4bf34",
+            "size": "417698300"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-11.10.3.66-archive.zip",
+            "sha256": "f6d80b92b0c4ae077d71ee83aaa5057c4e6419b80e25ef22ff03a80aad700fe0",
+            "md5": "06edf73511fb738724264e59488f9935",
+            "size": "307337197"
+        }
+    },
+    "libcufft": {
+        "name": "CUDA cuFFT",
+        "license": "CUDA Toolkit",
+        "version": "10.7.2.91",
+        "linux-x86_64": {
+            "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-10.7.2.91-archive.tar.xz",
+            "sha256": "4f1ed4817de6be53474a27c47097eb618a33b5a3e0ad08f5f68abc8b7312aa28",
+            "md5": "41a6e0c3dd3d38e2a73f38d1949e032e",
+            "size": "213585020"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-10.7.2.91-archive.tar.xz",
+            "sha256": "1a80975288256a894a435a9bd2e842bfcb4dbfec3e52741f4808e90ab270828a",
+            "md5": "0cbe542f6d2aa5bc2641d37cf7c7dcb8",
+            "size": "213738992"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-10.7.2.91-archive.tar.xz",
+            "sha256": "c6147c67db716824d8b7ff61306ccbf1897e3d5e1399d37e6c5ede0334db4ce9",
+            "md5": "2a0ff67d0f1829a1e34f167e272da10a",
+            "size": "212515324"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-10.7.2.91-archive.zip",
+            "sha256": "88643d092d3d8ef30d2b5ca3757ea87577eaefc1268f350507a3b132abeb7f24",
+            "md5": "7860b8f5ca73b58c7038e7c3f710e8cd",
+            "size": "287120070"
+        }
+    },
+    "libcufile": {
+        "name": "CUDA cuFile",
+        "license": "CUDA Toolkit",
+        "version": "1.3.1.18",
+        "linux-x86_64": {
+            "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.3.1.18-archive.tar.xz",
+            "sha256": "782473d5b2d0ae57eeb9044a0f6dc6f205787767f7a247bdeb9e916af1db61c2",
+            "md5": "66add7faa97bb2a7d5b1f2ac2af4bdba",
+            "size": "46933808"
+        }
+    },
+    "libcurand": {
+        "name": "CUDA cuRAND",
+        "license": "CUDA Toolkit",
+        "version": "10.2.10.91",
+        "linux-x86_64": {
+            "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.2.10.91-archive.tar.xz",
+            "sha256": "283323c93050b3904d58417a6dd4055c156407c2df0c064ae81592e532b69a31",
+            "md5": "26ad932ad9ee5fc4e4b4afd91f95fa29",
+            "size": "82110404"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.2.10.91-archive.tar.xz",
+            "sha256": "0d483258a04dcbbf845481d6bd15f061e06ba7608d54827eae026039aa9edaa4",
+            "md5": "1b609ba95d5a668056b0474dbf715fc8",
+            "size": "82156300"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.2.10.91-archive.tar.xz",
+            "sha256": "ce68130a726152a7f68a0cec85773e4074a2f2049e16ca41e462fde12affda94",
+            "md5": "3c1fc54570aa317d6ac15edf6799fefa",
+            "size": "82105144"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.2.10.91-archive.zip",
+            "sha256": "90e043d540765f410fa8d3d569e95b8eac15940037cd1159335f99d4caab484f",
+            "md5": "8be38680d09aafdf3c7c06d630c7aaf0",
+            "size": "53656549"
+        }
+    },
+    "libcusolver": {
+        "name": "CUDA cuSOLVER",
+        "license": "CUDA Toolkit",
+        "version": "11.4.0.1",
+        "linux-x86_64": {
+            "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.4.0.1-archive.tar.xz",
+            "sha256": "9f56bfdfeccd63f4cde99bc4a573d5ab45e2339cf6a1b2a0fc7ff83ff9775b3d",
+            "md5": "b9eea1b15fd5ff72286ff31751aa3d9e",
+            "size": "75670492"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.4.0.1-archive.tar.xz",
+            "sha256": "45a7645ad81a8874c192b816b227730aeb771443f54a34fa35e3496041ddcc09",
+            "md5": "0dfc2d853f84f7ce7a44a8f87e60d367",
+            "size": "75649948"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.4.0.1-archive.tar.xz",
+            "sha256": "eb9c08d184226c616a4ff041cec178b29480f8afe034f7537c0d07b6afe84588",
+            "md5": "7f0af50206ce081a67b05eadf607873a",
+            "size": "74862860"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.4.0.1-archive.zip",
+            "sha256": "bfce43d0437ae10a7250c9f173e04e048fc46f9e5c9ed2c2bd4db4e661c77ba1",
+            "md5": "e677373b0ba75e2aec8df60868fb8363",
+            "size": "95990827"
+        }
+    },
+    "libcusparse": {
+        "name": "CUDA cuSPARSE",
+        "license": "CUDA Toolkit",
+        "version": "11.7.4.91",
+        "linux-x86_64": {
+            "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-11.7.4.91-archive.tar.xz",
+            "sha256": "16841f9d4350ca21b6b362d4265983a58e675d64a14f168687b1b68995bec32e",
+            "md5": "a7e7936e601b0645fc086e71e1e6f6f6",
+            "size": "203663528"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-11.7.4.91-archive.tar.xz",
+            "sha256": "45b65fa9e864d2df5d0d8fd36e5fad28cb3d5793689ea214b310086d034ad4a8",
+            "md5": "3a6780fb8a79dce74a310c14cfd31a1c",
+            "size": "203731380"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-11.7.4.91-archive.tar.xz",
+            "sha256": "b7f1ba9c18f87db594847b318fa73b5c76945777b5c03a507434bfa6aba2f2a2",
+            "md5": "aa027c7f4b72d94be7f86fa243ac54ef",
+            "size": "203358196"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-11.7.4.91-archive.zip",
+            "sha256": "2827643399b92b87af858bf4b004b4a664bc7e838a18e2143258b93c019487b0",
+            "md5": "21c85acb7ffa3094b81eaee72ec3af5c",
+            "size": "170688099"
+        }
+    },
+    "libnpp": {
+        "name": "CUDA NPP",
+        "license": "CUDA Toolkit",
+        "version": "11.7.4.75",
+        "linux-x86_64": {
+            "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-11.7.4.75-archive.tar.xz",
+            "sha256": "d90a30dd7e379d55cbc3b893e23c3bdf08b07293bdd2bd6957c4fc1e2ea998ef",
+            "md5": "49abdcebbefb9ab8ad8b6dac450c7b20",
+            "size": "182469720"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-11.7.4.75-archive.tar.xz",
+            "sha256": "fb822e3c04e0fa1ff84dd236c9e9f5d84658c5b370d8d3ae235a241cc8445183",
+            "md5": "a320af153a4fb828b51552ca180bc866",
+            "size": "182956844"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-11.7.4.75-archive.tar.xz",
+            "sha256": "29499fe94220b91408487df21dc13a7c638482438e631df13cd5f1b28b68c48a",
+            "md5": "38989288b63a68b93d4fc414dbe3266a",
+            "size": "181639308"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-11.7.4.75-archive.zip",
+            "sha256": "dca9b5ee0021802f02a164f3ea6bd44e552b84bbe1896bebb21e625b811c7006",
+            "md5": "e61b5f9a59be9fe37141168726e3151e",
+            "size": "137990727"
+        }
+    },
+    "libnvidia_nscq": {
+        "name": "NVIDIA NSCQ API",
+        "license": "NVIDIA Driver",
+        "version": "515.65.01",
+        "linux-x86_64": {
+            "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-515.65.01-archive.tar.xz",
+            "sha256": "588b0a5ce467992ba926ada4d36ccf6741c3cfcc3fa8f03c6f68290a3f2c2a3b",
+            "md5": "bd1d2193708b89158a5a40711cf60bcd",
+            "size": "334740"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-515.65.01-archive.tar.xz",
+            "sha256": "fa37d0c15d79fe3ad1280f5d5946ad3c849592d89627339d1ecd90e4baeb73a1",
+            "md5": "44c788de578818dfcedb507ad76f3d65",
+            "size": "303936"
+        }
+    },
+    "libnvjpeg": {
+        "name": "CUDA nvJPEG",
+        "license": "CUDA Toolkit",
+        "version": "11.8.0.2",
+        "linux-x86_64": {
+            "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-11.8.0.2-archive.tar.xz",
+            "sha256": "ae8877a59d8badf6ed6e61b0b6690dbe516997386061557f5c33ba49de6e7ac9",
+            "md5": "a743a968906c4300ab3dbbcef5f13182",
+            "size": "1956104"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-11.8.0.2-archive.tar.xz",
+            "sha256": "ce1862c4db6726531d7b778b0911ac77b76d2cd4253295d5d6984b0f2bcc0adf",
+            "md5": "89eb5043e361f875872e4b5bf07b05b0",
+            "size": "1972884"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-11.8.0.2-archive.tar.xz",
+            "sha256": "d157fb48056c896e0474f5e07fd6f51580d27501844f8218135e233de3b927e8",
+            "md5": "43f15a462121e538acc36ac9cc68603c",
+            "size": "1763644"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-11.8.0.2-archive.zip",
+            "sha256": "3e3d88d6dc9d0f01d9c9261b9c055f3a93ddfd65bb8609a92bd57ea9bd9fe6f2",
+            "md5": "56463f5e7dbf2ecfb991a7f1a96553b5",
+            "size": "1858909"
+        }
+    },
+    "nsight_compute": {
+        "name": "Nsight Compute",
+        "license": "NVIDIA SLA",
+        "version": "2022.2.1.3",
+        "linux-x86_64": {
+            "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2022.2.1.3-archive.tar.xz",
+            "sha256": "ba3c1ee8c6f7e3fae993a83678df6e7c6ff12f2d9ac0ab1b0f056405f3e0490a",
+            "md5": "fb9a27ef58aafc5d7aae9c54e364e636",
+            "size": "420206916"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2022.2.1.3-archive.tar.xz",
+            "sha256": "cbfaf3e608d66f6f2b087b6cca4f9d2a63bf41be0997fafe30213c9feda76e22",
+            "md5": "68f714d5d9a82177e7d7b0b9d06e2b96",
+            "size": "126488268"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2022.2.1.3-archive.tar.xz",
+            "sha256": "2dbd112b3d89ed60b78f91912c41672165df9e8dac47e96de4e9416f8364d39f",
+            "md5": "495a7b1b2bcef47ff37ecee1e01fdf22",
+            "size": "245773972"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2022.2.1.3-archive.zip",
+            "sha256": "6b3c11cf07100ad0f4eac843aad877391b3ce4f24808a2a2efcba93da704d80b",
+            "md5": "63ffe69b1afc698d95017ec0e0edeca2",
+            "size": "353604503"
+        }
+    },
+    "nsight_nvtx": {
+        "name": "Nsight NVTX",
+        "license": "CUDA Toolkit",
+        "version": "1.21018621",
+        "windows-x86_64": {
+            "relative_path": "nsight_nvtx/windows-x86_64/nsight_nvtx-windows-x86_64-1.21018621-archive.zip",
+            "sha256": "d99b015bfb1308206f9d7c16ea401bf426fed3a5a99953b855fe4e68be5ed2d1",
+            "md5": "34ee04d45cfca1c4e3cbfba0ec8f6f80",
+            "size": "315692"
+        }
+    },
+    "nsight_systems": {
+        "name": "Nsight Systems",
+        "license": "NVIDIA SLA",
+        "version": "2022.1.3.3",
+        "linux-x86_64": {
+            "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2022.1.3.3-archive.tar.xz",
+            "sha256": "bd95553d573f117be2e3b2bda6e79d14dbb038b136c12c6e5467bbd9a891681d",
+            "md5": "40d12d33aa2d496817d959a9551418aa",
+            "size": "166785296"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2022.1.3.3-archive.tar.xz",
+            "sha256": "4c228bfbd38b80612afeb65a406cba829d2b2e2352ea4a810cd6a386d6190151",
+            "md5": "0d5da67cb5393a0e961509cd7dab98f1",
+            "size": "49700384"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2022.1.3.3-archive.tar.xz",
+            "sha256": "9025f56b9fe70288ee3f2d30477c9cfbe8c17a304b31f7f22caf7f78153d8d23",
+            "md5": "3559eeb8416d9a984012d2b397560740",
+            "size": "50415564"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2022.1.3.3-archive.zip",
+            "sha256": "294738ba0aa0621395740a6d039a490aa0bf5fceec449b1fd4135a97b81eda0f",
+            "md5": "91e316744714c168c1a75804c9a198c9",
+            "size": "315748009"
+        }
+    },
+    "nsight_vse": {
+        "name": "Nsight Visual Studio Edition (VSE)",
+        "license": "NVIDIA SLA",
+        "version": "2022.2.1.22136",
+        "windows-x86_64": {
+            "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2022.2.1.22136-archive.zip",
+            "sha256": "b2afd0efaf6f1fab5a1aca71c536e34c29260f69d5c5d5c3aec41624de0be671",
+            "md5": "ab19e7dbec03a5f5a3fd42ca839c57ce",
+            "size": "459007868"
+        }
+    },
+    "nvidia_driver": {
+        "name": "NVIDIA Linux Driver",
+        "license": "NVIDIA Driver",
+        "version": "515.65.01",
+        "linux-x86_64": {
+            "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-515.65.01-archive.tar.xz",
+            "sha256": "e7845a159bb870df2a7a74505611dd3db9501707c0e74668d7f21e32b8613282",
+            "md5": "38226ca31111cea5c75384ae791b8b81",
+            "size": "366714956"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-515.65.01-archive.tar.xz",
+            "sha256": "a235b54c8349ac72474d9a1123b5c7c34cf7c9c6968196365282dc555120c3c9",
+            "md5": "3dbd9131e366f33b29c6e7798eb89fb2",
+            "size": "76861468"
+        },
+        "linux-sbsa": {
+            "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-515.65.01-archive.tar.xz",
+            "sha256": "db1c9b31783b8af2929887f103f40db53463a83535c7b17c8eeb6adefa255ce0",
+            "md5": "8882f6df4d644fe76b83eab7d83a0ae5",
+            "size": "226280968"
+        }
+    },
+    "nvidia_fs": {
+        "name": "NVIDIA filesystem",
+        "license": "CUDA Toolkit",
+        "version": "2.12.8",
+        "linux-x86_64": {
+            "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.12.8-archive.tar.xz",
+            "sha256": "71830b69b8a31fe46bf07329c0986b61cf557c5d6ac51c1a9cbc7017dfa3f767",
+            "md5": "ee40e41ec4349fc6e408ff15fd42a800",
+            "size": "67356"
+        }
+    },
+    "visual_studio_integration": {
+        "name": "CUDA Visual Studio Integration",
+        "license": "CUDA Toolkit",
+        "version": "11.7.91",
+        "windows-x86_64": {
+            "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-11.7.91-archive.zip",
+            "sha256": "46f31c50d34869b79d85e030016b09c0286428374f07688f8ef1bb133ab41391",
+            "md5": "3d6a962dc19be4ee995a51621a88e77e",
+            "size": "517028"
+        }
+    }
+}
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.8.0.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.8.0.json
index 132bb19df18c4..132bb19df18c4 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.8.0.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_11.8.0.json
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.0.1.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.0.1.json
index 77bd44962abfc..48d14f17baf8d 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.0.1.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.0.1.json
@@ -1125,4 +1125,3 @@
         }
     }
 }
-
diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.1.1.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.1.1.json
index 98294dcf1cc87..98294dcf1cc87 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_12.1.1.json
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.1.1.json
diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.2.2.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.2.2.json
new file mode 100644
index 0000000000000..abaab337c2fec
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.2.2.json
@@ -0,0 +1,1151 @@
+{
+    "release_date": "2023-08-29",
+    "release_label": "12.2.2",
+    "release_product": "cuda",
+    "cuda_cccl": {
+        "name": "CXX Core Compute Libraries",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cccl/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "90fa538e41f7f444896b61d573d502ea501f44126f8ff64442987e192a8a39dd",
+            "md5": "00ea502586a8c17e086292690d6680d6",
+            "size": "1150676"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "9503cf76dcb0ca16e8b29771916fc41100906c1c38cfc1c055ab07046cf6a5db",
+            "md5": "426d244e235592832920527e6eec817e",
+            "size": "1150768"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "f28c327c745030e16aa9f41526401d169f5646ffe3de3f1ac533d91929f44e5c",
+            "md5": "2f74c30cc6309a609af2ac980f02b5c6",
+            "size": "1150316"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "6a83fda78793e5328d89ef0258d2f26bba5177ff118b6657a7be38ffd89f10b0",
+            "md5": "aa623b334362cb9ad2f2032a40cd771b",
+            "size": "3044697"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_cccl/linux-aarch64/cuda_cccl-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "ca3956b1528b4b4a637f5e9f2d708e955f23ae4510f7aca4fd30080e3329fb02",
+            "md5": "fa7040730790c8bfe0e9eea6163b8e6a",
+            "size": "1151012"
+        }
+    },
+    "cuda_compat": {
+        "name": "CUDA compat L4T",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_compat/LICENSE.txt",
+        "version": "12.2.34086590",
+        "linux-aarch64": {
+            "relative_path": "cuda_compat/linux-aarch64/cuda_compat-linux-aarch64-12.2.34086590-archive.tar.xz",
+            "sha256": "fd59f6c5f6c670a62b7bac75d74db29a26f3e3703f0e5035cf30f7b6cfd5a74d",
+            "md5": "2dc0b8c8bcbab6cb689ee781c3f10dd5",
+            "size": "18680292"
+        }
+    },
+    "cuda_cudart": {
+        "name": "CUDA Runtime (cudart)",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cudart/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "baebd331249bca0edf36776ead90e6b2024ffee01ea26cd9dd07344bebeaff08",
+            "md5": "030e85f4d0305c2924e2b76e84e2da32",
+            "size": "1058992"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "aa4c0ae347e137f7b373f954b4bf180b5d43d5279afcfa34d6ab8621b8530622",
+            "md5": "daeb0b246be9617a4b9dfafe5fd12dc1",
+            "size": "1037696"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "11c263e07a0d0cef82d754b0beea3db191654b4f18b74b7ea40777244e6c8246",
+            "md5": "09a39a5890136df6f833dcd304bb7867",
+            "size": "1050456"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "c63a17cd542a47aa6734263586e3dab6f1e127779099af92d9d01f220f80d750",
+            "md5": "029c67a417c3214309e92b0fd511dcf9",
+            "size": "2416001"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_cudart/linux-aarch64/cuda_cudart-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "ec0b5100d7c20819a2b775a479478fb571039b5743eddd5d51e1df0edf7fcb37",
+            "md5": "8722506d664f51a7f547bd1f3ce64679",
+            "size": "1108360"
+        }
+    },
+    "cuda_cuobjdump": {
+        "name": "cuobjdump",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cuobjdump/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "6c5c3d6e50f3ea14fcd356a83338110882305bffa8d5e4eecbaaf7479599f0d0",
+            "md5": "0cc4b4ca345f0f68d91d8753771f2d56",
+            "size": "170816"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "654e40c4627a04542554efb2277ee669d1c43df5276866dfde6ba481ae2451fa",
+            "md5": "5d34fc1b5630d235583e3801bb327e67",
+            "size": "212764"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "a02cff8dbb77804308db65b1d3dfc155a8a4ec029da3deaaebb73b0d36a7f97c",
+            "md5": "9432ad242258ad66a09317f0d91f2f67",
+            "size": "179176"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "e84dc5ebf92b48aa57e9cfb1be0341534184f106fc45b52bc0bad297761af21e",
+            "md5": "ebf9f8b8e82214168ee00a40d556eb5a",
+            "size": "3775990"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_cuobjdump/linux-aarch64/cuda_cuobjdump-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "0941bd2602ecafdfcdc98ce7b84c4396b3f145eee824316dc4885b9d05b6791b",
+            "md5": "49134b65d1345d8b02ad6e19b4ec6d73",
+            "size": "162612"
+        }
+    },
+    "cuda_cupti": {
+        "name": "CUPTI",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cupti/LICENSE.txt",
+        "version": "12.2.142",
+        "linux-x86_64": {
+            "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.2.142-archive.tar.xz",
+            "sha256": "b269a3616634c6bbab8b0c3929aae05d9f7d7dc5f0f1a07f35d8847196965b6e",
+            "md5": "3d8f2f2add81b626593bc0a800cfb928",
+            "size": "19580992"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.2.142-archive.tar.xz",
+            "sha256": "74c05cf0f37020c564039e27ea10adab70e6dac0eaaa70bae4b5ff6e84e2d79c",
+            "md5": "7af107ed1f6fb0596ac80f012dbff2bf",
+            "size": "10755848"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.2.142-archive.tar.xz",
+            "sha256": "d8ed35787533d9bfb0d19f05f05aedf11da5d5964ac19157bdb91ba594667c12",
+            "md5": "bbf21983d31e1d0d866241a909fde74f",
+            "size": "9848436"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.2.142-archive.zip",
+            "sha256": "5eb71c13a03b3c1ad6004094b5a17f509ca857b23c36fb40f5def766c8ffa6e6",
+            "md5": "1c135a1a4028e65f717b93797c9271ca",
+            "size": "13053349"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_cupti/linux-aarch64/cuda_cupti-linux-aarch64-12.2.142-archive.tar.xz",
+            "sha256": "2659cc15e8cf0ae04c5500a9db4dade5bcef480030821f4dfdb0ff646252aec4",
+            "md5": "6411b58e0d9d2affa871be74cba59663",
+            "size": "7770036"
+        }
+    },
+    "cuda_cuxxfilt": {
+        "name": "CUDA cuxxfilt (demangler)",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cuxxfilt/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "56b3dd86ee2ed566eeff24f8e09e80870e59888a8c3ff7114b97ea51461d97dd",
+            "md5": "505019c5059fdf8a473202e895a614e4",
+            "size": "187948"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "95fdbc129cda98dd079c9e3bedbfd3db06ece3e8abf80cdbea81b4124f0b7a9d",
+            "md5": "086b382d4c8d11b271d369af439f0de0",
+            "size": "180796"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "f19348fc92130e0d8c329a96529102d1ab58e3fd7e7f9dbd62cedbb5b1daf394",
+            "md5": "4e8fb685cd244b29ce6a338f9c9974e1",
+            "size": "174664"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "a4099bc6b905e1373a1a83f86720e6f7dc40f355d11c1ff4005b5d0be7387e20",
+            "md5": "fb1c65bfc46d22338fcc8ee3cdd58631",
+            "size": "169420"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_cuxxfilt/linux-aarch64/cuda_cuxxfilt-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "1acfc797da55ce72905fcbf8592696e61b40412f8b2817b2588d97c899b955f5",
+            "md5": "98206bcb97591242beb8deb52cdc01ea",
+            "size": "167344"
+        }
+    },
+    "cuda_demo_suite": {
+        "name": "CUDA Demo Suite",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_demo_suite/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "07fdfe90313b690e8d4b959c184abebdc92f1304b38952cb6dd5747b24ddb5bd",
+            "md5": "a90ecf71c9e22859271049e842468a8c",
+            "size": "3994692"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "4810bd2560912b0a26b0fe842d46b3a48a63a4be583a837c27401a7cb2064619",
+            "md5": "e9b465d8d66f8c3f4299a9bb9e0c3950",
+            "size": "5052205"
+        }
+    },
+    "cuda_documentation": {
+        "name": "CUDA Documentation",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_documentation/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "f717834f00c01a309df9d7d8e23a62133a458e0c3ec1952bf797d09309f84439",
+            "md5": "2d4b1d2ae641066b2bf1a28b0b4b1f82",
+            "size": "66956"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "4db6c52188c458bf8c55d7f1eba67dd5ac5cf8adcf3064df5b9f9e04895f78fe",
+            "md5": "a79e122c5ba0b62022c23bf31f4eb860",
+            "size": "67220"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "94e42ba6ed970b89d6b8f761601a27d472d3e2ec3d5b2af063fb6102ff86cf9f",
+            "md5": "2f401a68b558b633fd37931c04ee9c4e",
+            "size": "67172"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "c9c83a42be5be26ea955b1bfaa5ab356fd50c76ef0346a17a4f0d828c7589629",
+            "md5": "1d3680ff052e4e9851c88a8f5ada2b95",
+            "size": "105380"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_documentation/linux-aarch64/cuda_documentation-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "9759bbf7e2381f0e2e2e20b283e8669eba3cd421196fac9c48f35af2950c0188",
+            "md5": "e16dcd0484ea8b1eaef550156fc3dcd8",
+            "size": "67164"
+        }
+    },
+    "cuda_gdb": {
+        "name": "CUDA GDB",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_gdb/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "94f8b223412689544e86bc28660acf4f53e75674eeba2c9a62b51ff58686f9fc",
+            "md5": "760e4a05bcb6e9588aa4569c7c1d10e9",
+            "size": "65686592"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "2fbfede97d3fa7f09796b4ff416d66e4520ec47ed6a24e17083d1643adb116f8",
+            "md5": "a67ba3b07c54fd93b9be40d7107288cc",
+            "size": "65461272"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "2cd74b1f6d8158be1b145bc021316cfb6f13d242b1e7eb6b3b9e436f886aaaff",
+            "md5": "e6d58a5c8fc4dacf7b30c47c1b4bedfc",
+            "size": "65336976"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_gdb/linux-aarch64/cuda_gdb-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "1568ded1d37348413e1c907618c5477959479e7c44406a2ee93a720962a33c55",
+            "md5": "86fa1ad3a522a6a00cd93ee79bb8bc7a",
+            "size": "65360184"
+        }
+    },
+    "cuda_nsight": {
+        "name": "Nsight Eclipse Edition Plugin",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nsight/LICENSE.txt",
+        "version": "12.2.144",
+        "linux-x86_64": {
+            "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.2.144-archive.tar.xz",
+            "sha256": "36660b186dae381b6387c0dd85f339aa510ab74101356d89df240bdbc71056bb",
+            "md5": "eccd1246f8668b4112943c4927071aa6",
+            "size": "118680060"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.2.144-archive.tar.xz",
+            "sha256": "0d17dfe7db7bcc2253bb57e6423b10f4c75b6b766448692cc3eb0f01da537a1a",
+            "md5": "3a08ac54e25f153e9e64b865746915cb",
+            "size": "118680056"
+        }
+    },
+    "cuda_nvcc": {
+        "name": "CUDA NVCC",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvcc/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "3feaab191e1ae3fded02c02b0f24453069ada96b2e3a750251293b36079dc2f1",
+            "md5": "65d90cb219e8e7a204ec2f4e642c3e43",
+            "size": "46728284"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "cc515b95932445624a21bd179256dd7211c02000f543cc68fee6a99d735f137c",
+            "md5": "c45b9b8f784a901aa17abaa0800b708a",
+            "size": "42046684"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "3e9df10648af47cd4b1b985be81da9e4706623b6dd6f640e53f6d8badd84c155",
+            "md5": "5ffd328ae2b8ec7905c69749d3fc2064",
+            "size": "41041912"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "140ca9c560f2fa4f6f7275d815d1d6fa6bbf08901a9bae48152f6c5e50c0bb1c",
+            "md5": "28c00dfb6128227725668ae755df7ede",
+            "size": "60265384"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvcc/linux-aarch64/cuda_nvcc-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "1b127448457a201c74a21077ab2cf0b3291f525ed8570341649c95314468a2d0",
+            "md5": "7e74ecb9f853ce6872073eb3d1ce81fe",
+            "size": "42600752"
+        }
+    },
+    "cuda_nvdisasm": {
+        "name": "CUDA nvdisasm",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvdisasm/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "ca07e223ff3d9954ff2664f90ea1bdfcde1c3cbdcdfd0dbfcd131c36f6ae0449",
+            "md5": "d5f94fa5ef2e2911173474f16bc17ccc",
+            "size": "49869556"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "67a2ccd74368160feac5cd8f1dbf69291d6a83573756b51f56fdd99018ec2103",
+            "md5": "bcd3bc8e259f3ca4ebcc42497f023605",
+            "size": "49871208"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "38b9253059be117c4593efe43483a34754672c13c58b6d413708ac6336b6ae77",
+            "md5": "f2647474eab846e0edc9c0f84c84e151",
+            "size": "49799296"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "8ab067d496dcf7f98845c46c8163d7452414a0f012e4e24e91b2b8baa456bb01",
+            "md5": "5b34b6476609a8d20dd169252f2cde30",
+            "size": "50125124"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvdisasm/linux-aarch64/cuda_nvdisasm-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "94ae6926a92ec3f090daed525e8a8ffbea358cc484b4bb928704536a9986635c",
+            "md5": "2c58a02cbbd660b37647b6853a6e8361",
+            "size": "49820048"
+        }
+    },
+    "cuda_nvml_dev": {
+        "name": "CUDA NVML Headers",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvml_dev/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "9542ff071138d5efd541071ed4211d515b90fc988afdf7ba5b8ff1e863630429",
+            "md5": "e8a22ad0fab4f47191df8c6683f27192",
+            "size": "86216"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "ae470775b3c7422b19948a4e85a1d8d1507122c4a60bc2a412d38c29bcc97e08",
+            "md5": "4a44337bd43939f63e3037084b9cb41c",
+            "size": "85228"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "fd0cf20c55d7f6d8b55093a2cceb741f4e9b6ee19b937ae2bed5fa2f606e5f87",
+            "md5": "78beedb2fca52f2aa190be34d7b08c0d",
+            "size": "85764"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "cfd23524e8d626a3f85a21c5b58d80eb44d673405174fa2cf18caf851ed0ceed",
+            "md5": "1205d8d748380eb0a2390c8f26945062",
+            "size": "120119"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvml_dev/linux-aarch64/cuda_nvml_dev-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "be4d96927aa52c7468fd0eb15eaac89526f154a164c4a64732afb502a03bcbf8",
+            "md5": "cf24cb7205485ef92ab2ace728a9fedc",
+            "size": "85720"
+        }
+    },
+    "cuda_nvprof": {
+        "name": "CUDA nvprof",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvprof/LICENSE.txt",
+        "version": "12.2.142",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.2.142-archive.tar.xz",
+            "sha256": "85903ca190885de9cabbaa9644a2b91c9245bea050ce553b0aa8bd3370996051",
+            "md5": "1dc2a4845781ec935a671c2318bc111e",
+            "size": "2441056"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.2.142-archive.tar.xz",
+            "sha256": "3d12bbbf161d9981ae5eae302f098a312929f657edf12a4b00412aa0023ede79",
+            "md5": "0ba8a43f0793cb77dc485deb6331f820",
+            "size": "2119280"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.2.142-archive.zip",
+            "sha256": "968366fb51f413229d48e404951f99ebfa70898b84b8fbb06a5909fbdeb59177",
+            "md5": "8f31af94a9edd798e5d4a4259a829f4c",
+            "size": "1701039"
+        }
+    },
+    "cuda_nvprune": {
+        "name": "CUDA nvprune",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvprune/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "f5cf2db9d3214d540490c663691b171b11531be98611b4e6b86b208c7ee4f5cf",
+            "md5": "874fe6f55aed07403f033fa0e467dfeb",
+            "size": "55976"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "e949f93789a8256ab647b95b7d63bf814492003ba28c4d1d915753dcffd2b709",
+            "md5": "0f51bf0f64d774f7fbc1c48162ea33cd",
+            "size": "57088"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "4e434e9ced2efb9a3bc83edca93262eaa54546cf74783658239f2a05b119eb47",
+            "md5": "0c346f28f771525c802b49a09b56de32",
+            "size": "48176"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "a001ccae83160a713332887d8965f271bbc9fcf5d4eb645c3bab8dbea8a4a72e",
+            "md5": "71a565d385a177a9a0df7c835b7c97c5",
+            "size": "145889"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvprune/linux-aarch64/cuda_nvprune-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "1911f27cf6629cbdb9183b35b42e700f7e86447f7950ebb6fe2cbc66fee7cebe",
+            "md5": "8e0300d2559ca3e84fd173f767af0e87",
+            "size": "49756"
+        }
+    },
+    "cuda_nvrtc": {
+        "name": "CUDA NVRTC",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvrtc/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "d13903b5785f9c2157bec4c0d48f2217bfd9079dae5e9873901e4723a83a31d4",
+            "md5": "542800990ddee343974e5113a5214114",
+            "size": "30863708"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "9a7a75d5187af062babe8c03e3969b112ea57ae01c1331d4dee721ab4b5d0330",
+            "md5": "94c9050afac3c1966dac9389713790a4",
+            "size": "28225232"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "ff478c5f4bf51a76a1d5ca9f6ca2d8f248f3eb04b7656c8de84d69f5b33c0951",
+            "md5": "1282906a59976c61a5e4b69960696dad",
+            "size": "28239756"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "3c02299e9fad2b5fda67301140e841f31db7edac57a57f9233f98d9066d14e32",
+            "md5": "c63e3b6908f2f74306049eaf21f36e11",
+            "size": "96131961"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvrtc/linux-aarch64/cuda_nvrtc-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "30056d9fadac1b6b347e316463cbdb0245ef699f0ba51b890f8419827b0d0623",
+            "md5": "ab55d00f7dfd247da5eb5df920662da2",
+            "size": "29348908"
+        }
+    },
+    "cuda_nvtx": {
+        "name": "CUDA NVTX",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvtx/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "2651bfb5c15fc546556da2d6b1dc48c97e1ee6f8c38d3f1910df56f24d5d028e",
+            "md5": "2e695953ecc05f4b1b10fed36af6463a",
+            "size": "48384"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "5e41c750f1677801848765b0db6ac1672b2ea29cc2f5c0ef914d84e52e2a4989",
+            "md5": "bd06c5f123015ad1173b5cd82aba5733",
+            "size": "48476"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "b94ecd3824a7ecaf95b3d74b8972a29aae5ab98af349333f9c737f106d10b16a",
+            "md5": "989d0b2b18e9aebf9d18d55041ab6338",
+            "size": "49008"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "6e68b436760aa05a5190d04c104a2c4f2f47073b099c6c25cb989a769c69f77a",
+            "md5": "6d5d9e9988529a1a00dce81cc399cbc0",
+            "size": "65732"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_nvtx/linux-aarch64/cuda_nvtx-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "cda3e9725103446d17ba8e117230f985834d85bdacb4ed036cef5a113abed352",
+            "md5": "a35a15866757be7f2f49a37272f445f5",
+            "size": "51544"
+        }
+    },
+    "cuda_nvvp": {
+        "name": "CUDA NVVP",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvvp/LICENSE.txt",
+        "version": "12.2.142",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.2.142-archive.tar.xz",
+            "sha256": "a5afc346567aa1a0129b901c2ea2246e69c49b21451e93cafd15c2c7cc3776e2",
+            "md5": "b72eb16023bf083e7422bf2bf681f3c2",
+            "size": "117735088"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.2.142-archive.tar.xz",
+            "sha256": "7a2d6cc4ca2b9c907f68cb82ee861283d746e6a99f9fc1f7090ae4bfeafa3bbf",
+            "md5": "6bc08cb579e4e75433509d3441173825",
+            "size": "117180108"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.2.142-archive.zip",
+            "sha256": "0be4646875789d14013c70040e9e61abb4ebd4892e2418a5d4238a73ade44058",
+            "md5": "cf9c31100d163ea912d2fdf504f05849",
+            "size": "120341504"
+        }
+    },
+    "cuda_opencl": {
+        "name": "CUDA OpenCL",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_opencl/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "2d921db089c490addc3f66047ea51858dc4e77c74a43fd53454c44a3c22a7a87",
+            "md5": "71116747f33359fe617bfcc9787b32bd",
+            "size": "74896"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "966cdd101773ebaf5da77217f9da75324ec6f3dc8a3d4663e5ec439ccdf06e7b",
+            "md5": "a22fcb058bd2b909dc0b2feb572ff919",
+            "size": "112950"
+        }
+    },
+    "cuda_profiler_api": {
+        "name": "CUDA Profiler API",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_profiler_api/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "4c27538fb10dc86d0a54ff205e4099204ca2534784605dde80284a59be05d7ae",
+            "md5": "c0d27b98ea356c39dd99263a7bd2197d",
+            "size": "16052"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "fa6f0e0273677c35e5dd025e91171863ba6434e9557b4526f166eeae3146227c",
+            "md5": "0e4c5faac5b7232f5057b6eec5988901",
+            "size": "16056"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "dbfc2e5b4f45c47601549f6481955d2629aa1001921ac3dce284a1626f805d6c",
+            "md5": "0d349e18c3a6c43344f78948cefa800d",
+            "size": "16048"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "36d865be0bcd4a8be8bdd48fd24bc8b5d5e5f181ea12631d3c8a52e8321807f9",
+            "md5": "2c552582bfbc00cf8b23456c2a52d9e2",
+            "size": "20085"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_profiler_api/linux-aarch64/cuda_profiler_api-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "a93303be55363f9e8f2570a1a16abbcf0194f36fd5c894624f73e76d5a3282e2",
+            "md5": "19578120942de186c59679f0cf7b117a",
+            "size": "16052"
+        }
+    },
+    "cuda_sanitizer_api": {
+        "name": "CUDA Compute Sanitizer API",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_sanitizer_api/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "1d02913ab7a1389a13b4f66479be73fe6391df29a53123cf86efba5f88e991d2",
+            "md5": "4b87808b82a9309287fc0254233c6d37",
+            "size": "8296348"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "5f37b3d901403094c68b2bdbc34381f3daaae7504fc92e5e8ab8feefe196f2b2",
+            "md5": "aae50148dc628403eb2ad71499501d52",
+            "size": "7643868"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "a16ca8a7283b4eb074ee878fc44c85dab8946ed6d2ff6a8893c409ebff3c8e3e",
+            "md5": "134e9d9a6b20e2fa53618cfe590eeeb5",
+            "size": "6213596"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "1c1d84647d331759bbed4ef820e3ad26866af7383ddcc0ba02d695b9886d7820",
+            "md5": "384a685b9b81204b4273f5e1cac7481d",
+            "size": "13897879"
+        },
+        "linux-aarch64": {
+            "relative_path": "cuda_sanitizer_api/linux-aarch64/cuda_sanitizer_api-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "4503ed0e7f2b24bbe8b47ceef5df44f2ef9ddf707d33bdd561964f1d5ad01cf7",
+            "md5": "b679a95b4dc76e267990547025587dab",
+            "size": "3562156"
+        }
+    },
+    "fabricmanager": {
+        "name": "NVIDIA Fabric Manager",
+        "license": "NVIDIA Driver",
+        "license_path": "fabricmanager/LICENSE.txt",
+        "version": "535.104.05",
+        "linux-x86_64": {
+            "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-535.104.05-archive.tar.xz",
+            "sha256": "d71c8bb69b90421d8e761937b5ed4b9b6e81ecae581f7abcfd9e1fc351488791",
+            "md5": "1f8c835831781c1916503f95e52050f2",
+            "size": "1819572"
+        },
+        "linux-sbsa": {
+            "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-535.104.05-archive.tar.xz",
+            "sha256": "da60bdc321f396003a466e771dc69b4aea06f084e6076606dcdd5db473169cdf",
+            "md5": "f2838a9c204d9dc8d23fa5c857cded19",
+            "size": "1680668"
+        }
+    },
+    "libcublas": {
+        "name": "CUDA cuBLAS",
+        "license": "CUDA Toolkit",
+        "license_path": "libcublas/LICENSE.txt",
+        "version": "12.2.5.6",
+        "linux-x86_64": {
+            "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.2.5.6-archive.tar.xz",
+            "sha256": "56ccf7ffbe7ea204fbb0c5c4c55829ef3fb81b2e811f8073fcd0bbef438b262e",
+            "md5": "dfd9fc6f65d0d2200cbbf0c28d5c7067",
+            "size": "505014804"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.2.5.6-archive.tar.xz",
+            "sha256": "0883ddfb1460cb69219a80fffe3e1ef02d59caf08ff60fb86453cdabdf5c7318",
+            "md5": "53db5e36efe8dbf45135d8835cf6ca0a",
+            "size": "400304640"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.2.5.6-archive.tar.xz",
+            "sha256": "be6885ddccdf7b5f6efaf4272aef7cffbb5502258e9991cd93c5bc110a38e364",
+            "md5": "bde4d96c012a7cc232e1b5709e0d076c",
+            "size": "496898260"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.2.5.6-archive.zip",
+            "sha256": "205f20a1e91a9502ad4b9bca2e66effa76ef14ef5378e1fc5b6e2a223158ac5b",
+            "md5": "23535cff27e5ab460026dd2164123935",
+            "size": "443774878"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcublas/linux-aarch64/libcublas-linux-aarch64-12.2.5.6-archive.tar.xz",
+            "sha256": "db001ba7f3e33568846b1c37ccdf54dcea66396975e43720471d799d08e1eb5f",
+            "md5": "7f68aaa55b34724cc64458e85b6625b5",
+            "size": "453455004"
+        }
+    },
+    "libcudla": {
+        "name": "cuDLA",
+        "license": "CUDA Toolkit",
+        "license_path": "libcudla/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-aarch64": {
+            "relative_path": "libcudla/linux-aarch64/libcudla-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "3e4e3b6ecdd80f8519f3411ee01b479260130665c38b620cad163e7838b3a863",
+            "md5": "ce878668cba58c1dc7ff8ad35ecd41cb",
+            "size": "37772"
+        }
+    },
+    "libcufft": {
+        "name": "CUDA cuFFT",
+        "license": "CUDA Toolkit",
+        "license_path": "libcufft/LICENSE.txt",
+        "version": "11.0.8.103",
+        "linux-x86_64": {
+            "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.0.8.103-archive.tar.xz",
+            "sha256": "b146efb8bb500ee82519a7783b55c68c36f2c350a61cbba7d7b642ddc0d68bcb",
+            "md5": "b3e0cf021beaab33668fefef599a7fdc",
+            "size": "170424256"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.0.8.103-archive.tar.xz",
+            "sha256": "5b001c8e37c1e5e098c54afae5100bff70171bcf5ba245eb423f3c4bac197ffd",
+            "md5": "38440f3f109bcb2be1b83307f9d853c1",
+            "size": "170548816"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.0.8.103-archive.tar.xz",
+            "sha256": "c4c247f2c3d608aa690ed0237e5e0413455a9ee10a59ce84e2643b44800705cc",
+            "md5": "169c5bfa425c8b2a7ed10e41e6fec6ad",
+            "size": "170566888"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.0.8.103-archive.zip",
+            "sha256": "d523ea42f195f16c4b117276797093834a1fffbbcd006c2b24cf31736d995e60",
+            "md5": "162ddfeab043199e2d81ab1ff835285a",
+            "size": "97456781"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcufft/linux-aarch64/libcufft-linux-aarch64-11.0.8.103-archive.tar.xz",
+            "sha256": "15d1ada050f60a5362b80650ef63be4663bf6749a8c298bfa93009ce4b8113fa",
+            "md5": "65df3f69475f750b96ee97f272e73a02",
+            "size": "170672168"
+        }
+    },
+    "libcufile": {
+        "name": "CUDA cuFile",
+        "license": "CUDA Toolkit",
+        "license_path": "libcufile/LICENSE.txt",
+        "version": "1.7.2.10",
+        "linux-x86_64": {
+            "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.7.2.10-archive.tar.xz",
+            "sha256": "60f9e442b09998d1937827b4f56982bfc22fa1c15ede9bc1261e9cc947a94087",
+            "md5": "57a580d197e88709494844c86d983874",
+            "size": "41854504"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.7.2.10-archive.tar.xz",
+            "sha256": "00be847ca86b90fb540174ad70f34899c2f8f351637775b9c5fef5b7ad3adb76",
+            "md5": "a743513410e6ef3243f0f49d3dffc191",
+            "size": "41302032"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcufile/linux-aarch64/libcufile-linux-aarch64-1.7.2.10-archive.tar.xz",
+            "sha256": "36477dbe734c00945ff5f99369c9324bd560c4ad65b65a260996ae41d3b2e4f5",
+            "md5": "51397e31461a10e590c9c459bb3d0899",
+            "size": "41277664"
+        }
+    },
+    "libcurand": {
+        "name": "CUDA cuRAND",
+        "license": "CUDA Toolkit",
+        "license_path": "libcurand/LICENSE.txt",
+        "version": "10.3.3.141",
+        "linux-x86_64": {
+            "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.3.141-archive.tar.xz",
+            "sha256": "105ce31a3e83e8e548e35efe8e3b9f18b4fdb30048d0305015c2cf62257a090c",
+            "md5": "d1bd0610eb7014957b802f9d349bbcfc",
+            "size": "81947124"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.3.141-archive.tar.xz",
+            "sha256": "21f2cd0312bc35037fd8a1dde1444af75050e409a316a1502f26a48f00f6db5c",
+            "md5": "d568a4c72d5d2cf54c6f5ba1b9818037",
+            "size": "81983516"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.3.141-archive.tar.xz",
+            "sha256": "a1e754fe336f12848cb9f4f7b3c13a6bc81df375fe4babfb160936242a71d99d",
+            "md5": "c87d4ac4804368253053b628aca51992",
+            "size": "81932084"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.3.141-archive.zip",
+            "sha256": "46058aefc4fd8fb120c8565fc6ec5dcc6b4374cf973c2523b5cb8189e51e27bb",
+            "md5": "967ecfc6dd8480a5bfeec6f8e40fbff1",
+            "size": "55279391"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcurand/linux-aarch64/libcurand-linux-aarch64-10.3.3.141-archive.tar.xz",
+            "sha256": "b1430ba8424f638ef1eeb16a602641d68d9929b88f5a6328217da0d660a0694e",
+            "md5": "0be2590de89b92ed414ec46b24558765",
+            "size": "84106840"
+        }
+    },
+    "libcusolver": {
+        "name": "CUDA cuSOLVER",
+        "license": "CUDA Toolkit",
+        "license_path": "libcusolver/LICENSE.txt",
+        "version": "11.5.2.141",
+        "linux-x86_64": {
+            "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.5.2.141-archive.tar.xz",
+            "sha256": "7037b9fda9d5e4cebab204e0850a9df7e6f66724f798c4ca17e9af21dcfe9ba3",
+            "md5": "cae5929ff01dc4c8bb1be402c25ba977",
+            "size": "123206104"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.5.2.141-archive.tar.xz",
+            "sha256": "9edc8138ed3f9a06c1a09789073988acae3a8a0efac368904efa3bb044f1e2a6",
+            "md5": "d1efcf4e667f035b11c0ac35434ee685",
+            "size": "123174440"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.5.2.141-archive.tar.xz",
+            "sha256": "57a1912f8f0f53a192254863d2c5feccb6a878cdf8dfce39594788aca5f46b8f",
+            "md5": "cc088b37f04e7734c86924129787e805",
+            "size": "122133404"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.5.2.141-archive.zip",
+            "sha256": "e49095d45121c18f566a06aa9e688088193f892a1a381e6028233b037bbd39fa",
+            "md5": "00cd279c6ee12667f297ab45e9c555f1",
+            "size": "120619029"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcusolver/linux-aarch64/libcusolver-linux-aarch64-11.5.2.141-archive.tar.xz",
+            "sha256": "988c5e61477e4425c02b3c162c6e8eaad907452ccbdcd0297040e9c0c0ac12df",
+            "md5": "0bf9fb89f0413da2b6ad78a9d3b203e9",
+            "size": "133247048"
+        }
+    },
+    "libcusparse": {
+        "name": "CUDA cuSPARSE",
+        "license": "CUDA Toolkit",
+        "license_path": "libcusparse/LICENSE.txt",
+        "version": "12.1.2.141",
+        "linux-x86_64": {
+            "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.1.2.141-archive.tar.xz",
+            "sha256": "042d635487006837e08ebe0c307ee1ccfa026209d0ce2c64183581626c79ff3b",
+            "md5": "65b0479aadb72845e07110de537b681a",
+            "size": "211882788"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.1.2.141-archive.tar.xz",
+            "sha256": "623895f34c8a80bbcb2ba2e0f491b1919cb7891480b0284afb5d6c3e7452bf5f",
+            "md5": "50b234d86a02e4c889b4f32efff94e98",
+            "size": "212005264"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.1.2.141-archive.tar.xz",
+            "sha256": "5068d6909a37bb96989f6af6a197280986eb917398391da2f45df2e47eb44cf6",
+            "md5": "117f01470d0e6087616c7ea430484f12",
+            "size": "211611296"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.1.2.141-archive.zip",
+            "sha256": "70ea2dfc918aa23fadb8e3804cd6f04e80ec19f44eeffa635bf3e69e76b3c046",
+            "md5": "f77e684538cfa54df2d818d9418774ee",
+            "size": "192615584"
+        },
+        "linux-aarch64": {
+            "relative_path": "libcusparse/linux-aarch64/libcusparse-linux-aarch64-12.1.2.141-archive.tar.xz",
+            "sha256": "12f3b910e7facb0f4204cdfd9cc1d46e828a6d6d220da36e852bb4be3fa10b15",
+            "md5": "6f76bb018c30f8b1d40f338640bd44a5",
+            "size": "226905832"
+        }
+    },
+    "libnpp": {
+        "name": "CUDA NPP",
+        "license": "CUDA Toolkit",
+        "license_path": "libnpp/LICENSE.txt",
+        "version": "12.2.1.4",
+        "linux-x86_64": {
+            "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.2.1.4-archive.tar.xz",
+            "sha256": "82aff958dab64a89ec719ae082290b998082719aea6be4de9d642bf2c9fcbc04",
+            "md5": "06767a79831f85adc36e0629bb91dc64",
+            "size": "183348052"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.2.1.4-archive.tar.xz",
+            "sha256": "35dc58629efbb0af289e28b866f299d464d44fdb2b824b4870421cdfbd5b9153",
+            "md5": "aed7ef1d0e624e9d8ef6c30635bfa2c7",
+            "size": "183901836"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.2.1.4-archive.tar.xz",
+            "sha256": "a7ff7086df1ee8a253e8f8b50730738b515b084ec32b57ea1c7cd2154f9e007c",
+            "md5": "1e6fc062ee6987ec09e1d756a1925cb3",
+            "size": "182584840"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.2.1.4-archive.zip",
+            "sha256": "4815f6e77ea000b7f7ec50e4c1e2772e3be05a40afcc501c8c7e6d7c4f5f53ac",
+            "md5": "7a0d5709c07a50181465a8d7314d5c0a",
+            "size": "153082156"
+        },
+        "linux-aarch64": {
+            "relative_path": "libnpp/linux-aarch64/libnpp-linux-aarch64-12.2.1.4-archive.tar.xz",
+            "sha256": "b046373786657d7f8c7a2aca170900d38ec62bd91c728489e2ed62f78e5ac588",
+            "md5": "be6a424f4d4cd41b48e19dbdeb9273bd",
+            "size": "200658988"
+        }
+    },
+    "libnvidia_nscq": {
+        "name": "NVIDIA NSCQ API",
+        "license": "NVIDIA Driver",
+        "license_path": "libnvidia_nscq/LICENSE.txt",
+        "version": "535.104.05",
+        "linux-x86_64": {
+            "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-535.104.05-archive.tar.xz",
+            "sha256": "ab3704b11cdf381d739fdae98e53aea6aec95538a32efc89cc90dbd3a8595091",
+            "md5": "480b1a8a966d5fc7f0306b90e3e68f6b",
+            "size": "350592"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-535.104.05-archive.tar.xz",
+            "sha256": "3f59ae0385b30677ef6cce248e805da6ef71fc151ec4779825716f42bff6274e",
+            "md5": "91f8d38263ad9b013dce0c3e7db1e8a2",
+            "size": "317620"
+        }
+    },
+    "libnvjitlink": {
+        "name": "NVIDIA compiler library for JIT LTO functionality",
+        "license": "CUDA Toolkit",
+        "license_path": "libnvjitlink/LICENSE.txt",
+        "version": "12.2.140",
+        "linux-x86_64": {
+            "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.2.140-archive.tar.xz",
+            "sha256": "1d6339ea90dc0d68e8e3d819c92ca1b3b1a0fab4837587d546a3289c152e5337",
+            "md5": "d806f9651074516ffbf1ae133155b03f",
+            "size": "26317844"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.2.140-archive.tar.xz",
+            "sha256": "5a202c4c460537b3f9a423ea3b4956da1616254222f10cd6b169f1169f1917b7",
+            "md5": "c16ab243b07f4cb28ca6d55848c96519",
+            "size": "23972384"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.2.140-archive.tar.xz",
+            "sha256": "0d661c092c3f5eafe889ff1bce131f0f2a0ab00e4ee7a06a118cebf8051ad737",
+            "md5": "631b76cc50df2bfd36367a6d916950fc",
+            "size": "23930512"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "21795de33dfffefa314ce7461aae3ea7509974848b8acd1842d600ee19278c4f",
+            "md5": "8003ea4a05fc864584c7f73ac7466342",
+            "size": "86973701"
+        },
+        "linux-aarch64": {
+            "relative_path": "libnvjitlink/linux-aarch64/libnvjitlink-linux-aarch64-12.2.140-archive.tar.xz",
+            "sha256": "42f0caf3f922464edda5b8c1973ad388a39d606245793c59ebbaefc69cbc327d",
+            "md5": "762b587f30ff99bac0beb1a4ce1d274c",
+            "size": "25032700"
+        }
+    },
+    "libnvjpeg": {
+        "name": "CUDA nvJPEG",
+        "license": "CUDA Toolkit",
+        "license_path": "libnvjpeg/LICENSE.txt",
+        "version": "12.2.2.4",
+        "linux-x86_64": {
+            "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.2.2.4-archive.tar.xz",
+            "sha256": "86f5dde034a89c0ca26f39c6ec14e1ce47c88f7e7852913137153fd45de78f4b",
+            "md5": "7c7ce0b140a7cb16717d5fdd12c0889b",
+            "size": "2556648"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.2.2.4-archive.tar.xz",
+            "sha256": "ae73ecef99852488cd7cb36ab1f0a1a5e2c43c3b3addc4a9485cb5741fbb0bb0",
+            "md5": "15a5f09aab83a4e6b5036f07dd4eac22",
+            "size": "2584100"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.2.2.4-archive.tar.xz",
+            "sha256": "3dec2a261f3e7fa23537e270cbfe57cdd768c2994db1dadbe0740a26fcb16c31",
+            "md5": "4704427b2485e5a4391bba7d499bacff",
+            "size": "2384748"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.2.2.4-archive.zip",
+            "sha256": "9efe4c5cb0a13b00862c7dd860a96216ec8794c311d4648d1291e8dc1d3f6e0c",
+            "md5": "d48dd3780c2d3001c15ae54410cd9ef0",
+            "size": "2830376"
+        },
+        "linux-aarch64": {
+            "relative_path": "libnvjpeg/linux-aarch64/libnvjpeg-linux-aarch64-12.2.2.4-archive.tar.xz",
+            "sha256": "3fc0049b56dbfc380eebcaf77cdeddd2a4f1ea71ab89a2caaaf529924d52404d",
+            "md5": "f51c25d446ba25a3c1625fc22e903575",
+            "size": "2528220"
+        }
+    },
+    "nsight_compute": {
+        "name": "Nsight Compute",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_compute/LICENSE.txt",
+        "version": "2023.2.2.3",
+        "linux-x86_64": {
+            "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2023.2.2.3-archive.tar.xz",
+            "sha256": "b2927dce0f75c34b6be00a7cdc2d6f75c0704e98fd7576b9068cdd2f0291deee",
+            "md5": "b893062619e138908a8f5867be6adbf0",
+            "size": "724649144"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2023.2.2.3-archive.tar.xz",
+            "sha256": "404de395caa2e05749985e6539174f4cab27d2ca2de765825474bf58c1cfd57f",
+            "md5": "a81d54aefd491fbdfd8414791ea11242",
+            "size": "185173220"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2023.2.2.3-archive.tar.xz",
+            "sha256": "77bf1f7c016a05ce301c1d68e1fc0ca4b290bcc56771e368d0d0b12ef6f1dc89",
+            "md5": "1d1fe09d2db3bda1ef92cf00ca05091e",
+            "size": "350202056"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2023.2.2.3-archive.zip",
+            "sha256": "92edddf25449e9337864faf4a5018e91e5fbbb33e68b184fd3557d16d86e1fe0",
+            "md5": "37f66efef784946095bb405869076049",
+            "size": "664653357"
+        },
+        "linux-aarch64": {
+            "relative_path": "nsight_compute/linux-aarch64/nsight_compute-linux-aarch64-2023.2.2.3-archive.tar.xz",
+            "sha256": "5e5c840fbdf1cd67dd1ecba79c49b550dd18156cd5b491a191cb327d50bb2f1e",
+            "md5": "33dfafbaaab58809530f1c8f36ab5fb4",
+            "size": "740366868"
+        }
+    },
+    "nsight_systems": {
+        "name": "Nsight Systems",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_systems/LICENSE.txt",
+        "version": "2023.2.3.1004",
+        "linux-x86_64": {
+            "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.2.3.1004-archive.tar.xz",
+            "sha256": "d0fd2d347d563e22de4e420d0f169c434a49fde3a8391dc072c87903803781f6",
+            "md5": "89c440861b5f85a4c93f98bea99ed39e",
+            "size": "223340448"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.2.3.1004-archive.tar.xz",
+            "sha256": "0a91c310da7d8755c51b2e3c03a3bf0f28a034fa67129365fc06a064c9a5c741",
+            "md5": "4a78d50fc945f6236d0d6af1be0037b4",
+            "size": "64909400"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.2.3.1004-archive.tar.xz",
+            "sha256": "3bec2b405da6a090e694d5641d9376ed8f50c7d29b7ab8bd02c628f5ca845957",
+            "md5": "2f41741cb5db83db66fa6282fdf21163",
+            "size": "195417228"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.2.3.1004-archive.zip",
+            "sha256": "ff34ce8a50fc6c4de7b494fda970dac9ce3658a2483629865243d83561d41718",
+            "md5": "11629d3685f8d2b74108afc242131f2a",
+            "size": "335314514"
+        }
+    },
+    "nsight_vse": {
+        "name": "Nsight Visual Studio Edition (VSE)",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_vse/LICENSE.txt",
+        "version": "2023.2.2.23221",
+        "windows-x86_64": {
+            "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2023.2.2.23221-archive.zip",
+            "sha256": "a310ef2a2604ecdb741f1f8961d26ebb969a17db81a89c769224a60645181553",
+            "md5": "8bce1c927bf0b902fa3cb6557af4c0d5",
+            "size": "526808861"
+        }
+    },
+    "nvidia_driver": {
+        "name": "NVIDIA Linux Driver",
+        "license": "NVIDIA Driver",
+        "license_path": "nvidia_driver/LICENSE.txt",
+        "version": "535.104.05",
+        "linux-x86_64": {
+            "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-535.104.05-archive.tar.xz",
+            "sha256": "f19c11dfda9e1e5c3e0a2ca775cdaa851431648540f4e8e2916c53735debd450",
+            "md5": "eeb4a2a99f4d2f5f0323cd4369e99cb1",
+            "size": "392555044"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-535.104.05-archive.tar.xz",
+            "sha256": "7c83f0a42a94ec60fbda5ce18e99f4c90758757698c1d21a8d83957daafa26b7",
+            "md5": "f251522e7b479c04008b3d0c573a218c",
+            "size": "100007576"
+        },
+        "linux-sbsa": {
+            "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-535.104.05-archive.tar.xz",
+            "sha256": "eb089f52ddda09f4b2bcf0eb661d0bb7881a3d63cbca558c9530ab50b4ef84ee",
+            "md5": "1f518fbc7860141e885366e7e526f235",
+            "size": "306432584"
+        }
+    },
+    "nvidia_fs": {
+        "name": "NVIDIA filesystem",
+        "license": "CUDA Toolkit",
+        "license_path": "nvidia_fs/LICENSE.txt",
+        "version": "2.17.5",
+        "linux-x86_64": {
+            "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.17.5-archive.tar.xz",
+            "sha256": "3b6d9b6bc82cf575b38e99467a7987d40725a50004a67bc5edce4c40cd2b239e",
+            "md5": "b9164b9d3c34733257da7a15e5d38bcb",
+            "size": "58420"
+        },
+        "linux-sbsa": {
+            "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.17.5-archive.tar.xz",
+            "sha256": "e51f5a6ea897fa1b875f8b5da1cb3d16368dcdd5a6e8e02fc996b535a020a2fc",
+            "md5": "60aad0a8803dcece1e837fc7281b92e0",
+            "size": "58404"
+        },
+        "linux-aarch64": {
+            "relative_path": "nvidia_fs/linux-aarch64/nvidia_fs-linux-aarch64-2.17.5-archive.tar.xz",
+            "sha256": "c3bdb6177a0a5dc12fb1d41471b6bed4dae6a95c3d32e5fb6c0b740f6551b366",
+            "md5": "8010eaa202a53499a469d6216bee9fc9",
+            "size": "58420"
+        }
+    },
+    "visual_studio_integration": {
+        "name": "CUDA Visual Studio Integration",
+        "license": "CUDA Toolkit",
+        "license_path": "visual_studio_integration/LICENSE.txt",
+        "version": "12.2.140",
+        "windows-x86_64": {
+            "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.2.140-archive.zip",
+            "sha256": "6e754aabb61d0e8d1154aa22c42b95ff2c8b35a2989c99ec08a8c0f5e85128ec",
+            "md5": "ef934c22792d947d6e8872859dbc5102",
+            "size": "518030"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.3.0.json b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.3.0.json
new file mode 100644
index 0000000000000..85a859471c299
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/manifests/redistrib_12.3.0.json
@@ -0,0 +1,971 @@
+{
+    "release_date": "2023-10-19",
+    "release_label": "12.3.0",
+    "release_product": "cuda",
+    "cuda_cccl": {
+        "name": "CXX Core Compute Libraries",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cccl/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "659f8f8fd58eb7f5bc8ba171712147a007a2c8c92f30b21d135cf2d12f80226d",
+            "md5": "e97f283762e4cc26a91368b545445888",
+            "size": "1148140"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "1a188bc279ba32d910259bdf9b7106accacba163ce9ef92989af18ca8a50a6ea",
+            "md5": "a2c10d1037efe99ff2bd840a552500a0",
+            "size": "1148584"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "96b5465af73b77447c3997d923916f7aea0939ffd0d8be42bc197ee8d8965fca",
+            "md5": "7b33cb50efd7d589bc1da8fd292179b6",
+            "size": "1147616"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "074c26ca05bd305ee23fdc56c3e8115d21c7843c5778fb75052791d66ee73711",
+            "md5": "ac1857b6c543c5489c126fb6a1ef0b10",
+            "size": "3041533"
+        }
+    },
+    "cuda_cudart": {
+        "name": "CUDA Runtime (cudart)",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cudart/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "0dcd864fcef10b7d4591cc545330c411f589b27b12c98c30ac6e3d5e14eb2ee4",
+            "md5": "d0857c0c2b568ca05aac12dc67a6871b",
+            "size": "1090372"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "354d1ffdd1ce2da61ec2c3fb1b15cdf65270804aba78863d235cc0d69a9c9eec",
+            "md5": "8abeb75f2d60efe9f69eb3ae3266ae45",
+            "size": "1068716"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "4789a039df340581d7a71f5da6af9f222baa2265e8de8ce00365a31ac645adca",
+            "md5": "abe7432e966b61c9d6272ef5f0d889f0",
+            "size": "1079100"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "a01396eeb88b52137dd1878e1278a1608f848194a1bb7faa02d6b147894d17a9",
+            "md5": "5731383d0884a47d93e52772c0815042",
+            "size": "2462899"
+        }
+    },
+    "cuda_cuobjdump": {
+        "name": "cuobjdump",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cuobjdump/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "cfedfd2e64aedec65793240c2814bc94463eaafe508bb34776b5d7bee783c899",
+            "md5": "9de85c598e48234db4ec743b2984205a",
+            "size": "171908"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "33bbf67fbf5cfa5e1a451c3325330fc032a0e58ed31748839993ecb94711a9a0",
+            "md5": "d628a4c6ae76e52cec8bcb976a30edea",
+            "size": "215840"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "cce91131e57a901463ce1dc86577fe67db0bf6a17f8aefe3e269fff98689151d",
+            "md5": "c390408c5973d68eb7d292678dc201b8",
+            "size": "181628"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "90f583b64f97bd600d0f6d81026bee6cfd2712d5b4905d238b0b6ab21a0709c3",
+            "md5": "f789a23aa0fe7e38f5c874be8612502f",
+            "size": "4013028"
+        }
+    },
+    "cuda_cupti": {
+        "name": "CUPTI",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cupti/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "f51ae93f02378d88b5f53b66abad675f0b2e8b4444192b4705a550b1d083de79",
+            "md5": "2ad99522a4e6a6aab309fb44b611e607",
+            "size": "19651160"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "8dead100bec1dd9b02f56e34dfeae91381422cbf858ce1c9fd1a45fdde946a16",
+            "md5": "dbc7e027e4e2f1d9f2a59db6ec20b2f0",
+            "size": "10918684"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "39f07116b64d8b3b9bf17c65c45d97bf19886eb41847e30c6606751455cbb284",
+            "md5": "c701206a376dab8f82aae89c9d3d4085",
+            "size": "10086868"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "c177c59124f4ae41d46950999548931905f6097de57f88df7d2af62dffbdf249",
+            "md5": "4402839a83f9daed16007ba93fa528ec",
+            "size": "13149248"
+        }
+    },
+    "cuda_cuxxfilt": {
+        "name": "CUDA cuxxfilt (demangler)",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_cuxxfilt/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "932ef5f2f607b5fcb5a84b4489d562cd1239ef7cebfaf862070f9953d02e6cce",
+            "md5": "b1d37d6dd3a6f6218b73c8310cafbd12",
+            "size": "188368"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "dc0490f0881ee51f803bfcd93fcd448216776fa347712d43823c09e687f013b1",
+            "md5": "7eadb41329c74d76212f2e830232e854",
+            "size": "180568"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "5a9c4d613a8120b21c1f44a9e48f2908bd429e2059f8aaabf4cb67bd5c468e04",
+            "md5": "755a801e5f34f090bda0139f32432e21",
+            "size": "174576"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "d7b94c8fa3198764e0664709543a9ee5820a004df9afa70af69c84d2cfca5bc4",
+            "md5": "ad52248ba90cc66a4f73e1914ef3b090",
+            "size": "170310"
+        }
+    },
+    "cuda_demo_suite": {
+        "name": "CUDA Demo Suite",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_demo_suite/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "ed9dd4e1b5fad1c21cfdab9df2d9c80c6360513f4ebd4dd1bc71d518c0a5f2d2",
+            "md5": "a18e17098bfc19e966e36152c7417b01",
+            "size": "4000328"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "a93c7712d3b2782964172c1677868684a4145f8bc8cb18b9173e4abb640ee353",
+            "md5": "17adbdccd94580c1b821ed6ea9a856cf",
+            "size": "5061022"
+        }
+    },
+    "cuda_documentation": {
+        "name": "CUDA Documentation",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_documentation/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "b2bea4ca04808c88fc34ce3da98457f789f6087effe9c12ec5c7cadc583f8c2e",
+            "md5": "6c898f430b8cc9f89c3acc2ecb3587c7",
+            "size": "67052"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "ac53d750359c4c0bf92111ee46c0dc4ffc4e78c480e8319c48c6097697712847",
+            "md5": "870aa50e6b0d5627e44152dbbe28d100",
+            "size": "67156"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "2e95ef6bee1b78068d6a8a854effec0e31aed07cf6d81f48021cee213fd01c26",
+            "md5": "076cebe3b4f8f76c4e66b5369566ea8a",
+            "size": "67044"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "57f074a8fd407f9848fccbe6fb728d649938f315b3135ca0070682fa326df466",
+            "md5": "b6d4e19b1239e1f63856ce91bf058b38",
+            "size": "105364"
+        }
+    },
+    "cuda_gdb": {
+        "name": "CUDA GDB",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_gdb/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "597b1429d311e338023763c6e414f8b826f254c139a4422214f6f8d4f9af90f7",
+            "md5": "f6d3aa7856abf88e5c0c4e5cebf5af8e",
+            "size": "65762552"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "2738151a55fcc13f01195722a5cd316eb3b2e49fc6ab4da066bdc13a1e2c98af",
+            "md5": "9940939654686fd3da00d1fa281e212c",
+            "size": "65482616"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "8eb60a57eec17d837aa4be481f4399aa6288262ae61990cedf8f202a5b2329f4",
+            "md5": "80a1a0127fff32fa4aadd6e7074303f9",
+            "size": "65463172"
+        }
+    },
+    "cuda_nsight": {
+        "name": "Nsight Eclipse Edition Plugin",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nsight/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "7e96029a8a730c799d7e85d283d4d3f21601448e50e3af407ff54f4344a30847",
+            "md5": "6a688c24dd28528970f028f62763e907",
+            "size": "118689728"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "8121c2f187e3bfc1542e155d52c69283ada1f5d8c17e4779306e095926856d6e",
+            "md5": "3dae1d37c213a1e76cd0f571214b1bc3",
+            "size": "118689712"
+        }
+    },
+    "cuda_nvcc": {
+        "name": "CUDA NVCC",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvcc/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "32302154a7ec122defdbb49f1c7cc8777f204c3199d9222f013046be256f72d6",
+            "md5": "858c4eea2da82037bae9b6eef47747ed",
+            "size": "47698868"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "f7c647b74f2f85f5d9c42d951d810cb7130288b11d25ef7308fb489e1150232f",
+            "md5": "c19a78d3e11fde996b83e2ac21252199",
+            "size": "42947524"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "98940f1719b2ab1af943293601307b9e87ea71e30809d429fd7dc2e59b294c68",
+            "md5": "e47ff4a9f6d35fa01efc7c5f64ebf1e8",
+            "size": "41816996"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "1c9e275d10ce496f75efc2337284ab7b6b8c7deb2abc148ea90b0a7ac9ebd9fd",
+            "md5": "5a3765f447771c6a983b7a90ca2f5396",
+            "size": "62734155"
+        }
+    },
+    "cuda_nvdisasm": {
+        "name": "CUDA nvdisasm",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvdisasm/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "dfaa7c1bea5e4e833374da2f80156998bc303e8787a6e88d6a9c97fdead6e9a9",
+            "md5": "a800e8d833020a5794310c74b54e73c4",
+            "size": "49879928"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "06e9e4ba698d9b29f0d36e732264e8f1ce920cbe9b4014227104280f665674f6",
+            "md5": "a59901cdbd2c583cd59053e863b673a0",
+            "size": "49879940"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "3d9b4e99966f9e9305b54a55991a64b59d85d804dc3876f0881b538cff09c84c",
+            "md5": "cb93fd227f8eb20df6b39176801d144f",
+            "size": "49820084"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "59f237756aa152cd1f18ee49e30cc9138ad6b0b451e338b467684f8c1b512117",
+            "md5": "860e10f6ffcf7312709cefcfa6067047",
+            "size": "50139397"
+        }
+    },
+    "cuda_nvml_dev": {
+        "name": "CUDA NVML Headers",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvml_dev/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "37537d1946513d41a0b4b350ee93d4722a52fd56293c66f3dbdb33bf96d799f8",
+            "md5": "691e15a41db1eac40f9ba96c3b702852",
+            "size": "87052"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "eb107e7c12c89c221f34f700fd838d2788d40febb43df45a387653c677a38027",
+            "md5": "5ed3d7b3a60abef4f8e038976a8c4304",
+            "size": "85620"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "4cee78d3354f268730e40c04626abb38bfb7329a06feb9ab0ab4fc53b2ffe09a",
+            "md5": "5a2b431c55f26240d3b2806ffc92ad30",
+            "size": "86308"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "26309a28f1ea2ad58c8eac6725e39210889d8310e5eecd234fe385056ea4b4cf",
+            "md5": "c79c8a619506364c791aa5e7d0d354ac",
+            "size": "120977"
+        }
+    },
+    "cuda_nvprof": {
+        "name": "CUDA nvprof",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvprof/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "b4683cee4e0837e19d22a93d2b944a740de4837049ab4f7a4ac97f35a554c3b9",
+            "md5": "7ed9fe37b9fd3b84a24c4fcc04e500b8",
+            "size": "2441540"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "38c9c81e0913cbce002d094b504c5c94418b8968cf951a3764919439957e5894",
+            "md5": "af1ea66babdfe389194447e65b4885b7",
+            "size": "2120596"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "4b82430be0be570dfbe9fb0b3aa316b413757444f7b7a36fb70de81b58cb61c3",
+            "md5": "d5bd756383bda6676c9c1e41793bd948",
+            "size": "1700913"
+        }
+    },
+    "cuda_nvprune": {
+        "name": "CUDA nvprune",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvprune/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "1ba95b8a3c0b44a91ab7f1c5c52a23bad56cd2ca651e4f9c6a820d666ade24e3",
+            "md5": "253cbe9af015b13868e88540530ac206",
+            "size": "56212"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "66b8e6c69ca9e6368d5e6753bc3a38f51c43d58d3e1fa30fc41cab5af2d58bf0",
+            "md5": "b3a6f87df7d2288b5d01e31caab131e5",
+            "size": "57240"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "8161576c8b9b4eeb23fdb3def3373e17a82f3bf9ee75422c16ffc30f9a9bcec7",
+            "md5": "fa4958bdca0f2188508fcdf8790dd291",
+            "size": "48436"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "17b5efeaf20298ef51ecea0969e8013481717c1d73bb2df5c6a3c994546f9944",
+            "md5": "dcc3362f5b55bf3fc088a591a647ff2f",
+            "size": "146052"
+        }
+    },
+    "cuda_nvrtc": {
+        "name": "CUDA NVRTC",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvrtc/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "6d549612a9c61caf7356d8a13d99a85cfa644269ed856192bea13c7e5f8ce234",
+            "md5": "68aa875913caefbe11de5fded4df7ac9",
+            "size": "31333156"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "0e12e3bc044d6b1d0440493e086d7b7ca8c31eafe79e4fe7fbada6dd209d5d57",
+            "md5": "5d64fbfc312afa6c0259de98917e447a",
+            "size": "28575620"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "8c1aa8bb711a31d50f613d8594103cfeaf062e9a422094dcf6d18646ecd99f17",
+            "md5": "f879465dd1304b83b82a8b895a37d7b2",
+            "size": "28661256"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "3dabf99c94d8cadd4efc5163fb53207f8c011e553b08c41cb760d18bbf2e3f0b",
+            "md5": "1fb1e8d9668177ce740a9e5f24d568c9",
+            "size": "102259575"
+        }
+    },
+    "cuda_nvtx": {
+        "name": "CUDA NVTX",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvtx/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "090068726f299ac218f125fe15fb845bef5670ce48eccb95e752479b40361771",
+            "md5": "59b253c005d1829560b740a1f83bdc04",
+            "size": "48388"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "2c3a6c1f84139e706c1a329b80dc7afaf2b687cc2e65111a37eb90419cd9ffe5",
+            "md5": "90d934de07f3a1d297509c21ac7c0908",
+            "size": "48400"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "d28d0be121286f5fb3e55e2e358bbda18c0eedf16d37347806601cc90ebff789",
+            "md5": "157223166a9249869b0df211073ed11a",
+            "size": "49044"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "92e840d1b5a2f6a5e6f7328de3e99554fbe3d6acfe917010597135c3e69a104b",
+            "md5": "868895cecfa12a9fc5204a673403fcf4",
+            "size": "65690"
+        }
+    },
+    "cuda_nvvp": {
+        "name": "CUDA NVVP",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_nvvp/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "54871072910527bae22af3337163a873cd92ad08ece6ed26e9ca48b6e28ce7f9",
+            "md5": "4dfddacbbeb2b335d678a620848af6bd",
+            "size": "117759232"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "7aacfde343022de7e13792d87bcc4f9d7826e9a4f5c11ea11949730098024b3e",
+            "md5": "15bb39a8a7ed622c640112aa5d9ec93f",
+            "size": "111830320"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "40919592c0f3b71264cd4d3de4674bcf775d16ea81209fb4d41fb74673b8d21c",
+            "md5": "efd029d36d6edd6ca074416d98ad68e9",
+            "size": "120340815"
+        }
+    },
+    "cuda_opencl": {
+        "name": "CUDA OpenCL",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_opencl/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_opencl/linux-x86_64/cuda_opencl-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "8e270a6369947e711b5df48c4dbaebcbfdf7245cc4ddb098cfad69f85efa626e",
+            "md5": "94e8d0efc5bf057cff8a55349956371a",
+            "size": "75540"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_opencl/windows-x86_64/cuda_opencl-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "92d4b713626add42437aae1a044cebb1b80c7c47d343963150e5c182f8e3c9a3",
+            "md5": "2288f81210af58bf38f4be7ee29492bc",
+            "size": "114719"
+        }
+    },
+    "cuda_profiler_api": {
+        "name": "CUDA Profiler API",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_profiler_api/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_profiler_api/linux-x86_64/cuda_profiler_api-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "4ab0f21627156b9e0f681863d4adcfe8924b07eb1a40a6381ef807ff588a6d47",
+            "md5": "e96e1c532cfff9287e0ed7b38e3a3ad2",
+            "size": "16048"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_profiler_api/linux-ppc64le/cuda_profiler_api-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "186094548cb3603f167cac03777bd31c6c02d794dc5312f31b8874e25a515b06",
+            "md5": "7ba4e575eaaaf0ffd39f59eeac156491",
+            "size": "16056"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_profiler_api/linux-sbsa/cuda_profiler_api-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "2c1b04b719e6cbccef1e140c4371c1fb119c66b8e788adf3e10313fdb456ba87",
+            "md5": "c2ec9b80c3abf4d404f4da6e934be1c8",
+            "size": "16060"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_profiler_api/windows-x86_64/cuda_profiler_api-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "a339bb2448d39b74e895a1b5321c58cd235d9c7719fe343f8a2cb00c7f5877d4",
+            "md5": "67ebaa93beb345ed1ba5f56c08090568",
+            "size": "20075"
+        }
+    },
+    "cuda_sanitizer_api": {
+        "name": "CUDA Compute Sanitizer API",
+        "license": "CUDA Toolkit",
+        "license_path": "cuda_sanitizer_api/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "9dbebdd45130df33685213d8d5c6443ef45b34b9a23cee08d1c8eb54ab662cf9",
+            "md5": "198b805f7dbd3e04bbca139cdd2810b2",
+            "size": "8204808"
+        },
+        "linux-ppc64le": {
+            "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "8a5bd354931778eb18c0ab118c38748c6a5bafa553cf84fee79d07839763c13e",
+            "md5": "9f9fe626f4f84fec7ee206faa7872f69",
+            "size": "7772948"
+        },
+        "linux-sbsa": {
+            "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "a301c71de5f8d786b675c4258a8dd4fdc6533468c81f946b327e1a7f1ae859c2",
+            "md5": "37712b47eff245ce1e1dcdf0f685f6d4",
+            "size": "6519848"
+        },
+        "windows-x86_64": {
+            "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "9d7abb0c7df2b9104888ea11539055117023cf7354d6859789c233e6e5df14b8",
+            "md5": "53e6bdc5e662ceb0efd8b2c1f0704a29",
+            "size": "14116642"
+        }
+    },
+    "fabricmanager": {
+        "name": "NVIDIA Fabric Manager",
+        "license": "NVIDIA Driver",
+        "license_path": "fabricmanager/LICENSE.txt",
+        "version": "545.23.06",
+        "linux-x86_64": {
+            "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-545.23.06-archive.tar.xz",
+            "sha256": "3c0e848f554b33cf941e54ce1775f4f11198dbbc0275e261082f8fca0d0a28d9",
+            "md5": "3a04213dcd349cc2964eb29cce4c6bcc",
+            "size": "5088924"
+        },
+        "linux-sbsa": {
+            "relative_path": "fabricmanager/linux-sbsa/fabricmanager-linux-sbsa-545.23.06-archive.tar.xz",
+            "sha256": "ffe93591af3d1075177ff598ae02c7067db5b2edde8bb016356c8d2ea549eb6d",
+            "md5": "0c73afa460eaa469bb51e7c3fba8fa38",
+            "size": "4649044"
+        }
+    },
+    "libcublas": {
+        "name": "CUDA cuBLAS",
+        "license": "CUDA Toolkit",
+        "license_path": "libcublas/LICENSE.txt",
+        "version": "12.3.2.9",
+        "linux-x86_64": {
+            "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-12.3.2.9-archive.tar.xz",
+            "sha256": "793fb630ffeac7aabd241e43cd41d5209fb93e9505cb7937bdd318188d47551f",
+            "md5": "7b3a5411eeb85a061e48ce77b6f1e695",
+            "size": "504998132"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-12.3.2.9-archive.tar.xz",
+            "sha256": "c6b00cf18831527543f93a2e35d98f3b297d7a5b6896a598995eb4a3fa47f39c",
+            "md5": "7842b3f6de4312b21b7910b85f56587e",
+            "size": "401263304"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-12.3.2.9-archive.tar.xz",
+            "sha256": "bb83278da1007847a72e8f8ad40186c70a2ead7e48bf9eb387aeda94a8b63672",
+            "md5": "2dadf0b64c0f1781b606bda508e1d8b8",
+            "size": "496892884"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-12.3.2.9-archive.zip",
+            "sha256": "35c177357715c9c326ee50fa87192dee6b9c25944725ec3107f63675d10df4cf",
+            "md5": "7f1b5517f09170f46bc97812b0c81b13",
+            "size": "443868444"
+        }
+    },
+    "libcufft": {
+        "name": "CUDA cuFFT",
+        "license": "CUDA Toolkit",
+        "license_path": "libcufft/LICENSE.txt",
+        "version": "11.0.11.19",
+        "linux-x86_64": {
+            "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-11.0.11.19-archive.tar.xz",
+            "sha256": "f84d33026cc59f6bdfe4ce446b78912499fc4447e8b7b4e3f1617bb0dae2a27e",
+            "md5": "9becd4989c7b92bc2f7fa4429c613fd1",
+            "size": "172050036"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-11.0.11.19-archive.tar.xz",
+            "sha256": "45a7f4bef97846374cc11c637b4b6b635b8e6abd0a45555ebb3ef5afc3c9c159",
+            "md5": "76a2f1431da7985b8deaea7355a6f3cf",
+            "size": "173409752"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-11.0.11.19-archive.tar.xz",
+            "sha256": "c6867258f4347557435b2dfb7d7e05405cd6a21c954f9ab82a22a1280e93173c",
+            "md5": "78655b8a9b6d32d76bc5cff2e1e735d6",
+            "size": "172359036"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-11.0.11.19-archive.zip",
+            "sha256": "df838d3a085f3741410f86c90a3da8dc57b38d69d830b198473b04fb0e8cfe06",
+            "md5": "420b784f259ccafe210c04fef0edd1e6",
+            "size": "96307613"
+        }
+    },
+    "libcufile": {
+        "name": "CUDA cuFile",
+        "license": "CUDA Toolkit",
+        "license_path": "libcufile/LICENSE.txt",
+        "version": "1.8.0.34",
+        "linux-x86_64": {
+            "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.8.0.34-archive.tar.xz",
+            "sha256": "16d9810a414354f084820b3dacd59baa0dcbdc1c951519803fa10784d1f43ec4",
+            "md5": "9a27732eee2556fe72009fbdb9007342",
+            "size": "41857344"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcufile/linux-sbsa/libcufile-linux-sbsa-1.8.0.34-archive.tar.xz",
+            "sha256": "733c02066ac5b026337da0a6adfc0ce3c71a677cfac9528c4e22443f0cd615bc",
+            "md5": "f67ac3f54ba73bbd69411237fba00c87",
+            "size": "41296760"
+        }
+    },
+    "libcurand": {
+        "name": "CUDA cuRAND",
+        "license": "CUDA Toolkit",
+        "license_path": "libcurand/LICENSE.txt",
+        "version": "10.3.4.52",
+        "linux-x86_64": {
+            "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.3.4.52-archive.tar.xz",
+            "sha256": "8ac8ca5b1ab22e13cbd474ea5dfe24a2d6d1ff02dc5ed06b07648066c7ea34fc",
+            "md5": "04779769c4d217ee94e034f60d0a0e43",
+            "size": "81714596"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.3.4.52-archive.tar.xz",
+            "sha256": "8de3fee960f55895af53a2817835086c4d0c260628a32120d2987ae4e1b48e9f",
+            "md5": "9a2900df6914baf192eff7fd886be734",
+            "size": "81766484"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.3.4.52-archive.tar.xz",
+            "sha256": "2923351205c6d078a0678857f507f57e0aeaab9570946faad2ade97362abafc7",
+            "md5": "c3064fc74451401d864c811588d7447d",
+            "size": "81702812"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.3.4.52-archive.zip",
+            "sha256": "e3634e5eb0d9133e92909c525775e43ebc9597b4f6dda1f95d09bea18e4f4c51",
+            "md5": "19e696cffbaa7acb889b8c0092ae7db4",
+            "size": "55099171"
+        }
+    },
+    "libcusolver": {
+        "name": "CUDA cuSOLVER",
+        "license": "CUDA Toolkit",
+        "license_path": "libcusolver/LICENSE.txt",
+        "version": "11.5.3.52",
+        "linux-x86_64": {
+            "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.5.3.52-archive.tar.xz",
+            "sha256": "334470e66d74102fa7a80e7eeb9ab5b80fe4939204a67d4ef64d369fe254cae2",
+            "md5": "8430c15911f35fcbf2108820df8ddcff",
+            "size": "123465076"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.5.3.52-archive.tar.xz",
+            "sha256": "a71dcef7bccd565003120bb5d18cf8adb0ed4428b3a122f1869f4849827234a1",
+            "md5": "f4997ae343547742e63fcd819cd02bad",
+            "size": "123579460"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.5.3.52-archive.tar.xz",
+            "sha256": "3de3b43a6576a10adac99ac34984c3c623ad6666699aa0531ca239d9d27beee5",
+            "md5": "2c2ae3936e81a9338fab1f3f723eedc9",
+            "size": "122842492"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.5.3.52-archive.zip",
+            "sha256": "73251d1b23faed1a04a84801beeb643161a1d10c6cdccd5f321a7dda7b105290",
+            "md5": "d088b48c66d39651cc05952529d308c7",
+            "size": "120934003"
+        }
+    },
+    "libcusparse": {
+        "name": "CUDA cuSPARSE",
+        "license": "CUDA Toolkit",
+        "license_path": "libcusparse/LICENSE.txt",
+        "version": "12.1.3.153",
+        "linux-x86_64": {
+            "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-12.1.3.153-archive.tar.xz",
+            "sha256": "62b091161967b830cb20cdd73ceb77da28bd88a33db9b734644531f36f3556f6",
+            "md5": "f6685c2b0e80052f77210a451daf5fb6",
+            "size": "212909260"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-12.1.3.153-archive.tar.xz",
+            "sha256": "b086126226b919f6fcacbf1ef547045ea848bbc739bd6524a6bd2aee46110f61",
+            "md5": "0df5916c88513e489a47a83b58dc9444",
+            "size": "212929864"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-12.1.3.153-archive.tar.xz",
+            "sha256": "9f61ff29dc5aa272b771ba0691565d73f167ffe544b3d10f42c3f84ae9aa510a",
+            "md5": "5f4a30593348a87234f612dd3dd7b204",
+            "size": "212557236"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-12.1.3.153-archive.zip",
+            "sha256": "ae79b3b756a1c2ba848c2931bf0c9ae62746ab7755d110d68a280392999a0b45",
+            "md5": "9c1caa26adc1cc51728c632f89e38fa7",
+            "size": "192897620"
+        }
+    },
+    "libnpp": {
+        "name": "CUDA NPP",
+        "license": "CUDA Toolkit",
+        "license_path": "libnpp/LICENSE.txt",
+        "version": "12.2.2.32",
+        "linux-x86_64": {
+            "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-12.2.2.32-archive.tar.xz",
+            "sha256": "1f8f47aedb988eea8611eabe085e6f9e177981b4d942e4d45185d90f752eed3e",
+            "md5": "194a625a46f20799e8e0dc1ed7148a7a",
+            "size": "183688252"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-12.2.2.32-archive.tar.xz",
+            "sha256": "00f2a26ea9ce3f4090ac72a3e2659faba6ab000afa1f22f50eeabe72ed4bf5b1",
+            "md5": "b916512ad551b21fff9b2ec88e2b5658",
+            "size": "184496636"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-12.2.2.32-archive.tar.xz",
+            "sha256": "d2f5e784d4486663e4a0851e3bedd7fab769cf7960a4d37bfb07c2feb43ca4b7",
+            "md5": "8d4fd6cc3e070a263f527b3a2e4ec516",
+            "size": "183572808"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-12.2.2.32-archive.zip",
+            "sha256": "5b35180d336cb4cdc8d3ee362b91aef986de292bcbdbe1a71dc544dc3bae3b6a",
+            "md5": "0890caecbe7fdd94fbf82fe3f40fda6e",
+            "size": "153321627"
+        }
+    },
+    "libnvidia_nscq": {
+        "name": "NVIDIA NSCQ API",
+        "license": "NVIDIA Driver",
+        "license_path": "libnvidia_nscq/LICENSE.txt",
+        "version": "545.23.06",
+        "linux-x86_64": {
+            "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-545.23.06-archive.tar.xz",
+            "sha256": "66abb1ec36f5e67f0c32c7f7fdd7b264a628528684d3b3647674eef914330926",
+            "md5": "ef4d098fb8d226b6e8b3197d54255eb5",
+            "size": "352880"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvidia_nscq/linux-sbsa/libnvidia_nscq-linux-sbsa-545.23.06-archive.tar.xz",
+            "sha256": "4d60d9022c2228ef9f32705ffbc5aa72b5ce44e9e4aad859f8bf7aa2915dc8a7",
+            "md5": "3c48b4a62438026ac4a5bf563fead503",
+            "size": "319880"
+        }
+    },
+    "libnvjitlink": {
+        "name": "NVIDIA compiler library for JIT LTO functionality",
+        "license": "CUDA Toolkit",
+        "license_path": "libnvjitlink/LICENSE.txt",
+        "version": "12.3.52",
+        "linux-x86_64": {
+            "relative_path": "libnvjitlink/linux-x86_64/libnvjitlink-linux-x86_64-12.3.52-archive.tar.xz",
+            "sha256": "92f21102652a22ec735bac9ab236dae1b69d808d1391a96ba379bfa4dd83e6b8",
+            "md5": "107a984b8eb5712b3997cf3b56779356",
+            "size": "26483580"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnvjitlink/linux-ppc64le/libnvjitlink-linux-ppc64le-12.3.52-archive.tar.xz",
+            "sha256": "2802ed389e9c246415a6fc0dc8f8f5bc6cf9f43bcf53f30a921b6e5d80b1e314",
+            "md5": "b595ce0b4ac917063b9d3e417e1c0847",
+            "size": "24029696"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvjitlink/linux-sbsa/libnvjitlink-linux-sbsa-12.3.52-archive.tar.xz",
+            "sha256": "afcd59beb68d68115d0b020bca49e75ff3b407a9469d5578c25309e5ef83442e",
+            "md5": "4a4629c069aad8a564927990c167b01b",
+            "size": "24067300"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnvjitlink/windows-x86_64/libnvjitlink-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "117ba27dc4086f895bade8d6314d5a2bd835342a6d46fef471b9932807e59e1e",
+            "md5": "ee72bcd855f46ad652acbe8a06457e59",
+            "size": "90900374"
+        }
+    },
+    "libnvjpeg": {
+        "name": "CUDA nvJPEG",
+        "license": "CUDA Toolkit",
+        "license_path": "libnvjpeg/LICENSE.txt",
+        "version": "12.2.3.32",
+        "linux-x86_64": {
+            "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-12.2.3.32-archive.tar.xz",
+            "sha256": "19e7dedaaa07c451a84cc607711a22a6f852043559f5bd11cd8e50683628a590",
+            "md5": "8195a125d8dc67b9769ba4151f28b471",
+            "size": "2564332"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-12.2.3.32-archive.tar.xz",
+            "sha256": "cb77d773e261c0fb298da405036728e18be11f21f45c3ac474b9e3a69ad2ff46",
+            "md5": "e8323f5f3b00f3703b834a72171863ad",
+            "size": "2589976"
+        },
+        "linux-sbsa": {
+            "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-12.2.3.32-archive.tar.xz",
+            "sha256": "a4c7a739905f42dce324845b5d27cb8402ec84c0d48a7e50b6426891ae62d429",
+            "md5": "fee67a165abdc83440788932cccf113b",
+            "size": "2390916"
+        },
+        "windows-x86_64": {
+            "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-12.2.3.32-archive.zip",
+            "sha256": "dd931eb75934550421884d548d1e6c4504a11d4f71df07f1c088158b7b7466b7",
+            "md5": "5741a278df23d62f0e97be4d1013ddd2",
+            "size": "2829977"
+        }
+    },
+    "nsight_compute": {
+        "name": "Nsight Compute",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_compute/LICENSE.txt",
+        "version": "2023.3.0.12",
+        "linux-x86_64": {
+            "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2023.3.0.12-archive.tar.xz",
+            "sha256": "12c96010d723f48702a342d7ae6dfa18e96154fc69225de0398c907fdd655499",
+            "md5": "40e9f41957a580680f88e7edce40e49a",
+            "size": "736137868"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2023.3.0.12-archive.tar.xz",
+            "sha256": "d2003f65ec46ded90db0639990efa2a2b5e3acebafbc2f47f8b8d47c4624c85d",
+            "md5": "29eac226551bfeeadb394f6b2215765e",
+            "size": "139988468"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2023.3.0.12-archive.tar.xz",
+            "sha256": "e4e809260462a313c1ecb5705b535558289e60507d26e77495cd456a9e1cd85b",
+            "md5": "bc6d08cb6d6e485cc94939940d0feb50",
+            "size": "358992716"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2023.3.0.12-archive.zip",
+            "sha256": "97959a668e6c4732b34a294bd997ce37f8f08ab5714c47af426a5d00313eb435",
+            "md5": "a23e3d5e577624f95e35738e7507ded1",
+            "size": "674363811"
+        }
+    },
+    "nsight_systems": {
+        "name": "Nsight Systems",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_systems/LICENSE.txt",
+        "version": "2023.3.3.42",
+        "linux-x86_64": {
+            "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2023.3.3.42-archive.tar.xz",
+            "sha256": "dafded1be045abea2804697646178a66bec4a5eebb1b28b2637a37c2f22c7b93",
+            "md5": "34208b6d0c71444babf10a9bfeac86b0",
+            "size": "227696524"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2023.3.3.42-archive.tar.xz",
+            "sha256": "5095fc2a432267c002fa84d14f8c09985c7ba17becb6095699d7407fcbe3234d",
+            "md5": "8f873649a9686b23c71ab4f5c575bf74",
+            "size": "67233156"
+        },
+        "linux-sbsa": {
+            "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2023.3.3.42-archive.tar.xz",
+            "sha256": "93976454c75ca4dc6da28c7e8cc886cc21ec513d4e0f294f56b9afad245e4071",
+            "md5": "98e172f249dfa5da3eaa564a86179601",
+            "size": "198960916"
+        },
+        "windows-x86_64": {
+            "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2023.3.3.42-archive.zip",
+            "sha256": "9049d2bd0f17d967f7c84f33eee04b83c6b65349e3b12f97a3a9211d411e0009",
+            "md5": "54e49f657acf7b5e337c77f94b9d0943",
+            "size": "348461444"
+        }
+    },
+    "nsight_vse": {
+        "name": "Nsight Visual Studio Edition (VSE)",
+        "license": "NVIDIA SLA",
+        "license_path": "nsight_vse/LICENSE.txt",
+        "version": "2023.3.0.23248",
+        "windows-x86_64": {
+            "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2023.3.0.23248-archive.zip",
+            "sha256": "10518927226a8a60c47bd1040e4be8b0396d37738ba1f11ba6bc918115e231a0",
+            "md5": "c2aba6d4604b9005b2a322dc68ce5534",
+            "size": "527217651"
+        }
+    },
+    "nvidia_driver": {
+        "name": "NVIDIA Linux Driver",
+        "license": "NVIDIA Driver",
+        "license_path": "nvidia_driver/LICENSE.txt",
+        "version": "545.23.06",
+        "linux-x86_64": {
+            "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-545.23.06-archive.tar.xz",
+            "sha256": "e799421bdfee93a16c2bfd0b7622875ae1e993cc1955383d92a57f36a2ce47db",
+            "md5": "4c17b86e90fd601d9f787b2777949bfd",
+            "size": "371993760"
+        },
+        "linux-ppc64le": {
+            "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-545.23.06-archive.tar.xz",
+            "sha256": "09e8790c9c79419acf74dc3d3f20c812d073e156001e617a8a4af9fe11713a36",
+            "md5": "f9734bc55548492a4d3e2d991419b446",
+            "size": "100061728"
+        },
+        "linux-sbsa": {
+            "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-545.23.06-archive.tar.xz",
+            "sha256": "6d0bf7e1adb49c0bcd968c9a4eb9ee324ebffa7683b34d92fd25f4ff2f99dbd1",
+            "md5": "9fe92968de77c9809d579582d5266b0a",
+            "size": "288683672"
+        }
+    },
+    "nvidia_fs": {
+        "name": "NVIDIA filesystem",
+        "license": "CUDA Toolkit",
+        "license_path": "nvidia_fs/LICENSE.txt",
+        "version": "2.18.3",
+        "linux-x86_64": {
+            "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.18.3-archive.tar.xz",
+            "sha256": "4b2b045c932c1449f28be246b3b28658981e81507825d73a35e11e9450774ac4",
+            "md5": "74135e8f97454338505b58bbcc5483a5",
+            "size": "58448"
+        },
+        "linux-sbsa": {
+            "relative_path": "nvidia_fs/linux-sbsa/nvidia_fs-linux-sbsa-2.18.3-archive.tar.xz",
+            "sha256": "80bae8ef6f977e2aeecb392c00e056e579657632abb02eb75e86bbf306db6f50",
+            "md5": "f88dd5297012268400192de8877f4606",
+            "size": "58460"
+        }
+    },
+    "visual_studio_integration": {
+        "name": "CUDA Visual Studio Integration",
+        "license": "CUDA Toolkit",
+        "license_path": "visual_studio_integration/LICENSE.txt",
+        "version": "12.3.52",
+        "windows-x86_64": {
+            "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-12.3.52-archive.zip",
+            "sha256": "b801075f82c789ac8014223ca3437ef87e9e0ee700b7b617f4495bcc273b788a",
+            "md5": "f456d7ab05e574cd8c2a20d8f1efd4e0",
+            "size": "518070"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cuda/overrides.nix b/pkgs/development/cuda-modules/cuda/overrides.nix
new file mode 100644
index 0000000000000..061d5da16bb59
--- /dev/null
+++ b/pkgs/development/cuda-modules/cuda/overrides.nix
@@ -0,0 +1,129 @@
+{cudaVersion, lib}:
+let
+  inherit (lib) attrsets lists strings;
+  # cudaVersionOlder : Version -> Boolean
+  cudaVersionOlder = strings.versionOlder cudaVersion;
+  # cudaVersionAtLeast : Version -> Boolean
+  cudaVersionAtLeast = strings.versionAtLeast cudaVersion;
+
+  addBuildInputs =
+    drv: buildInputs:
+    drv.overrideAttrs (prevAttrs: {buildInputs = prevAttrs.buildInputs ++ buildInputs;});
+in
+# NOTE: Filter out attributes that are not present in the previous version of
+# the package set. This is necessary to prevent the appearance of attributes
+# like `cuda_nvcc` in `cudaPackages_10_0, which predates redistributables.
+final: prev:
+attrsets.filterAttrs (attr: _: (builtins.hasAttr attr prev)) {
+  libcufile = prev.libcufile.overrideAttrs (
+    prevAttrs: {
+      buildInputs = prevAttrs.buildInputs ++ [
+        final.libcublas.lib
+        final.pkgs.numactl
+        final.pkgs.rdma-core
+      ];
+      # Before 11.7 libcufile depends on itself for some reason.
+      env.autoPatchelfIgnoreMissingDeps =
+        prevAttrs.env.autoPatchelfIgnoreMissingDeps
+        + strings.optionalString (cudaVersionOlder "11.7") " libcufile.so.0";
+    }
+  );
+
+  libcusolver = addBuildInputs prev.libcusolver (
+    # Always depends on this
+    [final.libcublas.lib]
+    # Dependency from 12.0 and on
+    ++ lists.optionals (cudaVersionAtLeast "12.0") [final.libnvjitlink.lib]
+    # Dependency from 12.1 and on
+    ++ lists.optionals (cudaVersionAtLeast "12.1") [final.libcusparse.lib]
+  );
+
+  libcusparse = addBuildInputs prev.libcusparse (
+    lists.optionals (cudaVersionAtLeast "12.0") [final.libnvjitlink.lib]
+  );
+
+  cuda_compat = prev.cuda_compat.overrideAttrs (
+    prevAttrs: {
+      env.autoPatchelfIgnoreMissingDeps =
+        prevAttrs.env.autoPatchelfIgnoreMissingDeps + " libnvrm_gpu.so libnvrm_mem.so";
+      # `cuda_compat` only works on aarch64-linux, and only when building for Jetson devices.
+      brokenConditions = prevAttrs.brokenConditions // {
+        "Trying to use cuda_compat on aarch64-linux targeting non-Jetson devices" =
+          !final.flags.isJetsonBuild;
+      };
+    }
+  );
+
+  cuda_gdb = addBuildInputs prev.cuda_gdb (
+    # x86_64 only needs gmp from 12.0 and on
+    lists.optionals (cudaVersionAtLeast "12.0") [final.pkgs.gmp]
+  );
+
+  cuda_nvcc = prev.cuda_nvcc.overrideAttrs (
+    oldAttrs: {
+      propagatedBuildInputs = [final.setupCudaHook];
+
+      meta = (oldAttrs.meta or {}) // {
+        mainProgram = "nvcc";
+      };
+    }
+  );
+
+  cuda_nvprof = prev.cuda_nvprof.overrideAttrs (
+    prevAttrs: {buildInputs = prevAttrs.buildInputs ++ [final.cuda_cupti.lib];}
+  );
+
+  cuda_demo_suite = addBuildInputs prev.cuda_demo_suite [
+    final.pkgs.freeglut
+    final.pkgs.libGLU
+    final.pkgs.libglvnd
+    final.pkgs.mesa
+    final.libcufft.lib
+    final.libcurand.lib
+  ];
+
+  nsight_compute = prev.nsight_compute.overrideAttrs (
+    prevAttrs: {
+      nativeBuildInputs =
+        prevAttrs.nativeBuildInputs
+        ++ (
+          if (strings.versionOlder prev.nsight_compute.version "2022.2.0") then
+            [final.pkgs.qt5.wrapQtAppsHook]
+          else
+            [final.pkgs.qt6.wrapQtAppsHook]
+        );
+      buildInputs =
+        prevAttrs.buildInputs
+        ++ (
+          if (strings.versionOlder prev.nsight_compute.version "2022.2.0") then
+            [final.pkgs.qt5.qtwebview]
+          else
+            [final.pkgs.qt6.qtwebview]
+        );
+    }
+  );
+
+  nsight_systems = prev.nsight_systems.overrideAttrs (
+    prevAttrs: {
+      nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [final.pkgs.qt5.wrapQtAppsHook];
+      buildInputs = prevAttrs.buildInputs ++ [
+        final.pkgs.alsa-lib
+        final.pkgs.e2fsprogs
+        final.pkgs.nss
+        final.pkgs.numactl
+        final.pkgs.pulseaudio
+        final.pkgs.wayland
+        final.pkgs.xorg.libXcursor
+        final.pkgs.xorg.libXdamage
+        final.pkgs.xorg.libXrandr
+        final.pkgs.xorg.libXtst
+      ];
+    }
+  );
+
+  nvidia_driver = prev.nvidia_driver.overrideAttrs {
+    # No need to support this package as we have drivers already
+    # in linuxPackages.
+    meta.broken = true;
+  };
+}
diff --git a/pkgs/development/cuda-modules/cudatoolkit/default.nix b/pkgs/development/cuda-modules/cudatoolkit/default.nix
new file mode 100644
index 0000000000000..e0868e2b1c2cb
--- /dev/null
+++ b/pkgs/development/cuda-modules/cudatoolkit/default.nix
@@ -0,0 +1,374 @@
+{
+  cudaVersion,
+  runPatches ? [],
+  autoPatchelfHook,
+  autoAddOpenGLRunpathHook,
+  addOpenGLRunpath,
+  alsa-lib,
+  curlMinimal,
+  expat,
+  fetchurl,
+  fontconfig,
+  freetype,
+  gdk-pixbuf,
+  glib,
+  glibc,
+  gst_all_1,
+  gtk2,
+  lib,
+  libxkbcommon,
+  libkrb5,
+  krb5,
+  makeWrapper,
+  markForCudatoolkitRootHook,
+  ncurses5,
+  numactl,
+  nss,
+  patchelf,
+  perl,
+  python3, # FIXME: CUDAToolkit 10 may still need python27
+  pulseaudio,
+  setupCudaHook,
+  stdenv,
+  backendStdenv, # E.g. gcc11Stdenv, set in extension.nix
+  unixODBC,
+  wayland,
+  xorg,
+  zlib,
+  freeglut,
+  libGLU,
+  libsForQt5,
+  libtiff,
+  qt6Packages,
+  qt6,
+  rdma-core,
+  ucx,
+  rsync,
+}:
+
+let
+  # Version info for the classic cudatoolkit packages that contain everything that is in redist.
+  releases = builtins.import ./releases.nix;
+  release = releases.${cudaVersion};
+in
+
+backendStdenv.mkDerivation rec {
+  pname = "cudatoolkit";
+  inherit (release) version;
+  inherit runPatches;
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src = fetchurl {inherit (release) url sha256;};
+
+  outputs = [
+    "out"
+    "lib"
+    "doc"
+  ];
+
+  nativeBuildInputs =
+    [
+      perl
+      makeWrapper
+      rsync
+      addOpenGLRunpath
+      autoPatchelfHook
+      autoAddOpenGLRunpathHook
+      markForCudatoolkitRootHook
+    ]
+    ++ lib.optionals (lib.versionOlder version "11") [libsForQt5.wrapQtAppsHook]
+    ++ lib.optionals (lib.versionAtLeast version "11.8") [qt6Packages.wrapQtAppsHook];
+  depsTargetTargetPropagated = [setupCudaHook];
+  buildInputs =
+    lib.optionals (lib.versionOlder version "11") [
+      libsForQt5.qt5.qtwebengine
+      freeglut
+      libGLU
+    ]
+    ++ [
+      # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
+      gdk-pixbuf
+
+      # For autoPatchelf
+      ncurses5
+      expat
+      python3
+      zlib
+      glibc
+      xorg.libX11
+      xorg.libXext
+      xorg.libXrender
+      xorg.libXt
+      xorg.libXtst
+      xorg.libXi
+      xorg.libXext
+      xorg.libXdamage
+      xorg.libxcb
+      xorg.xcbutilimage
+      xorg.xcbutilrenderutil
+      xorg.xcbutilwm
+      xorg.xcbutilkeysyms
+      pulseaudio
+      libxkbcommon
+      libkrb5
+      krb5
+      gtk2
+      glib
+      fontconfig
+      freetype
+      numactl
+      nss
+      unixODBC
+      alsa-lib
+      wayland
+    ]
+    ++ lib.optionals (lib.versionAtLeast version "11.8") [
+      (lib.getLib libtiff)
+      qt6Packages.qtwayland
+      rdma-core
+      (ucx.override {enableCuda = false;}) # Avoid infinite recursion
+      xorg.libxshmfence
+      xorg.libxkbfile
+    ]
+    ++ (lib.optionals (lib.versionAtLeast version "12") (
+      map lib.getLib ([
+        # Used by `/target-linux-x64/CollectX/clx` and `/target-linux-x64/CollectX/libclx_api.so` for:
+        # - `libcurl.so.4`
+        curlMinimal
+
+        # Used by `/host-linux-x64/Scripts/WebRTCContainer/setup/neko/server/bin/neko`
+        gst_all_1.gstreamer
+        gst_all_1.gst-plugins-base
+      ])
+      ++ (
+        with qt6; [
+          qtmultimedia
+          qttools
+          qtpositioning
+          qtscxml
+          qtsvg
+          qtwebchannel
+          qtwebengine
+        ]
+      )
+    ));
+
+  # Prepended to runpaths by autoPatchelf.
+  # The order inherited from older rpath preFixup code
+  runtimeDependencies = [
+    (placeholder "lib")
+    (placeholder "out")
+    "${placeholder "out"}/nvvm"
+    # NOTE: use the same libstdc++ as the rest of nixpkgs, not from backendStdenv
+    "${lib.getLib stdenv.cc.cc}/lib64"
+    "${placeholder "out"}/jre/lib/amd64/jli"
+    "${placeholder "out"}/lib64"
+    "${placeholder "out"}/nvvm/lib64"
+  ];
+
+  autoPatchelfIgnoreMissingDeps = [
+    # This is the hardware-dependent userspace driver that comes from
+    # nvidia_x11 package. It must be deployed at runtime in
+    # /run/opengl-driver/lib or pointed at by LD_LIBRARY_PATH variable, rather
+    # than pinned in runpath
+    "libcuda.so.1"
+
+    # The krb5 expression ships libcom_err.so.3 but cudatoolkit asks for the
+    # older
+    # This dependency is asked for by target-linux-x64/CollectX/RedHat/x86_64/libssl.so.10
+    # - do we even want to use nvidia-shipped libssl?
+    "libcom_err.so.2"
+  ];
+
+  preFixup =
+    if lib.versionOlder version "11" then
+      ''
+        ${lib.getExe' patchelf "patchelf"} $out/targets/*/lib/libnvrtc.so --add-needed libnvrtc-builtins.so
+      ''
+    else
+      ''
+        ${lib.getExe' patchelf "patchelf"} $out/lib64/libnvrtc.so --add-needed libnvrtc-builtins.so
+      '';
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+      cd pkg/run_files
+      sh cuda-linux*.run --keep --noexec
+      sh cuda-samples*.run --keep --noexec
+      mv pkg ../../$(basename $src)
+      cd ../..
+      rm -rf pkg
+
+      for patch in $runPatches; do
+        sh $patch --keep --noexec
+        mv pkg $(basename $patch)
+      done
+    ''}
+  '';
+
+  installPhase =
+    ''
+      runHook preInstall
+      mkdir $out
+      ${lib.optionalString (lib.versionOlder version "10.1") ''
+        cd $(basename $src)
+        export PERL5LIB=.
+        perl ./install-linux.pl --prefix="$out"
+        cd ..
+        for patch in $runPatches; do
+          cd $(basename $patch)
+          perl ./install_patch.pl --silent --accept-eula --installdir="$out"
+          cd ..
+        done
+      ''}
+      ${lib.optionalString (lib.versionAtLeast version "10.1" && lib.versionOlder version "11") ''
+        cd pkg/builds/cuda-toolkit
+        mv * $out/
+      ''}
+      ${lib.optionalString (lib.versionAtLeast version "11") ''
+        mkdir -p $out/bin $out/lib64 $out/include $doc
+        for dir in pkg/builds/* pkg/builds/cuda_nvcc/nvvm pkg/builds/cuda_cupti/extras/CUPTI; do
+          if [ -d $dir/bin ]; then
+            mv $dir/bin/* $out/bin
+          fi
+          if [ -d $dir/doc ]; then
+            (cd $dir/doc && find . -type d -exec mkdir -p $doc/\{} \;)
+            (cd $dir/doc && find . \( -type f -o -type l \) -exec mv \{} $doc/\{} \;)
+          fi
+          if [ -L $dir/include ] || [ -d $dir/include ]; then
+            (cd $dir/include && find . -type d -exec mkdir -p $out/include/\{} \;)
+            (cd $dir/include && find . \( -type f -o -type l \) -exec mv \{} $out/include/\{} \;)
+          fi
+          if [ -L $dir/lib64 ] || [ -d $dir/lib64 ]; then
+            (cd $dir/lib64 && find . -type d -exec mkdir -p $out/lib64/\{} \;)
+            (cd $dir/lib64 && find . \( -type f -o -type l \) -exec mv \{} $out/lib64/\{} \;)
+          fi
+        done
+        mv pkg/builds/cuda_nvcc/nvvm $out/nvvm
+
+        mv pkg/builds/cuda_sanitizer_api $out/cuda_sanitizer_api
+        ln -s $out/cuda_sanitizer_api/compute-sanitizer/compute-sanitizer $out/bin/compute-sanitizer
+
+        mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64
+        mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64
+        rm $out/host-linux-x64/libstdc++.so*
+      ''}
+        ${
+          lib.optionalString (lib.versionAtLeast version "11.8")
+            # error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/.......-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so
+            # we only ship libtiff.so.6, so let's use qt plugins built by Nix.
+            # TODO: don't copy, come up with a symlink-based "merge"
+            ''
+              rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP
+            ''
+        }
+
+      rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
+
+      ${lib.optionalString (lib.versionOlder version "10.1") ''
+        # let's remove the 32-bit libraries, they confuse the lib64->lib mover
+        rm -rf $out/lib
+      ''}
+
+      ${lib.optionalString (lib.versionAtLeast version "12.0") ''
+        rm $out/host-linux-x64/libQt6*
+      ''}
+
+      # Remove some cruft.
+      ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
+        "rm $out/bin/uninstall*"}
+
+      # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
+      if [ -d "$out"/cuda-samples ]; then
+          mv "$out"/cuda-samples "$out"/samples
+      fi
+
+      # Change the #error on GCC > 4.9 to a #warning.
+      sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
+
+      # Fix builds with newer glibc version
+      sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
+    ''
+    +
+      # Point NVCC at a compatible compiler
+      # CUDA_TOOLKIT_ROOT_DIR is legacy,
+      # Cf. https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
+      ''
+        mkdir -p $out/nix-support
+        cat <<EOF >> $out/nix-support/setup-hook
+        cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'
+        EOF
+
+        # Move some libraries to the lib output so that programs that
+        # depend on them don't pull in this entire monstrosity.
+        mkdir -p $lib/lib
+        mv -v $out/lib64/libcudart* $lib/lib/
+
+        # Remove OpenCL libraries as they are provided by ocl-icd and driver.
+        rm -f $out/lib64/libOpenCL*
+        ${lib.optionalString (lib.versionAtLeast version "10.1" && (lib.versionOlder version "11")) ''
+          mv $out/lib64 $out/lib
+          mv $out/extras/CUPTI/lib64/libcupti* $out/lib
+        ''}
+
+        # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
+        wrapProgram $out/bin/nvprof \
+          --prefix LD_LIBRARY_PATH : $out/lib
+      ''
+    + lib.optionalString (lib.versionOlder version "8.0") ''
+      # Hack to fix building against recent Glibc/GCC.
+      echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
+    ''
+    # 11.8 includes a broken symlink, include/include, pointing to targets/x86_64-linux/include
+    + lib.optionalString (lib.versions.majorMinor version == "11.8") ''
+      rm $out/include/include
+    ''
+    + ''
+      runHook postInstall
+    '';
+
+  postInstall = ''
+    for b in nvvp ${lib.optionalString (lib.versionOlder version "11") "nsight"}; do
+      wrapProgram "$out/bin/$b" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+    done
+  '';
+
+  # cuda-gdb doesn't run correctly when not using sandboxing, so
+  # temporarily disabling the install check.  This should be set to true
+  # when we figure out how to get `cuda-gdb --version` to run correctly
+  # when not using sandboxing.
+  doInstallCheck = false;
+  postInstallCheck = ''
+    # Smoke test binaries
+    pushd $out/bin
+    for f in *; do
+      case $f in
+        crt)                           continue;;
+        nvcc.profile)                  continue;;
+        nsight_ee_plugins_manage.sh)   continue;;
+        uninstall_cuda_toolkit_6.5.pl) continue;;
+        computeprof|nvvp|nsight)       continue;; # GUIs don't feature "--version"
+        *)                             echo "Executing '$f --version':"; ./$f --version;;
+      esac
+    done
+    popd
+  '';
+  passthru = {
+    inherit (backendStdenv) cc;
+    majorMinorVersion = lib.versions.majorMinor version;
+    majorVersion = lib.versions.majorMinor version;
+  };
+
+  meta = with lib; {
+    description = "A compiler for NVIDIA GPUs, math libraries, and tools";
+    homepage = "https://developer.nvidia.com/cuda-toolkit";
+    platforms = ["x86_64-linux"];
+    license = licenses.nvidiaCuda;
+    maintainers = teams.cuda.members;
+  };
+}
diff --git a/pkgs/development/cuda-modules/cudatoolkit/releases.nix b/pkgs/development/cuda-modules/cudatoolkit/releases.nix
new file mode 100644
index 0000000000000..d1f7bf9a12ff4
--- /dev/null
+++ b/pkgs/development/cuda-modules/cudatoolkit/releases.nix
@@ -0,0 +1,108 @@
+# Type Aliases
+# CudaVersion = String (two-component version, e.g. "10.0")
+# Release = {
+#   version: String
+#     - The version of CUDA.
+#   url: String
+#     - The URL to download the CUDA installer from.
+#   sha256: String
+#     - The SHA256 checksum of the CUDA installer.
+# }
+# Releases = AttrSet CudaVersion Release
+{
+  "10.0" = {
+    version = "10.0.130";
+    url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux";
+    sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj";
+  };
+
+  "10.1" = {
+    version = "10.1.243";
+    url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run";
+    sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7";
+  };
+
+  "10.2" = {
+    version = "10.2.89";
+    url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run";
+    sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an";
+  };
+
+  "11.0" = {
+    version = "11.0.3";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run";
+    sha256 = "1h4c69nfrgm09jzv8xjnjcvpq8n4gnlii17v3wzqry5d13jc8ydh";
+  };
+
+  "11.1" = {
+    version = "11.1.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run";
+    sha256 = "13yxv2fgvdnqqbwh1zb80x4xhyfkbajfkwyfpdg9493010kngbiy";
+  };
+
+  "11.2" = {
+    version = "11.2.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run";
+    sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g=";
+  };
+
+  "11.3" = {
+    version = "11.3.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run";
+    sha256 = "0d19pwcqin76scbw1s5kgj8n0z1p4v1hyfldqmamilyfxycfm4xd";
+  };
+
+  "11.4" = {
+    version = "11.4.2";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run";
+    sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo=";
+  };
+
+  "11.5" = {
+    version = "11.5.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run";
+    sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw=";
+  };
+
+  "11.6" = {
+    version = "11.6.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run";
+    sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4=";
+  };
+
+  "11.7" = {
+    version = "11.7.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run";
+    sha256 = "sha256-CH/fy7ofeVQ7H3jkOo39rF9tskLQQt3oIOFtwYWJLyY=";
+  };
+
+  "11.8" = {
+    version = "11.8.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run";
+    sha256 = "sha256-kiPErzrr5Ke77Zq9mxY7A6GzS4VfvCtKDRtwasCaWhY=";
+  };
+
+  "12.0" = {
+    version = "12.0.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda_12.0.1_525.85.12_linux.run";
+    sha256 = "sha256-GyBaBicvFGP0dydv2rkD8/ZmkXwGjlIHOAAeacehh1s=";
+  };
+
+  "12.1" = {
+    version = "12.1.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run";
+    sha256 = "sha256-10Ai1B2AEFMZ36Ib7qObd6W5kZU5wEh6BcqvJEbWpw4=";
+  };
+
+  "12.2" = {
+    version = "12.2.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run";
+    sha256 = "sha256-7PPSr63LrAKfD0UFeFgQ1S0AbkuHunn/P5hDNqK79Rg=";
+  };
+
+  "12.3" = {
+    version = "12.3.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run";
+    sha256 = "sha256-fBP6zjr2TW4WSNbjEB0xyBEedHFDrLAHfZc8FpCCBCI=";
+  };
+}
diff --git a/pkgs/development/cuda-modules/cudnn/fixup.nix b/pkgs/development/cuda-modules/cudnn/fixup.nix
new file mode 100644
index 0000000000000..1fb5a6ad015e4
--- /dev/null
+++ b/pkgs/development/cuda-modules/cudnn/fixup.nix
@@ -0,0 +1,69 @@
+{
+  cudaVersion,
+  fetchurl,
+  final,
+  lib,
+  package,
+  patchelf,
+  zlib,
+  ...
+}:
+let
+  inherit (lib)
+    lists
+    maintainers
+    meta
+    strings
+    ;
+in
+finalAttrs: prevAttrs: {
+  src = fetchurl {inherit (package) url hash;};
+
+  # Useful for inspecting why something went wrong.
+  brokenConditions =
+    let
+      cudaTooOld = strings.versionOlder cudaVersion package.minCudaVersion;
+      cudaTooNew =
+        (package.maxCudaVersion != null) && strings.versionOlder package.maxCudaVersion cudaVersion;
+    in
+    prevAttrs.brokenConditions
+    // {
+      "CUDA version is too old" = cudaTooOld;
+      "CUDA version is too new" = cudaTooNew;
+    };
+
+  buildInputs =
+    prevAttrs.buildInputs
+    ++ [zlib]
+    ++ lists.optionals finalAttrs.passthru.useCudatoolkitRunfile [final.cudatoolkit]
+    ++ lists.optionals (!finalAttrs.passthru.useCudatoolkitRunfile) [final.libcublas.lib];
+
+  # Tell autoPatchelf about runtime dependencies.
+  # NOTE: Versions from CUDNN releases have four components.
+  postFixup = strings.optionalString (strings.versionAtLeast finalAttrs.version "8.0.5.0") ''
+    ${meta.getExe' patchelf "patchelf"} $lib/lib/libcudnn.so --add-needed libcudnn_cnn_infer.so
+    ${meta.getExe' patchelf "patchelf"} $lib/lib/libcudnn_ops_infer.so --add-needed libcublas.so --add-needed libcublasLt.so
+  '';
+
+  passthru.useCudatoolkitRunfile = strings.versionOlder cudaVersion "11.3.999";
+
+  meta = prevAttrs.meta // {
+    homepage = "https://developer.nvidia.com/cudnn";
+    maintainers =
+      prevAttrs.meta.maintainers
+      ++ (
+        with maintainers; [
+          mdaiter
+          samuela
+          connorbaker
+        ]
+      );
+    license = {
+      shortName = "cuDNN EULA";
+      fullName = "NVIDIA cuDNN Software License Agreement (EULA)";
+      url = "https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html#supplement";
+      free = false;
+      redistributable = !finalAttrs.passthru.useCudatoolkitRunfile;
+    };
+  };
+}
diff --git a/pkgs/development/cuda-modules/cudnn/releases.nix b/pkgs/development/cuda-modules/cudnn/releases.nix
new file mode 100644
index 0000000000000..701cb4c20d364
--- /dev/null
+++ b/pkgs/development/cuda-modules/cudnn/releases.nix
@@ -0,0 +1,262 @@
+# NOTE: Check https://docs.nvidia.com/deeplearning/cudnn/archives/index.html for support matrices.
+# Version policy is to keep the latest minor release for each major release.
+{
+  cudnn.releases = {
+    # jetson
+    linux-aarch64 = [
+      {
+        version = "8.9.5.30";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-aarch64/cudnn-linux-aarch64-8.9.5.30_cuda12-archive.tar.xz";
+        hash = "sha256-BJH3sC9VwiB362eL8xTB+RdSS9UHz1tlgjm/mKRyM6E=";
+      }
+    ];
+    # powerpc
+    linux-ppc64le = [];
+    # server-grade arm
+    linux-sbsa = [
+      {
+        version = "8.4.1.50";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.7";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.4.1.50_cuda11.6-archive.tar.xz";
+        hash = "sha256-CxufrFt4l04v2qp0hD2xj2Ns6PPZmdYv8qYVuZePw2A=";
+      }
+      {
+        version = "8.5.0.96";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.7";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.5.0.96_cuda11-archive.tar.xz";
+        hash = "sha256-hngKu+zUY05zY/rR0ACuI7eQWl+Dg73b9zMsaTR5Hd4=";
+      }
+      {
+        version = "8.6.0.163";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.6.0.163_cuda11-archive.tar.xz";
+        hash = "sha256-oCAieNPL1POtw/eBa/9gcWIcsEKwkDaYtHesrIkorAY=";
+      }
+      {
+        version = "8.7.0.84";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.7.0.84_cuda11-archive.tar.xz";
+        hash = "sha256-z5Z/eNv2wHUkPMg6oYdZ43DbN1SqFbEqChTov2ejqdQ=";
+      }
+      {
+        version = "8.8.1.3";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.8.1.3_cuda11-archive.tar.xz";
+        hash = "sha256-OzWq+aQkmIbZONmWSYyFoZzem3RldoXyJy7GVT6GM1k=";
+      }
+      {
+        version = "8.8.1.3";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.0";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.8.1.3_cuda12-archive.tar.xz";
+        hash = "sha256-njl3qhudBuuGC1gqyJM2MGdaAkMCnCWb/sW7VpmGfSA=";
+      }
+      {
+        version = "8.9.6.50";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.6.50_cuda11-archive.tar.xz";
+        hash = "sha256-nlQWYSOJWci7o3wFGIuxrkoo8d3ddg4F2hU/qJySvBE=";
+      }
+      {
+        version = "8.9.6.50";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.6.50_cuda12-archive.tar.xz";
+        hash = "sha256-L20O26RelmeynVfjohEADW3Vaj3VbFS2dTUadTKlXdg=";
+      }
+    ];
+    # x86_64
+    linux-x86_64 = [
+      {
+        version = "7.4.2.24";
+        minCudaVersion = "10.0";
+        maxCudaVersion = "10.0";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.4.2/cudnn-10.0-linux-x64-v7.4.2.24.tgz";
+        hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM=";
+      }
+      {
+        version = "7.6.5.32";
+        minCudaVersion = "10.0";
+        maxCudaVersion = "10.0";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.0-linux-x64-v7.6.5.32.tgz";
+        hash = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro=";
+      }
+      {
+        version = "7.6.5.32";
+        minCudaVersion = "10.1";
+        maxCudaVersion = "10.1";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.1-linux-x64-v7.6.5.32.tgz";
+        hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM=";
+      }
+      {
+        version = "7.6.5.32";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.2-linux-x64-v7.6.5.32.tgz";
+        hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLN=";
+      }
+      {
+        version = "8.0.5.39";
+        minCudaVersion = "10.1";
+        maxCudaVersion = "10.1";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-10.1-linux-x64-v8.0.5.39.tgz";
+        hash = "sha256-kJCElSmIlrM6qVBjo0cfk8NmJ9esAcF9w211xl7qSgA=";
+      }
+      {
+        version = "8.0.5.39";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-10.2-linux-x64-v8.0.5.39.tgz";
+        hash = "sha256-IfhMBcZ78eyFnnfDjM1b8VSWT6HDCPRJlZvkw1bjgvM=";
+      }
+      {
+        version = "8.0.5.39";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.0";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-11.0-linux-x64-v8.0.5.39.tgz";
+        hash = "sha256-ThbueJXetKixwZS4ErpJWG730mkCBRQB03F1EYmKm3M=";
+      }
+      {
+        version = "8.0.5.39";
+        minCudaVersion = "11.1";
+        maxCudaVersion = "11.1";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-11.1-linux-x64-v8.0.5.39.tgz";
+        hash = "sha256-HQRr+nk5navMb2yxUHkYdUQ5RC6gyp4Pvs3URvmwDM4=";
+      }
+      {
+        version = "8.1.1.33";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.1.1/cudnn-10.2-linux-x64-v8.1.1.33.tgz";
+        hash = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0=";
+      }
+      {
+        version = "8.1.1.33";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.1.1/cudnn-11.2-linux-x64-v8.1.1.33.tgz";
+        hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
+      }
+      {
+        version = "8.2.4.15";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.2.4/cudnn-10.2-linux-x64-v8.2.4.15.tgz";
+        hash = "sha256-0jyUoxFaHHcRamwSfZF1+/WfcjNkN08mo0aZB18yIvE=";
+      }
+      {
+        version = "8.2.4.15";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.4";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.2.4/cudnn-11.4-linux-x64-v8.2.4.15.tgz";
+        hash = "sha256-Dl0t+JC5ln76ZhnaQhMQ2XMjVlp58FoajLm3Fluq0Nc=";
+      }
+      {
+        version = "8.3.3.40";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.3/local_installers/10.2/cudnn-linux-x86_64-8.3.3.40_cuda10.2-archive.tar.xz";
+        hash = "sha256-2FVPKzLmKV1fyPOsJeaPlAWLAYyAHaucFD42gS+JJqs=";
+      }
+      {
+        version = "8.3.3.40";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.6";
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.3/local_installers/11.5/cudnn-linux-x86_64-8.3.3.40_cuda11.5-archive.tar.xz";
+        hash = "sha256-6r6Wx1zwPqT1N5iU2RTx+K4UzqsSGYnoSwg22Sf7dzE=";
+      }
+      {
+        version = "8.4.1.50";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive.tar.xz";
+        hash = "sha256-I88qMmU6lIiLVmaPuX7TTbisgTav839mssxUo3lQNjg=";
+      }
+      {
+        version = "8.4.1.50";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.7";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz";
+        hash = "sha256-7JbSN22B/KQr3T1MPXBambKaBlurV/kgVhx2PinGfQE=";
+      }
+      {
+        version = "8.5.0.96";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.5.0.96_cuda10-archive.tar.xz";
+        hash = "sha256-1mzhbbzR40WKkHnQLtJHhg0vYgf7G8a0OBcCwIOkJjM=";
+      }
+      {
+        version = "8.5.0.96";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.7";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz";
+        hash = "sha256-VFSm/ZTwCHKMqumtrZk8ToXvNjAuJrzkO+p9RYpee20=";
+      }
+      {
+        version = "8.6.0.163";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.6.0.163_cuda10-archive.tar.xz";
+        hash = "sha256-t4sr/GrFqqdxu2VhaJQk5K1Xm/0lU4chXG8hVL09R9k=";
+      }
+      {
+        version = "8.6.0.163";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz";
+        hash = "sha256-u8OW30cpTGV+3AnGAGdNYIyxv8gLgtz0VHBgwhcRFZ4=";
+      }
+      {
+        version = "8.7.0.84";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.7.0.84_cuda10-archive.tar.xz";
+        hash = "sha256-bZhaqc8+GbPV2FQvvbbufd8VnEJgvfkICc2N3/gitRg=";
+      }
+      {
+        version = "8.7.0.84";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz";
+        hash = "sha256-l2xMunIzyXrnQAavq1Fyl2MAukD1slCiH4z3H1nJ920=";
+      }
+      {
+        version = "8.8.1.3";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz";
+        hash = "sha256-r3WEyuDMVSS1kT7wjCm6YVQRPGDrCjegWQqRtRWoqPk=";
+      }
+      {
+        version = "8.8.1.3";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.0";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.8.1.3_cuda12-archive.tar.xz";
+        hash = "sha256-edd6dpx+cXWrx7XC7VxJQUjAYYqGQThyLIh/lcYjd3w=";
+      }
+      {
+        version = "8.9.6.50";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda11-archive.tar.xz";
+        hash = "sha256-oOLvVemfTNZH99HaqlqkUE/6M1ujAYbVwyiPL0ffBX4=";
+      }
+      {
+        version = "8.9.6.50";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.2";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz";
+        hash = "sha256-FyIlnblSZbs4E0OKWhxuzZed6JrkU2YDkEBC4STTAtU=";
+      }
+    ];
+  };
+}
diff --git a/pkgs/development/cuda-modules/cudnn/shims.nix b/pkgs/development/cuda-modules/cudnn/shims.nix
new file mode 100644
index 0000000000000..e9eca8ef7c8b9
--- /dev/null
+++ b/pkgs/development/cuda-modules/cudnn/shims.nix
@@ -0,0 +1,13 @@
+# Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix
+{package, redistArch}:
+{
+  featureRelease.${redistArch}.outputs = {
+    lib = true;
+    static = true;
+    dev = true;
+  };
+  redistribRelease = {
+    name = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
+    inherit (package) version;
+  };
+}
diff --git a/pkgs/development/cuda-modules/cutensor/extension.nix b/pkgs/development/cuda-modules/cutensor/extension.nix
new file mode 100644
index 0000000000000..b762fd22ede88
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/extension.nix
@@ -0,0 +1,164 @@
+# Support matrix can be found at
+# https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-880/support-matrix/index.html
+#
+# TODO(@connorbaker):
+# This is a very similar strategy to CUDA/CUDNN:
+#
+# - Get all versions supported by the current release of CUDA
+# - Build all of them
+# - Make the newest the default
+#
+# Unique twists:
+#
+# - Instead of providing different releases for each version of CUDA, CuTensor has multiple subdirectories in `lib`
+#   -- one for each version of CUDA.
+{
+  cudaVersion,
+  flags,
+  hostPlatform,
+  lib,
+  mkVersionedPackageName,
+}:
+let
+  inherit (lib)
+    attrsets
+    lists
+    modules
+    versions
+    strings
+    trivial
+    ;
+
+  redistName = "cutensor";
+  pname = "libcutensor";
+
+  cutensorVersions = [
+    "1.3.3"
+    "1.4.0"
+    "1.5.0"
+    "1.6.2"
+    "1.7.0"
+  ];
+
+  # Manifests :: { redistrib, feature }
+
+  # Each release of cutensor gets mapped to an evaluated module for that release.
+  # From there, we can get the min/max CUDA versions supported by that release.
+  # listOfManifests :: List Manifests
+  listOfManifests =
+    let
+      configEvaluator =
+        fullCutensorVersion:
+        modules.evalModules {
+          modules = [
+            ../modules
+            # We need to nest the manifests in a config.cutensor.manifests attribute so the
+            # module system can evaluate them.
+            {
+              cutensor.manifests = {
+                redistrib = trivial.importJSON (./manifests + "/redistrib_${fullCutensorVersion}.json");
+                feature = trivial.importJSON (./manifests + "/feature_${fullCutensorVersion}.json");
+              };
+            }
+          ];
+        };
+      # Un-nest the manifests attribute set.
+      releaseGrabber = evaluatedModules: evaluatedModules.config.cutensor.manifests;
+    in
+    lists.map
+      (trivial.flip trivial.pipe [
+        configEvaluator
+        releaseGrabber
+      ])
+      cutensorVersions;
+
+  # Our cudaVersion tells us which version of CUDA we're building against.
+  # The subdirectories in lib/ tell us which versions of CUDA are supported.
+  # Typically the names will look like this:
+  #
+  # - 10.2
+  # - 11
+  # - 11.0
+  # - 12
+
+  # libPath :: String
+  libPath =
+    let
+      cudaMajorMinor = versions.majorMinor cudaVersion;
+      cudaMajor = versions.major cudaVersion;
+    in
+    if cudaMajorMinor == "10.2" then cudaMajorMinor else cudaMajor;
+
+  # A release is supported if it has a libPath that matches our CUDA version for our platform.
+  # LibPath are not constant across the same release -- one platform may support fewer
+  # CUDA versions than another.
+  redistArch = flags.getRedistArch hostPlatform.system;
+  # platformIsSupported :: Manifests -> Boolean
+  platformIsSupported =
+    {feature, ...}:
+    (attrsets.attrByPath
+      [
+        pname
+        redistArch
+      ]
+      null
+      feature
+    ) != null;
+
+  # TODO(@connorbaker): With an auxilliary file keeping track of the CUDA versions each release supports,
+  # we could filter out releases that don't support our CUDA version.
+  # However, we don't have that currently, so we make a best-effort to try to build TensorRT with whatever
+  # libPath corresponds to our CUDA version.
+  # supportedManifests :: List Manifests
+  supportedManifests = builtins.filter platformIsSupported listOfManifests;
+
+  # Compute versioned attribute name to be used in this package set
+  # Patch version changes should not break the build, so we only use major and minor
+  # computeName :: RedistribRelease -> String
+  computeName = {version, ...}: mkVersionedPackageName redistName version;
+in
+final: _:
+let
+  # buildCutensorPackage :: Manifests -> AttrSet Derivation
+  buildCutensorPackage =
+    {redistrib, feature}:
+    let
+      drv = final.callPackage ../generic-builders/manifest.nix {
+        inherit pname redistName libPath;
+        redistribRelease = redistrib.${pname};
+        featureRelease = feature.${pname};
+      };
+      fixedDrv = drv.overrideAttrs (
+        prevAttrs: {
+          buildInputs =
+            prevAttrs.buildInputs
+            ++ lists.optionals (strings.versionOlder cudaVersion "11.4") [final.cudatoolkit]
+            ++ lists.optionals (strings.versionAtLeast cudaVersion "11.4") (
+              [final.libcublas.lib]
+              # For some reason, the 1.4.x release of cuTENSOR requires the cudart library.
+              ++ lists.optionals (strings.hasPrefix "1.4" redistrib.${pname}.version) [final.cuda_cudart.lib]
+            );
+          meta = prevAttrs.meta // {
+            description = "cuTENSOR: A High-Performance CUDA Library For Tensor Primitives";
+            homepage = "https://developer.nvidia.com/cutensor";
+            maintainers = prevAttrs.meta.maintainers ++ [lib.maintainers.obsidian-systems-maintenance];
+            license = lib.licenses.unfreeRedistributable // {
+              shortName = "cuTENSOR EULA";
+              name = "cuTENSOR SUPPLEMENT TO SOFTWARE LICENSE AGREEMENT FOR NVIDIA SOFTWARE DEVELOPMENT KITS";
+              url = "https://docs.nvidia.com/cuda/cutensor/license.html";
+            };
+          };
+        }
+      );
+    in
+    attrsets.nameValuePair (computeName redistrib.${pname}) fixedDrv;
+
+  extension =
+    let
+      nameOfNewest = computeName (lists.last supportedManifests).redistrib.${pname};
+      drvs = builtins.listToAttrs (lists.map buildCutensorPackage supportedManifests);
+      containsDefault = attrsets.optionalAttrs (drvs != {}) {cutensor = drvs.${nameOfNewest};};
+    in
+    drvs // containsDefault;
+in
+extension
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_1.3.3.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.3.3.json
new file mode 100644
index 0000000000000..99679aecbc448
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.3.3.json
@@ -0,0 +1,44 @@
+{
+  "libcutensor": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_1.4.0.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.4.0.json
new file mode 100644
index 0000000000000..99679aecbc448
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.4.0.json
@@ -0,0 +1,44 @@
+{
+  "libcutensor": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_1.5.0.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.5.0.json
new file mode 100644
index 0000000000000..99679aecbc448
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.5.0.json
@@ -0,0 +1,44 @@
+{
+  "libcutensor": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_1.6.2.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.6.2.json
new file mode 100644
index 0000000000000..99679aecbc448
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.6.2.json
@@ -0,0 +1,44 @@
+{
+  "libcutensor": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/feature_1.7.0.json b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.7.0.json
new file mode 100644
index 0000000000000..99679aecbc448
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/feature_1.7.0.json
@@ -0,0 +1,44 @@
+{
+  "libcutensor": {
+    "linux-ppc64le": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-sbsa": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "linux-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": true,
+        "sample": false,
+        "static": true
+      }
+    },
+    "windows-x86_64": {
+      "outputs": {
+        "bin": false,
+        "dev": true,
+        "doc": false,
+        "lib": false,
+        "sample": false,
+        "static": false
+      }
+    }
+  }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.3.3.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.3.3.json
new file mode 100644
index 0000000000000..ca12b8c92e980
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.3.3.json
@@ -0,0 +1,32 @@
+{
+    "release_date": "2021-09-22",
+    "libcutensor": {
+        "name": "NVIDIA cuTENSOR",
+        "license": "cuTensor",
+        "version": "1.3.3.2",
+        "linux-x86_64": {
+            "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.3.3.2-archive.tar.xz",
+            "sha256": "2e9517f31305872a7e496b6aa8ea329acda6b947b0c1eb1250790eaa2d4e2ecc",
+            "md5": "977699555cfcc8d2ffeff018a0f975b0",
+            "size": "201849628"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-1.3.3.2-archive.tar.xz",
+            "sha256": "79f294c4a7933e5acee5f150145c526d6cd4df16eefb63f2d65df1dbc683cd68",
+            "md5": "1f632c9d33ffef9c819e10c95d69a134",
+            "size": "202541908"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-1.3.3.2-archive.tar.xz",
+            "sha256": "0b62d5305abfdfca4776290f16a1796c78c1fa83b203680c012f37d44706fcdb",
+            "md5": "e476675490aff0b154f2f38063f0c10b",
+            "size": "149059520"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-1.3.3.2-archive.zip",
+            "sha256": "3abeacbe7085af7026ca1399a77c681c219c10a1448a062964e97aaac2b05851",
+            "md5": "fe75f031c53260c00ad5f7c5d69d31e5",
+            "size": "374926147"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.4.0.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.4.0.json
new file mode 100644
index 0000000000000..45008c2d0af9f
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.4.0.json
@@ -0,0 +1,32 @@
+{
+    "release_date": "2021-11-19",
+    "libcutensor": {
+        "name": "NVIDIA cuTENSOR",
+        "license": "cuTensor",
+        "version": "1.4.0.6",
+        "linux-x86_64": {
+            "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.4.0.6-archive.tar.xz",
+            "sha256": "467ba189195fcc4b868334fc16a0ae1e51574139605975cc8004cedebf595964",
+            "md5": "5d4009390be0226fc3ee75d225053123",
+            "size": "218277136"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-1.4.0.6-archive.tar.xz",
+            "sha256": "5da44ff2562ab7b9286122653e54f28d2222c8aab4bb02e9bdd4cf7e4b7809be",
+            "md5": "6058c728485072c980f652c2de38b016",
+            "size": "218951992"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-1.4.0.6-archive.tar.xz",
+            "sha256": "6b06d63a5bc49c1660be8c307795f8a901c93dcde7b064455a6c81333c7327f4",
+            "md5": "a6f3fd515c052df43fbee9508ea87e1e",
+            "size": "163596044"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-1.4.0.6-archive.zip",
+            "sha256": "4f01a8aac2c25177e928c63381a80e3342f214ec86ad66965dcbfe81fc5c901d",
+            "md5": "d21e0d5f2bd8c29251ffacaa85f0d733",
+            "size": "431385567"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.5.0.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.5.0.json
new file mode 100644
index 0000000000000..fe1852f261f2b
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.5.0.json
@@ -0,0 +1,32 @@
+{
+    "release_date": "2022-03-08",
+    "libcutensor": {
+        "name": "NVIDIA cuTENSOR",
+        "license": "cuTensor",
+        "version": "1.5.0.3",
+        "linux-x86_64": {
+            "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.5.0.3-archive.tar.xz",
+            "sha256": "4fdebe94f0ba3933a422cff3dd05a0ef7a18552ca274dd12564056993f55471d",
+            "md5": "7e1b1a613b819d6cf6ee7fbc70f16105",
+            "size": "208925360"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-1.5.0.3-archive.tar.xz",
+            "sha256": "ad736acc94e88673b04a3156d7d3a408937cac32d083acdfbd8435582cbe15db",
+            "md5": "bcdafb6d493aceebfb9a420880f1486c",
+            "size": "208384668"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-1.5.0.3-archive.tar.xz",
+            "sha256": "5b9ac479b1dadaf40464ff3076e45f2ec92581c07df1258a155b5bcd142f6090",
+            "md5": "62149d726480d12c9a953d27edc208dc",
+            "size": "156512748"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-1.5.0.3-archive.zip",
+            "sha256": "de76f7d92600dda87a14ac756e9d0b5733cbceb88bcd20b3935a82c99342e6cd",
+            "md5": "66feef08de8c7fccf7269383e663fd06",
+            "size": "421810766"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.6.2.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.6.2.json
new file mode 100644
index 0000000000000..95b3706fc56f7
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.6.2.json
@@ -0,0 +1,32 @@
+{
+    "release_date": "2022-12-12",
+    "libcutensor": {
+        "name": "NVIDIA cuTENSOR",
+        "license": "cuTensor",
+        "version": "1.6.2.3",
+        "linux-x86_64": {
+            "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.6.2.3-archive.tar.xz",
+            "sha256": "0f2745681b1d0556f9f46ff6af4937662793498d7367b5f8f6b8625ac051629e",
+            "md5": "b84a2f6712e39314f6c54b429152339f",
+            "size": "538838404"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-1.6.2.3-archive.tar.xz",
+            "sha256": "558329fa05409f914ebbe218a1cf7c9ccffdb7aa2642b96db85fd78b5ad534d1",
+            "md5": "8d5d129aa7863312a95084ab5a27b7e7",
+            "size": "535585612"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-1.6.2.3-archive.tar.xz",
+            "sha256": "7d4d9088c892bb692ffd70750b49625d1ccbb85390f6eb7c70d6cf582df6d935",
+            "md5": "f6e0cce3a3b38ced736e55a19da587a3",
+            "size": "450705724"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-1.6.2.3-archive.zip",
+            "sha256": "07cb312d7cafc7bb2f33d775e1ef5fffd1703d5c6656e785a7a8f0f01939907e",
+            "md5": "5ae1c56bf4d457933dc1acb58a4ac995",
+            "size": "1063805254"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.7.0.json b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.7.0.json
new file mode 100644
index 0000000000000..f09abaa62940d
--- /dev/null
+++ b/pkgs/development/cuda-modules/cutensor/manifests/redistrib_1.7.0.json
@@ -0,0 +1,32 @@
+{
+    "release_date": "2023-03-16",
+    "libcutensor": {
+        "name": "NVIDIA cuTENSOR",
+        "license": "cuTensor",
+        "version": "1.7.0.1",
+        "linux-x86_64": {
+            "relative_path": "libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.7.0.1-archive.tar.xz",
+            "sha256": "dd3557891371a19e73e7c955efe5383b0bee954aba6a30e4892b0e7acb9deb26",
+            "md5": "7c7e655e2ef1c57ede351f5f5c7c59be",
+            "size": "542970468"
+        },
+        "linux-ppc64le": {
+            "relative_path": "libcutensor/linux-ppc64le/libcutensor-linux-ppc64le-1.7.0.1-archive.tar.xz",
+            "sha256": "af4ad5e29dcb636f1bf941ed1fd7fc8053eeec4813fbc0b41581e114438e84c8",
+            "md5": "30739decf9f5267f2a5f28c7c1a1dc3d",
+            "size": "538487672"
+        },
+        "linux-sbsa": {
+            "relative_path": "libcutensor/linux-sbsa/libcutensor-linux-sbsa-1.7.0.1-archive.tar.xz",
+            "sha256": "c31f8e4386539434a5d1643ebfed74572011783b4e21b62be52003e3a9de3720",
+            "md5": "3185c17e8f32c9c54f591006b917365e",
+            "size": "454324456"
+        },
+        "windows-x86_64": {
+            "relative_path": "libcutensor/windows-x86_64/libcutensor-windows-x86_64-1.7.0.1-archive.zip",
+            "sha256": "cdbb53bcc1c7b20ee0aa2dee781644a324d2d5e8065944039024fe22d6b822ab",
+            "md5": "7d20a5823e94074e273525b0713f812b",
+            "size": "1070143817"
+        }
+    }
+}
diff --git a/pkgs/development/cuda-modules/flags.nix b/pkgs/development/cuda-modules/flags.nix
new file mode 100644
index 0000000000000..139952bc9dfd9
--- /dev/null
+++ b/pkgs/development/cuda-modules/flags.nix
@@ -0,0 +1,390 @@
+# Type aliases
+# Gpu :: AttrSet
+#   - See the documentation in ./gpus.nix.
+{
+  config,
+  cudaCapabilities ? (config.cudaCapabilities or []),
+  cudaForwardCompat ? (config.cudaForwardCompat or true),
+  lib,
+  cudaVersion,
+  hostPlatform,
+  # gpus :: List Gpu
+  gpus,
+}:
+let
+  inherit (lib)
+    asserts
+    attrsets
+    lists
+    strings
+    trivial
+    ;
+
+  # Flags are determined based on your CUDA toolkit by default.  You may benefit
+  # from improved performance, reduced file size, or greater hardware support by
+  # passing a configuration based on your specific GPU environment.
+  #
+  # cudaCapabilities :: List Capability
+  # List of hardware generations to build.
+  # E.g. [ "8.0" ]
+  # Currently, the last item is considered the optional forward-compatibility arch,
+  # but this may change in the future.
+  #
+  # cudaForwardCompat :: Bool
+  # Whether to include the forward compatibility gencode (+PTX)
+  # to support future GPU generations.
+  # E.g. true
+  #
+  # Please see the accompanying documentation or https://github.com/NixOS/nixpkgs/pull/205351
+
+  # isSupported :: Gpu -> Bool
+  isSupported =
+    gpu:
+    let
+      inherit (gpu) minCudaVersion maxCudaVersion;
+      lowerBoundSatisfied = strings.versionAtLeast cudaVersion minCudaVersion;
+      upperBoundSatisfied =
+        (maxCudaVersion == null) || !(strings.versionOlder maxCudaVersion cudaVersion);
+    in
+    lowerBoundSatisfied && upperBoundSatisfied;
+
+  # NOTE: Jetson is never built by default.
+  # isDefault :: Gpu -> Bool
+  isDefault =
+    gpu:
+    let
+      inherit (gpu) dontDefaultAfter isJetson;
+      newGpu = dontDefaultAfter == null;
+      recentGpu = newGpu || strings.versionAtLeast dontDefaultAfter cudaVersion;
+    in
+    recentGpu && !isJetson;
+
+  # supportedGpus :: List Gpu
+  # GPUs which are supported by the provided CUDA version.
+  supportedGpus = builtins.filter isSupported gpus;
+
+  # defaultGpus :: List Gpu
+  # GPUs which are supported by the provided CUDA version and we want to build for by default.
+  defaultGpus = builtins.filter isDefault supportedGpus;
+
+  # supportedCapabilities :: List Capability
+  supportedCapabilities = lists.map (gpu: gpu.computeCapability) supportedGpus;
+
+  # defaultCapabilities :: List Capability
+  # The default capabilities to target, if not overridden by the user.
+  defaultCapabilities = lists.map (gpu: gpu.computeCapability) defaultGpus;
+
+  # cudaArchNameToVersions :: AttrSet String (List String)
+  # Maps the name of a GPU architecture to different versions of that architecture.
+  # For example, "Ampere" maps to [ "8.0" "8.6" "8.7" ].
+  cudaArchNameToVersions =
+    lists.groupBy' (versions: gpu: versions ++ [gpu.computeCapability]) [] (gpu: gpu.archName)
+      supportedGpus;
+
+  # cudaComputeCapabilityToName :: AttrSet String String
+  # Maps the version of a GPU architecture to the name of that architecture.
+  # For example, "8.0" maps to "Ampere".
+  cudaComputeCapabilityToName = builtins.listToAttrs (
+    lists.map (gpu: attrsets.nameValuePair gpu.computeCapability gpu.archName) supportedGpus
+  );
+
+  # cudaComputeCapabilityToIsJetson :: AttrSet String Boolean
+  cudaComputeCapabilityToIsJetson = builtins.listToAttrs (
+    lists.map (attrs: attrsets.nameValuePair attrs.computeCapability attrs.isJetson) supportedGpus
+  );
+
+  # jetsonComputeCapabilities :: List String
+  jetsonComputeCapabilities = trivial.pipe cudaComputeCapabilityToIsJetson [
+    (attrsets.filterAttrs (_: isJetson: isJetson))
+    builtins.attrNames
+  ];
+
+  # Find the intersection with the user-specified list of cudaCapabilities.
+  # NOTE: Jetson devices are never built by default because they cannot be targeted along with
+  # non-Jetson devices and require an aarch64 host platform. As such, if they're present anywhere,
+  # they must be in the user-specified cudaCapabilities.
+  # NOTE: We don't need to worry about mixes of Jetson and non-Jetson devices here -- there's
+  # sanity-checking for all that in below.
+  jetsonTargets = lists.intersectLists jetsonComputeCapabilities cudaCapabilities;
+
+  # dropDot :: String -> String
+  dropDot = ver: builtins.replaceStrings ["."] [""] ver;
+
+  # archMapper :: String -> List String -> List String
+  # Maps a feature across a list of architecture versions to produce a list of architectures.
+  # For example, "sm" and [ "8.0" "8.6" "8.7" ] produces [ "sm_80" "sm_86" "sm_87" ].
+  archMapper = feat: lists.map (computeCapability: "${feat}_${dropDot computeCapability}");
+
+  # gencodeMapper :: String -> List String -> List String
+  # Maps a feature across a list of architecture versions to produce a list of gencode arguments.
+  # For example, "sm" and [ "8.0" "8.6" "8.7" ] produces [ "-gencode=arch=compute_80,code=sm_80"
+  # "-gencode=arch=compute_86,code=sm_86" "-gencode=arch=compute_87,code=sm_87" ].
+  gencodeMapper =
+    feat:
+    lists.map (
+      computeCapability:
+      "-gencode=arch=compute_${dropDot computeCapability},code=${feat}_${dropDot computeCapability}"
+    );
+
+  # Maps Nix system to NVIDIA redist arch.
+  # NOTE: We swap out the default `linux-sbsa` redist (for server-grade ARM chips) with the
+  # `linux-aarch64` redist (which is for Jetson devices) if we're building any Jetson devices.
+  # Since both are based on aarch64, we can only have one or the other, otherwise there's an
+  # ambiguity as to which should be used.
+  # getRedistArch :: String -> String
+  getRedistArch =
+    nixSystem:
+    if nixSystem == "aarch64-linux" then
+      if jetsonTargets != [] then "linux-aarch64" else "linux-sbsa"
+    else if nixSystem == "x86_64-linux" then
+      "linux-x86_64"
+    else if nixSystem == "ppc64le-linux" then
+      "linux-ppc64le"
+    else if nixSystem == "x86_64-windows" then
+      "windows-x86_64"
+    else
+      builtins.throw "Unsupported Nix system: ${nixSystem}";
+
+  # Maps NVIDIA redist arch to Nix system.
+  # It is imperative that we include the boolean condition based on jetsonTargets to ensure
+  # we don't advertise availability of packages only available on server-grade ARM
+  # as being available for the Jetson, since both `linux-sbsa` and `linux-aarch64` are
+  # mapped to the Nix system `aarch64-linux`.
+  getNixSystem =
+    redistArch:
+    if redistArch == "linux-sbsa" && jetsonTargets == [] then
+      "aarch64-linux"
+    else if redistArch == "linux-aarch64" && jetsonTargets != [] then
+      "aarch64-linux"
+    else if redistArch == "linux-x86_64" then
+      "x86_64-linux"
+    else if redistArch == "linux-ppc64le" then
+      "ppc64le-linux"
+    else if redistArch == "windows-x86_64" then
+      "x86_64-windows"
+    else
+      builtins.throw "Unsupported NVIDIA redist arch: ${redistArch}";
+
+  formatCapabilities =
+    {
+      cudaCapabilities,
+      enableForwardCompat ? true,
+    }:
+    rec {
+      inherit cudaCapabilities enableForwardCompat;
+
+      # archNames :: List String
+      # E.g. [ "Turing" "Ampere" ]
+      archNames = lists.unique (
+        lists.map (cap: cudaComputeCapabilityToName.${cap} or (throw "missing cuda compute capability"))
+          cudaCapabilities
+      );
+
+      # realArches :: List String
+      # The real architectures are physical architectures supported by the CUDA version.
+      # E.g. [ "sm_75" "sm_86" ]
+      realArches = archMapper "sm" cudaCapabilities;
+
+      # virtualArches :: List String
+      # The virtual architectures are typically used for forward compatibility, when trying to support
+      # an architecture newer than the CUDA version allows.
+      # E.g. [ "compute_75" "compute_86" ]
+      virtualArches = archMapper "compute" cudaCapabilities;
+
+      # arches :: List String
+      # By default, build for all supported architectures and forward compatibility via a virtual
+      # architecture for the newest supported architecture.
+      # E.g. [ "sm_75" "sm_86" "compute_86" ]
+      arches = realArches ++ lists.optional enableForwardCompat (lists.last virtualArches);
+
+      # gencode :: List String
+      # A list of CUDA gencode arguments to pass to NVCC.
+      # E.g. [ "-gencode=arch=compute_75,code=sm_75" ... "-gencode=arch=compute_86,code=compute_86" ]
+      gencode =
+        let
+          base = gencodeMapper "sm" cudaCapabilities;
+          forward = gencodeMapper "compute" [(lists.last cudaCapabilities)];
+        in
+        base ++ lib.optionals enableForwardCompat forward;
+
+      # gencodeString :: String
+      # A space-separated string of CUDA gencode arguments to pass to NVCC.
+      # E.g. "-gencode=arch=compute_75,code=sm_75 ... -gencode=arch=compute_86,code=compute_86"
+      gencodeString = strings.concatStringsSep " " gencode;
+
+      # Jetson devices cannot be targeted by the same binaries which target non-Jetson devices. While
+      # NVIDIA provides both `linux-aarch64` and `linux-sbsa` packages, which both target `aarch64`,
+      # they are built with different settings and cannot be mixed.
+      # isJetsonBuild :: Boolean
+      isJetsonBuild =
+        let
+          requestedJetsonDevices =
+            lists.filter (cap: cudaComputeCapabilityToIsJetson.${cap})
+              cudaCapabilities;
+          requestedNonJetsonDevices =
+            lists.filter (cap: !(builtins.elem cap requestedJetsonDevices))
+              cudaCapabilities;
+          jetsonBuildSufficientCondition = requestedJetsonDevices != [];
+          jetsonBuildNecessaryCondition = requestedNonJetsonDevices == [] && hostPlatform.isAarch64;
+        in
+        trivial.throwIf (jetsonBuildSufficientCondition && !jetsonBuildNecessaryCondition)
+          ''
+            Jetson devices cannot be targeted with non-Jetson devices. Additionally, they require hostPlatform to be aarch64.
+            You requested ${builtins.toJSON cudaCapabilities} for host platform ${hostPlatform.system}.
+            Requested Jetson devices: ${builtins.toJSON requestedJetsonDevices}.
+            Requested non-Jetson devices: ${builtins.toJSON requestedNonJetsonDevices}.
+            Exactly one of the following must be true:
+            - All CUDA capabilities belong to Jetson devices and hostPlatform is aarch64.
+            - No CUDA capabilities belong to Jetson devices.
+            See ${./gpus.nix} for a list of architectures supported by this version of Nixpkgs.
+          ''
+          jetsonBuildSufficientCondition
+        && jetsonBuildNecessaryCondition;
+    };
+in
+# When changing names or formats: pause, validate, and update the assert
+assert let
+  expected = {
+    cudaCapabilities = [
+      "7.5"
+      "8.6"
+    ];
+    enableForwardCompat = true;
+
+    archNames = [
+      "Turing"
+      "Ampere"
+    ];
+    realArches = [
+      "sm_75"
+      "sm_86"
+    ];
+    virtualArches = [
+      "compute_75"
+      "compute_86"
+    ];
+    arches = [
+      "sm_75"
+      "sm_86"
+      "compute_86"
+    ];
+
+    gencode = [
+      "-gencode=arch=compute_75,code=sm_75"
+      "-gencode=arch=compute_86,code=sm_86"
+      "-gencode=arch=compute_86,code=compute_86"
+    ];
+    gencodeString = "-gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_86,code=compute_86";
+
+    isJetsonBuild = false;
+  };
+  actual = formatCapabilities {
+    cudaCapabilities = [
+      "7.5"
+      "8.6"
+    ];
+  };
+  actualWrapped = (builtins.tryEval (builtins.deepSeq actual actual)).value;
+in
+asserts.assertMsg ((strings.versionAtLeast cudaVersion "11.2") -> (expected == actualWrapped)) ''
+  This test should only fail when using a version of CUDA older than 11.2, the first to support
+  8.6.
+  Expected: ${builtins.toJSON expected}
+  Actual: ${builtins.toJSON actualWrapped}
+'';
+# Check mixed Jetson and non-Jetson devices
+assert let
+  expected = false;
+  actual = formatCapabilities {
+    cudaCapabilities = [
+      "7.2"
+      "7.5"
+    ];
+  };
+  actualWrapped = (builtins.tryEval (builtins.deepSeq actual actual)).value;
+in
+asserts.assertMsg (expected == actualWrapped) ''
+  Jetson devices capabilities cannot be mixed with non-jetson devices.
+  Capability 7.5 is non-Jetson and should not be allowed with Jetson 7.2.
+  Expected: ${builtins.toJSON expected}
+  Actual: ${builtins.toJSON actualWrapped}
+'';
+# Check Jetson-only
+assert let
+  expected = {
+    cudaCapabilities = [
+      "6.2"
+      "7.2"
+    ];
+    enableForwardCompat = true;
+
+    archNames = [
+      "Pascal"
+      "Volta"
+    ];
+    realArches = [
+      "sm_62"
+      "sm_72"
+    ];
+    virtualArches = [
+      "compute_62"
+      "compute_72"
+    ];
+    arches = [
+      "sm_62"
+      "sm_72"
+      "compute_72"
+    ];
+
+    gencode = [
+      "-gencode=arch=compute_62,code=sm_62"
+      "-gencode=arch=compute_72,code=sm_72"
+      "-gencode=arch=compute_72,code=compute_72"
+    ];
+    gencodeString = "-gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_72,code=sm_72 -gencode=arch=compute_72,code=compute_72";
+
+    isJetsonBuild = true;
+  };
+  actual = formatCapabilities {
+    cudaCapabilities = [
+      "6.2"
+      "7.2"
+    ];
+  };
+  actualWrapped = (builtins.tryEval (builtins.deepSeq actual actual)).value;
+in
+asserts.assertMsg
+  # We can't do this test unless we're targeting aarch64
+  (hostPlatform.isAarch64 -> (expected == actualWrapped))
+  ''
+    Jetson devices can only be built with other Jetson devices.
+    Both 6.2 and 7.2 are Jetson devices.
+    Expected: ${builtins.toJSON expected}
+    Actual: ${builtins.toJSON actualWrapped}
+  '';
+{
+  # formatCapabilities :: { cudaCapabilities: List Capability, enableForwardCompat: Boolean } ->  { ... }
+  inherit formatCapabilities;
+
+  # cudaArchNameToVersions :: String => String
+  inherit cudaArchNameToVersions;
+
+  # cudaComputeCapabilityToName :: String => String
+  inherit cudaComputeCapabilityToName;
+
+  # dropDot :: String -> String
+  inherit dropDot;
+
+  inherit
+    defaultCapabilities
+    supportedCapabilities
+    jetsonComputeCapabilities
+    jetsonTargets
+    getNixSystem
+    getRedistArch
+    ;
+}
+// formatCapabilities {
+  cudaCapabilities = if cudaCapabilities == [] then defaultCapabilities else cudaCapabilities;
+  enableForwardCompat = cudaForwardCompat;
+}
diff --git a/pkgs/development/cuda-modules/generic-builders/manifest.nix b/pkgs/development/cuda-modules/generic-builders/manifest.nix
new file mode 100644
index 0000000000000..7ddecb7ed723a
--- /dev/null
+++ b/pkgs/development/cuda-modules/generic-builders/manifest.nix
@@ -0,0 +1,250 @@
+{
+  # General callPackage-supplied arguments
+  autoAddOpenGLRunpathHook,
+  autoPatchelfHook,
+  backendStdenv,
+  fetchurl,
+  lib,
+  lndir,
+  markForCudatoolkitRootHook,
+  flags,
+  stdenv,
+  hostPlatform,
+  # Builder-specific arguments
+  # Short package name (e.g., "cuda_cccl")
+  # pname : String
+  pname,
+  # Common name (e.g., "cutensor" or "cudnn") -- used in the URL.
+  # Also known as the Redistributable Name.
+  # redistName : String,
+  redistName,
+  # If libPath is non-null, it must be a subdirectory of `lib`.
+  # The contents of `libPath` will be moved to the root of `lib`.
+  libPath ? null,
+  # See ./modules/generic/manifests/redistrib/release.nix
+  redistribRelease,
+  # See ./modules/generic/manifests/feature/release.nix
+  featureRelease,
+}:
+let
+  inherit (lib)
+    attrsets
+    lists
+    meta
+    strings
+    trivial
+    licenses
+    teams
+    sourceTypes
+    ;
+
+  # Get the redist architectures for which package provides distributables.
+  # These are used by meta.platforms.
+  supportedRedistArchs = builtins.attrNames featureRelease;
+  redistArch = flags.getRedistArch hostPlatform.system;
+in
+backendStdenv.mkDerivation (
+  finalAttrs: {
+    # NOTE: Even though there's no actual buildPhase going on here, the derivations of the
+    # redistributables are sensitive to the compiler flags provided to stdenv. The patchelf package
+    # is sensitive to the compiler flags provided to stdenv, and we depend on it. As such, we are
+    # also sensitive to the compiler flags provided to stdenv.
+    inherit pname;
+    inherit (redistribRelease) version;
+
+    # Don't force serialization to string for structured attributes, like outputToPatterns
+    # and brokenConditions.
+    # Avoids "set cannot be coerced to string" errors.
+    __structuredAttrs = true;
+
+    # Keep better track of dependencies.
+    strictDeps = true;
+
+    # NOTE: Outputs are evaluated jointly with meta, so in the case that this is an unsupported platform,
+    # we still need to provide a list of outputs.
+    outputs =
+      let
+        # Checks whether the redistributable provides an output.
+        hasOutput =
+          output:
+          attrsets.attrByPath
+            [
+              redistArch
+              "outputs"
+              output
+            ]
+            false
+            featureRelease;
+        # Order is important here so we use a list.
+        additionalOutputs = builtins.filter hasOutput [
+          "bin"
+          "lib"
+          "static"
+          "dev"
+          "doc"
+          "sample"
+          "python"
+        ];
+        # The out output is special -- it's the default output and we always include it.
+        outputs = ["out"] ++ additionalOutputs;
+      in
+      outputs;
+
+    # Traversed in the order of the outputs speficied in outputs;
+    # entries are skipped if they don't exist in outputs.
+    outputToPatterns = {
+      bin = ["bin"];
+      lib = [
+        "lib"
+        "lib64"
+      ];
+      static = ["**/*.a"];
+      sample = ["samples"];
+      python = ["**/*.whl"];
+    };
+
+    # Useful for introspecting why something went wrong.
+    # Maps descriptions of why the derivation would be marked broken to
+    # booleans indicating whether that description is true.
+    brokenConditions = {};
+
+    src = fetchurl {
+      url = "https://developer.download.nvidia.com/compute/${redistName}/redist/${
+        redistribRelease.${redistArch}.relative_path
+      }";
+      inherit (redistribRelease.${redistArch}) sha256;
+    };
+
+    # We do need some other phases, like configurePhase, so the multiple-output setup hook works.
+    dontBuild = true;
+
+    nativeBuildInputs = [
+      autoPatchelfHook
+      # This hook will make sure libcuda can be found
+      # in typically /lib/opengl-driver by adding that
+      # directory to the rpath of all ELF binaries.
+      # Check e.g. with `patchelf --print-rpath path/to/my/binary
+      autoAddOpenGLRunpathHook
+      markForCudatoolkitRootHook
+    ];
+
+    buildInputs =
+      [
+        # autoPatchelfHook will search for a libstdc++ and we're giving it
+        # one that is compatible with the rest of nixpkgs, even when
+        # nvcc forces us to use an older gcc
+        # NB: We don't actually know if this is the right thing to do
+        stdenv.cc.cc.lib
+      ];
+
+    # Picked up by autoPatchelf
+    # Needed e.g. for libnvrtc to locate (dlopen) libnvrtc-builtins
+    appendRunpaths = ["$ORIGIN"];
+
+    # NOTE: We don't need to check for dev or doc, because those outputs are handled by
+    # the multiple-outputs setup hook.
+    # NOTE: moveToOutput operates on all outputs:
+    # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L105-L107
+    installPhase =
+      let
+        mkMoveToOutputCommand =
+          output:
+          let
+            template = pattern: ''moveToOutput "${pattern}" "${"$" + output}"'';
+            patterns = finalAttrs.outputToPatterns.${output} or [];
+          in
+          strings.concatMapStringsSep "\n" template patterns;
+      in
+      # Pre-install hook
+      ''
+        runHook preInstall
+      ''
+      # Handle the existence of libPath, which requires us to re-arrange the lib directory
+      + strings.optionalString (libPath != null) ''
+        if [[ ! -d "${libPath}" ]] ; then
+          echo "${finalAttrs.pname}: ${libPath} does not exist, only found:" >&2
+          find "$(dirname ${libPath})"/ -maxdepth 1 >&2
+          echo "This release might not support your CUDA version" >&2
+          exit 1
+        fi
+        mv "lib/${libPath}" lib_new
+        rm -r lib
+        mv lib_new lib
+      ''
+      # Create the primary output, out, and move the other outputs into it.
+      + ''
+        mkdir -p "$out"
+        mv * "$out"
+      ''
+      # Move the outputs into their respective outputs.
+      + strings.concatMapStringsSep "\n" mkMoveToOutputCommand (builtins.tail finalAttrs.outputs)
+      # Post-install hook
+      + ''
+        runHook postInstall
+      '';
+
+    # libcuda needs to be resolved during runtime
+    # NOTE: Due to the use of __structuredAttrs, we can't use a list for autoPatchelfIgnoreMissingDeps, since it
+    # will take only the first value. Instead, we produce a string with the values separated by spaces.
+    # Using the `env` attribute ensures that the value is representable as one of the primitives allowed by
+    # bash's environment variables.
+    env.autoPatchelfIgnoreMissingDeps = "libcuda.so libcuda.so.*";
+
+    # The out output leverages the same functionality which backs the `symlinkJoin` function in
+    # Nixpkgs:
+    # https://github.com/NixOS/nixpkgs/blob/d8b2a92df48f9b08d68b0132ce7adfbdbc1fbfac/pkgs/build-support/trivial-builders/default.nix#L510
+    #
+    # That should allow us to emulate "fat" default outputs without having to actually create them.
+    #
+    # It is important that this run after the autoPatchelfHook, otherwise the symlinks in out will reference libraries in lib, creating a circular dependency.
+    postPhases = ["postPatchelf"];
+
+    # For each output, create a symlink to it in the out output.
+    # NOTE: We must recreate the out output here, because the setup hook will have deleted it if it was empty.
+    postPatchelf = ''
+      mkdir -p "$out"
+      for output in $(getAllOutputNames); do
+        if [[ "$output" != "out" ]]; then
+          ${meta.getExe lndir} "''${!output}" "$out"
+        fi
+      done
+    '';
+
+    # Make the CUDA-patched stdenv available
+    passthru.stdenv = backendStdenv;
+
+    # Setting propagatedBuildInputs to false will prevent outputs known to the multiple-outputs
+    # from depending on `out` by default.
+    # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L196
+    # Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
+    propagatedBuildOutputs = false;
+
+    # By default, if the dev output exists it just uses that.
+    # However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
+    # anything of the sort. To remedy this, we set outputSpecified to true, and use
+    # outputsToInstall, which tells Nix which outputs to use when the package name is used
+    # unqualified (that is, without an explicit output).
+    outputSpecified = true;
+
+    meta = {
+      description = "${redistribRelease.name}. By downloading and using the packages you accept the terms and conditions of the ${finalAttrs.meta.license.shortName}";
+      sourceProvenance = [sourceTypes.binaryNativeCode];
+      platforms =
+        lists.concatMap
+          (
+            redistArch:
+            let
+              nixSystem = builtins.tryEval (flags.getNixSystem redistArch);
+            in
+            if nixSystem.success then [nixSystem.value] else []
+          )
+          supportedRedistArchs;
+      broken = lists.any trivial.id (attrsets.attrValues finalAttrs.brokenConditions);
+      license = licenses.unfree;
+      maintainers = teams.cuda.members;
+      # Force the use of the default, fat output by default (even though `dev` exists, which
+      # causes Nix to prefer that output over the others if outputSpecified isn't set).
+      outputsToInstall = ["out"];
+    };
+  }
+)
diff --git a/pkgs/development/cuda-modules/generic-builders/multiplex.nix b/pkgs/development/cuda-modules/generic-builders/multiplex.nix
new file mode 100644
index 0000000000000..b8053094bcc82
--- /dev/null
+++ b/pkgs/development/cuda-modules/generic-builders/multiplex.nix
@@ -0,0 +1,131 @@
+{
+  # callPackage-provided arguments
+  lib,
+  cudaVersion,
+  flags,
+  hostPlatform,
+  # Expected to be passed by the caller
+  mkVersionedPackageName,
+  # pname :: String
+  pname,
+  # releasesModule :: Path
+  # A path to a module which provides a `releases` attribute
+  releasesModule,
+  # shims :: Path
+  # A path to a module which provides a `shims` attribute
+  # The redistribRelease is only used in ./manifest.nix for the package version
+  # and the package description (which NVIDIA's manifest calls the "name").
+  # It's also used for fetching the source, but we override that since we can't
+  # re-use that portion of the functionality (different URLs, etc.).
+  # The featureRelease is used to populate meta.platforms (by way of looking at the attribute names)
+  # and to determine the outputs of the package.
+  # shimFn :: {package, redistArch} -> AttrSet
+  shimsFn ? ({package, redistArch}: throw "shimsFn must be provided"),
+  # fixupFn :: Path
+  # A path (or nix expression) to be evaluated with callPackage and then
+  # provided to the package's overrideAttrs function.
+  # It must accept at least the following arguments:
+  # - final
+  # - cudaVersion
+  # - mkVersionedPackageName
+  # - package
+  fixupFn ? (
+    {
+      final,
+      cudaVersion,
+      mkVersionedPackageName,
+      package,
+      ...
+    }:
+    throw "fixupFn must be provided"
+  ),
+}:
+let
+  inherit (lib)
+    attrsets
+    lists
+    modules
+    strings
+    ;
+
+  evaluatedModules = modules.evalModules {
+    modules = [
+      ../modules
+      releasesModule
+    ];
+  };
+
+  # NOTE: Important types:
+  # - Releases: ../modules/${pname}/releases/releases.nix
+  # - Package: ../modules/${pname}/releases/package.nix
+
+  # All releases across all platforms
+  # See ../modules/${pname}/releases/releases.nix
+  allReleases = evaluatedModules.config.${pname}.releases;
+
+  # Compute versioned attribute name to be used in this package set
+  # Patch version changes should not break the build, so we only use major and minor
+  # computeName :: Package -> String
+  computeName = {version, ...}: mkVersionedPackageName pname version;
+
+  # Check whether a package supports our CUDA version
+  # isSupported :: Package -> Bool
+  isSupported =
+    package:
+    strings.versionAtLeast cudaVersion package.minCudaVersion
+    && strings.versionAtLeast package.maxCudaVersion cudaVersion;
+
+  # Get all of the packages for our given platform.
+  redistArch = flags.getRedistArch hostPlatform.system;
+
+  # All the supported packages we can build for our platform.
+  # supportedPackages :: List (AttrSet Packages)
+  supportedPackages = builtins.filter isSupported (allReleases.${redistArch} or []);
+
+  # newestToOldestSupportedPackage :: List (AttrSet Packages)
+  newestToOldestSupportedPackage = lists.reverseList supportedPackages;
+
+  nameOfNewest = computeName (builtins.head newestToOldestSupportedPackage);
+
+  # A function which takes the `final` overlay and the `package` being built and returns
+  # a function to be consumed via `overrideAttrs`.
+  overrideAttrsFixupFn =
+    final: package:
+    final.callPackage fixupFn {
+      inherit
+        final
+        cudaVersion
+        mkVersionedPackageName
+        package
+        ;
+    };
+
+  extension =
+    final: _:
+    let
+      # Builds our package into derivation and wraps it in a nameValuePair, where the name is the versioned name
+      # of the package.
+      buildPackage =
+        package:
+        let
+          shims = final.callPackage shimsFn {inherit package redistArch;};
+          name = computeName package;
+          drv = final.callPackage ./manifest.nix {
+            inherit pname;
+            redistName = pname;
+            inherit (shims) redistribRelease featureRelease;
+          };
+          fixedDrv = drv.overrideAttrs (overrideAttrsFixupFn final package);
+        in
+        attrsets.nameValuePair name fixedDrv;
+
+      # versionedDerivations :: AttrSet Derivation
+      versionedDerivations = builtins.listToAttrs (lists.map buildPackage newestToOldestSupportedPackage);
+
+      defaultDerivation = attrsets.optionalAttrs (versionedDerivations != {}) {
+        ${pname} = versionedDerivations.${nameOfNewest};
+      };
+    in
+    versionedDerivations // defaultDerivation;
+in
+extension
diff --git a/pkgs/development/cuda-modules/gpus.nix b/pkgs/development/cuda-modules/gpus.nix
new file mode 100644
index 0000000000000..cf6e0a1eaf360
--- /dev/null
+++ b/pkgs/development/cuda-modules/gpus.nix
@@ -0,0 +1,204 @@
+# Type aliases
+#
+# Gpu = {
+#   archName: String
+#     - The name of the microarchitecture.
+#   computeCapability: String
+#     - The compute capability of the GPU.
+#   isJetson: Boolean
+#     - Whether a GPU is part of NVIDIA's line of Jetson embedded computers. This field is
+#       notable because it tells us what architecture to build for (as Jetson devices are
+#       aarch64).
+#       More on Jetson devices here:
+#       https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/
+#       NOTE: These architectures are only built upon request.
+#   minCudaVersion: String
+#     - The minimum (inclusive) CUDA version that supports this GPU.
+#   dontDefaultAfter: null | String
+#     - The CUDA version after which to exclude this GPU from the list of default capabilities
+#       we build. null means we always include this GPU in the default capabilities if it is
+#       supported.
+#   maxCudaVersion: null | String
+#     - The maximum (exclusive) CUDA version that supports this GPU. null means there is no
+#       maximum.
+# }
+#
+# Many thanks to Arnon Shimoni for maintaining a list of these architectures and capabilities.
+# Without your work, this would have been much more difficult.
+# https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
+[
+  {
+    # GeForce 700, GT-730
+    archName = "Kepler";
+    computeCapability = "3.0";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "10.2";
+    maxCudaVersion = "10.2";
+  }
+  {
+    archName = "Kepler";
+    computeCapability = "3.2";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "10.2";
+    maxCudaVersion = "10.2";
+  }
+  {
+    # Tesla K40
+    archName = "Kepler";
+    computeCapability = "3.5";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "11.0";
+    maxCudaVersion = "11.8";
+  }
+  {
+    # Tesla K80
+    archName = "Kepler";
+    computeCapability = "3.7";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "11.0";
+    maxCudaVersion = "11.8";
+  }
+  {
+    # Tesla/Quadro M series
+    archName = "Maxwell";
+    computeCapability = "5.0";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "11.0";
+    maxCudaVersion = null;
+  }
+  {
+    # Quadro M6000 , GeForce 900, GTX-970, GTX-980, GTX Titan X
+    archName = "Maxwell";
+    computeCapability = "5.2";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = "11.0";
+    maxCudaVersion = null;
+  }
+  {
+    # Tegra (Jetson) TX1 / Tegra X1, Drive CX, Drive PX, Jetson Nano
+    archName = "Maxwell";
+    computeCapability = "5.3";
+    isJetson = true;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # Quadro GP100, Tesla P100, DGX-1 (Generic Pascal)
+    archName = "Pascal";
+    computeCapability = "6.0";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # GTX 1080, GTX 1070, GTX 1060, GTX 1050, GTX 1030 (GP108), GT 1010 (GP108) Titan Xp, Tesla
+    # P40, Tesla P4, Discrete GPU on the NVIDIA Drive PX2
+    archName = "Pascal";
+    computeCapability = "6.1";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # Integrated GPU on the NVIDIA Drive PX2, Tegra (Jetson) TX2
+    archName = "Pascal";
+    computeCapability = "6.2";
+    isJetson = true;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # DGX-1 with Volta, Tesla V100, GTX 1180 (GV104), Titan V, Quadro GV100
+    archName = "Volta";
+    computeCapability = "7.0";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # Jetson AGX Xavier, Drive AGX Pegasus, Xavier NX
+    archName = "Volta";
+    computeCapability = "7.2";
+    isJetson = true;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # GTX/RTX Turing – GTX 1660 Ti, RTX 2060, RTX 2070, RTX 2080, Titan RTX, Quadro RTX 4000,
+    # Quadro RTX 5000, Quadro RTX 6000, Quadro RTX 8000, Quadro T1000/T2000, Tesla T4
+    archName = "Turing";
+    computeCapability = "7.5";
+    isJetson = false;
+    minCudaVersion = "10.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # NVIDIA A100 (the name “Tesla” has been dropped – GA100), NVIDIA DGX-A100
+    archName = "Ampere";
+    computeCapability = "8.0";
+    isJetson = false;
+    minCudaVersion = "11.2";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # Tesla GA10x cards, RTX Ampere – RTX 3080, GA102 – RTX 3090, RTX A2000, A3000, RTX A4000,
+    # A5000, A6000, NVIDIA A40, GA106 – RTX 3060, GA104 – RTX 3070, GA107 – RTX 3050, RTX A10, RTX
+    # A16, RTX A40, A2 Tensor Core GPU
+    archName = "Ampere";
+    computeCapability = "8.6";
+    isJetson = false;
+    minCudaVersion = "11.2";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # Jetson AGX Orin and Drive AGX Orin only
+    archName = "Ampere";
+    computeCapability = "8.7";
+    isJetson = true;
+    minCudaVersion = "11.5";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # NVIDIA GeForce RTX 4090, RTX 4080, RTX 6000, Tesla L40
+    archName = "Ada";
+    computeCapability = "8.9";
+    isJetson = false;
+    minCudaVersion = "11.8";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # NVIDIA H100 (GH100)
+    archName = "Hopper";
+    computeCapability = "9.0";
+    isJetson = false;
+    minCudaVersion = "11.8";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+  {
+    # NVIDIA H100 (GH100) (Thor)
+    archName = "Hopper";
+    computeCapability = "9.0a";
+    isJetson = false;
+    minCudaVersion = "12.0";
+    dontDefaultAfter = null;
+    maxCudaVersion = null;
+  }
+]
diff --git a/pkgs/development/cuda-modules/modules/README.md b/pkgs/development/cuda-modules/modules/README.md
new file mode 100644
index 0000000000000..31aa343bd9d51
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/README.md
@@ -0,0 +1,27 @@
+# Modules
+
+Modules as they are used in `modules` exist primarily to check the shape and content of CUDA redistributable and feature manifests. They are ultimately meant to reduce the repetitive nature of repackaging CUDA redistributables.
+
+Building most redistributables follows a pattern of a manifest indicating which packages are available at a location, their versions, and their hashes. To avoid creating builders for each and every derivation, modules serve as a way for us to use a single `genericManifestBuilder` to build all redistributables.
+
+## `generic`
+
+The modules in `generic` are reusable components meant to check the shape and content of NVIDIA's CUDA redistributable manifests, our feature manifests (which are derived from NVIDIA's manifests), or hand-crafted Nix expressions describing available packages. They are used by the `genericManifestBuilder` to build CUDA redistributables.
+
+Generally, each package which relies on manifests or Nix release expressions will create an alias to the relevant generic module. For example, the [module for CUDNN](./cudnn/default.nix) aliases the generic module for release expressions, while the [module for CUDA redistributables](./cuda/default.nix) aliases the generic module for manifests.
+
+Alternatively, additional fields or values may need to be configured to account for the particulars of a package. For example, while the release expressions for [CUDNN](./cudnn/releases.nix) and [TensorRT](./tensorrt/releases.nix) are very close, they differ slightly in the fields they have. The [module for CUDNN](./modules/cudnn/default.nix) is able to use the generic module for release expressions, while the [module for TensorRT](./modules/tensorrt/default.nix) must add additional fields to the generic module.
+
+### `manifests`
+
+The modules in `generic/manifests` define the structure of NVIDIA's CUDA redistributable manifests and our feature manifests.
+
+NVIDIA's redistributable manifests are retrieved from their web server, while the feature manifests are produced by [`cuda-redist-find-features`](https://github.com/connorbaker/cuda-redist-find-features).
+
+### `releases`
+
+The modules in `generic/releases` define the structure of our hand-crafted Nix expressions containing information necessary to download and repackage CUDA redistributables. These expressions are created when NVIDIA-provided manifests are unavailable or otherwise unusable. For example, though CUDNN has manifests, a bug in NVIDIA's CI/CD causes manifests for different versions of CUDA to use the same name, which leads to the manifests overwriting each other.
+
+### `types`
+
+The modules in `generic/types` define reusable types used in both `generic/manifests` and `generic/releases`.
diff --git a/pkgs/development/cuda-modules/modules/cuda/default.nix b/pkgs/development/cuda-modules/modules/cuda/default.nix
new file mode 100644
index 0000000000000..4ea35d0482265
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/cuda/default.nix
@@ -0,0 +1 @@
+{options, ...}: {options.cuda.manifests = options.generic.manifests;}
diff --git a/pkgs/development/cuda-modules/modules/cudnn/default.nix b/pkgs/development/cuda-modules/modules/cudnn/default.nix
new file mode 100644
index 0000000000000..dd52cbaa24b4d
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/cudnn/default.nix
@@ -0,0 +1,12 @@
+{options, ...}:
+{
+  options.cudnn.releases = options.generic.releases;
+  # TODO(@connorbaker): Figure out how to add additional options to the
+  # to the generic release.
+  # {
+  #   url = options.mkOption {
+  #     description = "The URL to download the tarball from";
+  #     type = types.str;
+  #   };
+  # }
+}
diff --git a/pkgs/development/cuda-modules/modules/cutensor/default.nix b/pkgs/development/cuda-modules/modules/cutensor/default.nix
new file mode 100644
index 0000000000000..8ec2189fee4cc
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/cutensor/default.nix
@@ -0,0 +1 @@
+{options, ...}: {options.cutensor.manifests = options.generic.manifests;}
diff --git a/pkgs/development/cuda-modules/modules/default.nix b/pkgs/development/cuda-modules/modules/default.nix
new file mode 100644
index 0000000000000..ccccd871479e1
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/default.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ./generic
+    # Always after generic
+    ./cuda
+    ./cudnn
+    ./cutensor
+    ./tensorrt
+  ];
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/default.nix b/pkgs/development/cuda-modules/modules/generic/default.nix
new file mode 100644
index 0000000000000..b68aa614f2400
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/default.nix
@@ -0,0 +1,7 @@
+{
+  imports = [
+    ./types
+    ./manifests
+    ./releases
+  ];
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/default.nix b/pkgs/development/cuda-modules/modules/generic/manifests/default.nix
new file mode 100644
index 0000000000000..6c12919ff4000
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/default.nix
@@ -0,0 +1,7 @@
+{lib, config, ...}:
+{
+  options.generic.manifests = {
+    feature = import ./feature/manifest.nix {inherit lib config;};
+    redistrib = import ./redistrib/manifest.nix {inherit lib;};
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/feature/manifest.nix b/pkgs/development/cuda-modules/modules/generic/manifests/feature/manifest.nix
new file mode 100644
index 0000000000000..29ca678e0e5a5
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/feature/manifest.nix
@@ -0,0 +1,10 @@
+{lib, config, ...}:
+let
+  inherit (lib) options trivial types;
+  Release = import ./release.nix {inherit lib config;};
+in
+options.mkOption {
+  description = "A feature manifest is an attribute set which includes a mapping from package name to release";
+  example = trivial.importJSON ../../../../cuda/manifests/feature_11.5.2.json;
+  type = types.attrsOf Release.type;
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/feature/outputs.nix b/pkgs/development/cuda-modules/modules/generic/manifests/feature/outputs.nix
new file mode 100644
index 0000000000000..db6dff769e145
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/feature/outputs.nix
@@ -0,0 +1,60 @@
+{lib, ...}:
+let
+  inherit (lib) options types;
+in
+# https://github.com/ConnorBaker/cuda-redist-find-features/blob/603407bea2fab47f2dfcd88431122a505af95b42/cuda_redist_find_features/manifest/feature/package/package.py
+options.mkOption {
+  description = "A set of outputs that a package can provide.";
+  example = {
+    bin = true;
+    dev = true;
+    doc = false;
+    lib = false;
+    sample = false;
+    static = false;
+  };
+  type = types.submodule {
+    options = {
+      bin = options.mkOption {
+        description = "A `bin` output requires that we have a non-empty `bin` directory containing at least one file with the executable bit set.";
+        type = types.bool;
+      };
+      dev = options.mkOption {
+        description = ''
+          A `dev` output requires that we have at least one of the following non-empty directories:
+
+          - `include`
+          - `lib/pkgconfig`
+          - `share/pkgconfig`
+          - `lib/cmake`
+          - `share/aclocal`
+        '';
+        type = types.bool;
+      };
+      doc = options.mkOption {
+        description = ''
+          A `doc` output requires that we have at least one of the following non-empty directories:
+
+          - `share/info`
+          - `share/doc`
+          - `share/gtk-doc`
+          - `share/devhelp`
+          - `share/man`
+        '';
+        type = types.bool;
+      };
+      lib = options.mkOption {
+        description = "A `lib` output requires that we have a non-empty lib directory containing at least one shared library.";
+        type = types.bool;
+      };
+      sample = options.mkOption {
+        description = "A `sample` output requires that we have a non-empty `samples` directory.";
+        type = types.bool;
+      };
+      static = options.mkOption {
+        description = "A `static` output requires that we have a non-empty lib directory containing at least one static library.";
+        type = types.bool;
+      };
+    };
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/feature/package.nix b/pkgs/development/cuda-modules/modules/generic/manifests/feature/package.nix
new file mode 100644
index 0000000000000..2c36a3e0cb270
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/feature/package.nix
@@ -0,0 +1,10 @@
+{lib, ...}:
+let
+  inherit (lib) options types;
+  Outputs = import ./outputs.nix {inherit lib;};
+in
+options.mkOption {
+  description = "A package in the manifest";
+  example = (import ./release.nix {inherit lib;}).linux-x86_64;
+  type = types.submodule {options.outputs = Outputs;};
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/feature/release.nix b/pkgs/development/cuda-modules/modules/generic/manifests/feature/release.nix
new file mode 100644
index 0000000000000..be3a30ffdc59d
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/feature/release.nix
@@ -0,0 +1,10 @@
+{lib, config, ...}:
+let
+  inherit (lib) options types;
+  Package = import ./package.nix {inherit lib config;};
+in
+options.mkOption {
+  description = "A release is an attribute set which includes a mapping from platform to package";
+  example = (import ./manifest.nix {inherit lib;}).cuda_cccl;
+  type = types.attrsOf Package.type;
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/manifest.nix b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/manifest.nix
new file mode 100644
index 0000000000000..0cfa40241fdc0
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/manifest.nix
@@ -0,0 +1,33 @@
+{lib, ...}:
+let
+  inherit (lib) options trivial types;
+  Release = import ./release.nix {inherit lib;};
+in
+options.mkOption {
+  description = "A redistributable manifest is an attribute set which includes a mapping from package name to release";
+  example = trivial.importJSON ../../../../cuda/manifests/redistrib_11.5.2.json;
+  type = types.submodule {
+    # Allow any attribute name as these will be the package names
+    freeformType = types.attrsOf Release.type;
+    options = {
+      release_date = options.mkOption {
+        description = "The release date of the manifest";
+        type = types.nullOr types.str;
+        default = null;
+        example = "2023-08-29";
+      };
+      release_label = options.mkOption {
+        description = "The release label of the manifest";
+        type = types.nullOr types.str;
+        default = null;
+        example = "12.2.2";
+      };
+      release_product = options.mkOption {
+        example = "cuda";
+        description = "The release product of the manifest";
+        type = types.nullOr types.str;
+        default = null;
+      };
+    };
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/package.nix b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/package.nix
new file mode 100644
index 0000000000000..8d18c06b893f4
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/package.nix
@@ -0,0 +1,32 @@
+{lib, ...}:
+let
+  inherit (lib) options types;
+in
+options.mkOption {
+  description = "A package in the manifest";
+  example = (import ./release.nix {inherit lib;}).linux-x86_64;
+  type = types.submodule {
+    options = {
+      relative_path = options.mkOption {
+        description = "The relative path to the package";
+        example = "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.5.62-archive.tar.xz";
+        type = types.str;
+      };
+      sha256 = options.mkOption {
+        description = "The sha256 hash of the package";
+        example = "bbe633d6603d5a96a214dcb9f3f6f6fd2fa04d62e53694af97ae0c7afe0121b0";
+        type = types.str;
+      };
+      md5 = options.mkOption {
+        description = "The md5 hash of the package";
+        example = "e5deef4f6cb71f14aac5be5d5745dafe";
+        type = types.str;
+      };
+      size = options.mkOption {
+        description = "The size of the package as a string";
+        type = types.str;
+        example = "960968";
+      };
+    };
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/release.nix b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/release.nix
new file mode 100644
index 0000000000000..dd2b206fede41
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/manifests/redistrib/release.nix
@@ -0,0 +1,36 @@
+{lib, ...}:
+let
+  inherit (lib) options types;
+  Package = import ./package.nix {inherit lib;};
+in
+options.mkOption {
+  description = "A release is an attribute set which includes a mapping from platform to package";
+  example = (import ./manifest.nix {inherit lib;}).cuda_cccl;
+  type = types.submodule {
+    # Allow any attribute name as these will be the platform names
+    freeformType = types.attrsOf Package.type;
+    options = {
+      name = options.mkOption {
+        description = "The full name of the package";
+        example = "CXX Core Compute Libraries";
+        type = types.str;
+      };
+      license = options.mkOption {
+        description = "The license of the package";
+        example = "CUDA Toolkit";
+        type = types.str;
+      };
+      license_path = options.mkOption {
+        description = "The path to the license of the package";
+        example = "cuda_cccl/LICENSE.txt";
+        default = null;
+        type = types.nullOr types.str;
+      };
+      version = options.mkOption {
+        description = "The version of the package";
+        example = "11.5.62";
+        type = types.str;
+      };
+    };
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/releases/default.nix b/pkgs/development/cuda-modules/modules/generic/releases/default.nix
new file mode 100644
index 0000000000000..8da6f0d5cc79c
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/releases/default.nix
@@ -0,0 +1,45 @@
+{lib, config, ...}:
+let
+  inherit (config.generic.types) majorMinorVersion majorMinorPatchBuildVersion;
+  inherit (lib) options types;
+in
+{
+  options.generic.releases = options.mkOption {
+    description = "A collection of packages targeting different platforms";
+    type =
+      let
+        Package = options.mkOption {
+          description = "A package for a specific platform";
+          example = {
+            version = "8.0.3.4";
+            minCudaVersion = "10.2";
+            maxCudaVersion = "10.2";
+            hash = "sha256-LxcXgwe1OCRfwDsEsNLIkeNsOcx3KuF5Sj+g2dY6WD0=";
+          };
+          type = types.submodule {
+            # TODO(@connorbaker): Figure out how to extend option sets.
+            freeformType = types.attrsOf types.anything;
+            options = {
+              version = options.mkOption {
+                description = "The version of the package";
+                type = majorMinorPatchBuildVersion;
+              };
+              minCudaVersion = options.mkOption {
+                description = "The minimum CUDA version supported";
+                type = majorMinorVersion;
+              };
+              maxCudaVersion = options.mkOption {
+                description = "The maximum CUDA version supported";
+                type = majorMinorVersion;
+              };
+              hash = options.mkOption {
+                description = "The hash of the tarball";
+                type = types.str;
+              };
+            };
+          };
+        };
+      in
+      types.attrsOf (types.listOf Package.type);
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/generic/types/default.nix b/pkgs/development/cuda-modules/modules/generic/types/default.nix
new file mode 100644
index 0000000000000..61d13b3cc8d2b
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/generic/types/default.nix
@@ -0,0 +1,39 @@
+{lib, ...}:
+let
+  inherit (lib) options types;
+in
+{
+  options.generic.types = options.mkOption {
+    type = types.attrsOf types.optionType;
+    default = {};
+    description = "A set of generic types.";
+  };
+  config.generic.types = {
+    cudaArch = types.strMatching "^sm_[[:digit:]]+[a-z]?$" // {
+      name = "cudaArch";
+      description = "A CUDA architecture name.";
+    };
+    # https://github.com/ConnorBaker/cuda-redist-find-features/blob/c841980e146f8664bbcd0ba1399e486b7910617b/cuda_redist_find_features/types/_lib_so_name.py
+    libSoName = types.strMatching ".*\\.so(\\.[[:digit:]]+)*$" // {
+      name = "libSoName";
+      description = "The name of a shared object file.";
+    };
+
+    majorMinorVersion = types.strMatching "^([[:digit:]]+)\\.([[:digit:]]+)$" // {
+      name = "majorMinorVersion";
+      description = "A version number with a major and minor component.";
+    };
+
+    majorMinorPatchVersion = types.strMatching "^([[:digit:]]+)\\.([[:digit:]]+)\\.([[:digit:]]+)$" // {
+      name = "majorMinorPatchVersion";
+      description = "A version number with a major, minor, and patch component.";
+    };
+
+    majorMinorPatchBuildVersion =
+      types.strMatching "^([[:digit:]]+)\\.([[:digit:]]+)\\.([[:digit:]]+)\\.([[:digit:]]+)$"
+      // {
+        name = "majorMinorPatchBuildVersion";
+        description = "A version number with a major, minor, patch, and build component.";
+      };
+  };
+}
diff --git a/pkgs/development/cuda-modules/modules/tensorrt/default.nix b/pkgs/development/cuda-modules/modules/tensorrt/default.nix
new file mode 100644
index 0000000000000..e62942c679aa0
--- /dev/null
+++ b/pkgs/development/cuda-modules/modules/tensorrt/default.nix
@@ -0,0 +1,16 @@
+{options, ...}:
+{
+  options.tensorrt.releases = options.generic.releases;
+  # TODO(@connorbaker): Figure out how to add additional options to the
+  # to the generic release.
+  # {
+  #   cudnnVersion = lib.options.mkOption {
+  #     description = "The CUDNN version supported";
+  #     type = types.nullOr majorMinorVersion;
+  #   };
+  #   filename = lib.options.mkOption {
+  #     description = "The tarball name";
+  #     type = types.str;
+  #   };
+  # }
+}
diff --git a/pkgs/development/cuda-modules/nccl-tests/default.nix b/pkgs/development/cuda-modules/nccl-tests/default.nix
new file mode 100644
index 0000000000000..5c2f29b7ed564
--- /dev/null
+++ b/pkgs/development/cuda-modules/nccl-tests/default.nix
@@ -0,0 +1,84 @@
+# NOTE: Though NCCL tests is called within the cudaPackages package set, we avoid passing in
+# the names of dependencies from that package set directly to avoid evaluation errors
+# in the case redistributable packages are not available.
+{
+  config,
+  cudaPackages,
+  fetchFromGitHub,
+  gitUpdater,
+  lib,
+  mpi,
+  mpiSupport ? false,
+  which,
+}:
+let
+  inherit (cudaPackages)
+    backendStdenv
+    cuda_cccl
+    cuda_cudart
+    cuda_nvcc
+    cudatoolkit
+    cudaVersion
+    nccl
+    ;
+in
+backendStdenv.mkDerivation (
+  finalAttrs: {
+
+    pname = "nccl-tests";
+    version = "2.13.8";
+
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = finalAttrs.pname;
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-dxLoflsTHDBnZRTzoXdm30OyKpLlRa73b784YWALBHg=";
+    };
+
+    strictDeps = true;
+
+    nativeBuildInputs =
+      [which]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [cuda_nvcc];
+
+    buildInputs =
+      [nccl]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        cuda_nvcc.dev # crt/host_config.h
+        cuda_cudart
+      ]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
+        cuda_cccl.dev # <nv/target>
+      ]
+      ++ lib.optionals mpiSupport [mpi];
+
+    makeFlags =
+      ["NCCL_HOME=${nccl}"]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") ["CUDA_HOME=${cudatoolkit}"]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") ["CUDA_HOME=${cuda_nvcc}"]
+      ++ lib.optionals mpiSupport ["MPI=1"];
+
+    enableParallelBuilding = true;
+
+    installPhase = ''
+      mkdir -p $out/bin
+      cp -r build/* $out/bin/
+    '';
+
+    passthru.updateScript = gitUpdater {
+      inherit (finalAttrs) pname version;
+      rev-prefix = "v";
+    };
+
+    meta = with lib; {
+      description = "Tests to check both the performance and the correctness of NVIDIA NCCL operations";
+      homepage = "https://github.com/NVIDIA/nccl-tests";
+      platforms = platforms.linux;
+      license = licenses.bsd3;
+      broken = !config.cudaSupport || (mpiSupport && mpi == null);
+      maintainers = with maintainers; [jmillerpdt] ++ teams.cuda.members;
+    };
+  }
+)
diff --git a/pkgs/development/cuda-modules/nccl/default.nix b/pkgs/development/cuda-modules/nccl/default.nix
new file mode 100644
index 0000000000000..c56d59cb42068
--- /dev/null
+++ b/pkgs/development/cuda-modules/nccl/default.nix
@@ -0,0 +1,112 @@
+# NOTE: Though NCCL is called within the cudaPackages package set, we avoid passing in
+# the names of dependencies from that package set directly to avoid evaluation errors
+# in the case redistributable packages are not available.
+{
+  lib,
+  fetchFromGitHub,
+  python3,
+  which,
+  cudaPackages,
+  # passthru.updateScript
+  gitUpdater,
+}:
+let
+  inherit (cudaPackages)
+    autoAddOpenGLRunpathHook
+    backendStdenv
+    cuda_cccl
+    cuda_cudart
+    cuda_nvcc
+    cudaFlags
+    cudatoolkit
+    cudaVersion
+    ;
+in
+backendStdenv.mkDerivation (
+  finalAttrs: {
+    pname = "nccl";
+    version = "2.19.3-1";
+
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = finalAttrs.pname;
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-59FlOKM5EB5Vkm4dZBRCkn+IgIcdQehE+FyZAdTCT/A=";
+    };
+
+    strictDeps = true;
+
+    outputs = [
+      "out"
+      "dev"
+    ];
+
+    nativeBuildInputs =
+      [
+        which
+        autoAddOpenGLRunpathHook
+        python3
+      ]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [cuda_nvcc];
+
+    buildInputs =
+      lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        cuda_nvcc.dev # crt/host_config.h
+        cuda_cudart
+      ]
+      # NOTE: CUDA versions in Nixpkgs only use a major and minor version. When we do comparisons
+      # against other version, like below, it's important that we use the same format. Otherwise,
+      # we'll get incorrect results.
+      # For example, lib.versionAtLeast "12.0" "12.0.0" == false.
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [cuda_cccl];
+
+    env.NIX_CFLAGS_COMPILE = toString ["-Wno-unused-function"];
+
+    preConfigure = ''
+      patchShebangs ./src/device/generate.py
+      makeFlagsArray+=(
+        "NVCC_GENCODE=${lib.concatStringsSep " " cudaFlags.gencode}"
+      )
+    '';
+
+    makeFlags =
+      ["PREFIX=$(out)"]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [
+        "CUDA_HOME=${cudatoolkit}"
+        "CUDA_LIB=${lib.getLib cudatoolkit}/lib"
+        "CUDA_INC=${lib.getDev cudatoolkit}/include"
+      ]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        "CUDA_HOME=${cuda_nvcc}"
+        "CUDA_LIB=${lib.getLib cuda_cudart}/lib"
+        "CUDA_INC=${lib.getDev cuda_cudart}/include"
+      ];
+
+    enableParallelBuilding = true;
+
+    postFixup = ''
+      moveToOutput lib/libnccl_static.a $dev
+    '';
+
+    passthru.updateScript = gitUpdater {
+      inherit (finalAttrs) pname version;
+      rev-prefix = "v";
+    };
+
+    meta = with lib; {
+      description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs";
+      homepage = "https://developer.nvidia.com/nccl";
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+      maintainers =
+        with maintainers;
+        [
+          mdaiter
+          orivej
+        ]
+        ++ teams.cuda.members;
+    };
+  }
+)
diff --git a/pkgs/development/cuda-modules/nvcc-compatibilities.nix b/pkgs/development/cuda-modules/nvcc-compatibilities.nix
new file mode 100644
index 0000000000000..4af1b511a1d9d
--- /dev/null
+++ b/pkgs/development/cuda-modules/nvcc-compatibilities.nix
@@ -0,0 +1,124 @@
+# Taken from
+# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#host-compiler-support-policy
+#
+#   NVCC performs a version check on the host compiler’s major version and so newer minor versions
+#   of the compilers listed below will be supported, but major versions falling outside the range
+#   will not be supported.
+#
+# NOTE: These constraints don't apply to Jetson, which uses something else.
+# NOTE: NVIDIA can and will add support for newer compilers even during patch releases.
+# E.g.: CUDA 12.2.1 maxxed out with support for Clang 15.0; 12.2.2 added support for Clang 16.0.
+# NOTE: Because all platforms NVIDIA supports use GCC and Clang, we omit the architectures here.
+# Type Aliases
+# CudaVersion = String (two-part version number, e.g. "11.2")
+# Platform = String (e.g. "x86_64-linux")
+# CompilerCompatibilities = {
+#  clangMaxMajorVersion = String (e.g. "15")
+#  clangMinMajorVersion = String (e.g. "7")
+#  gccMaxMajorVersion = String (e.g. "11")
+#  gccMinMajorVersion = String (e.g. "6")
+# }
+let
+  # attrs :: AttrSet CudaVersion CompilerCompatibilities
+  attrs = {
+    # Our baseline
+    # https://docs.nvidia.com/cuda/archive/10.0/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "10.0" = {
+      clangMaxMajorVersion = "6";
+      clangMinMajorVersion = "6";
+      gccMaxMajorVersion = "7";
+      gccMinMajorVersion = "5";
+    };
+
+    # Added support for Clang 7 and GCC 8
+    # https://docs.nvidia.com/cuda/archive/10.1/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "10.1" = attrs."10.0" // {
+      clangMaxMajorVersion = "7";
+      gccMaxMajorVersion = "8";
+    };
+
+    # Added clang 8
+    # https://docs.nvidia.com/cuda/archive/10.2/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "10.2" = attrs."10.1" // {
+      clangMaxMajorVersion = "8";
+    };
+
+    # Added support for Clang 9 and GCC 9
+    # https://docs.nvidia.com/cuda/archive/11.0/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "11.0" = {
+      clangMaxMajorVersion = "9";
+      clangMinMajorVersion = "7";
+      gccMaxMajorVersion = "9";
+      gccMinMajorVersion = "6";
+    };
+
+    # Added support for Clang 10 and GCC 10
+    # https://docs.nvidia.com/cuda/archive/11.1.1/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "11.1" = attrs."11.0" // {
+      clangMaxMajorVersion = "10";
+      gccMaxMajorVersion = "10";
+    };
+
+    # Added support for Clang 11
+    # https://docs.nvidia.com/cuda/archive/11.2.2/cuda-installation-guide-linux/index.html#system-requirements
+    "11.2" = attrs."11.1" // {
+      clangMaxMajorVersion = "11";
+    };
+
+    # No changes from 11.2 to 11.3
+    "11.3" = attrs."11.2";
+
+    # Added support for Clang 12 and GCC 11
+    # https://docs.nvidia.com/cuda/archive/11.4.4/cuda-toolkit-release-notes/index.html#cuda-general-new-features
+    "11.4" = attrs."11.3" // {
+      clangMaxMajorVersion = "12";
+      # NOTE: There is a bug in the version of GLIBC that GCC 11 uses which causes it to fail to compile some CUDA
+      # code. As such, we skip it for this release, and do the bump in 11.6 (skipping 11.5).
+      # https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750/15
+      # gccMaxMajorVersion = "11";
+    };
+
+    # No changes from 11.4 to 11.5
+    "11.5" = attrs."11.4";
+
+    # No changes from 11.5 to 11.6
+    # However, as mentioned above, we add GCC 11 this release.
+    "11.6" = attrs."11.5" // {
+      gccMaxMajorVersion = "11";
+    };
+
+    # Added support for Clang 13
+    # https://docs.nvidia.com/cuda/archive/11.7.1/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features
+    "11.7" = attrs."11.6" // {
+      clangMaxMajorVersion = "13";
+    };
+
+    # Added support for Clang 14
+    # https://docs.nvidia.com/cuda/archive/11.8.0/cuda-installation-guide-linux/index.html#system-requirements
+    "11.8" = attrs."11.7" // {
+      clangMaxMajorVersion = "14";
+    };
+
+    # Added support for GCC 12
+    # https://docs.nvidia.com/cuda/archive/12.0.1/cuda-installation-guide-linux/index.html#system-requirements
+    "12.0" = attrs."11.8" // {
+      gccMaxMajorVersion = "12";
+    };
+
+    # Added support for Clang 15
+    # https://docs.nvidia.com/cuda/archive/12.1.1/cuda-toolkit-release-notes/index.html#cuda-compilers-new-features
+    "12.1" = attrs."12.0" // {
+      clangMaxMajorVersion = "15";
+    };
+
+    # Added support for Clang 16
+    # https://docs.nvidia.com/cuda/archive/12.2.2/cuda-installation-guide-linux/index.html#host-compiler-support-policy
+    "12.2" = attrs."12.1" // {
+      clangMaxMajorVersion = "16";
+    };
+
+    # No changes from 12.2 to 12.3
+    "12.3" = attrs."12.2";
+  };
+in
+attrs
diff --git a/pkgs/development/compilers/cudatoolkit/saxpy/CMakeLists.txt b/pkgs/development/cuda-modules/saxpy/CMakeLists.txt
index a6954e6e8bee2..a6954e6e8bee2 100644
--- a/pkgs/development/compilers/cudatoolkit/saxpy/CMakeLists.txt
+++ b/pkgs/development/cuda-modules/saxpy/CMakeLists.txt
diff --git a/pkgs/development/cuda-modules/saxpy/default.nix b/pkgs/development/cuda-modules/saxpy/default.nix
new file mode 100644
index 0000000000000..fff52801e3cca
--- /dev/null
+++ b/pkgs/development/cuda-modules/saxpy/default.nix
@@ -0,0 +1,56 @@
+{
+  cmake,
+  cudaPackages,
+  lib,
+}:
+let
+  inherit (cudaPackages)
+    autoAddOpenGLRunpathHook
+    backendStdenv
+    cuda_cccl
+    cuda_cudart
+    cuda_nvcc
+    cudatoolkit
+    cudaVersion
+    flags
+    libcublas
+    ;
+in
+backendStdenv.mkDerivation {
+  pname = "saxpy";
+  version = "unstable-2023-07-11";
+
+  src = ./.;
+
+  strictDeps = true;
+
+  nativeBuildInputs =
+    [
+      cmake
+      autoAddOpenGLRunpathHook
+    ]
+    ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+    ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [cuda_nvcc];
+
+  buildInputs =
+    lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+    ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+      libcublas
+      cuda_cudart
+    ]
+    ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [cuda_cccl];
+
+  cmakeFlags = [
+    (lib.cmakeBool "CMAKE_VERBOSE_MAKEFILE" true)
+    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (
+      with flags; lib.concatStringsSep ";" (lib.lists.map dropDot cudaCapabilities)
+    ))
+  ];
+
+  meta = {
+    description = "A simple (Single-precision AX Plus Y) FindCUDAToolkit.cmake example for testing cross-compilation";
+    license = lib.licenses.mit;
+    maintainers = lib.teams.cuda.members;
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/cudatoolkit/saxpy/saxpy.cu b/pkgs/development/cuda-modules/saxpy/saxpy.cu
index 912a6d1647b14..912a6d1647b14 100644
--- a/pkgs/development/compilers/cudatoolkit/saxpy/saxpy.cu
+++ b/pkgs/development/cuda-modules/saxpy/saxpy.cu
diff --git a/pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh b/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh
index f50a5f6c25c66..f50a5f6c25c66 100644
--- a/pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh
+++ b/pkgs/development/cuda-modules/setup-hooks/auto-add-opengl-runpath-hook.sh
diff --git a/pkgs/development/cuda-modules/setup-hooks/extension.nix b/pkgs/development/cuda-modules/setup-hooks/extension.nix
new file mode 100644
index 0000000000000..762dad9ea8765
--- /dev/null
+++ b/pkgs/development/cuda-modules/setup-hooks/extension.nix
@@ -0,0 +1,47 @@
+final: _: {
+  # Internal hook, used by cudatoolkit and cuda redist packages
+  # to accommodate automatic CUDAToolkit_ROOT construction
+  markForCudatoolkitRootHook =
+    final.callPackage
+      (
+        {makeSetupHook}:
+        makeSetupHook {name = "mark-for-cudatoolkit-root-hook";} ./mark-for-cudatoolkit-root-hook.sh
+      )
+      {};
+
+  # Currently propagated by cuda_nvcc or cudatoolkit, rather than used directly
+  setupCudaHook =
+    (final.callPackage
+      (
+        {makeSetupHook, backendStdenv}:
+        makeSetupHook
+          {
+            name = "setup-cuda-hook";
+
+            substitutions.setupCudaHook = placeholder "out";
+
+            # Point NVCC at a compatible compiler
+            substitutions.ccRoot = "${backendStdenv.cc}";
+
+            # Required in addition to ccRoot as otherwise bin/gcc is looked up
+            # when building CMakeCUDACompilerId.cu
+            substitutions.ccFullPath = "${backendStdenv.cc}/bin/${backendStdenv.cc.targetPrefix}c++";
+          }
+          ./setup-cuda-hook.sh
+      )
+      {}
+    );
+
+  autoAddOpenGLRunpathHook =
+    final.callPackage
+      (
+        {addOpenGLRunpath, makeSetupHook}:
+        makeSetupHook
+          {
+            name = "auto-add-opengl-runpath-hook";
+            propagatedBuildInputs = [addOpenGLRunpath];
+          }
+          ./auto-add-opengl-runpath-hook.sh
+      )
+      {};
+}
diff --git a/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh b/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
new file mode 100644
index 0000000000000..ba04c2e0806af
--- /dev/null
+++ b/pkgs/development/cuda-modules/setup-hooks/mark-for-cudatoolkit-root-hook.sh
@@ -0,0 +1,14 @@
+# shellcheck shell=bash
+
+# Should we mimick cc-wrapper's "hygiene"?
+[[ -z ${strictDeps-} ]] || (( "$hostOffset" < 0 )) || return 0
+
+echo "Sourcing mark-for-cudatoolkit-root-hook" >&2
+
+markForCUDAToolkit_ROOT() {
+    mkdir -p "${prefix}/nix-support"
+    [[ -f "${prefix}/nix-support/include-in-cudatoolkit-root" ]] && return
+    echo "$pname-$output" > "${prefix}/nix-support/include-in-cudatoolkit-root"
+}
+
+fixupOutputHooks+=(markForCUDAToolkit_ROOT)
diff --git a/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh b/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh
new file mode 100644
index 0000000000000..7b7b3bdde80e3
--- /dev/null
+++ b/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh
@@ -0,0 +1,139 @@
+# shellcheck shell=bash
+
+# Only run the hook from nativeBuildInputs
+(( "$hostOffset" == -1 && "$targetOffset" == 0)) || return 0
+
+guard=Sourcing
+reason=
+
+[[ -n ${cudaSetupHookOnce-} ]] && guard=Skipping && reason=" because the hook has been propagated more than once"
+
+if (( "${NIX_DEBUG:-0}" >= 1 )) ; then
+    echo "$guard hostOffset=$hostOffset targetOffset=$targetOffset setupCudaHook$reason" >&2
+else
+    echo "$guard setup-cuda-hook$reason" >&2
+fi
+
+[[ "$guard" = Sourcing ]] || return 0
+
+declare -g cudaSetupHookOnce=1
+declare -Ag cudaHostPathsSeen=()
+declare -Ag cudaOutputToPath=()
+
+extendcudaHostPathsSeen() {
+    (( "${NIX_DEBUG:-0}" >= 1 )) && echo "extendcudaHostPathsSeen $1" >&2
+
+    local markerPath="$1/nix-support/include-in-cudatoolkit-root"
+    [[ ! -f "${markerPath}" ]] && return
+    [[ -v cudaHostPathsSeen[$1] ]] && return
+
+    cudaHostPathsSeen["$1"]=1
+
+    # E.g. cuda_cudart-lib
+    local cudaOutputName
+    read -r cudaOutputName < "$markerPath"
+
+    [[ -z "$cudaOutputName" ]] && return
+
+    local oldPath="${cudaOutputToPath[$cudaOutputName]-}"
+    [[ -n "$oldPath" ]] && echo "extendcudaHostPathsSeen: warning: overwriting $cudaOutputName from $oldPath to $1" >&2
+    cudaOutputToPath["$cudaOutputName"]="$1"
+}
+addEnvHooks "$targetOffset" extendcudaHostPathsSeen
+
+setupCUDAToolkit_ROOT() {
+    (( "${NIX_DEBUG:-0}" >= 1 )) && echo "setupCUDAToolkit_ROOT: cudaHostPathsSeen=${!cudaHostPathsSeen[*]}" >&2
+
+    for path in "${!cudaHostPathsSeen[@]}" ; do
+        addToSearchPathWithCustomDelimiter ";" CUDAToolkit_ROOT "$path"
+        if [[ -d "$path/include" ]] ; then
+            addToSearchPathWithCustomDelimiter ";" CUDAToolkit_INCLUDE_DIR "$path/include"
+        fi
+    done
+
+    export cmakeFlags+=" -DCUDAToolkit_INCLUDE_DIR=$CUDAToolkit_INCLUDE_DIR -DCUDAToolkit_ROOT=$CUDAToolkit_ROOT"
+}
+preConfigureHooks+=(setupCUDAToolkit_ROOT)
+
+setupCUDAToolkitCompilers() {
+    echo Executing setupCUDAToolkitCompilers >&2
+
+    if [[ -n "${dontSetupCUDAToolkitCompilers-}" ]] ; then
+        return
+    fi
+
+    # Point NVCC at a compatible compiler
+
+    # For CMake-based projects:
+    # https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
+    # https://cmake.org/cmake/help/latest/envvar/CUDAHOSTCXX.html
+    # https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_HOST_COMPILER.html
+
+    export cmakeFlags+=" -DCUDA_HOST_COMPILER=@ccFullPath@"
+    export cmakeFlags+=" -DCMAKE_CUDA_HOST_COMPILER=@ccFullPath@"
+
+    # For non-CMake projects:
+    # We prepend --compiler-bindir to nvcc flags.
+    # Downstream packages can override these, because NVCC
+    # uses the last --compiler-bindir it gets on the command line.
+    # FIXME: this results in "incompatible redefinition" warnings.
+    # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#compiler-bindir-directory-ccbin
+    if [ -z "${CUDAHOSTCXX-}" ]; then
+      export CUDAHOSTCXX="@ccFullPath@";
+    fi
+
+    export NVCC_PREPEND_FLAGS+=" --compiler-bindir=@ccRoot@/bin"
+
+    # NOTE: We set -Xfatbin=-compress-all, which reduces the size of the compiled
+    #   binaries. If binaries grow over 2GB, they will fail to link. This is a problem for us, as
+    #   the default set of CUDA capabilities we build can regularly cause this to occur (for
+    #   example, with Magma).
+    #
+    # @SomeoneSerge: original comment was made by @ConnorBaker in .../cudatoolkit/common.nix
+    if [[ -z "${dontCompressFatbin-}" ]]; then
+        export NVCC_PREPEND_FLAGS+=" -Xfatbin=-compress-all"
+    fi
+
+    # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
+    # CUDAToolkit_ROOT. We have to help it locate libcudart
+    if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then
+        if [[ ! -v cudaOutputToPath["cuda_cudart-out"] ]] ; then
+            echo "setupCUDAToolkitCompilers: missing cudaPackages.cuda_cudart. This may become an an error in the future" >&2
+            # exit 1
+        fi
+        for pkg in "${!cudaOutputToPath[@]}" ; do
+            [[ ! "$pkg" = cuda_cudart* ]] && continue
+
+            local path="${cudaOutputToPath[$pkg]}"
+            if [[ -d "$path/include" ]] ; then
+                export NVCC_PREPEND_FLAGS+=" -I$path/include"
+            fi
+            if [[ -d "$path/lib" ]] ; then
+                export NVCC_PREPEND_FLAGS+=" -L$path/lib"
+            fi
+        done
+    fi
+}
+preConfigureHooks+=(setupCUDAToolkitCompilers)
+
+propagateCudaLibraries() {
+    (( "${NIX_DEBUG:-0}" >= 1 )) && echo "propagateCudaLibraries: cudaPropagateToOutput=$cudaPropagateToOutput cudaHostPathsSeen=${!cudaHostPathsSeen[*]}" >&2
+
+    [[ -z "${cudaPropagateToOutput-}" ]] && return
+
+    mkdir -p "${!cudaPropagateToOutput}/nix-support"
+    # One'd expect this should be propagated-bulid-build-deps, but that doesn't seem to work
+    echo "@setupCudaHook@" >> "${!cudaPropagateToOutput}/nix-support/propagated-native-build-inputs"
+
+    local propagatedBuildInputs=( "${!cudaHostPathsSeen[@]}" )
+    for output in $(getAllOutputNames) ; do
+        if [[ ! "$output" = "$cudaPropagateToOutput" ]] ; then
+            propagatedBuildInputs+=( "${!output}" )
+        fi
+        break
+    done
+
+    # One'd expect this should be propagated-host-host-deps, but that doesn't seem to work
+    printWords "${propagatedBuildInputs[@]}" >> "${!cudaPropagateToOutput}/nix-support/propagated-build-inputs"
+}
+postFixupHooks+=(propagateCudaLibraries)
diff --git a/pkgs/development/cuda-modules/tensorrt/fixup.nix b/pkgs/development/cuda-modules/tensorrt/fixup.nix
new file mode 100644
index 0000000000000..d713189328ed7
--- /dev/null
+++ b/pkgs/development/cuda-modules/tensorrt/fixup.nix
@@ -0,0 +1,113 @@
+{
+  cudaVersion,
+  final,
+  hostPlatform,
+  lib,
+  mkVersionedPackageName,
+  package,
+  patchelf,
+  requireFile,
+  ...
+}:
+let
+  inherit (lib)
+    maintainers
+    meta
+    strings
+    versions
+    ;
+in
+finalAttrs: prevAttrs: {
+  # Useful for inspecting why something went wrong.
+  brokenConditions =
+    let
+      cudaTooOld = strings.versionOlder cudaVersion package.minCudaVersion;
+      cudaTooNew =
+        (package.maxCudaVersion != null) && strings.versionOlder package.maxCudaVersion cudaVersion;
+      cudnnVersionIsSpecified = package.cudnnVersion != null;
+      cudnnVersionSpecified = versions.majorMinor package.cudnnVersion;
+      cudnnVersionProvided = versions.majorMinor finalAttrs.passthru.cudnn.version;
+      cudnnTooOld =
+        cudnnVersionIsSpecified && (strings.versionOlder cudnnVersionProvided cudnnVersionSpecified);
+      cudnnTooNew =
+        cudnnVersionIsSpecified && (strings.versionOlder cudnnVersionSpecified cudnnVersionProvided);
+    in
+    prevAttrs.brokenConditions
+    // {
+      "CUDA version is too old" = cudaTooOld;
+      "CUDA version is too new" = cudaTooNew;
+      "CUDNN version is too old" = cudnnTooOld;
+      "CUDNN version is too new" = cudnnTooNew;
+    };
+
+  src = requireFile {
+    name = package.filename;
+    inherit (package) hash;
+    message = ''
+      To use the TensorRT derivation, you must join the NVIDIA Developer Program and
+      download the ${package.version} TAR package for CUDA ${cudaVersion} from
+      ${finalAttrs.meta.homepage}.
+
+      Once you have downloaded the file, add it to the store with the following
+      command, and try building this derivation again.
+
+      $ nix-store --add-fixed sha256 ${package.filename}
+    '';
+  };
+
+  # We need to look inside the extracted output to get the files we need.
+  sourceRoot = "TensorRT-${finalAttrs.version}";
+
+  buildInputs = prevAttrs.buildInputs ++ [finalAttrs.passthru.cudnn.lib];
+
+  preInstall =
+    let
+      targetArch =
+        if hostPlatform.isx86_64 then
+          "x86_64-linux-gnu"
+        else if hostPlatform.isAarch64 then
+          "aarch64-linux-gnu"
+        else
+          throw "Unsupported architecture";
+    in
+    (prevAttrs.preInstall or "")
+    + ''
+      # Replace symlinks to bin and lib with the actual directories from targets.
+      for dir in bin lib; do
+        rm "$dir"
+        mv "targets/${targetArch}/$dir" "$dir"
+      done
+    '';
+
+  # Tell autoPatchelf about runtime dependencies.
+  postFixup =
+    let
+      versionTriple = "${versions.majorMinor finalAttrs.version}.${versions.patch finalAttrs.version}";
+    in
+    (prevAttrs.postFixup or "")
+    + ''
+      ${meta.getExe' patchelf "patchelf"} --add-needed libnvinfer.so \
+        "$lib/lib/libnvinfer.so.${versionTriple}" \
+        "$lib/lib/libnvinfer_plugin.so.${versionTriple}" \
+        "$lib/lib/libnvinfer_builder_resource.so.${versionTriple}"
+    '';
+
+  passthru = {
+    useCudatoolkitRunfile = strings.versionOlder cudaVersion "11.3.999";
+    # The CUDNN used with TensorRT.
+    # If null, the default cudnn derivation will be used.
+    # If a version is specified, the cudnn derivation with that version will be used,
+    # unless it is not available, in which case the default cudnn derivation will be used.
+    cudnn =
+      let
+        desiredName = mkVersionedPackageName "cudnn" package.cudnnVersion;
+        desiredIsAvailable = final ? desiredName;
+      in
+      if package.cudnnVersion == null || !desiredIsAvailable then final.cudnn else final.${desiredName};
+  };
+
+  meta = prevAttrs.meta // {
+    homepage = "https://developer.nvidia.com/tensorrt";
+    maintainers = prevAttrs.meta.maintainers ++ [maintainers.aidalgol];
+  };
+}
diff --git a/pkgs/development/cuda-modules/tensorrt/releases.nix b/pkgs/development/cuda-modules/tensorrt/releases.nix
new file mode 100644
index 0000000000000..d6a1f0487dd43
--- /dev/null
+++ b/pkgs/development/cuda-modules/tensorrt/releases.nix
@@ -0,0 +1,130 @@
+# NOTE: Check https://developer.nvidia.com/nvidia-tensorrt-8x-download.
+# Version policy is to keep the latest minor release for each major release.
+{
+  tensorrt.releases = {
+    # jetson
+    linux-aarch64 = [];
+    # powerpc
+    linux-ppc64le = [];
+    # server-grade arm
+    linux-sbsa = [
+      {
+        version = "8.2.5.1";
+        minCudaVersion = "11.4";
+        maxCudaVersion = "11.4";
+        cudnnVersion = "8.2";
+        filename = "TensorRT-8.2.5.1.Ubuntu-20.04.aarch64-gnu.cuda-11.4.cudnn8.2.tar.gz";
+        hash = "sha256-oWfQ3lq2aoMPv65THeotnMilTzP+QWqKeToLU8eO+qo=";
+      }
+      {
+        version = "8.4.3.1";
+        minCudaVersion = "11.6";
+        maxCudaVersion = "11.6";
+        cudnnVersion = "8.4";
+        filename = "TensorRT-8.4.3.1.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz";
+        hash = "sha256-9tLlrB8cKYFvN2xF0Pol5CZs06iuuI5mq+6jpzD8wWI=";
+      }
+      {
+        version = "8.5.3.1";
+        minCudaVersion = "11.8";
+        maxCudaVersion = "11.8";
+        cudnnVersion = "8.6";
+        filename = "TensorRT-8.5.3.1.Ubuntu-20.04.aarch64-gnu.cuda-11.8.cudnn8.6.tar.gz";
+        hash = "sha256-GW//mX0brvN/waHo9Wd07xerOEz3X/H/HAW2ZehYtTA=";
+      }
+      {
+        version = "8.6.1.6";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.0";
+        cudnnVersion = null;
+        filename = "TensorRT-8.6.1.6.Ubuntu-20.04.aarch64-gnu.cuda-12.0.tar.gz";
+        hash = "sha256-Lc4+v/yBr17VlecCSFMLUDlXMTYV68MGExwnUjGme5E=";
+      }
+    ];
+    # x86_64
+    linux-x86_64 = [
+      {
+        version = "8.0.3.4";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        cudnnVersion = "8.2";
+        filename = "TensorRT-8.0.3.4.Linux.x86_64-gnu.cuda-10.2.cudnn8.2.tar.gz";
+        hash = "sha256-LxcXgwe1OCRfwDsEsNLIkeNsOcx3KuF5Sj+g2dY6WD0=";
+      }
+      {
+        version = "8.0.3.4";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.3";
+        cudnnVersion = "8.2";
+        filename = "TensorRT-8.0.3.4.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz";
+        hash = "sha256-MXdDUCT/SqWm26jB7QarEcwOG/O7cS36Y6Q0IvQTE/M=";
+      }
+      {
+        version = "8.2.5.1";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        cudnnVersion = "8.2";
+        filename = "TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-10.2.cudnn8.2.tar.gz";
+        hash = "sha256-XV2Bf2LH8OM2GEMjV80MDweb1hSVF/wFUcaW3KP2m8Q=";
+      }
+      {
+        # The docs claim this supports through 11.5 despite the file name indicating 11.4.
+        version = "8.2.5.1";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.5";
+        cudnnVersion = "8.2";
+        filename = "TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz";
+        hash = "sha256-LcNpYvDiT7AavqzK1MRlijo2qDN7jznigeS77US713E=";
+      }
+      {
+        version = "8.4.3.1";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        cudnnVersion = "8.4";
+        filename = "TensorRT-8.4.3.1.Linux.x86_64-gnu.cuda-10.2.cudnn8.4.tar.gz";
+        hash = "sha256-2c3Zzt93FBWWQtrSIvpbzzS6BT9s0NzALzdwXGLOZEU=";
+      }
+      {
+        # The docs claim this supports through 11.7 despite the file name indicating 11.6.
+        version = "8.4.3.1";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.7";
+        cudnnVersion = "8.4";
+        filename = "TensorRT-8.4.3.1.Linux.x86_64-gnu.cuda-11.6.cudnn8.4.tar.gz";
+        hash = "sha256-jXwghcFjncxzh1BIwjWYqFJs4wiRNoduMdkCWOSeT2E=";
+      }
+      {
+        version = "8.5.3.1";
+        minCudaVersion = "10.2";
+        maxCudaVersion = "10.2";
+        cudnnVersion = "8.6";
+        filename = "TensorRT-8.5.3.1.Linux.x86_64-gnu.cuda-10.2.cudnn8.6.tar.gz";
+        hash = "sha256-WCt6yfOmFbrjqdYCj6AE2+s2uFpISwk6urP+2I0BnGQ=";
+      }
+      {
+        version = "8.5.3.1";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        cudnnVersion = "8.6";
+        filename = "TensorRT-8.5.3.1.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz";
+        hash = "sha256-BNeuOYvPTUAfGxI0DVsNrX6Z/FAB28+SE0ptuGu7YDY=";
+      }
+      {
+        version = "8.6.1.6";
+        minCudaVersion = "11.0";
+        maxCudaVersion = "11.8";
+        cudnnVersion = "8.9";
+        filename = "TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz";
+        hash = "sha256-Fb/mBT1F/uxF7McSOpEGB2sLQ/oENfJC2J3KB3gzd1k=";
+      }
+      {
+        version = "8.6.1.6";
+        minCudaVersion = "12.0";
+        maxCudaVersion = "12.1";
+        cudnnVersion = "8.9";
+        filename = "TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.0.tar.gz";
+        hash = "sha256-D4FXpfxTKZQ7M4uJNZE3M1CvqQyoEjnNrddYDNHrolQ=";
+      }
+    ];
+  };
+}
diff --git a/pkgs/development/cuda-modules/tensorrt/shims.nix b/pkgs/development/cuda-modules/tensorrt/shims.nix
new file mode 100644
index 0000000000000..8be3e7988bb34
--- /dev/null
+++ b/pkgs/development/cuda-modules/tensorrt/shims.nix
@@ -0,0 +1,16 @@
+# Shims to mimic the shape of ../modules/generic/manifests/{feature,redistrib}/release.nix
+{package, redistArch}:
+{
+  featureRelease.${redistArch}.outputs = {
+    bin = true;
+    lib = true;
+    static = true;
+    dev = true;
+    sample = true;
+    python = true;
+  };
+  redistribRelease = {
+    name = "TensorRT: a high-performance deep learning interface";
+    inherit (package) version;
+  };
+}
diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch
deleted file mode 100644
index a3b2f87f37878..0000000000000
--- a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig.old	2015-06-03 19:53:00.116849746 +0100
-+++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig	2015-06-03 19:56:30.112579384 +0100
-@@ -130,6 +130,11 @@
-   <!-- New projects will be created with this targets file. -->
-   <Extension path="/MonoDevelop/ProjectModel/MSBuildItemTypes">
-     <!--  If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' -->
-+	<Condition id="MSBuildTargetIsAvailable" target="$(FSharpTargetsPath)" >
-+        <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(FSharpTargetsPath)"  resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/>
-+	</Condition>
-+
-+    <!--  If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' -->
- 	<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" >
-       <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets"  resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/>
- 	</Condition>
-@@ -182,14 +187,7 @@
-     <ProjectTemplate id="FSharpConsoleProject" file="Templates/FSharpConsoleProject.xpt.xml"/>
-     <ProjectTemplate id="FSharpLibraryProject" file="Templates/FSharpLibraryProject.xpt.xml"/>
-     <!-- Only include the tutorial project if an F# 3.0 or 3.1 target is available as this includes F# 3.0 specific features -->
--	<ComplexCondition>
--		<Or>
--			<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--			<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--		</Or>
- 		<ProjectTemplate id="FSharpTutorialProject" file="Templates/FSharpTutorialProject.xpt.xml"/>
--	</ComplexCondition>
--
-     <ProjectTemplate id="FSharpGtkProject" file="Templates/FSharpGtkProject.xpt.xml"/>
-     <ProjectTemplate id="FSharpNUnitLibraryProject" file="Templates/FSharpNUnitLibraryProject.xpt.xml"/>
-   </Extension>
-@@ -267,13 +265,7 @@
-   <!-- F# interactive -->
- 
-   <Extension path="/MonoDevelop/Ide/Pads">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <Pad id="MonoDevelop.FSharp.FSharpInteractivePad" defaultPlacement="Bottom" _label="F# Interactive" icon="md-project" class="MonoDevelop.FSharp.FSharpInteractivePad" />
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
-@@ -281,11 +273,6 @@
-   </Extension>
- 
-   <Extension path="/MonoDevelop/Ide/Commands">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <Category _name = "F# Integration" id="F# Integration">
-         <Command id="MonoDevelop.FSharp.FSharpCommands.ShowFSharpInteractive"
-             _label = "F# Interactive"
-@@ -330,32 +317,19 @@
-             macShortcut="Meta|Control|C"
-             shortcut="Ctrl|Alt|C" />
-       </Category>
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Editor">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <SeparatorItem id = "FSharpInteractiveStart" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" />
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/Ide/MainMenu/Edit">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" />
--    </ComplexCondition>
-   </Extension>
- 
-   <!--- F# Android -->
diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch
deleted file mode 100644
index e53482e0c00b4..0000000000000
--- a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig.old	2015-06-03 18:48:55.345385084 +0100
-+++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig	2015-06-03 19:00:11.453399028 +0100
-@@ -185,19 +185,19 @@
-       <Private>False</Private>
-       <HintPath>INSERT_FSPROJ_MDROOT\AddIns\NUnit\MonoDevelop.NUnit.dll</HintPath>
-     </Reference>
--    <ProjectReference Include="..\..\FSharp.CompilerBinding\FSharp.CompilerBinding.fsproj">
--      <Project>{88F6940F-D300-474C-B2A7-E2ECD5B04B57}</Project>
--      <Name>FSharp.CompilerBinding</Name>
--    </ProjectReference>
-+    <Reference Include="FSharp.CompilerBinding">
-+      <Private>True</Private>
-+    </Reference>
-     <ProjectReference Include="Gui\MonoDevelop.FSharp.Gui.csproj">
-       <Project>{FD0D1033-9145-48E5-8ED8-E2365252878C}</Project>
-       <Name>MonoDevelop.FSharp.Gui</Name>
-     </ProjectReference>
--    <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-+    <Reference Include="FSharp.Core">
-       <Private>True</Private>
-     </Reference>
-     <Reference Include="FSharp.Compiler.Service">
-       <HintPath>packages\FSharp.Compiler.Service.0.0.85\lib\net45\FSharp.Compiler.Service.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="Mono.Cecil">
-       <HintPath>packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.dll</HintPath>
-@@ -213,12 +213,15 @@
-     </Reference>
-     <Reference Include="FantomasLib">
-       <HintPath>packages\Fantomas.1.6.0\lib\FantomasLib.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="FSharp.Compiler.CodeDom">
-       <HintPath>packages\FSharp.Compiler.CodeDom.0.9.1\lib\net40\FSharp.Compiler.CodeDom.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="ExtCore">
-       <HintPath>packages\ExtCore.0.8.45\lib\net40\ExtCore.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-   </ItemGroup>
-   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
diff --git a/pkgs/development/embedded/elf2uf2-rs/default.nix b/pkgs/development/embedded/elf2uf2-rs/default.nix
index 493381842109c..c64380bec23d4 100644
--- a/pkgs/development/embedded/elf2uf2-rs/default.nix
+++ b/pkgs/development/embedded/elf2uf2-rs/default.nix
@@ -2,11 +2,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elf2uf2-rs";
-  version = "1.3.7";
+  version = "1.3.8";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-2ZilZIYXCNrKJlkHBsz/2/pMtF+UDfjDlt53ylcwgus=";
+    sha256 = "sha256-wR2rxovUYBW9kKMFJG5lsRhtpI12L+HZe73kQyckEdI=";
   };
 
   nativeBuildInputs = [
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
       Foundation
     ];
 
-  cargoSha256 = "sha256-+3Rqlzkrw9XfM3PelGNbnRGaWQLbzVJ7iJgvGgVt5FE=";
+  cargoHash = "sha256-gSEmNmVpREvD3lDJmcmPnN9keu7SaAIcO7fDhOBhu/E=";
 
   meta = with lib; {
     description = "Convert ELF files to UF2 for USB Flashing Bootloaders";
diff --git a/pkgs/development/guile-modules/guile-gcrypt/default.nix b/pkgs/development/guile-modules/guile-gcrypt/default.nix
index ac5d373955f5e..ff31b009da316 100644
--- a/pkgs/development/guile-modules/guile-gcrypt/default.nix
+++ b/pkgs/development/guile-modules/guile-gcrypt/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
   makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
   doCheck = true;
 
+  # In procedure bytevector-u8-ref: Argument 2 out of range
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     description = "Bindings to Libgcrypt for GNU Guile";
     homepage = "https://notabug.org/cwebber/guile-gcrypt";
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
index 7c092db5a7eb7..a355ed44777a2 100644
--- a/pkgs/development/guile-modules/guile-ncurses/default.nix
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation rec {
     "--with-gnu-filesystem-hierarchy"
   ];
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+  };
+
   postFixup = ''
     for f in $out/${guile.siteDir}/ncurses/**.scm; do \
       substituteInPlace $f \
diff --git a/pkgs/development/hare-packages/hare-json/default.nix b/pkgs/development/hare-packages/hare-json/default.nix
new file mode 100644
index 0000000000000..d9afdeadf7f01
--- /dev/null
+++ b/pkgs/development/hare-packages/hare-json/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, hare, harec, fetchFromSourcehut }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hare-json";
+  version = "unstable-2023-09-21";
+
+  src = fetchFromSourcehut {
+    owner = "~sircmpwn";
+    repo = "hare-json";
+    rev = "e24e5dceb8628ff569338e6c4fdba35a5017c5e2";
+    hash = "sha256-7QRieokqXarKwLfZynS8Rum9JV9hcxod00BWAUwwliM=";
+  };
+
+  nativeBuildInputs = [ hare ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HARECACHE="$NIX_BUILD_TOP/.harecache"
+    export BINOUT="$NIX_BUILD_TOP/.bin"
+
+    makeFlagsArray+=(
+      PREFIX="${builtins.placeholder "out"}"
+    )
+
+    runHook postConfigure
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~sircmpwn/hare-json/";
+    description = "This package provides JSON support for Hare";
+    license = with licenses; [ mpl20 ];
+    maintainers = with maintainers; [ starzation ];
+
+    inherit (harec.meta) platforms badPlatforms;
+  };
+})
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 7fe56b3f13d01..833d85d2ddd32 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -121,22 +121,24 @@ self: super: {
   # For -f-auto see cabal.project in haskell-language-server.
   ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex);
 
-  hiedb =
-    lib.pipe
-      super.hiedb
-      [
-        # hiedb-0.4.3.0 does not yet support algebraic-graphs-0.7.  This patch works
-        # around the issue.
-        # https://github.com/wz1000/HieDb/pull/44
-        (appendPatch
-          (pkgs.fetchpatch {
-            name = "hiedb-algebraic-graphs-0.7.patch";
-            url = "https://github.com/wz1000/HieDB/commit/4ac8e6735321872b9d5d15a9cac492add5555234.patch";
-            hash = "sha256-Iu+M8r+DrpoxUCG6yekgbW+GffoNjjRksnwUJ6jojhE=";
-          }))
-        # Patch does not actually bump the bound in the .cabal file.
-        doJailbreak
-      ];
+  # 2023-12-03: https://github.com/haskell/haskell-language-server/pull/3867
+  hls-plugin-api = appendPatch (fetchpatch {
+    url = "https://github.com/haskell/haskell-language-server/commit/1c884ea856cceeaa3254a2ef68c8ab3a3c353153.patch";
+    relative = "hls-plugin-api";
+    hash = "sha256-vlXPdEvmuIl+cM+u/GdHi8r72r4+Tqtsvx0CGbWEFCQ=";
+  }) (doJailbreak super.hls-plugin-api);
+  ghcide = appendPatch (fetchpatch {
+    url = "https://github.com/haskell/haskell-language-server/commit/1c884ea856cceeaa3254a2ef68c8ab3a3c353153.patch";
+    relative = "ghcide";
+    hash = "sha256-1URXyQf88v3hjFGvNmcIjHxJ5vExH3iI92XktDrQs0U=";
+  }) (doJailbreak super.ghcide);
+  hls-test-utils = doJailbreak super.hls-test-utils;
+  hls-alternate-number-format-plugin = doJailbreak super.hls-alternate-number-format-plugin;
+  hls-cabal-plugin = doJailbreak super.hls-cabal-plugin;
+  hls-call-hierarchy-plugin = doJailbreak super.hls-call-hierarchy-plugin;
+  hls-explicit-fixity-plugin = doJailbreak super.hls-explicit-fixity-plugin;
+  hls-floskell-plugin = doJailbreak super.hls-floskell-plugin;
+  hls-gadt-plugin = doJailbreak super.hls-gadt-plugin;
 
   ###########################################
   ### END HASKELL-LANGUAGE-SERVER SECTION ###
@@ -484,7 +486,6 @@ self: super: {
   # Too strict bounds on algebraic-graphs and bytestring
   # https://github.com/haskell-nix/hnix-store/issues/180
   hnix-store-core = doJailbreak super.hnix-store-core;
-  hnix-store-core_0_6_1_0 = doDistribute (doJailbreak super.hnix-store-core_0_6_1_0);
 
   # Fails for non-obvious reasons while attempting to use doctest.
   focuslist = dontCheck super.focuslist;
@@ -903,6 +904,63 @@ self: super: {
     '';
   }) super.structured-haskell-mode;
 
+  inherit (let
+    csound_src_git = pkgs.fetchFromGitHub {
+      owner = "spell-music";
+      repo = "csound-expression";
+      rev = "345df2c91c9831dd895f58951990165598504814";
+      hash = "sha256-6qPiKsZwZpqB2kmckKDKyQPTcWPIaVwi+EYs74tRod0=";
+    };
+  in {
+    # Compilation on recent GHC is fixed on git, but not yet on hackage
+    # https://github.com/spell-music/csound-expression/pull/68
+    csound-expression-typed =
+      assert super.csound-expression-typed.version == "0.2.7";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-typed";
+        editedCabalFile = null;
+      }) super.csound-expression-typed;
+
+    csound-expression-dynamic =
+      assert super.csound-expression-dynamic.version == "0.3.9";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-dynamic";
+        editedCabalFile = null;
+        libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+          self.base64-bytestring self.cereal self.cereal-text
+          self.cryptohash-sha256 self.pretty-show self.safe
+          self.unordered-containers self.vector self.wl-pprint-text
+        ];
+      }) super.csound-expression-dynamic;
+
+    csound-expression =
+      assert super.csound-expression.version == "5.4.3";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression";
+        editedCabalFile = null;
+      }) super.csound-expression;
+
+    csound-expression-opcodes =
+      assert super.csound-expression-opcodes.version == "0.0.5.1";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-opcodes";
+        editedCabalFile = null;
+      }) super.csound-expression-opcodes;
+
+    csound-sampler =
+      assert super.csound-sampler.version == "0.0.10.1";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-sampler";
+        editedCabalFile = null;
+      }) super.csound-sampler;
+  })
+    csound-expression-typed
+    csound-expression-dynamic
+    csound-expression
+    csound-expression-opcodes
+    csound-sampler
+    ;
+
   # Make elisp files available at a location where people expect it.
   hindent = (overrideCabal (drv: {
     # We cannot easily byte-compile these files, unfortunately, because they
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
deleted file mode 100644
index acde3041b1fa1..0000000000000
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ /dev/null
@@ -1,189 +0,0 @@
-{ pkgs, haskellLib }:
-
-with haskellLib;
-
-let
-  inherit (pkgs.stdenv.hostPlatform) isDarwin;
-in
-
-self: super: {
-
-  llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
-
-  # Disable GHC 8.8.x core libraries.
-  array = null;
-  base = null;
-  binary = null;
-  bytestring = null;
-  Cabal = null;
-  containers = null;
-  deepseq = null;
-  directory = null;
-  filepath = null;
-  ghc-boot = null;
-  ghc-boot-th = null;
-  ghc-compact = null;
-  ghc-heap = null;
-  ghc-prim = null;
-  ghci = null;
-  haskeline = null;
-  hpc = null;
-  integer-gmp = null;
-  libiserv = null;
-  mtl = null;
-  parsec = null;
-  pretty = null;
-  process = null;
-  rts = null;
-  stm = null;
-  template-haskell = null;
-  # GHC only builds terminfo if it is a native compiler
-  terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else self.terminfo_0_4_1_6;
-  text = null;
-  time = null;
-  transformers = null;
-  unix = null;
-  # GHC only bundles the xhtml library if haddock is enabled, check if this is
-  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
-  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_3_0_0;
-  # These core package only exist for GHC >= 9.4. The best we can do is feign
-  # their existence to callPackages, but their is no shim for lower GHC versions.
-  system-cxx-std-lib = null;
-
-  # Need the Cabal-syntax-3.6.0.0 fake package for Cabal < 3.8 to allow callPackage and the constraint solver to work
-  Cabal-syntax = self.Cabal-syntax_3_6_0_0;
-
-  # GHC 8.8.x can build haddock version 2.23.*
-  haddock = self.haddock_2_23_1;
-  haddock-api = self.haddock-api_2_23_1;
-
-  # This build needs a newer version of Cabal.
-  cabal2spec = super.cabal2spec.override { Cabal = self.Cabal_3_2_1_0; };
-
-  # Additionally depends on OneTuple for GHC < 9.0
-  base-compat-batteries = addBuildDepend self.OneTuple super.base-compat-batteries;
-
-  # For GHC < 9.4, some packages need data-array-byte as an extra dependency
-  primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
-  hashable = addBuildDepends [
-    self.data-array-byte
-    self.base-orphans
-  ] super.hashable;
-
-  # Ignore overly restrictive upper version bounds.
-  aeson-diff = doJailbreak super.aeson-diff;
-  async = doJailbreak super.async;
-  ChasingBottoms = doJailbreak super.ChasingBottoms;
-  chell = doJailbreak super.chell;
-  Diff = dontCheck super.Diff;
-  doctest = doJailbreak super.doctest;
-  hashable-time = doJailbreak super.hashable-time;
-  hledger-lib = doJailbreak super.hledger-lib;  # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
-  integer-logarithms = doJailbreak super.integer-logarithms;
-  lucid = doJailbreak super.lucid;
-  parallel = doJailbreak super.parallel;
-  setlocale = doJailbreak super.setlocale;
-  split = doJailbreak super.split;
-  system-fileio = doJailbreak super.system-fileio;
-  tasty-expected-failure = doJailbreak super.tasty-expected-failure;
-  tasty-hedgehog = doJailbreak super.tasty-hedgehog;
-  test-framework = doJailbreak super.test-framework;
-  th-expand-syns = doJailbreak super.th-expand-syns;
-  # TODO: remove when upstream accepts https://github.com/snapframework/io-streams-haproxy/pull/17
-  io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
-  snap-server = doJailbreak super.snap-server;
-  exact-pi = doJailbreak super.exact-pi;
-  time-compat = doJailbreak super.time-compat;
-  http-media = unmarkBroken (doJailbreak super.http-media);
-  servant-server = unmarkBroken (doJailbreak super.servant-server);
-  basement = doDistribute self.basement_0_0_14;
-  foundation = doDistribute (dontCheck self.foundation_0_0_28);
-  vault = dontHaddock super.vault;
-
-  # https://github.com/snapframework/snap-core/issues/288
-  snap-core = overrideCabal (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail   = Fail.fail' ''"; }) super.snap-core;
-
-  # Upstream ships a broken Setup.hs file.
-  csv = overrideCabal (drv: { prePatch = "rm Setup.hs"; }) super.csv;
-
-  # https://github.com/kowainik/relude/issues/241
-  relude = dontCheck super.relude;
-
-  # The current version 2.14.2 does not compile with ghc-8.8.x or newer because
-  # of issues with Cabal 3.x.
-  darcs = dontDistribute super.darcs;
-
-  # liquidhaskell does not support ghc version 8.8.x.
-  liquid = markBroken super.liquid;
-  liquid-base = markBroken super.liquid-base;
-  liquid-bytestring = markBroken super.liquid-bytestring;
-  liquid-containers = markBroken super.liquid-containers;
-  liquid-ghc-prim = markBroken super.liquid-ghc-prim;
-  liquid-parallel = markBroken super.liquid-parallel;
-  liquid-platform = markBroken super.liquid-platform;
-  liquid-prelude = markBroken super.liquid-prelude;
-  liquid-vector = markBroken super.liquid-vector;
-  liquidhaskell = markBroken super.liquidhaskell;
-
-  # This became a core library in ghc 8.10., so we don’t have an "exception" attribute anymore.
-  exceptions = super.exceptions_0_10_7;
-
-  ormolu = super.ormolu_0_2_0_0;
-
-  ghc-api-compat = doDistribute (unmarkBroken super.ghc-api-compat_8_6);
-
-  mime-string = disableOptimization super.mime-string;
-
-  haskell-language-server =  throw "haskell-language-server dropped support for ghc 8.8 in version 1.9.0.0 please use a newer ghc version or an older nixpkgs version";
-
-  hlint = self.hlint_3_2_8;
-
-  ghc-lib-parser = doDistribute self.ghc-lib-parser_8_10_7_20220219;
-  ghc-lib = doDistribute self.ghc-lib_8_10_7_20220219;
-
-  # ghc versions which don’t match the ghc-lib-parser-ex version need the
-  # additional dependency to compile successfully.
-  ghc-lib-parser-ex = doDistribute (addBuildDepend self.ghc-lib-parser self.ghc-lib-parser-ex_8_10_0_24);
-
-  # has a restrictive lower bound on Cabal
-  fourmolu = doJailbreak super.fourmolu;
-
-  # Overly-strict bounds introducted by a revision in version 0.3.2.
-  text-metrics = doJailbreak super.text-metrics;
-
-  # OneTuple needs hashable (instead of ghc-prim) and foldable1-classes-compat for GHC < 9
-  OneTuple = addBuildDepends [
-    self.foldable1-classes-compat
-  ] (super.OneTuple.override {
-    ghc-prim = self.hashable;
-  });
-
-  # Temporarily disabled blaze-textual for GHC >= 9.0 causing hackage2nix ignoring it
-  # https://github.com/paul-rouse/mysql-simple/blob/872604f87044ff6d1a240d9819a16c2bdf4ed8f5/Database/MySQL/Internal/Blaze.hs#L4-L10
-  mysql-simple = addBuildDepends [
-    self.blaze-textual
-  ] super.mysql-simple;
-
-  # https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
-  inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
-
-  # Depends on OneTuple for GHC < 9.0
-  universe-base = addBuildDepends [ self.OneTuple ] super.universe-base;
-
-  # doctest-parallel dependency requires newer Cabal
-  regex-tdfa = dontCheck super.regex-tdfa;
-
-  # Unnecessarily strict lower bound on base
-  # https://github.com/mrkkrp/megaparsec/pull/485#issuecomment-1250051823
-  megaparsec = doJailbreak super.megaparsec;
-
-  # Needs OneTuple for ghc < 9.2
-  binary-orphans = addBuildDepends [ self.OneTuple ] super.binary-orphans;
-
-  # Later versions only support GHC >= 9.2
-  ghc-exactprint = self.ghc-exactprint_0_6_4;
-  apply-refact = self.apply-refact_0_9_3_0;
-
-  # Requires GHC < 9.4
-  ghc-source-gen = doDistribute (unmarkBroken super.ghc-source-gen);
-}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 839b3c1bee5bf..27db7e3c351dc 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1001,7 +1001,6 @@ broken-packages:
   - cryptsy-api # failure in job https://hydra.nixos.org/build/233195814 at 2023-09-02
   - csa # failure in job https://hydra.nixos.org/build/233233907 at 2023-09-02
   - cse-ghc-plugin # failure in job https://hydra.nixos.org/build/233251963 at 2023-09-02
-  - csound-expression-dynamic # failure in job https://hydra.nixos.org/build/233225568 at 2023-09-02
   - CSPM-Frontend # failure in job https://hydra.nixos.org/build/233219295 at 2023-09-02
   - cspretty # failure in job https://hydra.nixos.org/build/233246796 at 2023-09-02
   - css-easings # failure in job https://hydra.nixos.org/build/233203513 at 2023-09-02
@@ -1672,6 +1671,7 @@ broken-packages:
   - fortran-vars # failure in job https://hydra.nixos.org/build/233257719 at 2023-09-02
   - fortytwo # failure in job https://hydra.nixos.org/build/233209552 at 2023-09-02
   - foscam-filename # failure in job https://hydra.nixos.org/build/233237326 at 2023-09-02
+  - fp-ieee # failure in job https://hydra.nixos.org/build/241516602 at 2023-12-03
   - FPretty # failure in job https://hydra.nixos.org/build/233196648 at 2023-09-02
   - fptest # failure in job https://hydra.nixos.org/build/233233288 at 2023-09-02
   - fquery # failure in job https://hydra.nixos.org/build/233196287 at 2023-09-02
@@ -3393,6 +3393,7 @@ broken-packages:
   - MapWith # failure in job https://hydra.nixos.org/build/233237146 at 2023-09-02
   - markdown-kate # failure in job https://hydra.nixos.org/build/233227051 at 2023-09-02
   - marked-pretty # failure in job https://hydra.nixos.org/build/233193892 at 2023-09-02
+  - markov-chain-usage-model # failure in job https://hydra.nixos.org/build/241522329 at 2023-12-03
   - markov-realization # failure in job https://hydra.nixos.org/build/233234901 at 2023-09-02
   - mars # failure in job https://hydra.nixos.org/build/234449730 at 2023-09-13
   - marshal-contt # failure in job https://hydra.nixos.org/build/233231755 at 2023-09-02
@@ -4858,6 +4859,7 @@ broken-packages:
   - semilattices # failure in job https://hydra.nixos.org/build/233223765 at 2023-09-02
   - sendgrid-haskell # failure in job https://hydra.nixos.org/build/233228693 at 2023-09-02
   - sendgrid-v3 # failure in job https://hydra.nixos.org/build/233224134 at 2023-09-02
+  - sensei # failure in job https://hydra.nixos.org/build/241518007 at 2023-12-03
   - sensu-run # failure in job https://hydra.nixos.org/build/233251719 at 2023-09-02
   - sentry # failure in job https://hydra.nixos.org/build/233246813 at 2023-09-02
   - seonbi # failure in job https://hydra.nixos.org/build/233196115 at 2023-09-02
@@ -4924,6 +4926,7 @@ broken-packages:
   - SessionLogger # failure in job https://hydra.nixos.org/build/233235790 at 2023-09-02
   - sessions # failure in job https://hydra.nixos.org/build/233214614 at 2023-09-02
   - sessiontypes # failure in job https://hydra.nixos.org/build/233224975 at 2023-09-02
+  - setdown # failure in job https://hydra.nixos.org/build/241521053 at 2023-12-03
   - setgame # failure in job https://hydra.nixos.org/build/233218664 at 2023-09-02
   - set-of # failure in job https://hydra.nixos.org/build/233202960 at 2023-09-02
   - setoid # failure in job https://hydra.nixos.org/build/233213744 at 2023-09-02
@@ -5529,6 +5532,7 @@ broken-packages:
   - th-traced # failure in job https://hydra.nixos.org/build/233247762 at 2023-09-02
   - thumbnail # failure in job https://hydra.nixos.org/build/233257110 at 2023-09-02
   - thumbnail-plus # failure in job https://hydra.nixos.org/build/233255464 at 2023-09-02
+  - thyme # failure in job https://hydra.nixos.org/build/241518029 at 2023-12-03
   - tianbar # failure in job https://hydra.nixos.org/build/233195811 at 2023-09-02
   - ticket-management # failure in job https://hydra.nixos.org/build/233247134 at 2023-09-02
   - tictactoe3d # failure in job https://hydra.nixos.org/build/233193080 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index c93590d0980c5..c22e2f2c31ca1 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 21.19
+# Stackage LTS 21.21
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -57,7 +57,7 @@ default-package-overrides:
   - annotated-exception ==0.2.0.5
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.5
-  - ansi-terminal-game ==1.9.1.3
+  - ansi-terminal-game ==1.9.2.0
   - ansi-terminal-types ==0.11.5
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
@@ -121,7 +121,7 @@ default-package-overrides:
   - autodocodec-openapi3 ==0.2.1.1
   - autodocodec-schema ==0.1.0.3
   - autodocodec-yaml ==0.2.0.3
-  - autoexporter ==2.0.0.8
+  - autoexporter ==2.0.0.9
   - auto-update ==0.1.6
   - avro ==0.6.1.2
   - aws ==0.24.1
@@ -249,7 +249,7 @@ default-package-overrides:
   - bugsnag-wai ==1.0.0.1
   - bugsnag-yesod ==1.0.0.1
   - bugzilla-redhat ==1.0.1.1
-  - burrito ==2.0.1.6
+  - burrito ==2.0.1.7
   - bv ==0.5
   - byteable ==0.1.1
   - bytebuild ==0.3.14.0
@@ -263,7 +263,7 @@ default-package-overrides:
   - byteslice ==0.2.11.1
   - bytesmith ==0.3.10.0
   - bytestring-builder ==0.10.8.2.0
-  - bytestring-lexing ==0.5.0.10
+  - bytestring-lexing ==0.5.0.11
   - bytestring-mmap ==0.2.2
   - bytestring-strict-builder ==0.4.5.7
   - bytestring-to-vector ==0.3.0.1
@@ -279,7 +279,7 @@ default-package-overrides:
   - cabal-doctest ==1.0.9
   - cabal-file ==0.1.1
   - cabal-install-solver ==3.8.1.0
-  - cabal-rpm ==2.1.3
+  - cabal-rpm ==2.1.4
   - cache ==0.1.3.0
   - cached-json-file ==0.1.1
   - cacophony ==0.10.1
@@ -304,8 +304,8 @@ default-package-overrides:
   - cassava-conduit ==0.6.5
   - cassava-megaparsec ==2.0.4
   - cast ==0.1.0.2
-  - cborg ==0.2.9.0
-  - cborg-json ==0.2.5.0
+  - cborg ==0.2.10.0
+  - cborg-json ==0.2.6.0
   - cdar-mBound ==0.1.0.4
   - c-enum ==0.1.1.3
   - cereal ==0.5.8.3
@@ -352,7 +352,7 @@ default-package-overrides:
   - codec-beam ==0.2.0
   - code-conjure ==0.5.2
   - code-page ==0.2.1
-  - coinor-clp ==0.0
+  - coinor-clp ==0.0.0.1
   - cointracking-imports ==0.1.0.2
   - collect-errors ==0.1.5.0
   - co-log-concurrent ==0.5.1.0
@@ -407,7 +407,7 @@ default-package-overrides:
   - conferer-aeson ==1.1.0.2
   - conferer-warp ==1.1.0.1
   - ConfigFile ==1.1.4
-  - config-ini ==0.2.6.0
+  - config-ini ==0.2.7.0
   - configuration-tools ==0.6.1
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
@@ -552,7 +552,7 @@ default-package-overrides:
   - dependent-map ==0.4.0.0
   - dependent-sum ==0.7.2.0
   - depq ==0.4.2
-  - deque ==0.4.4
+  - deque ==0.4.4.1
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-storable ==0.3.1.0
   - derive-topdown ==0.0.3.0
@@ -570,7 +570,7 @@ default-package-overrides:
   - diagrams-cairo ==1.4.2.1
   - diagrams-canvas ==1.4.1.2
   - diagrams-contrib ==1.4.5.1
-  - diagrams-core ==1.5.1
+  - diagrams-core ==1.5.1.1
   - diagrams-html5 ==1.4.2
   - diagrams-lib ==1.4.6
   - diagrams-postscript ==1.5.1.1
@@ -682,7 +682,7 @@ default-package-overrides:
   - enclosed-exceptions ==1.0.3
   - ENIG ==0.0.1.0
   - entropy ==0.4.1.10
-  - enummapset ==0.7.1.0
+  - enummapset ==0.7.2.0
   - enumset ==0.1
   - enum-subset-generate ==0.1.0.1
   - enum-text ==0.5.3.0
@@ -775,7 +775,7 @@ default-package-overrides:
   - fitspec ==0.4.10
   - fixed ==0.3
   - fixed-length ==0.2.3.1
-  - fixed-vector ==1.2.2.1
+  - fixed-vector ==1.2.3.0
   - fixed-vector-hetero ==0.6.1.1
   - fix-whitespace ==0.0.11
   - flac ==0.2.1
@@ -786,7 +786,7 @@ default-package-overrides:
   - flay ==0.4
   - FloatingHex ==0.5
   - floatshow ==0.2.4
-  - flow ==2.0.0.3
+  - flow ==2.0.0.4
   - flush-queue ==1.0.0
   - fmlist ==0.9.4
   - fmt ==0.6.3.0
@@ -826,7 +826,7 @@ default-package-overrides:
   - functor-classes-compat ==2.0.0.2
   - functor-combinators ==0.4.1.2
   - fused-effects ==1.1.2.2
-  - fusion-plugin ==0.2.6
+  - fusion-plugin ==0.2.7
   - fusion-plugin-types ==0.1.0
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.1
@@ -895,8 +895,8 @@ default-package-overrides:
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghcjs-perch ==0.3.3.3
-  - ghc-lib ==9.4.7.20230826
-  - ghc-lib-parser ==9.4.7.20230826
+  - ghc-lib ==9.4.8.20231111
+  - ghc-lib-parser ==9.4.8.20231111
   - ghc-lib-parser-ex ==9.4.0.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.12
@@ -904,7 +904,7 @@ default-package-overrides:
   - ghc-tcplugins-extra ==0.4.5
   - ghc-trace-events ==0.1.2.7
   - ghc-typelits-extra ==0.4.6
-  - ghc-typelits-knownnat ==0.7.9
+  - ghc-typelits-knownnat ==0.7.10
   - ghc-typelits-natnormalise ==0.7.9
   - ghc-typelits-presburger ==0.7.2.0
   - ghost-buster ==0.1.1.0
@@ -932,7 +932,7 @@ default-package-overrides:
   - gi-soup ==2.4.28
   - githash ==0.1.7.0
   - github ==0.28.0.1
-  - github-release ==2.0.0.8
+  - github-release ==2.0.0.9
   - github-rest ==1.1.4
   - github-types ==0.2.1
   - github-webhooks ==0.17.0
@@ -1016,12 +1016,12 @@ default-package-overrides:
   - haskell-src-exts ==1.23.1
   - haskell-src-exts-simple ==1.23.0.0
   - haskell-src-exts-util ==0.2.5
-  - haskell-src-meta ==0.8.12
+  - haskell-src-meta ==0.8.13
   - haskoin-core ==0.21.2
   - haskoin-node ==0.18.1
   - haskoin-store-data ==0.65.5
   - hasktags ==0.72.0
-  - hasql ==1.6.3.3
+  - hasql ==1.6.3.4
   - hasql-dynamic-statements ==0.3.1.2
   - hasql-implicits ==0.1.1
   - hasql-interpolate ==0.1.0.4
@@ -1070,7 +1070,7 @@ default-package-overrides:
   - hfsevents ==0.1.6
   - hgal ==2.0.0.3
   - hidapi ==0.1.8
-  - hi-file-parser ==0.1.5.0
+  - hi-file-parser ==0.1.6.0
   - highlighting-kate ==0.6.4
   - hindent ==6.0.0
   - hinfo ==0.0.3.0
@@ -1114,11 +1114,11 @@ default-package-overrides:
   - hpc-lcov ==1.1.1
   - HPDF ==1.6.2
   - hpp ==0.6.5
-  - hpqtypes ==1.11.1.1
+  - hpqtypes ==1.11.1.2
   - hpqtypes-extras ==1.16.4.4
   - hreader ==1.1.1
   - hreader-lens ==0.1.3.0
-  - hruby ==0.5.0.0
+  - hruby ==0.5.1.0
   - hsass ==0.8.0
   - hs-bibutils ==6.10.0.0
   - hsc2hs ==0.68.10
@@ -1159,7 +1159,7 @@ default-package-overrides:
   - hspec-core ==2.10.10
   - hspec-discover ==2.10.10
   - hspec-expectations ==0.8.2
-  - hspec-expectations-json ==1.0.2.0
+  - hspec-expectations-json ==1.0.2.1
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.6
   - hspec-golden ==0.2.1.0
@@ -1311,7 +1311,7 @@ default-package-overrides:
   - intset-imperative ==0.1.0.0
   - invariant ==0.6.2
   - invert ==1.0.0.4
-  - invertible-grammar ==0.1.3.4
+  - invertible-grammar ==0.1.3.5
   - io-machine ==0.2.0.0
   - io-manager ==0.1.0.4
   - io-memoize ==1.1.1.0
@@ -1350,7 +1350,7 @@ default-package-overrides:
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.10
-  - json-feed ==2.0.0.9
+  - json-feed ==2.0.0.10
   - jsonifier ==0.2.1.2
   - jsonpath ==0.3.0.0
   - json-rpc ==1.0.4
@@ -1387,7 +1387,7 @@ default-package-overrides:
   - koji ==0.0.2
   - krank ==0.3.0
   - labels ==0.3.3
-  - lackey ==2.0.0.6
+  - lackey ==2.0.0.7
   - LambdaHack ==0.11.0.1
   - lame ==0.2.2
   - language-avro ==0.1.4.0
@@ -1440,7 +1440,7 @@ default-package-overrides:
   - libgit ==0.3.1
   - liboath-hs ==0.0.1.2
   - libyaml ==0.1.2
-  - lifted-async ==0.10.2.4
+  - lifted-async ==0.10.2.5
   - lifted-base ==0.2.3.12
   - lift-generics ==0.2.1
   - lift-type ==0.1.1.1
@@ -1519,7 +1519,7 @@ default-package-overrides:
   - mathlist ==0.2.0.0
   - matplotlib ==0.7.7
   - matrices ==0.5.0
-  - matrix ==0.3.6.1
+  - matrix ==0.3.6.3
   - matrix-as-xyz ==0.1.2.2
   - matrix-market-attoparsec ==0.1.1.3
   - matrix-static ==0.3
@@ -1721,7 +1721,7 @@ default-package-overrides:
   - non-negative ==0.1.2
   - normaldistribution ==1.1.0.3
   - not-gloss ==0.7.7.0
-  - nothunks ==0.1.4
+  - nothunks ==0.1.5
   - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.4
@@ -1835,7 +1835,7 @@ default-package-overrides:
   - pathtype ==0.8.1.2
   - path-utils ==0.1.1.0
   - pathwalk ==0.3.1.2
-  - patrol ==1.0.0.5
+  - patrol ==1.0.0.6
   - pattern-arrows ==0.0.2
   - pava ==0.1.1.4
   - pcf-font ==0.2.2.1
@@ -1892,7 +1892,7 @@ default-package-overrides:
   - pipes-ordered-zip ==1.2.1
   - pipes-parse ==3.0.9
   - pipes-random ==1.0.0.5
-  - pipes-safe ==2.3.4
+  - pipes-safe ==2.3.5
   - pipes-text ==1.0.1
   - pipes-wai ==3.2.0
   - pkgtreediff ==0.6.0
@@ -1942,7 +1942,7 @@ default-package-overrides:
   - pretty-hex ==1.1
   - prettyprinter ==1.7.1
   - prettyprinter-ansi-terminal ==1.1.3
-  - prettyprinter-combinators ==0.1.1.1
+  - prettyprinter-combinators ==0.1.2
   - prettyprinter-compat-annotated-wl-pprint ==1.1
   - prettyprinter-compat-ansi-wl-pprint ==1.0.2
   - prettyprinter-compat-wl-pprint ==1.0.1
@@ -1987,7 +1987,7 @@ default-package-overrides:
   - PSQueue ==1.2.0
   - psqueues ==0.2.8.0
   - pthread ==0.2.1
-  - ptr ==0.16.8.4
+  - ptr ==0.16.8.5
   - ptr-poker ==0.1.2.13
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
@@ -2026,7 +2026,7 @@ default-package-overrides:
   - rainbow ==0.34.2.2
   - rainbox ==0.26.0.0
   - ral ==0.2.1
-  - rampart ==2.0.0.6
+  - rampart ==2.0.0.7
   - ramus ==0.1.2
   - rando ==0.0.0.4
   - random ==1.2.1.1
@@ -2042,9 +2042,9 @@ default-package-overrides:
   - rank1dynamic ==0.4.1
   - Rasterific ==0.7.5.4
   - rasterific-svg ==0.3.3.2
-  - ratel ==2.0.0.9
+  - ratel ==2.0.0.10
   - rate-limit ==1.4.3
-  - ratel-wai ==2.0.0.4
+  - ratel-wai ==2.0.0.5
   - ratio-int ==0.1.2
   - rattle ==0.2
   - rattletrap ==12.0.3
@@ -2163,7 +2163,7 @@ default-package-overrides:
   - safe-money ==0.9.1
   - SafeSemaphore ==0.10.1
   - saltine ==0.2.1.0
-  - salve ==2.0.0.3
+  - salve ==2.0.0.4
   - sample-frame ==0.0.4
   - sample-frame-np ==0.0.5
   - sampling ==0.3.5
@@ -2210,7 +2210,7 @@ default-package-overrides:
   - seqid-streams ==0.7.2
   - sequence-formats ==1.7.1
   - sequenceTools ==1.5.3.1
-  - serialise ==0.2.6.0
+  - serialise ==0.2.6.1
   - servant ==0.19.1
   - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.1
@@ -2257,7 +2257,7 @@ default-package-overrides:
   - setlocale ==1.0.0.10
   - set-monad ==0.3.0.0
   - sets ==0.0.6.2
-  - sexp-grammar ==2.3.4.1
+  - sexp-grammar ==2.3.4.2
   - SHA ==1.6.4.4
   - shake ==0.19.7
   - shake-plus ==0.3.4.0
@@ -2396,7 +2396,7 @@ default-package-overrides:
   - Stream ==0.4.7.2
   - streaming ==0.2.4.0
   - streaming-attoparsec ==1.0.0.1
-  - streaming-bytestring ==0.3.1
+  - streaming-bytestring ==0.3.2
   - streaming-commons ==0.2.2.6
   - streaming-wai ==0.1.1
   - streamly ==0.9.0
@@ -2409,7 +2409,7 @@ default-package-overrides:
   - strict-base-types ==0.8
   - strict-concurrency ==0.2.4.3
   - strict-lens ==0.4.0.3
-  - strict-list ==0.1.7.2
+  - strict-list ==0.1.7.4
   - strict-tuple ==0.1.5.3
   - strict-wrapper ==0.0.0.0
   - stringable ==0.1.3
@@ -2428,7 +2428,7 @@ default-package-overrides:
   - stripe-scotty ==1.1.0.4
   - stripe-signature ==1.0.0.16
   - stripe-wreq ==1.0.1.16
-  - strive ==6.0.0.9
+  - strive ==6.0.0.10
   - structs ==0.1.9
   - structured ==0.1.1
   - structured-cli ==2.7.0.1
@@ -2531,8 +2531,8 @@ default-package-overrides:
   - tensors ==0.1.5
   - termbox ==1.1.0.2
   - termbox-banana ==1.0.0
-  - termbox-bindings-c ==0.1.0
-  - termbox-bindings-hs ==0.1.0
+  - termbox-bindings-c ==0.1.0.1
+  - termbox-bindings-hs ==0.1.1
   - termbox-tea ==0.1.0.1
   - terminal-progress-bar ==0.4.2
   - terminal-size ==0.3.4
@@ -2550,7 +2550,7 @@ default-package-overrides:
   - text-binary ==0.2.1.1
   - text-builder ==0.6.7
   - text-builder-dev ==0.3.3.2
-  - text-builder-linear ==0.1.1.1
+  - text-builder-linear ==0.1.2
   - text-conversions ==0.3.1.1
   - text-format ==0.3.2.1
   - text-icu ==0.8.0.4
@@ -2778,7 +2778,7 @@ default-package-overrides:
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8.4
   - vector-bytes-instances ==0.1.1
-  - vector-extras ==0.2.8
+  - vector-extras ==0.2.8.1
   - vector-hashtables ==0.1.1.3
   - vector-instances ==3.4.2
   - vector-mmap ==0.0.3
@@ -2855,7 +2855,7 @@ default-package-overrides:
   - wide-word ==0.1.6.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==1.2.0.2
+  - witch ==1.2.0.3
   - withdependencies ==0.3.0
   - witherable ==0.4.2
   - within ==0.2.0.1
@@ -2925,7 +2925,7 @@ default-package-overrides:
   - yesod-auth ==1.6.11.2
   - yesod-auth-basic ==0.1.0.3
   - yesod-auth-hashdb ==1.7.1.7
-  - yesod-auth-oauth2 ==0.7.1.2
+  - yesod-auth-oauth2 ==0.7.1.3
   - yesod-auth-oidc ==0.1.4
   - yesod-bin ==1.6.2.2
   - yesod-core ==1.6.25.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index e3525ba907601..e4ab07de038e0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -116,6 +116,7 @@ dont-distribute-packages:
  - FiniteCategoriesGraphViz
  - FiniteMap
  - FirstOrderTheory
+ - Flint2-Examples
  - Flippi
  - ForSyDe
  - Forestry
@@ -1004,12 +1005,6 @@ dont-distribute-packages:
  - cryptonite-cd
  - crystalfontz
  - csg
- - csound-catalog
- - csound-controllers
- - csound-expression
- - csound-expression-opcodes
- - csound-expression-typed
- - csound-sampler
  - cspmchecker
  - csv-enumerator
  - ctpl
@@ -1309,6 +1304,7 @@ dont-distribute-packages:
  - fast-bech32
  - fastcdc
  - fastirc
+ - fastparser
  - fault-tree
  - fay-base
  - fay-builder
@@ -3457,6 +3453,7 @@ dont-distribute-packages:
  - samtools-conduit
  - samtools-enumerator
  - samtools-iteratee
+ - sandwich_0_2_0_0
  - sarsi
  - sasha
  - sasl
@@ -3874,7 +3871,6 @@ dont-distribute-packages:
  - techlab
  - telegram-bot
  - telegram-raw-api
- - temporal-csound
  - ten-lens
  - ten-unordered-containers
  - tensorflow-opgen
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index fcd37d55f1cd8..3f7672fb8e180 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -1095,7 +1095,7 @@ self: super: builtins.intersectAttrs super {
     '';
   }) (lib.pipe
         (super.cachix.override {
-          hnix-store-core = self.hnix-store-core_0_6_1_0;
+          hnix-store-core = self.hnix-store-core_0_7_0_0;
           nix = self.hercules-ci-cnix-store.nixPackage;
         })
         [
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e608ebeec372a..acd673beb8122 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -6390,21 +6390,44 @@ self: {
      }) {};
 
   "Flint2" = callPackage
-    ({ mkDerivation, base, flint, gmp, groups, QuickCheck }:
+    ({ mkDerivation, base, containers, flint, gmp, groups, QuickCheck
+     }:
      mkDerivation {
        pname = "Flint2";
-       version = "0.1.0.1";
-       sha256 = "1jw0x82mgqy4pxwxpyv0crz7n72kv255iq4pxr8c5xkvsw6w2w5i";
-       libraryHaskellDepends = [ base groups QuickCheck ];
-       librarySystemDepends = [ flint gmp ];
+       version = "0.1.0.5";
+       sha256 = "0hldi7kknhb4kl228b658skn2irakmshb84dqmdgpy76v5b7klxx";
+       libraryHaskellDepends = [ base containers groups QuickCheck ];
+       librarySystemDepends = [ flint ];
        libraryPkgconfigDepends = [ flint gmp ];
        testHaskellDepends = [ base ];
        description = "Haskell bindings for the flint library for number theory";
-       license = lib.licenses.bsd3;
+       license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {inherit (pkgs) flint; inherit (pkgs) gmp;};
 
+  "Flint2-Examples" = callPackage
+    ({ mkDerivation, base, containers, filepath, Flint2, gloss
+     , gloss-juicy, JuicyPixels, mtl, optparse-applicative, time, timeit
+     }:
+     mkDerivation {
+       pname = "Flint2-Examples";
+       version = "0.1.0.2";
+       sha256 = "1dyy1wfllxrx56aws4s55bpyiw89ad2jm033pa7zhv9628g8ymar";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers filepath Flint2 gloss gloss-juicy JuicyPixels mtl
+         optparse-applicative time timeit
+       ];
+       testHaskellDepends = [
+         base containers Flint2 mtl optparse-applicative timeit
+       ];
+       description = "Examples for the Flint2 library";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Flippi" = callPackage
     ({ mkDerivation, base, cgi, containers, directory, haskell98
      , old-time, parsec, xhtml
@@ -10446,6 +10469,28 @@ self: {
        broken = true;
      }) {CacBDD = null;};
 
+  "HasChor" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, http-client
+     , random, servant, servant-client, servant-server, split
+     , template-haskell, time, transformers, unordered-containers, warp
+     }:
+     mkDerivation {
+       pname = "HasChor";
+       version = "0.1.0.1";
+       sha256 = "062gn52146vhlfc71zlbx3sbfkid5if22yhba9ngnc0wb0115k81";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring http-client servant servant-client servant-server
+         template-haskell unordered-containers warp
+       ];
+       executableHaskellDepends = [
+         async base containers random split time transformers
+       ];
+       description = "Functional choreographic programming in Haskell";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "HasGP" = callPackage
     ({ mkDerivation, base, haskell98, hmatrix, hmatrix-special, mtl
      , parsec, random
@@ -20081,8 +20126,8 @@ self: {
        pname = "Spock-core";
        version = "0.14.0.1";
        sha256 = "0a93v9pxbvd9qqpx9rnv6gqpc5y8xh5dkfi0lkc566pj9cv8bpad";
-       revision = "1";
-       editedCabalFile = "1kxi4bigll1gn9rcp8x3h4waycihycvh6bhvfjzxdyzhm3ifq48a";
+       revision = "2";
+       editedCabalFile = "09x9xvhdw0k0f9qswbd8g32kjsa34i4rdy117hl7zk0s5scin02a";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          cookie hashable http-api-data http-types hvect mmorph monad-control
@@ -35880,35 +35925,6 @@ self: {
 
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
-     , clock, colour, containers, exceptions, hspec, hspec-discover
-     , linebreak, mintty, mtl, QuickCheck, random, split, terminal-size
-     , timers-tick, unidecode
-     }:
-     mkDerivation {
-       pname = "ansi-terminal-game";
-       version = "1.9.1.3";
-       sha256 = "0ln6cx98g7nv6yv600m7p721pscln1c10wkmmykwlfvsrrvnvk7w";
-       revision = "2";
-       editedCabalFile = "01kfj2qz0s5jygd49ixj2cgzcmikbqb3rhwxs4n8cx3acqzx6cpx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock colour containers
-         exceptions linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock colour containers
-         exceptions hspec linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "cross-platform library for terminal games";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "ansi-terminal-game_1_9_2_0" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, colour, containers, exceptions, file-embed, hspec
      , hspec-discover, linebreak, mintty, mtl, QuickCheck, random, split
      , terminal-size, timers-tick, unidecode
@@ -35932,7 +35948,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "cross-platform library for terminal games";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ansi-terminal-types" = callPackage
@@ -38158,8 +38173,8 @@ self: {
        pname = "arch-hs";
        version = "0.11.1.0";
        sha256 = "1f50id3xplp8zwi379n6xi4in01gms97qbqnfxnsqzrv47xszwj4";
-       revision = "3";
-       editedCabalFile = "1924crg373xid7pxcpi178njmiiaq1m8cf59y96zjhaw4z07054q";
+       revision = "4";
+       editedCabalFile = "1qizarnjfzlml2v0bpdswhxdapakyhqil4avvmflzg4s3fm31m7l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42067,21 +42082,6 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "2.0.0.8";
-       sha256 = "1a4647kh0jzpl8lkm5vl4yg9307dnfxlvlk2pppnahxdy47r6vnk";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ base Cabal directory filepath ];
-       description = "Automatically re-export modules";
-       license = lib.licenses.mit;
-       mainProgram = "autoexporter";
-     }) {};
-
-  "autoexporter_2_0_0_9" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "autoexporter";
        version = "2.0.0.9";
        sha256 = "1rkql1v29gsgq3y9gmsrfxgm43rgwhk32g32gjxbfgr4ky79696g";
        isLibrary = true;
@@ -42090,7 +42090,6 @@ self: {
        executableHaskellDepends = [ base Cabal directory filepath ];
        description = "Automatically re-export modules";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "autoexporter";
      }) {};
 
@@ -47849,6 +47848,8 @@ self: {
        pname = "binary-serialise-cbor";
        version = "0.2.2.0";
        sha256 = "16yhimka17dza5nda62927k5x66c0yrsxzz92kya3gicd6vaga2g";
+       revision = "1";
+       editedCabalFile = "1kampfsd9mm2qv726v4dyq0ssx8ismj4hjm61h0jjx9644c8cr18";
        libraryHaskellDepends = [ base bytestring cborg serialise ];
        description = "Yet Another Binary Serialisation Library (compatibility shim)";
        license = lib.licenses.bsd3;
@@ -52108,16 +52109,16 @@ self: {
      }) {};
 
   "bookhound" = callPackage
-    ({ mkDerivation, base, containers, hspec, hspec-discover
+    ({ mkDerivation, base, containers, hspec, hspec-discover, mtl
      , QuickCheck, quickcheck-instances, text, time
      }:
      mkDerivation {
        pname = "bookhound";
-       version = "0.1.25.0";
-       sha256 = "0kdsr01iwnf9jzb4sfh7mcsnffzxmvfiziz5h2214py8ya3rbi5c";
-       libraryHaskellDepends = [ base containers text time ];
+       version = "0.2.0";
+       sha256 = "0gv9n2nfgcfj1sv68c9llkf4f60vcb5qmcyjw4ijg2dd344yl6z1";
+       libraryHaskellDepends = [ base containers mtl text time ];
        testHaskellDepends = [
-         base containers hspec QuickCheck quickcheck-instances text time
+         base containers hspec mtl QuickCheck quickcheck-instances text time
        ];
        testToolDepends = [ hspec-discover ];
        description = "Simple Parser Combinators";
@@ -53073,8 +53074,8 @@ self: {
     ({ mkDerivation, array, base, mtl, unix }:
      mkDerivation {
        pname = "brainfuck";
-       version = "0.1.0.3";
-       sha256 = "1xlbcvcx6dvrj4x5vqjyvyhazq0hzl1fa17xfcb3m2pc241kgd8d";
+       version = "0.1.0.4";
+       sha256 = "01sgz28jbrjb61rx173ar0kwmh00j2zk4lnjgfc8apwrjigsbr6k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base mtl ];
@@ -53389,8 +53390,8 @@ self: {
     ({ mkDerivation, base, brick, containers, microlens, vector }:
      mkDerivation {
        pname = "brick-list-skip";
-       version = "0.1.1.8";
-       sha256 = "0zaqyhvzw5mw5xj3n71578nslg5h3i5k354xck3f2si2sp73kzxm";
+       version = "0.1.1.9";
+       sha256 = "1dmvpnv904vqyv0z5lf36kdsxvdb9r2k637lrsbis1jvmg9719cm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base brick containers microlens vector ];
@@ -53462,8 +53463,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick-tabular-list";
-       version = "2.2.0.6";
-       sha256 = "1ba3g0qx0hgybj9yiy7afrxfj6nyfqqhj8pwf7lcb5jpm5sqn91d";
+       version = "2.2.0.7";
+       sha256 = "12qn87lzvic12d7g84a23vddiwsk8qi5r5by9569pra3zi7790kc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -54841,26 +54842,6 @@ self: {
      }:
      mkDerivation {
        pname = "burrito";
-       version = "2.0.1.6";
-       sha256 = "1q8ahf5czy2lc8jvlx648ns6ir7q6wmb3zrgzksvznrrb8r163hv";
-       libraryHaskellDepends = [
-         base bytestring containers parsec template-haskell text
-         transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers hspec parsec QuickCheck template-haskell
-         text transformers
-       ];
-       description = "Parse and render URI templates";
-       license = lib.licenses.mit;
-     }) {};
-
-  "burrito_2_0_1_7" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hspec, parsec
-     , QuickCheck, template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "burrito";
        version = "2.0.1.7";
        sha256 = "1b7xijr8ry4q1k3ix2nzbrvaiwrk4gdzbl79kxl3d7s2zxgnngww";
        libraryHaskellDepends = [
@@ -54873,7 +54854,6 @@ self: {
        ];
        description = "Parse and render URI templates";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "burst-detection" = callPackage
@@ -55768,8 +55748,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytestring-lexing";
-       version = "0.5.0.10";
-       sha256 = "0mvqiss323vwvgqx2pv8cww1mkx29hpi094ff54hx545mmvhwb16";
+       version = "0.5.0.11";
+       sha256 = "16qvykzai61dyc403cplxar8frd0p4x3681zrl874ck3c19qj0jw";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring tasty tasty-quickcheck tasty-smallcheck
@@ -57501,29 +57481,6 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.1.3";
-       sha256 = "0wkb1h08ns93gkwycbsi7ap49px05kaybw5badjg1633n0i2bmww";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson base bytestring Cabal cached-json-file directory extra
-         filepath http-client http-client-tls http-conduit http-query
-         optparse-applicative process simple-cabal simple-cmd
-         simple-cmd-args text time unix
-       ];
-       description = "RPM packaging tool for Haskell Cabal-based packages";
-       license = lib.licenses.gpl3Only;
-       mainProgram = "cabal-rpm";
-     }) {};
-
-  "cabal-rpm_2_1_4" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, cached-json-file
-     , directory, extra, filepath, http-client, http-client-tls
-     , http-conduit, http-query, optparse-applicative, process
-     , simple-cabal, simple-cmd, simple-cmd-args, text, time, unix
-     }:
-     mkDerivation {
-       pname = "cabal-rpm";
        version = "2.1.4";
        sha256 = "059vqbh97cydybvbwbn5cgrpw3bx7rkizy8j0nsqfyaxjvvj8lvg";
        isLibrary = false;
@@ -57536,7 +57493,6 @@ self: {
        ];
        description = "RPM packaging tool for Haskell Cabal-based packages";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "cabal-rpm";
      }) {};
 
@@ -59102,6 +59058,8 @@ self: {
        pname = "canonical-json";
        version = "0.6.0.1";
        sha256 = "0znfbazzcx33xi2gi44vqhhdl9ja308zkxydarwkacwd0pckkprk";
+       revision = "1";
+       editedCabalFile = "180c35znblvf3j59si48n4a9qpwwprq8d7xh86fpmjj2sn2g1sj8";
        libraryHaskellDepends = [
          base bytestring containers deepseq parsec pretty
        ];
@@ -60435,6 +60393,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "cassava-megaparsec_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec
+     , megaparsec, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cassava-megaparsec";
+       version = "2.1.0";
+       sha256 = "02nw6rxb8yvn09qrbl7msdjl7vk759vyzz8dighgi2b94vzwdanv";
+       libraryHaskellDepends = [
+         base bytestring cassava megaparsec unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cassava hspec hspec-megaparsec vector
+       ];
+       description = "Megaparsec parser of CSV files that plays nicely with Cassava";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "cassava-records" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cassava, containers
      , foldl, HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck
@@ -60944,8 +60921,8 @@ self: {
        pname = "cbor-tool";
        version = "0.2.2.0";
        sha256 = "0rsnnz1zh9jyjif94lrdppzaa41hypqs1r5dlyzbwlw1m75g286p";
-       revision = "4";
-       editedCabalFile = "1wr6dlijy5j1b88bfmyvzj5pdipw6rcb40gfik678apr2q7gw0i6";
+       revision = "5";
+       editedCabalFile = "0lwxyz8c9mrhq4lqdwwv0y82islakbhwv1jlmjw20ha47g1mg69n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -60968,8 +60945,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.9.0";
-       sha256 = "1apwdb0y08l3mbxb6pb006355nnn1lag035dvm006v7h4cbqvd6w";
+       version = "0.2.10.0";
+       sha256 = "15y7p5rsv76fpklh4rgrxlxxaivpbchxdfdw96mqqjgw7060gzhp";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-bignum ghc-prim half
          primitive text
@@ -60984,19 +60961,22 @@ self: {
      }) {};
 
   "cborg-json" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cborg
-     , criterion, deepseq, directory, process, scientific, text
-     , unordered-containers, vector, zlib
+    ({ mkDerivation, aeson, aeson-pretty, base, base-orphans
+     , base16-bytestring, base64-bytestring, bytestring, cborg
+     , criterion, deepseq, directory, process, QuickCheck, scientific
+     , tasty, tasty-hunit, text, unordered-containers, vector, zlib
      }:
      mkDerivation {
        pname = "cborg-json";
-       version = "0.2.5.0";
-       sha256 = "1m3w0yyp6xb07fx04g5c52pb0b46vpkgpi32w1c8bz867x2p7hsq";
-       revision = "2";
-       editedCabalFile = "1bd2s7dr9jl88pd2wwllb8badhshafnnkq6lmds93sxavv4i92r8";
+       version = "0.2.6.0";
+       sha256 = "1p6xdimwypmlsc0zdyw1vyyapnhwn2g8b9n0a83ca6h4r90722yv";
        libraryHaskellDepends = [
-         aeson aeson-pretty base cborg scientific text unordered-containers
-         vector
+         aeson aeson-pretty base base64-bytestring cborg scientific text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base base-orphans base16-bytestring bytestring cborg
+         QuickCheck tasty tasty-hunit text
        ];
        benchmarkHaskellDepends = [
          aeson base bytestring cborg criterion deepseq directory process
@@ -64415,8 +64395,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.8.0";
-       sha256 = "1cjqm23d2977aiya81i9q1npyd4zxmbv81k4agqggdkl8h9rcn8w";
+       version = "1.8.1";
+       sha256 = "1xjf3z043sn7r35pkbpyxl4agyl2hz3mj7iikridxsddjqrmr5y4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -64451,8 +64431,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.8.0";
-       sha256 = "1f2kmgasgbpnw0gd308mhzc7qb4ng36js7l9gvk0xgm425lxavq0";
+       version = "1.8.1";
+       sha256 = "1s31d0pdzm5zk62gz4g1xp2yalyal2gk3n46y2rwpxl440mchyy5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -64493,8 +64473,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib-hedgehog";
-       version = "1.8.0";
-       sha256 = "0bmlrwwm5hp67fm8a9d089fwmrcnknvd2gijriwzk1kxbvfyhynk";
+       version = "1.8.1";
+       sha256 = "1cnw5i6k376l293f1vlihc22ilapms8brl7726rxr2whrq5sb7r8";
        libraryHaskellDepends = [
          base clash-lib containers data-binary-ieee754 fakedata
          ghc-typelits-knownnat ghc-typelits-natnormalise hedgehog
@@ -64536,8 +64516,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.8.0";
-       sha256 = "01psmi229lgpfc10p0p4gvpqfklwfmgvjwvqifnv77d4jbqjimiq";
+       version = "1.8.1";
+       sha256 = "13y43lsw55jpmr04x6yrrppma9qdqzlvrwbs4jkvc3g7jmydnb3y";
        libraryHaskellDepends = [
          array arrows base binary bytestring constraints containers
          data-binary-ieee754 data-default-class deepseq extra ghc-bignum
@@ -64568,8 +64548,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude-hedgehog";
-       version = "1.8.0";
-       sha256 = "0vll5ff7dhjx2q9xpj3q961dmhgi306w577kxfm11sccvjix2pbh";
+       version = "1.8.1";
+       sha256 = "12g2z845j2pqb3jxkyrj038l8pp9a8sw5fjay5l1pwl8kh8winkk";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-knownnat ghc-typelits-natnormalise
          hedgehog text
@@ -67640,31 +67620,6 @@ self: {
      }:
      mkDerivation {
        pname = "coinor-clp";
-       version = "0.0";
-       sha256 = "1wfi1f4g3n0prks74iww5092nkiyl0d6hmf2yfqlvj6zwcly3kfn";
-       libraryHaskellDepends = [
-         base comfort-array deepseq linear-programming non-empty QuickCheck
-         transformers utility-ht
-       ];
-       libraryPkgconfigDepends = [ clp ];
-       testHaskellDepends = [
-         base comfort-array doctest-exitcode-stdio doctest-lib
-         linear-programming non-empty QuickCheck random transformers
-         utility-ht
-       ];
-       description = "Linear Programming using COIN-OR/CLP and comfort-array";
-       license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
-       maintainers = [ lib.maintainers.thielema ];
-     }) {inherit (pkgs) clp;};
-
-  "coinor-clp_0_0_0_1" = callPackage
-    ({ mkDerivation, base, clp, comfort-array, deepseq
-     , doctest-exitcode-stdio, doctest-lib, linear-programming
-     , non-empty, QuickCheck, random, transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "coinor-clp";
        version = "0.0.0.1";
        sha256 = "02jrmb0fbgwzhgcnhv4hh1flz87rvs1xq3sbjrjac7cxxyl3inba";
        libraryHaskellDepends = [
@@ -67680,7 +67635,6 @@ self: {
        description = "Linear Programming using COIN-OR/CLP and comfort-array";
        license = lib.licenses.bsd3;
        badPlatforms = [ "aarch64-linux" ];
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.thielema ];
      }) {inherit (pkgs) clp;};
 
@@ -70799,6 +70753,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "cond_0_5_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cond";
+       version = "0.5.1";
+       sha256 = "06pm5y8f9jybw9ns1p4rmf9z3nrwl394814f77lsmsqv4z0kn58q";
+       libraryHaskellDepends = [ base ];
+       description = "Basic conditional and boolean operators with monadic variants";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "conditional-restriction-parser" = callPackage
     ({ mkDerivation, base, cmdargs, hourglass, hspec, QuickCheck }:
      mkDerivation {
@@ -71801,24 +71767,6 @@ self: {
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.2.6.0";
-       sha256 = "0pvsvl3svh7y3pi7kw4fsnl6p92sxl4sa0px26c135klvwsq2a1a";
-       libraryHaskellDepends = [
-         base containers megaparsec text transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base containers directory hedgehog ini text unordered-containers
-       ];
-       description = "A library for simple INI-based configuration files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "config-ini_0_2_7_0" = callPackage
-    ({ mkDerivation, base, containers, directory, hedgehog, ini
-     , megaparsec, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "config-ini";
        version = "0.2.7.0";
        sha256 = "00b9b590566hrxrjn31jkq70768dnrzzsjrasrnhdvd6p92iq5rs";
        libraryHaskellDepends = [
@@ -71829,7 +71777,6 @@ self: {
        ];
        description = "A library for simple INI-based configuration files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "config-manager" = callPackage
@@ -77425,7 +77372,6 @@ self: {
        ];
        description = "a gallery of Csound instruments";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-controllers" = callPackage
@@ -77437,7 +77383,6 @@ self: {
        libraryHaskellDepends = [ base csound-expression ];
        testHaskellDepends = [ base csound-expression ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression" = callPackage
@@ -77459,7 +77404,6 @@ self: {
        ];
        description = "library to make electronic music";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression-dynamic" = callPackage
@@ -77479,8 +77423,6 @@ self: {
        ];
        description = "dynamic core for csound-expression library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "csound-expression-opcodes" = callPackage
@@ -77498,7 +77440,6 @@ self: {
        ];
        description = "opcodes for the library csound-expression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression-typed" = callPackage
@@ -77521,7 +77462,6 @@ self: {
        ];
        description = "typed core for the library csound-expression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-sampler" = callPackage
@@ -77535,7 +77475,6 @@ self: {
        libraryHaskellDepends = [ base csound-expression transformers ];
        description = "A musical sampler based on Csound";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csp" = callPackage
@@ -79917,6 +79856,8 @@ self: {
        pname = "data-clist";
        version = "0.2";
        sha256 = "04mj0d1yp0l27v2my51w9q5zpdrdhp29fdyvmwqgxxp8f6yiwfhw";
+       revision = "1";
+       editedCabalFile = "09922p8ydfgqsy29p9qfiss70bks85bzz6g9s3gzrd93lpzhiba7";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Simple functional ring type";
@@ -83779,6 +83720,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "delaunayNd" = callPackage
+    ({ mkDerivation, base, containers, extra, hashable, ilist
+     , insert-ordered-containers, split, Unique
+     }:
+     mkDerivation {
+       pname = "delaunayNd";
+       version = "0.1.0.1";
+       sha256 = "13zqzfbhm5hqij2ispk4b6gy04nm5fnlzmcrp07yn68m5mny3lp1";
+       libraryHaskellDepends = [
+         base containers extra hashable ilist insert-ordered-containers
+         split Unique
+       ];
+       description = "Delaunay tessellation";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "delay" = callPackage
     ({ mkDerivation, async, base, dimensional, exceptions, mtl, time
      , unbounded-delays
@@ -84436,24 +84393,6 @@ self: {
      }) {};
 
   "deque" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, mtl, QuickCheck
-     , quickcheck-instances, rerebase, strict-list, tasty, tasty-hunit
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "deque";
-       version = "0.4.4";
-       sha256 = "1x0rjdqgf4kwgpyisx618waz6r9gki3ivav9m4biysyc04hdhinn";
-       libraryHaskellDepends = [ base deepseq hashable mtl strict-list ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "Double-ended queues";
-       license = lib.licenses.mit;
-     }) {};
-
-  "deque_0_4_4_1" = callPackage
     ({ mkDerivation, base, deepseq, hashable, mtl, rerebase
      , strict-list, tasty, tasty-quickcheck
      }:
@@ -84465,7 +84404,6 @@ self: {
        testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
        description = "Double-ended queues";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dequeue" = callPackage
@@ -86006,8 +85944,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.1";
        sha256 = "09s3m86vflj5im2walab8d0wpvihsvxc5mzy55m10pfzr3gxsd11";
-       revision = "4";
-       editedCabalFile = "0ym561whhaiszvqpdfbbzng3891n36fkwgaspyfhl5gz7pdqr6v9";
+       revision = "5";
+       editedCabalFile = "1b45x3xwc9qzw37jgf0plpsz9kl29925z3kxa3igmwh4hjfxxrws";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog recursion-schemes tasty tasty-hedgehog
@@ -86544,8 +86482,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-core";
-       version = "1.5.1";
-       sha256 = "08bmb2r4gf7arc0wasxla6w1qpgrgrhcs24bb7sv2qgiyb6c22j6";
+       version = "1.5.1.1";
+       sha256 = "168kjikw3x21pjgfy3lmxmrm89g9zlhbypkmzdg5xz9rl7acn7rc";
        libraryHaskellDepends = [
          adjunctions base containers distributive dual-tree lens linear
          monoid-extras mtl profunctors semigroups unordered-containers
@@ -90585,6 +90523,8 @@ self: {
        pname = "docopt";
        version = "0.7.0.7";
        sha256 = "0q3f9j7yqyb97z08h2k6p6bax87g6ab96ng4cpj1xf5k91726ic1";
+       revision = "1";
+       editedCabalFile = "15lha2pf1yhj6ka57mdg414582cl0h140qc42ddz6cvj9a62bd66";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers parsec template-haskell
@@ -94931,14 +94871,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "effectful-core_2_3_0_0" = callPackage
+  "effectful-core_2_3_0_1" = callPackage
     ({ mkDerivation, base, containers, exceptions, monad-control
      , primitive, transformers-base, unliftio-core
      }:
      mkDerivation {
        pname = "effectful-core";
-       version = "2.3.0.0";
-       sha256 = "1yrywdzys1fsg0403g5slg88a33hnk5cm0cshrb2idhsv77bfhkv";
+       version = "2.3.0.1";
+       sha256 = "16vk5sjyy4knw9yss25iv501zxz2258qds3bhl1mrqa24phy3c9w";
        libraryHaskellDepends = [
          base containers exceptions monad-control primitive
          transformers-base unliftio-core
@@ -97766,8 +97706,8 @@ self: {
      }:
      mkDerivation {
        pname = "enummapset";
-       version = "0.7.1.0";
-       sha256 = "1zhfl1qrm7r124v0xphh50lnll7cgmlacdmxwwlwhmzyrp1bwf69";
+       version = "0.7.2.0";
+       sha256 = "00n6nifk5hlp85mv0g68jpx9w19hx1cxqhbf7pqlm5m5f99y29m2";
        libraryHaskellDepends = [ aeson base containers deepseq ];
        testHaskellDepends = [
          aeson array base containers deepseq ghc-prim HUnit QuickCheck
@@ -100648,6 +100588,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "exception-hierarchy_0_1_0_9" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "exception-hierarchy";
+       version = "0.1.0.9";
+       sha256 = "0xplq1kfmymfnb68hba66qzj2jmhazbhpm154lyjm9ybkn23hl7g";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "Exception type hierarchy with TemplateHaskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "exception-mailer" = callPackage
     ({ mkDerivation, base, hslogger, mime-mail, text }:
      mkDerivation {
@@ -101322,8 +101274,8 @@ self: {
      }:
      mkDerivation {
        pname = "exon";
-       version = "1.6.0.2";
-       sha256 = "17hq0ywafh72cskqh7mbfbq6lgc4j3szvfnz4sf6m84llzzvbdv9";
+       version = "1.6.1.0";
+       sha256 = "0cdsh3qhbiw4q0nskcwgbbd1zdy0jhy9iblqx5h079drc0faa3zp";
        libraryHaskellDepends = [
          base ghc incipit-base parsec template-haskell
        ];
@@ -103345,6 +103297,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring ];
        description = "A fast, but bare bones, bytestring parser combinators library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fastpbkdf2" = callPackage
@@ -104132,6 +104085,28 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "fedora-haskell-tools_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, csv, directory, extra
+     , fedora-dists, filepath, http-conduit, http-types
+     , optparse-applicative, process, simple-cmd, simple-cmd-args, split
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "fedora-haskell-tools";
+       version = "1.1";
+       sha256 = "194jkagrvkhzgw224jybxy4gvavs9qm6lp1b26ddbnpddf3v6paf";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring csv directory extra fedora-dists filepath
+         http-conduit http-types optparse-applicative process simple-cmd
+         simple-cmd-args split time unix
+       ];
+       description = "Building and maintenance tools for Fedora Haskell";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fedora-img-dl" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath
      , http-directory, http-types, optparse-applicative, simple-cmd
@@ -104412,8 +104387,8 @@ self: {
      }:
      mkDerivation {
        pname = "feedback";
-       version = "0.1.0.1";
-       sha256 = "18934n0fwz3q7mgfzc0phwxfng3qakf5hw14iyhal57ks7gm7j2y";
+       version = "0.1.0.3";
+       sha256 = "1an4w44p1abicjkb22whkrkhrl66p3f2vfrr70q8jbkwvws0wx8w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106630,25 +106605,12 @@ self: {
     ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
      mkDerivation {
        pname = "fixed-vector";
-       version = "1.2.2.1";
-       sha256 = "0kp747v67x1ija33nyqmyh6g178pqn2c7glynrpzcv733lalp00z";
-       libraryHaskellDepends = [ base deepseq primitive ];
-       testHaskellDepends = [ base doctest filemanip primitive ];
-       description = "Generic vectors with statically known size";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-vector_1_2_3_0" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
-     mkDerivation {
-       pname = "fixed-vector";
        version = "1.2.3.0";
        sha256 = "0cbz734dccsy3jvhszszyrnls6bbys4gaq326dksaabwv6mn58vc";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base doctest filemanip primitive ];
        description = "Generic vectors with statically known size";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-vector-binary" = callPackage
@@ -107600,10 +107562,8 @@ self: {
      }:
      mkDerivation {
        pname = "flock";
-       version = "0.3.2";
-       sha256 = "0zi04gmrjda11zp8y7zx6r9hkz00wplvjj7sn6q7lbm2h5kv20xr";
-       revision = "1";
-       editedCabalFile = "18mhjwcrz2jx0vsdd8cyb84lnabhliwfxaw76k8sifarhk847af8";
+       version = "0.3.2.1";
+       sha256 = "14jpfwgjy6l0m00fs17n32jqk8xdwa3hmhfgs6nl8wd3qnz0rzsz";
        libraryHaskellDepends = [
          base lifted-base monad-control transformers unix
        ];
@@ -107689,25 +107649,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "flow";
-       version = "2.0.0.3";
-       sha256 = "0hm1bx63k0cm8jkfb8rqfsrv88gr7jn15agrxxngawr59xbv3r2p";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Write more understandable Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "flow_2_0_0_4" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "flow";
        version = "2.0.0.4";
        sha256 = "079r6cjs7wz7kxql1m45pazf0nya8xgiil3sbcqrr2csxmam23cr";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Write more understandable Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "flow-er" = callPackage
@@ -109713,8 +109660,8 @@ self: {
      }:
      mkDerivation {
        pname = "fp-ieee";
-       version = "0.1.0.2";
-       sha256 = "0zfrjqyi3pvfmsidq2vsfwqaah0ag6pkixlxicr43jmfyrhi4snl";
+       version = "0.1.0.3";
+       sha256 = "1g7wmrf5r09ab3n4rjcariljwsq56q10z9yqdlp04lziv054iggg";
        libraryHaskellDepends = [ base ghc-bignum integer-logarithms ];
        testHaskellDepends = [
          base doctest hspec hspec-core integer-logarithms QuickCheck random
@@ -109722,6 +109669,8 @@ self: {
        benchmarkHaskellDepends = [ base tasty-bench ];
        description = "IEEE 754-2019 compliant operations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fpco-api" = callPackage
@@ -112480,22 +112429,6 @@ self: {
      }:
      mkDerivation {
        pname = "fusion-plugin";
-       version = "0.2.6";
-       sha256 = "0dmcnqbxxh8iahimblhwsvyqr80bj9l1gky5xwn2jb120blm7w53";
-       libraryHaskellDepends = [
-         base containers directory filepath fusion-plugin-types ghc syb time
-         transformers
-       ];
-       description = "GHC plugin to make stream fusion more predictable";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "fusion-plugin_0_2_7" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath
-     , fusion-plugin-types, ghc, syb, time, transformers
-     }:
-     mkDerivation {
-       pname = "fusion-plugin";
        version = "0.2.7";
        sha256 = "0ly2pyhh5s1ahmgkbmm1rqnz035dmniv23w6m2d0vbgxy5mkbb0i";
        libraryHaskellDepends = [
@@ -112504,7 +112437,6 @@ self: {
        ];
        description = "GHC plugin to make stream fusion more predictable";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fusion-plugin-types" = callPackage
@@ -112534,8 +112466,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.25.7";
-       sha256 = "1dj0xyk83kkb7zay23rqy92kkmq0rqiyrm3nhw246mhf7swn1rkh";
+       version = "0.25.8";
+       sha256 = "1jqai6y63lvl80ha7rg7wv4qiykb41sah27h87qxjyzp3vkigsf5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -114561,8 +114493,8 @@ self: {
        pname = "generic-lens-lite";
        version = "0.1";
        sha256 = "07z00phy6h50bb4axlr57kin9l5fygi4q4j33rj5180ai2cbcpc6";
-       revision = "5";
-       editedCabalFile = "1mc7fp8z1zm4k7kl7d4abq73zfkzf19hdviq0gqzgcigyskj97zq";
+       revision = "6";
+       editedCabalFile = "0db0lbdq3iqgq42bj6q5qn4az8szwjyhq93f32zmcj1n4mrpxdj9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Monomorphic field lens like with generic-lens";
@@ -114636,8 +114568,8 @@ self: {
        pname = "generic-monoid";
        version = "0.1.0.1";
        sha256 = "1pradfv1i2z73f3vxx78ahmfsdszcgi44kn29aww2hdgf2np5l6g";
-       revision = "2";
-       editedCabalFile = "0p3hk9c6qn5kbgi3a4my3rq5cc43wcl93hx6axgzi5wkvimpv653";
+       revision = "3";
+       editedCabalFile = "0pyf3yr4haja32nkm3vb28dhdh47cf6h5vqkqih2l6zmbdc2f0lq";
        libraryHaskellDepends = [ base ];
        description = "Derive monoid instances for product types";
        license = lib.licenses.bsd3;
@@ -114670,8 +114602,8 @@ self: {
        pname = "generic-optics-lite";
        version = "0.1";
        sha256 = "0vf5sk1narj69pdhjqxjj0w3w3i5lxjxn8p98xp8dj0jws4mx9xi";
-       revision = "5";
-       editedCabalFile = "13ywf3smi7g7yz1pp8afb95dy4x6qq4kvll7chm4bnjl7s3d85kg";
+       revision = "6";
+       editedCabalFile = "17yqzcdlm3g5mc8rjjqp98ykj8rj1c46c0vcqk23pwgffpac5d25";
        libraryHaskellDepends = [ base generic-lens-lite optics-core ];
        testHaskellDepends = [ base optics-core ];
        description = "Monomorphic field opics like with generic-lens";
@@ -114991,8 +114923,8 @@ self: {
        pname = "generics-sop-lens";
        version = "0.2.0.1";
        sha256 = "1yl74pz6r2zf9sspzbqg6xvr6k9b5irq3c3pjrf5ih6hfrz4k1ks";
-       revision = "4";
-       editedCabalFile = "0n3ynw8zaavp5a259slff5b5smah0jfb8lxslkljsmpbndmh5sdv";
+       revision = "5";
+       editedCabalFile = "0qnfrcg847fpjvg6nrlpndabfnjqm711pbkhd80j3xg59hg6qm72";
        libraryHaskellDepends = [ base generics-sop lens ];
        description = "Lenses for types in generics-sop";
        license = lib.licenses.bsd3;
@@ -117295,8 +117227,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.4.7.20230826";
-       sha256 = "161ibbb4fyqahamykbdrfrw6zx9djk57vqj785bhrrqxys4k29d5";
+       version = "9.4.8.20231111";
+       sha256 = "1ccn54srbjnna5abnzkp7fmylwkzv1qsyhgsggrlcfkia10prd9n";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -117402,8 +117334,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.4.7.20230826";
-       sha256 = "0hnpalndf087mda3hirws31cxjxvgh0h618fc18y2bhmf5hy10gl";
+       version = "9.4.8.20231111";
+       sha256 = "1zr3fvf5b2wxp6z56bs8gaky62c4m147cx5lwnxmjkl8namwllya";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -118295,8 +118227,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.7.9";
-       sha256 = "1h3d0vjz3j9cgng330dj4zlvnvjkwzk2f76w1q6b5vda5pq676cd";
+       version = "0.7.10";
+       sha256 = "03rg0p1grmxxzr9w0bgczavnqhvg2jivq8cafqsvqrsrmiacip8d";
        libraryHaskellDepends = [
          base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise
          template-haskell transformers
@@ -119006,27 +118938,29 @@ self: {
      , optics, optparse-applicative, os-release, pretty, pretty-terminal
      , process, QuickCheck, quickcheck-arbitrary-adt, regex-posix
      , resourcet, retry, safe, safe-exceptions, split, streamly
-     , strict-base, tagsoup, template-haskell, temporary, terminal-size
-     , text, time, transformers, unix, unix-bytestring, unliftio-core
-     , unordered-containers, uri-bytestring, utf8-string, vector
-     , versions, word8, yaml-streamly, zlib
+     , strict-base, tagsoup, tasty, tasty-hunit, template-haskell
+     , temporary, terminal-size, text, time, transformers, unix
+     , unix-bytestring, unliftio-core, unordered-containers
+     , uri-bytestring, utf8-string, vector, versions, word8
+     , yaml-streamly, zlib
      }:
      mkDerivation {
        pname = "ghcup";
-       version = "0.1.19.5";
-       sha256 = "1cx93721jz0laakhy8krxbk51l8wxvi3wk0cpdwdcmb4jmzpivxi";
+       version = "0.1.20.0";
+       sha256 = "1xh1wm7ggj7wl3mys2ivqwn39ds6cjgbsdw64ld12jdmkrdr22qs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base base16-bytestring binary bytestring bz2 Cabal
-         case-insensitive casing containers cryptohash-sha256 deepseq
-         directory disk-free-space exceptions filepath haskus-utils-types
-         haskus-utils-variant libarchive lzma-static megaparsec mtl optics
-         os-release pretty pretty-terminal regex-posix resourcet retry safe
-         safe-exceptions split streamly strict-base template-haskell
-         temporary terminal-size text time transformers unix unix-bytestring
-         unliftio-core unordered-containers uri-bytestring vector versions
-         word8 yaml-streamly zlib
+         aeson aeson-pretty async base base16-bytestring binary bytestring
+         bz2 Cabal cabal-install-parsers cabal-plan case-insensitive casing
+         containers cryptohash-sha256 deepseq directory disk-free-space
+         exceptions filepath haskus-utils-types haskus-utils-variant
+         libarchive lzma-static megaparsec mtl optics optparse-applicative
+         os-release pretty pretty-terminal process regex-posix resourcet
+         retry safe safe-exceptions split streamly strict-base tagsoup
+         template-haskell temporary terminal-size text time transformers
+         unix unix-bytestring unliftio-core unordered-containers
+         uri-bytestring utf8-string vector versions word8 yaml-streamly zlib
        ];
        executableHaskellDepends = [
          aeson aeson-pretty async base bytestring cabal-install-parsers
@@ -119039,10 +118973,12 @@ self: {
        ];
        testHaskellDepends = [
          base bytestring containers directory filepath generic-arbitrary
-         hspec hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt
-         streamly text time unix uri-bytestring versions
+         hspec hspec-golden-aeson optparse-applicative QuickCheck
+         quickcheck-arbitrary-adt streamly tasty tasty-hunit
+         template-haskell text time unix uri-bytestring versions
        ];
        testToolDepends = [ hspec-discover ];
+       doHaddock = false;
        description = "ghc toolchain installer";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
@@ -120588,16 +120524,20 @@ self: {
      }) {};
 
   "gigaparsec" = callPackage
-    ({ mkDerivation, base, containers, deepseq, gauge, selective, tasty
-     , tasty-expected-failure, tasty-hunit
+    ({ mkDerivation, base, bytestring, containers, deepseq, gauge, knob
+     , pretty-terminal, selective, tasty, tasty-expected-failure
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "gigaparsec";
-       version = "0.2.0.0";
-       sha256 = "0x2chdfcnc914dbjjgyxkjnwanmmdl9p0a6pfsnyncv6j1x6bcsz";
-       libraryHaskellDepends = [ base containers selective ];
+       version = "0.2.1.0";
+       sha256 = "0i38ychjdrmw2rxznq7iw7c84mvhx2iq3bxzixmwa26v5zn9nyf7";
+       libraryHaskellDepends = [
+         base containers pretty-terminal selective
+       ];
        testHaskellDepends = [
-         base containers tasty tasty-expected-failure tasty-hunit
+         base bytestring containers deepseq knob tasty
+         tasty-expected-failure tasty-hunit
        ];
        benchmarkHaskellDepends = [ base deepseq gauge ];
        description = "Refreshed parsec-style library for compatiblity with Scala parsley";
@@ -121538,30 +121478,6 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "2.0.0.8";
-       sha256 = "1ajx225n0shixh0q0zm5qh9rb254yvs1f393mc8x6j0mry7jp9v3";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base burrito bytestring http-client http-client-tls
-         http-types mime-types optparse-generic text unordered-containers
-       ];
-       executableHaskellDepends = [
-         aeson base burrito bytestring http-client http-client-tls
-         http-types mime-types optparse-generic text unordered-containers
-       ];
-       description = "Upload files to GitHub releases";
-       license = lib.licenses.mit;
-       mainProgram = "github-release";
-     }) {};
-
-  "github-release_2_0_0_9" = callPackage
-    ({ mkDerivation, aeson, base, burrito, bytestring, http-client
-     , http-client-tls, http-types, mime-types, optparse-generic, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "github-release";
        version = "2.0.0.9";
        sha256 = "0lhaz92jr6ssl1mq5nmcwv6n43wda6mjv2qdzm8rg5275xqpa7jv";
        isLibrary = true;
@@ -121576,7 +121492,6 @@ self: {
        ];
        description = "Upload files to GitHub releases";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "github-release";
      }) {};
 
@@ -126299,8 +126214,8 @@ self: {
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.6.4";
-       sha256 = "052n39bnz55d8lmi3d79s0zxhzbspz6a5rw965qqbryi82hgrdp4";
+       version = "0.6.6.6";
+       sha256 = "024kldfbkpwnn67y8ckmfzcp0v2sp7qp1mlhwrrgdr0hb6di3852";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson monad-logger mtl
@@ -128945,8 +128860,8 @@ self: {
      }:
      mkDerivation {
        pname = "gscholar-rss";
-       version = "0.3.0.3";
-       sha256 = "104c5jvhxzmqnvhc0ww77qy5wmafxmqil4hpcmxvpvx0h0nwdfdl";
+       version = "0.3.0.4";
+       sha256 = "0vgljhvp6jxwqw8l5sbvd2z6yf549j2xy63xrm4p3yh8xp31sda3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -132709,8 +132624,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyllbars";
-       version = "1.0.0.2";
-       sha256 = "0zw1jp64zzflgy9hwdd00zkh3vbi8vbfi0qswmqdgr6dk0c390g0";
+       version = "1.0.1.0";
+       sha256 = "0bd9ss4hp59i5ni5w03zdj2m5phgds36ng3a9nawqic6wyw842g6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132792,6 +132707,8 @@ self: {
        pname = "half";
        version = "0.3.1";
        sha256 = "1l8m2spqg0ac50qys2jk5b32v6wxklbbk5ypjp3ga6z14hkw7bz2";
+       revision = "1";
+       editedCabalFile = "0z0sdic28ji6lq9hz9fh534igy6g3g7b1q799cmwkga23dkicgzl";
        libraryHaskellDepends = [ base binary deepseq template-haskell ];
        testHaskellDepends = [
          base binary bytestring QuickCheck test-framework
@@ -132845,8 +132762,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "halfsplit";
-       version = "0.4.1.0";
-       sha256 = "0mas6a53p44cnfzb26lpsrpgy1zh7vm5i2lxk0invmf35sbaq0w9";
+       version = "0.4.2.0";
+       sha256 = "1fa2bdch3rqprfvjy3rmhb7zkbzfqnyzi193ayh5zlsmshx5w0cl";
        libraryHaskellDepends = [ base ];
        description = "A library to provide special kind of two-column output for Phladiprelio";
        license = lib.licenses.mit;
@@ -137377,8 +137294,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.12";
-       sha256 = "12dsv49rzhayp8cvkqkilammq4a6d4nrb2bd2w98ivzzrbkijy02";
+       version = "0.8.13";
+       sha256 = "09f0lad023zylkxidsz0nv532h44mh0b1505rvs3ypaq2v4q20pa";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -139969,8 +139886,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.6.3.3";
-       sha256 = "1w4lpiy4jynzdp1b5fn36zv5jyfgnh0fp8rr6dz7247ajzx7lfq4";
+       version = "1.6.3.4";
+       sha256 = "1rpyfvy7fzkvviypwf03cfvxgr52ivwym9vsjr10cbqzgnrqb24l";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-strict-builder
          contravariant dlist hashable hashtables mtl network-ip
@@ -146216,24 +146133,6 @@ self: {
      }:
      mkDerivation {
        pname = "hi-file-parser";
-       version = "0.1.5.0";
-       sha256 = "0j6ici0s52fpyf092d3zw4qrvwmz744q538wnxxj48i8fxm7b95m";
-       libraryHaskellDepends = [
-         base binary bytestring mtl rio text vector
-       ];
-       testHaskellDepends = [
-         base binary bytestring hspec mtl rio text vector
-       ];
-       description = "Parser for GHC's hi files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hi-file-parser_0_1_6_0" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "hi-file-parser";
        version = "0.1.6.0";
        sha256 = "1b13lbgmdb50fw3jkbvj2wq19zmklhxam7rfn7k8bqra2z4kbp2r";
        libraryHaskellDepends = [
@@ -146244,7 +146143,6 @@ self: {
        ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hi3status" = callPackage
@@ -146399,10 +146297,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.12.0";
-       sha256 = "1216vfcf6hznhb096il2hcb64wlws85l8qrcp785khny6axh1sv4";
-       revision = "1";
-       editedCabalFile = "18cmkzrq45schidxrn571b0x6x4vlmwkpzq0nwm97p4gsqvvwj48";
+       version = "0.12.1";
+       sha256 = "0iw97mkgg7nwl3dr04r3z3yxynz64agf67xasb1s7kk4gwss1f85";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146425,7 +146321,7 @@ self: {
        mainProgram = "hie-bios";
      }) {};
 
-  "hie-bios_0_13_0" = callPackage
+  "hie-bios_0_13_1" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , co-log-core, conduit, conduit-extra, cryptohash-sha1, deepseq
      , directory, exceptions, extra, file-embed, filepath, ghc
@@ -146435,8 +146331,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.13.0";
-       sha256 = "0gv2ip6zlrfcxngv7kh1a6ah4avj6y2n406h0i66wnc9l11l9mvb";
+       version = "0.13.1";
+       sha256 = "1qzri41yk88x6nnizjanh0w9inbm2sq93g197il95kb74bcslf9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146466,8 +146362,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-compat";
-       version = "0.3.1.1";
-       sha256 = "0ds79wsygvv9dz8wbjxvmik58q2q9knrwrk7hy30c6qpp7a1c6jv";
+       version = "0.3.1.2";
+       sha256 = "0m0520z20qd3vxh047izb140jbywnhi20i9av7gf6h8f8486cs0m";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath ghc ghc-boot
          transformers
@@ -146522,10 +146418,8 @@ self: {
      }:
      mkDerivation {
        pname = "hiedb";
-       version = "0.4.3.0";
-       sha256 = "01mypczx494hs79ma67gfvlsbpdhdmpw43bxnzdj14gph83j1730";
-       revision = "1";
-       editedCabalFile = "0yaxg7463625spx0dxg4znzyl8zq93mnb393wp6x11n29jd3l20r";
+       version = "0.4.4.0";
+       sha256 = "0pbcm00zcd33y7w5n7qp8r9r8j8jf2vdhx3l1mll1d4jfimhrsd6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147101,7 +146995,7 @@ self: {
        mainProgram = "hindent";
      }) {};
 
-  "hindent_6_1_0" = callPackage
+  "hindent_6_1_1" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, criterion
      , deepseq, Diff, directory, exceptions, filepath, ghc-lib-parser
      , ghc-lib-parser-ex, hspec, monad-loops, mtl, optparse-applicative
@@ -147110,8 +147004,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindent";
-       version = "6.1.0";
-       sha256 = "03i1wxcqxllm6h55rxfksyrxvy5v21scjqa731jmchfr7xf09prr";
+       version = "6.1.1";
+       sha256 = "0ir524drzb11l2dqvl78hdgrzimhbnfqkg530mvg9xsyph93af3m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -150981,25 +150875,26 @@ self: {
        ];
      }) {};
 
-  "hnix-store-core_0_6_1_0" = callPackage
+  "hnix-store-core_0_7_0_0" = callPackage
     ({ mkDerivation, algebraic-graphs, attoparsec, base
-     , base16-bytestring, base64-bytestring, binary, bytestring, cereal
-     , containers, cryptonite, directory, filepath, hashable, hspec
-     , lifted-base, memory, monad-control, mtl, nix-derivation, process
-     , relude, saltine, tasty, tasty-discover, tasty-golden, tasty-hspec
-     , tasty-hunit, tasty-quickcheck, temporary, text, time, unix
+     , base16-bytestring, base64-bytestring, binary, bytestring
+     , case-insensitive, cereal, containers, cryptonite, directory
+     , filepath, hashable, hspec, lifted-base, memory, monad-control
+     , mtl, nix-derivation, process, relude, saltine, tasty
+     , tasty-discover, tasty-golden, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, temporary, text, time, unix
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hnix-store-core";
-       version = "0.6.1.0";
-       sha256 = "1bziw2avcahqn2fpzw40s74kdw9wjvcplp6r2zrg83rbh2k1x73p";
+       version = "0.7.0.0";
+       sha256 = "0nyzw3ssv832bqhm4ir8r44795lnipzzkjwnryqqarc99sbpj2hh";
        libraryHaskellDepends = [
          algebraic-graphs attoparsec base base16-bytestring
-         base64-bytestring bytestring cereal containers cryptonite directory
-         filepath hashable lifted-base memory monad-control mtl
-         nix-derivation relude saltine text time unix unordered-containers
-         vector
+         base64-bytestring bytestring case-insensitive cereal containers
+         cryptonite directory filepath hashable lifted-base memory
+         monad-control mtl nix-derivation relude saltine text time unix
+         unordered-containers vector
        ];
        testHaskellDepends = [
          attoparsec base base16-bytestring base64-bytestring binary
@@ -151211,7 +151106,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hoauth2_2_9_0" = callPackage
+  "hoauth2_2_10_0" = callPackage
     ({ mkDerivation, aeson, base, base64, binary, bytestring
      , containers, cryptonite, data-default, exceptions, hspec
      , hspec-discover, http-conduit, http-types, memory, microlens, text
@@ -151219,8 +151114,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "2.9.0";
-       sha256 = "1y8nrn4f4029imrxa215hrgv5cysdg7rcg9vwwxanavq1wfvlxfa";
+       version = "2.10.0";
+       sha256 = "13skl9zc3p0jnn2p10xm21kp5adqjl48nfx6v312yfvd9md5h0kq";
        libraryHaskellDepends = [
          aeson base base64 binary bytestring containers cryptonite
          data-default exceptions http-conduit http-types memory microlens
@@ -151241,8 +151136,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-demo";
-       version = "1.7.0";
-       sha256 = "19dnblzibmjzv01sgzbq35bx20d8yqarqyimjqqz9jmmqg368iv9";
+       version = "1.8.0";
+       sha256 = "12mmbklh8a3wkm7dpmighqibk1ib5z0f444pl3g8i79abaj75k7b";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -151266,8 +151161,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-providers";
-       version = "0.3.0";
-       sha256 = "0g87adfnr528vb2iy9rpc405h7x7j79fqly55d6x9i7dqhz73g7d";
+       version = "0.4.0";
+       sha256 = "1c29cy0317dbigwhf0rrnnm9hm3w3v10dpsilm03g4xfjmdqvzdv";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite hoauth2 HsOpenSSL
          http-conduit http-types jose-jwt mtl text time transformers
@@ -151288,8 +151183,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-providers-tutorial";
-       version = "0.3.0";
-       sha256 = "125lkxiijc8n480m2rpzgihr4j2cywgnm67zn90l1b8fwfsgm9hv";
+       version = "0.4.0";
+       sha256 = "1pdnsjzx2bni1vw4w7i5d39nih5bkrybgpya568ycw52bpi8jnmn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151310,8 +151205,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-tutorial";
-       version = "0.3.0";
-       sha256 = "1alnzhmgsijzv466mqbmvcalh100nqbh1pm59774q34kxxnrrjmc";
+       version = "0.4.0";
+       sha256 = "00nr2w8yqhmf9i4i8d7yfzwb0fwdmqcbwc37k0r9js9qxc5b1wqr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -153848,36 +153743,6 @@ self: {
   "hpqtypes" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , exceptions, HUnit, libpq, lifted-base, monad-control, mtl
-     , QuickCheck, random, resource-pool, scientific, semigroups
-     , test-framework, test-framework-hunit, text, text-show, time
-     , transformers, transformers-base, unordered-containers, uuid-types
-     , vector
-     }:
-     mkDerivation {
-       pname = "hpqtypes";
-       version = "1.11.1.1";
-       sha256 = "171j2vchl4gjfddxgqdrbzk0advk7v2jxp84jfzcrzb2pmp05dm2";
-       libraryHaskellDepends = [
-         aeson async base bytestring containers exceptions lifted-base
-         monad-control mtl resource-pool semigroups text text-show time
-         transformers transformers-base uuid-types vector
-       ];
-       libraryPkgconfigDepends = [ libpq ];
-       testHaskellDepends = [
-         aeson base bytestring exceptions HUnit lifted-base monad-control
-         mtl QuickCheck random scientific test-framework
-         test-framework-hunit text text-show time transformers-base
-         unordered-containers uuid-types vector
-       ];
-       description = "Haskell bindings to libpqtypes";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {libpq = null;};
-
-  "hpqtypes_1_11_1_2" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, containers
-     , exceptions, HUnit, libpq, lifted-base, monad-control, mtl
      , QuickCheck, random, resource-pool, scientific, semigroups, stm
      , test-framework, test-framework-hunit, text, text-show, time
      , transformers, transformers-base, unordered-containers, uuid-types
@@ -154018,8 +153883,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprox";
-       version = "0.5.3";
-       sha256 = "05z4zcskagak04mfj3grp89vjiw8vmx0ppszl1j6p201y5zmpx6n";
+       version = "0.5.4";
+       sha256 = "15hlf6mhm2wpgmafnr4jqqxgr83cpfp1dk48a41q3sdf2l8h4pkx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154447,30 +154312,6 @@ self: {
      }) {};
 
   "hruby" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , process, QuickCheck, ruby, scientific, stm, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hruby";
-       version = "0.5.0.0";
-       sha256 = "10ldq23lgp3jcxpdm9b1dryjf4sprsjlc4qs1lnjb9cmfcafrqj4";
-       setupHaskellDepends = [ base Cabal process ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring scientific stm text
-         unordered-containers vector
-       ];
-       libraryPkgconfigDepends = [ ruby ];
-       testHaskellDepends = [
-         aeson attoparsec base QuickCheck text vector
-       ];
-       description = "Embed a Ruby intepreter in your Haskell program !";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {inherit (pkgs) ruby;};
-
-  "hruby_0_5_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
      , ruby, scientific, stm, text, unordered-containers, vector
      }:
@@ -158829,25 +158670,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-expectations-json";
-       version = "1.0.2.0";
-       sha256 = "0vl5brjbvjdbv2i4zq2ww7l0gg11l0ssmr4m7xqdn7as2798q1q1";
-       revision = "2";
-       editedCabalFile = "085mc79w056c7jinmldav7d1916y61x3p2ikb2api8symaa377n3";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base Diff HUnit scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson aeson-qq base hspec QuickCheck ];
-       description = "Hspec expectations for JSON Values";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-expectations-json_1_0_2_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
-     , HUnit, QuickCheck, scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hspec-expectations-json";
        version = "1.0.2.1";
        sha256 = "15bxyq5hdnr0pqmsj79n2q284fky9h6r8l26q8l4gjf5b5z99gj1";
        libraryHaskellDepends = [
@@ -158857,7 +158679,6 @@ self: {
        testHaskellDepends = [ aeson aeson-qq base hspec QuickCheck ];
        description = "Hspec expectations for JSON Values";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-expectations-lens" = callPackage
@@ -170075,6 +169896,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.5.3";
        sha256 = "0v23lawska0240vw8avxv71150y4qzbn4aj22lnkd3jxg5cnwkzh";
+       revision = "1";
+       editedCabalFile = "12fkswr70fw2av11yy45v189r6cb8fcg0l1r7mayvwha3gls0j3n";
        libraryHaskellDepends = [
          aeson base deepseq hashable indexed-traversable lens optics-core
          optics-extra semigroupoids text transformers unordered-containers
@@ -171514,10 +171337,8 @@ self: {
      }:
      mkDerivation {
        pname = "invertible-grammar";
-       version = "0.1.3.4";
-       sha256 = "19x9bzc1cvz5zc03iglf42vyngnjkspzfd2jpl9y6pwp2sf66325";
-       revision = "1";
-       editedCabalFile = "059i4v6kmsrry2lw7m2ricg2ls14v4b2k554l7cmpa46g28yakyn";
+       version = "0.1.3.5";
+       sha256 = "01g4lf31hgv8dqabmabkp6zld6v2l3a2mv9wcgyfxghfrd6dspdw";
        libraryHaskellDepends = [
          base bifunctors containers mtl prettyprinter profunctors semigroups
          tagged template-haskell text transformers
@@ -175930,25 +175751,6 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "2.0.0.9";
-       sha256 = "0nj66jkql0irq5vyxhmdxxjpazr3g86x7j8klqjwxvdj5jmvy53d";
-       libraryHaskellDepends = [
-         aeson base bytestring mime-types network-uri tagsoup text time
-       ];
-       testHaskellDepends = [
-         aeson base bytestring filepath hspec mime-types network-uri tagsoup
-         text time
-       ];
-       description = "JSON Feed";
-       license = lib.licenses.mit;
-     }) {};
-
-  "json-feed_2_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
-     , mime-types, network-uri, tagsoup, text, time
-     }:
-     mkDerivation {
-       pname = "json-feed";
        version = "2.0.0.10";
        sha256 = "0s9fq0yp3svi8jcn2isb4kb5l71hhrahrrflciv1jzbn1kwx8lqj";
        libraryHaskellDepends = [
@@ -175960,7 +175762,6 @@ self: {
        ];
        description = "JSON Feed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "json-fu" = callPackage
@@ -180905,25 +180706,12 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "2.0.0.6";
-       sha256 = "0msm0qrgrnagkia8k0261p7q2ab67ml1q2nn9f951jxnhjm4mglj";
-       libraryHaskellDepends = [ base servant-foreign text ];
-       testHaskellDepends = [ base hspec servant servant-foreign text ];
-       description = "Generate Ruby clients from Servant APIs";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lackey_2_0_0_7" = callPackage
-    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
-     mkDerivation {
-       pname = "lackey";
        version = "2.0.0.7";
        sha256 = "08i4hg2m6d1s6fbgpjnd010ahgfa2d9i5m42pnnd2cr2rkan5f13";
        libraryHaskellDepends = [ base servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lacroix" = callPackage
@@ -181254,8 +181042,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot";
-       version = "5.3.1.1";
-       sha256 = "0icybndmsivnrw6wibh31g4n8bj1cclbf5cvwf816xblfmgcdhvf";
+       version = "5.3.1.2";
+       sha256 = "1far63mbn6w36bds8s71hxkwr8wb599r8c4w8c0q4wkw29f2dr0p";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -181281,8 +181069,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-core";
-       version = "5.3.1.1";
-       sha256 = "1paya40niapvkyc8qc3k36l7qsskfdxih8d789lhd9s8rr0f9hdi";
+       version = "5.3.1.2";
+       sha256 = "14my72cw39hfc0i7fzhgxv5xjrdfr4pz2ccrixaclngypfd08g28";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance exceptions filepath
@@ -181306,8 +181094,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-haskell-plugins";
-       version = "5.3.1.1";
-       sha256 = "1fivdnj0nb4332j9m5filkpfy9wjkmsjc3kxh2w17c7irhj26f71";
+       version = "5.3.1.2";
+       sha256 = "0pbhwhcxn4fqvn7ynhc19285r75fiksfd9yfjz6d8iq7wmp1frp8";
        libraryHaskellDepends = [
          array arrows base bytestring containers data-memocombinators
          directory filepath haskell-src-exts-simple hoogle HTTP IOSpec
@@ -181327,8 +181115,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-irc-plugins";
-       version = "5.3.1.1";
-       sha256 = "1nvkkqv28dyvq7hdwz1p1yjii55vc8m6i7ccjzs9ag720cha2n4m";
+       version = "5.3.1.2";
+       sha256 = "00s27136i4xadm09clncrkm5annvnahrvcy04m5llrxa9ja09ixb";
        libraryHaskellDepends = [
          base bytestring containers directory filepath lambdabot-core
          lifted-base mtl network SafeSemaphore split time
@@ -181346,8 +181134,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-misc-plugins";
-       version = "5.3.1.1";
-       sha256 = "16f9bf5c7al904iffykwp98l00j8m1f2r6qlivj03jwb6s5plm6w";
+       version = "5.3.1.2";
+       sha256 = "0hkia5zziwabm847bl1f2pap47iyrvjwzdsygcvywving467302d";
        libraryHaskellDepends = [
          base bytestring containers filepath lambdabot-core lifted-base mtl
          network network-uri parsec process regex-tdfa SafeSemaphore split
@@ -181365,8 +181153,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-novelty-plugins";
-       version = "5.3.1.1";
-       sha256 = "1x4whzn3d4gni1xjwrjr95jqi50gwgf02x64gg9nwvkc5lh4admx";
+       version = "5.3.1.2";
+       sha256 = "01sas4jg54k1n68sl5v6i1lyai9chw0v0j6dl4p5rh8wdp0n5863";
        libraryHaskellDepends = [
          base binary brainfuck bytestring containers dice directory
          lambdabot-core misfortune process random random-fu regex-tdfa
@@ -181383,8 +181171,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-reference-plugins";
-       version = "5.3.1.1";
-       sha256 = "1s8s4k394p59lg3xrcn0bwq9wcqzdvzx6qanmsrch0nzwg6l4g7h";
+       version = "5.3.1.2";
+       sha256 = "086ac4j85x2s156xzwmlldk7sll6jq3gq4mp2vjsa8w9q0p6yw0y";
        libraryHaskellDepends = [
          base bytestring containers HTTP lambdabot-core mtl network
          network-uri oeis process regex-tdfa split tagsoup utf8-string
@@ -181399,8 +181187,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-social-plugins";
-       version = "5.3.1.1";
-       sha256 = "04gls4klsa7kz22k6aar636hci3iafxa5mwx8kxvgawahvlcy0p2";
+       version = "5.3.1.2";
+       sha256 = "137vgsr3alsmaa0dz7z55ijy2zvgy5al3wsdgmwhgkim9ahs4d2k";
        libraryHaskellDepends = [
          base binary bytestring containers lambdabot-core mtl split time
        ];
@@ -181441,8 +181229,8 @@ self: {
     ({ mkDerivation, base, oeis, QuickCheck, QuickCheck-safe }:
      mkDerivation {
        pname = "lambdabot-trusted";
-       version = "5.3.1.1";
-       sha256 = "0kzkp7cy7wcig2wi2l12j8pflapsmdj45y8qq1l5j86gcvsk7xf3";
+       version = "5.3.1.2";
+       sha256 = "0y3c7jhihhb925x04b3ja8akgsfj2a1hyx1p8i08kaarrfmk796l";
        libraryHaskellDepends = [ base oeis QuickCheck QuickCheck-safe ];
        description = "Lambdabot trusted code";
        license = "GPL";
@@ -182193,6 +181981,8 @@ self: {
        pname = "language-c-quote";
        version = "0.13.0.1";
        sha256 = "0ik16ng210fa0l93bgiwpw9m1krcw23530fvv5agl9j1b71qaxm0";
+       revision = "1";
+       editedCabalFile = "0skpnzjdrfadd1b835q5ic7pvl0znx1mkyxkimy99zm474rn3dzj";
        libraryHaskellDepends = [
          array base bytestring containers exception-mtl
          exception-transformers filepath haskell-src-meta mainland-pretty
@@ -185050,19 +184840,25 @@ self: {
      }) {};
 
   "leb128-binary" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, hedgehog, tasty
-     , tasty-bench, tasty-hedgehog, tasty-hunit
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , hedgehog, integer-logarithms, scientific, tasty, tasty-bench
+     , tasty-hedgehog, tasty-hunit, text
      }:
      mkDerivation {
        pname = "leb128-binary";
-       version = "0.1.2";
-       sha256 = "1bw7xk269kxd9y5983dr57nxdg8a28hbwdnzgkxn7p6z461rgpqh";
-       libraryHaskellDepends = [ base binary bytestring ];
+       version = "0.1.3";
+       sha256 = "1rq025if04na8knv50krs4hli9ki9y26x5hg8sskikad8sffsv5j";
+       libraryHaskellDepends = [
+         base binary bytestring containers integer-logarithms scientific
+         text
+       ];
        testHaskellDepends = [
-         base binary bytestring hedgehog tasty tasty-hedgehog tasty-hunit
+         base binary bytestring containers hedgehog integer-logarithms
+         scientific tasty tasty-hedgehog tasty-hunit text
        ];
        benchmarkHaskellDepends = [
-         base binary bytestring deepseq tasty-bench
+         base binary bytestring containers deepseq integer-logarithms
+         scientific tasty-bench text
        ];
        description = "Signed and unsigned LEB128 codec for binary library";
        license = lib.licenses.asl20;
@@ -186263,10 +186059,8 @@ self: {
      }:
      mkDerivation {
        pname = "lhs2tex";
-       version = "1.24";
-       sha256 = "09mkcklm9aixn4xwdcmy8z4x5myh4f5ky0nnadj1wgfjcychbmzc";
-       revision = "1";
-       editedCabalFile = "06vcx5i474sskqzk99l8qcxadzhz2rbmkjfyxk8aqp62pbxcq9r9";
+       version = "1.25";
+       sha256 = "0cf66z6mgadgqd1xs5b6gw8l9rkwgbfsc5czwdiapn7ichi26qyj";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -187182,6 +186976,18 @@ self: {
        license = lib.licenses.isc;
      }) {inherit (pkgs) libsodium;};
 
+  "libsodium-bindings" = callPackage
+    ({ mkDerivation, base, libsodium }:
+     mkDerivation {
+       pname = "libsodium-bindings";
+       version = "0.0.1.0";
+       sha256 = "1asmcmqiahammzxk79r0afaaxn2izvfwr5hn6ddca2qyjch30lci";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ libsodium ];
+       description = "FFI bindings to libsodium";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) libsodium;};
+
   "libssh2" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, libssh2, network, syb
      , time, unix
@@ -187642,10 +187448,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.10.2.4";
-       sha256 = "0pdy7q508n7gvy338xsv9a8fg7saksi8qb9av6j3a37l2pp4vvcv";
-       revision = "2";
-       editedCabalFile = "0bg2qmg6lav4zizki1cvqpvd3wqjhfjff7zz17wg5hzlm5318gky";
+       version = "0.10.2.5";
+       sha256 = "1lhyjv32plqs0r2gi7ca8b527z5qas7xgjkh680lqwi0l81xd80n";
        libraryHaskellDepends = [
          async base constraints lifted-base monad-control transformers-base
        ];
@@ -189477,8 +189281,8 @@ self: {
      }:
      mkDerivation {
        pname = "liquidhaskell";
-       version = "0.9.2.5.0";
-       sha256 = "1a508khibgy94z9fk91z22wl7qqdw8l4wcfcjxk0z7z7f05llrim";
+       version = "0.9.2.8.0";
+       sha256 = "1n4dkahiaci6j502w5ksqpb1g7v8rwf3hbhqqprjmcc6cl5ppyzn";
        setupHaskellDepends = [ base Cabal liquidhaskell-boot ];
        libraryHaskellDepends = [
          base bytestring containers ghc-prim liquidhaskell-boot
@@ -189501,8 +189305,8 @@ self: {
      }:
      mkDerivation {
        pname = "liquidhaskell-boot";
-       version = "0.9.2.5.0";
-       sha256 = "10k8pisygfdy23i2zb538rl7yf3gac4wxa550dsqnzkmkfcr82yz";
+       version = "0.9.2.8.0";
+       sha256 = "0q1rknlqi4x9gpkl9yvrzxfkbkcs6m883dhpvlymqpvsp2qs22b1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base binary bytestring Cabal cereal cmdargs containers
@@ -192957,21 +192761,20 @@ self: {
      , co-log-core, containers, data-default, directory, exceptions
      , filepath, hashable, hspec, hspec-discover, lens, lens-aeson
      , lsp-types, mtl, prettyprinter, random, row-types, sorted-list
-     , stm, temporary, text, text-rope, transformers, unliftio-core
+     , stm, text, text-rope, transformers, unliftio-core
      , unordered-containers, uuid
      }:
      mkDerivation {
        pname = "lsp";
-       version = "2.2.0.0";
-       sha256 = "0nqxkx7vjzvn5ysalk9nd1aqwzfxjj39g3g91qr01hdzydfjsajr";
+       version = "2.3.0.0";
+       sha256 = "0jxvwhmfvnyp6r1kqfg13qpkd1a6a26r8z1aqhg2lj62lnz6d672";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bytestring co-log-core containers
          data-default directory exceptions filepath hashable lens lens-aeson
-         lsp-types mtl prettyprinter random row-types sorted-list stm
-         temporary text text-rope transformers unliftio-core
-         unordered-containers uuid
+         lsp-types mtl prettyprinter random row-types sorted-list stm text
+         text-rope transformers unliftio-core unordered-containers uuid
        ];
        testHaskellDepends = [
          base containers hspec row-types sorted-list text text-rope
@@ -193019,8 +192822,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.16.0.0";
-       sha256 = "0a2xv9nqz84ymmbz7yyhxkrxhghafgpmma9iqz32jwr8wqn6g9hf";
+       version = "0.16.0.1";
+       sha256 = "0vh4x6yx7drz78ffl4p80r6ykba7fvs0wfj3dp7lhn0k8yji4zv0";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring co-log-core
          conduit conduit-parse containers data-default Diff directory
@@ -193073,8 +192876,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "2.0.2.0";
-       sha256 = "0s895x3b8fpcj2b0ia3d4dmwk4vhg6h2anmzffkpr3drsq5bi1j6";
+       version = "2.1.0.0";
+       sha256 = "0i4ygvf7fc6bh5rmw3fq7ck4vcmbfw92fzvnxpmqr3j1yp3a6fiw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195027,8 +194830,8 @@ self: {
      }:
      mkDerivation {
        pname = "mailtrap";
-       version = "0.1.1.0";
-       sha256 = "177zfswsgg8r51pzjvyf7k4dnvrfq3zj82b54xh5vdpd74k3x2ng";
+       version = "0.1.2.0";
+       sha256 = "0fglprc6ppq316w870p2gdbnn4kh71a0v2zjhsxrxjcbprwb537h";
        libraryHaskellDepends = [
          aeson base base64 blaze-html bytestring email-validate filepath
          http-conduit mime-types text time unordered-containers uuid-types
@@ -195059,8 +194862,8 @@ self: {
        pname = "mainland-pretty";
        version = "0.7.1";
        sha256 = "19z2769rik6kwvsil2if2bfq2v59jmwv74jy3fy4q3q3zy4239p1";
-       revision = "2";
-       editedCabalFile = "0jinam3djr66lk21p2z7vmldk96qh0pf7rq3d56g77krdd6bd9p1";
+       revision = "3";
+       editedCabalFile = "0wspwmy0wi1fcyw8czgkr03iyq73gg4i0x6ckjbhxq7qb3r62q8v";
        libraryHaskellDepends = [
          base containers srcloc text transformers
        ];
@@ -196273,6 +196076,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Computations for Markov chain usage models";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "markov-processes" = callPackage
@@ -197153,17 +196958,15 @@ self: {
      }:
      mkDerivation {
        pname = "matrix";
-       version = "0.3.6.1";
-       sha256 = "0b1v17rc9q7ni44gkzp124kmc5d6xmlpiqvskgjrq54qpjinr5zs";
-       revision = "1";
-       editedCabalFile = "0iy0gdgg68ldhgm4lzvzl5pmzflx0r4brdbdkq75rkarm7cigawn";
+       version = "0.3.6.3";
+       sha256 = "0gzh89nj4cqk772x37byv7z3smjpr76bd9qmqpz9bbnyicwig0qc";
        libraryHaskellDepends = [
          base deepseq loop primitive semigroups vector
        ];
        testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "A native implementation of matrix operations";
-       license = lib.licenses.bsd3;
+       license = lib.licenses.mit;
      }) {};
 
   "matrix-as-xyz" = callPackage
@@ -203691,10 +203494,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-metrics";
-       version = "0.2.2.0";
-       sha256 = "13wsz9c02jsh5sh2kka1v7kna1aij51794n7g52ib27qmxgg9qvq";
-       revision = "1";
-       editedCabalFile = "1y5733zs49jyi2qyx8nk2p2ddzkkih1nw33qjrc9ppk05m3030hi";
+       version = "0.2.2.1";
+       sha256 = "1fknfailm2cwl8r96pxxbid3chvmaq3g98yb6l4pnr8mcqyyz7k6";
        libraryHaskellDepends = [
          base clock ekg-core exceptions hashable microlens mtl text
          transformers unordered-containers
@@ -204065,8 +203866,8 @@ self: {
        pname = "monad-ste";
        version = "0.1.0.0";
        sha256 = "0yqkx7rlrfms7wiymb41y5nxh8fyi4049729iamwablx6hdpsrw6";
-       revision = "2";
-       editedCabalFile = "0dcdf3nifq26v63r6l1bxx4zv3ldgq7dxijf07ba9dliizwj2nr8";
+       revision = "3";
+       editedCabalFile = "0zr8ixjx1rsgfjnil4w74pf0m2m697z50ai7sb14ra9s78yb66b6";
        libraryHaskellDepends = [ base exceptions ghc-prim primitive ];
        testHaskellDepends = [ base hspec HUnit ];
        description = "ST monad with efficient explicit errors";
@@ -205095,8 +204896,8 @@ self: {
        pname = "monoidal-containers";
        version = "0.6.4.0";
        sha256 = "09sg4gsrvgnsy12819sps2l0j97baanbsq2w1pvypnrkanzrw083";
-       revision = "1";
-       editedCabalFile = "0dav6640nvxizgqqkwqmpi9z04n2swhxmyl68xm94c9np356q5iw";
+       revision = "2";
+       editedCabalFile = "0k0pi43km8v25rz61zqfw958djbxrrjb1a2idkpj92klbjsr49dd";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign these
          unordered-containers witherable
@@ -205242,8 +205043,8 @@ self: {
      }:
      mkDerivation {
        pname = "monomer-flatpak-example";
-       version = "0.0.13.2";
-       sha256 = "1lklf9n1ck1yyyc73f36i495rgq2anxm33ghcmlssy8allpv1k8w";
+       version = "0.0.14.0";
+       sha256 = "1cxj7gw732hnm7lmz5d3pwdh03gswdycjsg5c145xsgc7s09vy0c";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -205387,8 +205188,8 @@ self: {
        pname = "months";
        version = "0.2";
        sha256 = "054dag7806850hdii7s5rxg8gx2spdp33pnx4s4ckni9ayvspija";
-       revision = "8";
-       editedCabalFile = "0xpid9mlk56c03axbqam9yws9g47rqbdils3zpqlc6pd4mrwb030";
+       revision = "9";
+       editedCabalFile = "0911yfyf0z7zzpc0my8rsg2p38dz07w7mkhc3b909ydyh04wzxvp";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat deepseq hashable intervals
          QuickCheck text time-compat
@@ -208608,6 +208409,8 @@ self: {
        pname = "multiset";
        version = "0.3.4.3";
        sha256 = "1i0mjjdv8ayfars014nch5p3jlbl1wlr1bbkp7q2iknkllasxz3r";
+       revision = "1";
+       editedCabalFile = "0wkwvavc75q7g7gjxh7jc4cla65ys8136jf14g3ifma5vy3wafs5";
        libraryHaskellDepends = [ base containers deepseq ];
        testHaskellDepends = [
          base checkers doctest QuickCheck tasty tasty-quickcheck
@@ -209770,36 +209573,28 @@ self: {
      }) {};
 
   "myers-diff" = callPackage
-    ({ mkDerivation, array, base, containers, criterion, deepseq
-     , exceptions, primitive, QuickCheck, quickcheck-instances, random
-     , sandwich, sandwich-quickcheck, string-interpolate, text
-     , text-rope, vector, weigh
+    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
+     , primitive, QuickCheck, quickcheck-instances, sandwich
+     , sandwich-quickcheck, string-interpolate, text, text-rope, vector
+     , weigh
      }:
      mkDerivation {
        pname = "myers-diff";
-       version = "0.2.0.0";
-       sha256 = "1k71p2di2vpbfjsbycclj2xhlb1q5j37z4h18yxh2m0jj1r3dw07";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.3.0.0";
+       sha256 = "1zkhax2wha1cv9zzw7hvk4dnnkd8p6iskd7lf8d7kmkjv88bxjsa";
        libraryHaskellDepends = [
          base containers exceptions primitive text vector
        ];
-       executableHaskellDepends = [
-         base containers deepseq exceptions primitive QuickCheck
-         quickcheck-instances string-interpolate text text-rope vector
-       ];
        testHaskellDepends = [
-         base containers deepseq exceptions primitive QuickCheck
+         base containers criterion deepseq exceptions primitive QuickCheck
          quickcheck-instances sandwich sandwich-quickcheck
          string-interpolate text text-rope vector
        ];
        benchmarkHaskellDepends = [
-         array base containers criterion deepseq exceptions primitive
-         QuickCheck quickcheck-instances random string-interpolate text
-         text-rope vector weigh
+         base containers criterion deepseq exceptions primitive QuickCheck
+         quickcheck-instances string-interpolate text text-rope vector weigh
        ];
        license = lib.licenses.bsd3;
-       mainProgram = "myers-diff";
      }) {};
 
   "myo" = callPackage
@@ -212808,6 +212603,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "network-control" = callPackage
+    ({ mkDerivation, base, psqueues, unix-time }:
+     mkDerivation {
+       pname = "network-control";
+       version = "0.0.1";
+       sha256 = "1fhxnfc62kqnb24jj3ydl4mf43skgpjyhvirn1pjp30hnki8p8p9";
+       libraryHaskellDepends = [ base psqueues unix-time ];
+       description = "Library to control network protocols";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "network-data" = callPackage
     ({ mkDerivation, base, bytestring, cereal, pretty }:
      mkDerivation {
@@ -214650,6 +214456,33 @@ self: {
        ];
      }) {};
 
+  "nix-derivation_1_1_3" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, criterion, deepseq
+     , filepath, pretty-show, QuickCheck, text, vector
+     }:
+     mkDerivation {
+       pname = "nix-derivation";
+       version = "1.1.3";
+       sha256 = "11drhg3zjhwbvdw25k0icvbkcpqilx0m9qw60k7snfaz1iadfkdb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base containers deepseq filepath text vector
+       ];
+       executableHaskellDepends = [ attoparsec base pretty-show text ];
+       testHaskellDepends = [
+         attoparsec base filepath QuickCheck text vector
+       ];
+       benchmarkHaskellDepends = [ attoparsec base criterion text ];
+       description = "Parse and render *.drv files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "pretty-derivation";
+       maintainers = [
+         lib.maintainers.Gabriella439 lib.maintainers.sorki
+       ];
+     }) {};
+
   "nix-diff" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , directory, filepath, generic-arbitrary, mtl, nix-derivation
@@ -216012,26 +215845,6 @@ self: {
      }:
      mkDerivation {
        pname = "nothunks";
-       version = "0.1.4";
-       sha256 = "0x8km8pmdnjsafchndzxrypldxscj8h080i14hvkj2ypfkmh52l8";
-       revision = "1";
-       editedCabalFile = "0xv39s948j50ym1fn5h7xfxr6zl4v7h2mc68qrp4zz2mahx9mk7d";
-       libraryHaskellDepends = [
-         base bytestring containers ghc-heap stm text time vector
-       ];
-       testHaskellDepends = [
-         base containers ghc-prim hedgehog random stm tasty tasty-hedgehog
-       ];
-       description = "Examine values for unexpected thunks";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "nothunks_0_1_5" = callPackage
-    ({ mkDerivation, base, bytestring, containers, ghc-heap, ghc-prim
-     , hedgehog, random, stm, tasty, tasty-hedgehog, text, time, vector
-     }:
-     mkDerivation {
-       pname = "nothunks";
        version = "0.1.5";
        sha256 = "1s5x4g5g62bs3jd44p2p9lvv01gwarm8jmmigm1d3i8ia8w0lz4w";
        libraryHaskellDepends = [
@@ -216042,7 +215855,6 @@ self: {
        ];
        description = "Examine values for unexpected thunks";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "notifications-tray-icon" = callPackage
@@ -221172,8 +220984,8 @@ self: {
        pname = "optics-extra";
        version = "0.4.2.1";
        sha256 = "0hfa5yb7l3l310lfxkii13fjzb69g619agadc5a86i734nisf8vy";
-       revision = "1";
-       editedCabalFile = "0bpr1bkb7mmww028n8ikwa0qhdl7ybxpb9s887dlp3dvxr5iq8nq";
+       revision = "2";
+       editedCabalFile = "0w7am7pvwg4mx0nrksxgr2rvnk99nhqfpj80ig21m9xbpxsh22x4";
        libraryHaskellDepends = [
          array base bytestring containers hashable indexed-profunctors
          indexed-traversable-instances mtl optics-core text transformers
@@ -221209,8 +221021,8 @@ self: {
        pname = "optics-th";
        version = "0.4.1";
        sha256 = "05zxljfqmhr5if7l8gld5s864nql6kqjfizsf1z7r3ydknvmff6p";
-       revision = "5";
-       editedCabalFile = "0a9h1bll1m9v40cv7ifv2sy3k6sfcq325s7cpk33wh65awf5zpl7";
+       revision = "6";
+       editedCabalFile = "03qm6q7gw97qlcgnqp097dyvqkqpq4ph95y5ra6k6da218rbl1nk";
        libraryHaskellDepends = [
          base containers mtl optics-core template-haskell th-abstraction
          transformers
@@ -221555,19 +221367,20 @@ self: {
        maintainers = [ lib.maintainers.Gabriella439 ];
      }) {};
 
-  "optparse-generic_1_5_1" = callPackage
-    ({ mkDerivation, base, bytestring, Only, optparse-applicative, text
-     , time, transformers, transformers-compat, void
+  "optparse-generic_1_5_2" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, Only
+     , optparse-applicative, text, time, transformers
+     , transformers-compat, void
      }:
      mkDerivation {
        pname = "optparse-generic";
-       version = "1.5.1";
-       sha256 = "01naichbyxwssdf55r5qzd79zfvgd1i239fp3srkz5w45p90znyr";
+       version = "1.5.2";
+       sha256 = "0dca5q57jv4b8l1af4ywimaiw9rfrysambcghfmll4il5prm3d67";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Only optparse-applicative text time transformers
-         transformers-compat void
+         base bytestring filepath Only optparse-applicative text time
+         transformers transformers-compat void
        ];
        executableHaskellDepends = [ base ];
        description = "Auto-generate a command-line parser for your datatype";
@@ -221862,12 +221675,16 @@ self: {
      }) {};
 
   "ordering-duplicates" = callPackage
-    ({ mkDerivation, base, contravariant, lens, mtl }:
+    ({ mkDerivation, base, contravariant, lens, mtl, profunctors
+     , semigroupoids
+     }:
      mkDerivation {
        pname = "ordering-duplicates";
-       version = "0.0.2";
-       sha256 = "1c2d2np8dqxsbhkdjk3lzh0ninlzcbdczd0bkq1przcraswxsll5";
-       libraryHaskellDepends = [ base contravariant lens mtl ];
+       version = "0.1.0";
+       sha256 = "0c8gxjf2ximg737ndv8jh35r9fcw4zfxb265m2w5wsg64syh9nmw";
+       libraryHaskellDepends = [
+         base contravariant lens mtl profunctors semigroupoids
+       ];
        description = "Functions for detecting duplicates";
        license = lib.licenses.bsd3;
      }) {};
@@ -223778,6 +223595,17 @@ self: {
        ];
      }) {};
 
+  "pandoc-builder-monadic" = callPackage
+    ({ mkDerivation, base, dlist, mtl, pandoc-types, text }:
+     mkDerivation {
+       pname = "pandoc-builder-monadic";
+       version = "1.0.0";
+       sha256 = "1ww1fwnsp4xka50jgwlaxzqzzpshglih6n0zi0cmd0bj7jn47jrf";
+       libraryHaskellDepends = [ base dlist mtl pandoc-types text ];
+       description = "A monadic DSL for building pandoc documents";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -224455,6 +224283,17 @@ self: {
        broken = true;
      }) {};
 
+  "pandoc-query" = callPackage
+    ({ mkDerivation, base, pandoc, pandoc-types, text }:
+     mkDerivation {
+       pname = "pandoc-query";
+       version = "1.0.0";
+       sha256 = "071f93skzn188qb5nl010jhhh8wgaji9m54frw1ig54f7xhvmnw0";
+       libraryHaskellDepends = [ base pandoc pandoc-types text ];
+       description = "Pandoc filter to extract only the links";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "pandoc-select-code" = callPackage
     ({ mkDerivation, base, pandoc, pandoc-types }:
      mkDerivation {
@@ -224599,6 +224438,8 @@ self: {
        pname = "pandoc-types";
        version = "1.23.1";
        sha256 = "1hd18l1c5yh7x24gsligkbraadq12hn7mim16xyjnicdsa1s03xd";
+       revision = "1";
+       editedCabalFile = "02yaziq3xyz9zqr4qrqm4drlqpa3xnxmm5x0ci52c5p5dr3c3b3d";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          text transformers
@@ -227471,27 +227312,6 @@ self: {
      }:
      mkDerivation {
        pname = "patrol";
-       version = "1.0.0.5";
-       sha256 = "1nkni4zridr6y6q158f332kv93a828pimq6xwa6644hh4r1gxb25";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers exceptions
-         http-client http-types network-uri text time uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers exceptions hspec
-         http-client http-types network-uri text time uuid
-       ];
-       description = "Sentry SDK";
-       license = lib.licenses.mit;
-     }) {};
-
-  "patrol_1_0_0_6" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, exceptions, hspec, http-client, http-types
-     , network-uri, text, time, uuid
-     }:
-     mkDerivation {
-       pname = "patrol";
        version = "1.0.0.6";
        sha256 = "02szpfdzhb7b6gklnly45wibma19h7dbklqcrc435ks0bjncgyi7";
        libraryHaskellDepends = [
@@ -227504,7 +227324,6 @@ self: {
        ];
        description = "Sentry SDK";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "patronscraper" = callPackage
@@ -230735,8 +230554,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phladiprelio-general-datatype";
-       version = "0.3.1.0";
-       sha256 = "1pbd6hd1pb28shag6xa08caamz6f02dn71v9asyyqznxpljf4771";
+       version = "0.5.1.0";
+       sha256 = "10r5wxdqi6ccym7rabha4f1d4y94b2xjih9ib4w6dilqv9f86bi7";
        libraryHaskellDepends = [ base ];
        description = "Extended functionality of PhLADiPreLiO";
        license = lib.licenses.mit;
@@ -230767,8 +230586,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-general-simple";
-       version = "0.11.1.0";
-       sha256 = "1rlnkfiacz1d73bf503wy609gfq2xh7h912rqqm1g364kj473f2c";
+       version = "0.13.0.0";
+       sha256 = "020r916dasx5q0ak9caj85dfzh5f1c4affryb39gm2jsf3m25d2n";
        libraryHaskellDepends = [
          async base cli-arguments directory halfsplit
          phladiprelio-general-datatype phladiprelio-general-shared
@@ -230832,8 +230651,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-ukrainian-simple";
-       version = "0.12.1.0";
-       sha256 = "0k29gyjfdjy2l36i857dhd5d0jk4w33acvy7c56j4m0lmsw0azmn";
+       version = "0.14.0.0";
+       sha256 = "0hpn6r8817wrn2ywh2ahi5nf8b7rlczfzfvbw8b9y1b4z3r96nir";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231514,8 +231333,8 @@ self: {
     ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
      mkDerivation {
        pname = "phonetic-languages-ukrainian-array";
-       version = "0.11.0.0";
-       sha256 = "0rijqyvavk2i7439n25wzb4dggz9xv2hfxw7557p5jqii15jxvcs";
+       version = "0.12.1.0";
+       sha256 = "0aq3rsrgy8gx01zi016hn0mhszg1166ysmr3iqrq5f4ajg6kc0fm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
@@ -232566,8 +232385,8 @@ self: {
        pname = "pipes-bytestring";
        version = "2.1.7";
        sha256 = "0ch7145pv4f56601ysdj5gqqwsh5ag2zh34ydswg62fqi8z8cxvc";
-       revision = "2";
-       editedCabalFile = "0nvb4y5s0jrm4v5a3hvxabjlb16xdlivlh0qrqpl4fi1gih1x4yb";
+       revision = "3";
+       editedCabalFile = "0a5mp98prbpn5pqpab0h3xinhh9vnjqhlss44zq9dbvxw14agxak";
        libraryHaskellDepends = [
          base bytestring pipes pipes-group pipes-parse stringsearch
          transformers
@@ -233363,36 +233182,16 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-safe";
-       version = "2.3.4";
-       sha256 = "1ha0q1dwl52rn59shmk8jhp7grngpiwmp8x4qa9h54flvxkqk12x";
-       revision = "6";
-       editedCabalFile = "00zidlhj81dp9ksnilkazi9rzi8azxxyv7gwjm0nn12jii45q6i4";
-       libraryHaskellDepends = [
-         base containers exceptions monad-control mtl pipes primitive
-         transformers transformers-base
-       ];
-       description = "Safety for the pipes ecosystem";
-       license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.Gabriella439 ];
-     }) {};
-
-  "pipes-safe_2_3_5" = callPackage
-    ({ mkDerivation, base, containers, exceptions, monad-control, mtl
-     , pipes, primitive, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "pipes-safe";
        version = "2.3.5";
        sha256 = "13npagy597g6zfr2f3vj4a98h2ssg2ps7lmdzrgdsvm8m28x3cph";
-       revision = "1";
-       editedCabalFile = "0ddvkil91z0j0n5i1jn6xnj423y5qyi1ax3cdwzb71galfjp7adc";
+       revision = "2";
+       editedCabalFile = "04yyjgqr81b10635bw0f2i5kfh0qzp7l3v9k9qbzskvlsl3kdyjy";
        libraryHaskellDepends = [
          base containers exceptions monad-control mtl pipes primitive
          transformers transformers-base
        ];
        description = "Safety for the pipes ecosystem";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.Gabriella439 ];
      }) {};
 
@@ -234504,10 +234303,8 @@ self: {
      }:
      mkDerivation {
        pname = "plots";
-       version = "0.1.1.3";
-       sha256 = "1gkrwigv53vg1q96z56m86xf6z9g9w4jqaapf81rixqsww7hrbng";
-       revision = "1";
-       editedCabalFile = "0khcgsbl837rahz9qkq8fbdz9nrdbppqaxpdimp46aha4jbhkyqd";
+       version = "0.1.1.4";
+       sha256 = "1b68dd1xk6kqfgyypddk4zcllm8lnfxz2a2fhvb4d09ar3ix7s40";
        libraryHaskellDepends = [
          adjunctions base base-orphans colour containers data-default
          diagrams-core diagrams-lib directory distributive filepath
@@ -237648,8 +237445,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgres-websockets";
-       version = "0.11.2.1";
-       sha256 = "0zlm0gk4sxm84kx205n5z0r0nw13kajk7400zbi9v2xslwjpgxnn";
+       version = "0.11.2.2";
+       sha256 = "0sjl0r6mg3b3qh4b3y2p1d4q1i6k456v3dj4vw9fhdi51rmyrhah";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -237826,6 +237623,8 @@ self: {
        pname = "postgresql-libpq";
        version = "0.10.0.0";
        sha256 = "0qnzbc1rws6kgy3g1y9n7c2mh190996jlwrp0j3hbsmgdy9aig2l";
+       revision = "1";
+       editedCabalFile = "1xqf1mqbsq75iay8hv4d8ac5psaay6v106w0nqv00p1y5vfay72w";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring unix ];
        librarySystemDepends = [ postgresql ];
@@ -238161,6 +237960,8 @@ self: {
        pname = "postgresql-simple";
        version = "0.7.0.0";
        sha256 = "0gm1wk2zq35h46v0l1qc0z63jv3gxgqd059j1mcmww80a6sipf4c";
+       revision = "1";
+       editedCabalFile = "0yhggx06wbg57psqa8sswf85qfzy8ndssv13vwmxj0gc1ca1zv4l";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring case-insensitive containers
          hashable Only postgresql-libpq scientific template-haskell text
@@ -240288,25 +240089,6 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter-combinators";
-       version = "0.1.1.1";
-       sha256 = "1553qii74af7a5xxj3n6ch9vv84kr5ayd1z69x0d78lqqraibx4y";
-       revision = "1";
-       editedCabalFile = "0dp01v9ywwzpvwbiljnlgrazh7pjz8p94wald2rvxa97xzlcm4z2";
-       libraryHaskellDepends = [
-         base bimap bytestring containers dlist pretty-show prettyprinter
-         syb template-haskell text unordered-containers vector
-       ];
-       description = "Some useful combinators for the prettyprinter package";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "prettyprinter-combinators_0_1_2" = callPackage
-    ({ mkDerivation, base, bimap, bytestring, containers, dlist
-     , pretty-show, prettyprinter, syb, template-haskell, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "prettyprinter-combinators";
        version = "0.1.2";
        sha256 = "1kmvzczb9g3m2q7glrhwwaklbjs225xgq61vcp5qbysnyhdbxydi";
        libraryHaskellDepends = [
@@ -240315,7 +240097,6 @@ self: {
        ];
        description = "Some useful combinators for the prettyprinter package";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "prettyprinter-compat-annotated-wl-pprint" = callPackage
@@ -243888,15 +243669,15 @@ self: {
      }) {};
 
   "ptr" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, contravariant, gauge
+    ({ mkDerivation, base, bytestring, cereal, contravariant, criterion
      , profunctors, QuickCheck, quickcheck-instances, rerebase
      , strict-list, tasty, tasty-hunit, tasty-quickcheck, text, time
-     , tostring, vector
+     , vector
      }:
      mkDerivation {
        pname = "ptr";
-       version = "0.16.8.4";
-       sha256 = "047f4j89mhy18p4ga0322nln61xx5bvlfiqg6aiywrm2k95gsblh";
+       version = "0.16.8.5";
+       sha256 = "1rpbvg74cvqdpbvnwn28jy0sb7l5hzf4bs371zyr0dwh0ls3xrg6";
        libraryHaskellDepends = [
          base bytestring contravariant profunctors strict-list text time
          vector
@@ -243905,7 +243686,7 @@ self: {
          cereal QuickCheck quickcheck-instances rerebase tasty tasty-hunit
          tasty-quickcheck
        ];
-       benchmarkHaskellDepends = [ cereal gauge rerebase tostring ];
+       benchmarkHaskellDepends = [ cereal criterion rerebase ];
        description = "Experimental abstractions for operations on pointers";
        license = lib.licenses.mit;
      }) {};
@@ -245835,8 +245616,8 @@ self: {
        pname = "quaalude";
        version = "0.0.0.1";
        sha256 = "0wwsrpm2s7gs2c4fwh4qvhnjywxfyf94dw715bz34q7bzyyk3lc6";
-       revision = "1";
-       editedCabalFile = "0mqgnxadwgz0ky3nvzqrkdnx5xb2a8qbiwvdwjmy63xhwdymy5ap";
+       revision = "2";
+       editedCabalFile = "1danjjnb38pnz5x4xdqas5fr9xb703i6a4jx49kq5q311v8dccva";
        libraryHaskellDepends = [ base ];
        description = "Extremely minimal prelude";
        license = lib.licenses.asl20;
@@ -246301,20 +246082,20 @@ self: {
      , containers, crypto-token, crypton, crypton-x509
      , crypton-x509-system, data-default-class, fast-logger, filepath
      , hspec, hspec-discover, iproute, memory, network
-     , network-byte-order, network-udp, psqueues, QuickCheck, random
-     , stm, tls, unix-time, unliftio, unliftio-core
+     , network-byte-order, network-control, network-udp, QuickCheck
+     , random, stm, tls, unix-time, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "quic";
-       version = "0.1.7";
-       sha256 = "09pdlp49ix56cnshscq1knmakwcgwjq1p24i2rf4yyfc8hkj3bfc";
+       version = "0.1.9";
+       sha256 = "0xb6ibssn3r45ab48cj74m8c23ic0gszgfrlm5xaj7nmcixna5i2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base base16-bytestring bytestring containers crypto-token
          crypton crypton-x509 crypton-x509-system data-default-class
          fast-logger filepath iproute memory network network-byte-order
-         network-udp psqueues random stm tls unix-time unliftio
+         network-control network-udp random stm tls unix-time unliftio
          unliftio-core
        ];
        testHaskellDepends = [
@@ -246919,6 +246700,44 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "quickcheck-state-machine_0_8_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, array, base, base-compat
+     , bifunctors, bytestring, containers, directory, doctest
+     , exceptions, filelock, filepath, generic-data, generics-sop
+     , graphviz, hashable, hashtables, http-client, MemoTrie
+     , monad-logger, mtl, network, persistent, persistent-postgresql
+     , persistent-sqlite, persistent-template, postgresql-simple, pretty
+     , pretty-show, process, QuickCheck, quickcheck-instances, random
+     , resource-pool, resourcet, servant, servant-client, servant-server
+     , sop-core, split, stm, strict, string-conversions, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, unliftio
+     , unliftio-core, vector, wai, warp
+     }:
+     mkDerivation {
+       pname = "quickcheck-state-machine";
+       version = "0.8.0";
+       sha256 = "1fiffmc4bivivdkyb28103rvcnrlc44s28gv63c27r6vkwkwava2";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base base-compat bytestring containers directory
+         exceptions filepath generic-data generics-sop graphviz MemoTrie mtl
+         pretty pretty-show process QuickCheck random sop-core split text
+         time unliftio vector
+       ];
+       testHaskellDepends = [
+         aeson array base bifunctors bytestring containers directory doctest
+         filelock filepath hashable hashtables http-client monad-logger mtl
+         network persistent persistent-postgresql persistent-sqlite
+         persistent-template postgresql-simple pretty-show process
+         QuickCheck quickcheck-instances random resource-pool resourcet
+         servant servant-client servant-server split stm strict
+         string-conversions tasty tasty-hunit tasty-quickcheck text unliftio
+         unliftio-core vector wai warp
+       ];
+       description = "Test monadic programs using state machine based models";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "quickcheck-state-machine-distributed" = callPackage
     ({ mkDerivation, base, binary, containers, directory
      , distributed-process, mtl, network-transport
@@ -248247,25 +248066,12 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "rampart";
-       version = "2.0.0.6";
-       sha256 = "0znh7v4s7mljlkhk4xpgkps8irbnqh8q2hrb1niwjxnl9mvchpjg";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       description = "Determine how intervals relate to each other";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rampart_2_0_0_7" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "rampart";
        version = "2.0.0.7";
        sha256 = "03yvjnyij98c1lmak3511zn1rfczwnjaal0vrqq3lq5j89ysvyrf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Determine how intervals relate to each other";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ramus" = callPackage
@@ -248429,8 +248235,8 @@ self: {
      }:
      mkDerivation {
        pname = "random-cycle";
-       version = "0.1.1.0";
-       sha256 = "10rpgga4kf7ls5a6yphhcqwdprhzl8im81712p7k9wf9iciw96g7";
+       version = "0.1.2.0";
+       sha256 = "0lq5k43ifhknb1nnq4hhsyjh5qlmgcplvsdsxzsmmrk185pmfc9x";
        libraryHaskellDepends = [
          base mwc-random primitive random vector
        ];
@@ -248739,8 +248545,8 @@ self: {
        pname = "range-set-list";
        version = "0.1.3.1";
        sha256 = "0m8c8qhpk9vaykqfy6gsv1csmvdclm27zv9l56ipv152k75xks0j";
-       revision = "5";
-       editedCabalFile = "17a016lbs5p94bclgzqkyld4vhp4rnv4rg8xk4qhqyagggrvq9k7";
+       revision = "6";
+       editedCabalFile = "0gxcsav13k7cm0h45a5xqwd2jqk307cl4vh0d1bqvwsmn014z5w4";
        libraryHaskellDepends = [ base containers deepseq hashable ];
        testHaskellDepends = [
          base containers deepseq hashable tasty tasty-quickcheck
@@ -249195,27 +249001,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "2.0.0.9";
-       sha256 = "06zvz041ylpxmipydq1g3lli1w61dbq8dnmqgy2iga8jhd7dif48";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers http-client
-         http-client-tls http-types uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers filepath hspec
-         http-client http-client-tls http-types uuid
-       ];
-       description = "Notify Honeybadger about exceptions";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel_2_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, hspec, http-client, http-client-tls
-     , http-types, uuid
-     }:
-     mkDerivation {
-       pname = "ratel";
        version = "2.0.0.10";
        sha256 = "1vvz9ia5p7phkwryjfwrzfzvrb94r127vy56qkgikwc9jxxdlxlj";
        libraryHaskellDepends = [
@@ -249228,7 +249013,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratel-wai" = callPackage
@@ -249237,21 +249021,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "2.0.0.4";
-       sha256 = "1y5dam4vpisi409d5mnzqj8a1x1nv2aaj0ynq6wavzqw306gwbnz";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers http-client ratel wai
-       ];
-       description = "Notify Honeybadger about exceptions via a WAI middleware";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel-wai_2_0_0_5" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , http-client, ratel, wai
-     }:
-     mkDerivation {
-       pname = "ratel-wai";
        version = "2.0.0.5";
        sha256 = "1y2rcp1birh1akw98zw10qwjwi5wf7qknk7j5xwwjws7hpmmgy2y";
        libraryHaskellDepends = [
@@ -249259,7 +249028,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions via a WAI middleware";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratelimiter" = callPackage
@@ -257079,8 +256847,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine";
-       version = "1.0";
-       sha256 = "0xyiiqlx516v78s240r740xdcmj678np8j16a1kg1f3xpxj7m6lp";
+       version = "1.1";
+       sha256 = "09pz2q9bw5c6qlfsy83piryjnzhq3zra1mly3ypqlr9d36zj7bfb";
        libraryHaskellDepends = [
          base containers deepseq dunai free monad-schedule MonadRandom
          random simple-affine-space time time-domain transformers
@@ -257102,15 +256870,15 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-bayes";
-       version = "1.0";
-       sha256 = "0g4y9i15mybi7md221a2mbw1dvilf469a2mcnvy5vd0bsx6xfw1y";
+       version = "1.1";
+       sha256 = "1ybzvbpdz23l3fy1dvv7kn1cpis9c9jy00zxvvwbr47pbvdi9wxc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base dunai log-domain monad-bayes rhine transformers
        ];
        executableHaskellDepends = [
-         base log-domain mmorph monad-bayes rhine rhine-gloss time
+         base dunai log-domain mmorph monad-bayes rhine rhine-gloss time
          transformers
        ];
        description = "monad-bayes backend for Rhine";
@@ -257125,8 +256893,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-gloss";
-       version = "1.0";
-       sha256 = "0kx1dqf1rz91im818dn9wvf7nlq8ic0vs5m17xhx349p4yjnk8fi";
+       version = "1.1";
+       sha256 = "12h501lcfskygn1pf407pksh9izcb79g48j4gw63pw4islhcxdbr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257146,8 +256914,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-terminal";
-       version = "1.0";
-       sha256 = "1i00vapdiqgsivwzpnb055iwxxx6626842jyr9w1ccrhib86y00y";
+       version = "1.1";
+       sha256 = "12r7j9mnswbb59mankl8pil7xk9s9ymzxdc73vmi6ads6kf6qvyr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259152,22 +258920,19 @@ self: {
 
   "rounded-hw" = callPackage
     ({ mkDerivation, array, base, Cabal, deepseq, doctest, fp-ieee
-     , hspec, long-double, primitive, QuickCheck, random, tagged
-     , tasty-bench, vector
+     , hspec, primitive, QuickCheck, random, tagged, tasty-bench, vector
      }:
      mkDerivation {
        pname = "rounded-hw";
-       version = "0.3.0";
-       sha256 = "15y6yz101mnfkc2ff4w6wnqc5r6ykipd7jh0pbg9rjm67jmyr4b5";
-       revision = "1";
-       editedCabalFile = "139hr8a1qyfkdcpxn9pwmi9c7v4q3g86bjrx654nc0q7v87q4afh";
+       version = "0.4.0";
+       sha256 = "1844qb2nsv25ix41jkrcr0n08wa4zsnrn7wpxxavnabi4j7mf8yz";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         array base deepseq fp-ieee long-double primitive tagged vector
+         array base deepseq fp-ieee primitive tagged vector
        ];
        testHaskellDepends = [
-         array base deepseq doctest fp-ieee hspec long-double primitive
-         QuickCheck random vector
+         array base deepseq doctest fp-ieee hspec primitive QuickCheck
+         random vector
        ];
        benchmarkHaskellDepends = [
          array base deepseq fp-ieee primitive tasty-bench vector
@@ -261390,25 +261155,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "salve";
-       version = "2.0.0.3";
-       sha256 = "027gyrcnyly8wd2znv6gd3ch1r0xq0ycs36lzw1yssiirl4ji5ls";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Semantic version numbers and constraints";
-       license = lib.licenses.mit;
-     }) {};
-
-  "salve_2_0_0_4" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "salve";
        version = "2.0.0.4";
        sha256 = "1csk70mgawp7298x787xk4sshh7xm71vrc703vjwy3mv3i0sg94x";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Semantic version numbers and constraints";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "salvia" = callPackage
@@ -261739,6 +261491,51 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "sandwich_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, async, base, brick
+     , bytestring, colour, containers, deepseq, directory, exceptions
+     , filepath, free, haskell-src-exts, lifted-async, microlens
+     , microlens-th, monad-control, monad-logger, mtl
+     , optparse-applicative, pretty-show, process, safe, safe-exceptions
+     , stm, string-interpolate, template-haskell, text, time
+     , transformers, transformers-base, unix, unliftio-core, vector, vty
+     , vty-crossplatform
+     }:
+     mkDerivation {
+       pname = "sandwich";
+       version = "0.2.0.0";
+       sha256 = "18hr0xyisf9zlfcji63s086mfxgzmhxmpcfhxz41miwlg0780g6f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       description = "Yet another test framework for Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sandwich-hedgehog" = callPackage
     ({ mkDerivation, base, free, hedgehog, monad-control, mtl
      , safe-exceptions, sandwich, string-interpolate, text, time, vty
@@ -262239,8 +262036,8 @@ self: {
      }:
      mkDerivation {
        pname = "sayable";
-       version = "1.2.3.0";
-       sha256 = "0swwjp1lkfwv4g92d0f4mb6iza56fpf35af2a5kwhxvjg6kp6w32";
+       version = "1.2.3.1";
+       sha256 = "0w4skxbvbmvda2jrvbnnaikka529k5g6qixzc2kz3sqvq784qmks";
        libraryHaskellDepends = [
          base bytestring containers exceptions prettyprinter
          template-haskell text th-abstraction
@@ -262340,6 +262137,8 @@ self: {
        pname = "sbv";
        version = "7.13";
        sha256 = "0bk400swnb4s98c5p71ml1px6jndaiqhf5dj7zmnliyplqcgpfik";
+       revision = "1";
+       editedCabalFile = "0gn00bgvy9v4wiica7psrzmxbbp0fiiknrxmdy55z9k2ycpvw7la";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum deepseq directory filepath
@@ -262369,6 +262168,8 @@ self: {
        pname = "sbv";
        version = "10.2";
        sha256 = "1qairjjffy3di61gdav8p1h3zdz4967g13z64xahhd4f2agmr0kz";
+       revision = "1";
+       editedCabalFile = "0vhjrgp4mggvky170m5y3jxcss3byjdbmk3y08bfivb2id94a724";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers deepseq directory filepath libBF mtl
@@ -265787,6 +265588,8 @@ self: {
        pname = "sensei";
        version = "0.8.0";
        sha256 = "0qmi9qzfbsx9xxkczwjx1pzwmkwpl1dq1c80f4nmjgqh4mm21aw5";
+       revision = "1";
+       editedCabalFile = "1vafgazhxamvwp1ihjhyn2q6v8y57a6hzjvahd10bxdb1ng3mlbx";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -265805,7 +265608,9 @@ self: {
        description = "Automatically run Hspec tests on file modifications";
        license = lib.licenses.mit;
        badPlatforms = lib.platforms.darwin;
+       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.libjared ];
+       broken = true;
      }) {};
 
   "sensenet" = callPackage
@@ -266322,10 +266127,8 @@ self: {
      }:
      mkDerivation {
        pname = "serialise";
-       version = "0.2.6.0";
-       sha256 = "05m5h5vfjp4wvh6y7j2f3d4c3l6gxww2n1v38vqrjacpw641izwk";
-       revision = "3";
-       editedCabalFile = "1j94b6ry6m86qi9fi4mxwf8qbfai8mv8cwgjw725hbjmmvham97b";
+       version = "0.2.6.1";
+       sha256 = "1x3p9vi6daf50xgv5xxjnclqcq9ynqg1qw7af3ppa1nizycrg533";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -270433,7 +270236,9 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "Treating files as sets to perform rapid set manipulation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "setdown";
+       broken = true;
      }) {};
 
   "setenv" = callPackage
@@ -270630,8 +270435,8 @@ self: {
      }:
      mkDerivation {
        pname = "sexp-grammar";
-       version = "2.3.4.1";
-       sha256 = "17nyfzz4i74bhd11rbwkzk0inlx4kwqjd2h8hlk3kx5lfj20bspl";
+       version = "2.3.4.2";
+       sha256 = "1pbiccdddnniainx48c9s1l9fjsqf4i57iddrww12mnhdpszr3nw";
        libraryHaskellDepends = [
          array base bytestring containers data-fix deepseq
          invertible-grammar prettyprinter recursion-schemes scientific
@@ -284658,8 +284463,8 @@ self: {
        pname = "step-function";
        version = "0.2.0.1";
        sha256 = "0hpzbjgjgsrx6q7sjk2dz40i2lggx8wraqlf58ibbv3y1yvb2q6a";
-       revision = "1";
-       editedCabalFile = "1zyv6hvh510cgvlj22wxdzs11w508gr35409wrls402g0j75c9d4";
+       revision = "2";
+       editedCabalFile = "034mk1k23qs8d9y1iyxnpxn0zcq0yy6z7jy9lp3l4vin6gmpz0vk";
        libraryHaskellDepends = [ base containers deepseq QuickCheck ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Staircase functions or piecewise constant functions";
@@ -284755,12 +284560,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "stm_2_5_2_1" = callPackage
+  "stm_2_5_3_0" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
        pname = "stm";
-       version = "2.5.2.1";
-       sha256 = "16xis3rj5i0qlr1nc8ybmcrjhhqc2mh4l4lblmi04k2x00aycas1";
+       version = "2.5.3.0";
+       sha256 = "1xy3sj69wcb92fg0y5lp0qxcsi3pyvvrrrn4fpi2snji4j3k47hv";
        libraryHaskellDepends = [ array base ];
        description = "Software Transactional Memory";
        license = lib.licenses.bsd3;
@@ -285875,8 +285680,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-bytestring";
-       version = "0.3.1";
-       sha256 = "0ph6s8a1r0k9zhffmj23plzjlpipy4sr662dd0ya5igb9fbp5i32";
+       version = "0.3.2";
+       sha256 = "0rxsxm0an21d2wrngg61vdz7lqcigi7fs96n8003yfcnah63qnw8";
        libraryHaskellDepends = [
          base bytestring deepseq exceptions ghc-prim mmorph mtl resourcet
          streaming transformers transformers-base
@@ -286860,27 +286665,12 @@ self: {
      }:
      mkDerivation {
        pname = "strict-list";
-       version = "0.1.7.2";
-       sha256 = "1zzrhpgwv4cjjp601fklhv9i1hp4rpabjyylnjwbv757bv8dmlvx";
-       libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
-       testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
-       description = "Strict linked list";
-       license = lib.licenses.mit;
-     }) {};
-
-  "strict-list_0_1_7_3" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, rerebase, semigroupoids
-     , tasty, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "strict-list";
-       version = "0.1.7.3";
-       sha256 = "0bpsnhhg69dq2m9zbzchzzvgpnr0f0jgzsakcn3yzwld8dckxq67";
+       version = "0.1.7.4";
+       sha256 = "0jncppjyzg64d5qxban713z9mxzdky9zlldnnw029l7d1y3yv3x1";
        libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
        testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
        description = "Strict linked list";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strict-mvar" = callPackage
@@ -287735,23 +287525,6 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "6.0.0.9";
-       sha256 = "0zd3c303vyl61alw2bl217znm72ajpsy33qjz2pf52azsdk96qfc";
-       libraryHaskellDepends = [
-         aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types template-haskell text time transformers
-       ];
-       description = "A client for the Strava V3 API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "strive_6_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, template-haskell, text
-     , time, transformers
-     }:
-     mkDerivation {
-       pname = "strive";
        version = "6.0.0.10";
        sha256 = "10028krfmrq8v1k00ihdzp5hl6nrq0vdp3kb9xfgsyqgvv8l2ic2";
        libraryHaskellDepends = [
@@ -287760,7 +287533,6 @@ self: {
        ];
        description = "A client for the Strava V3 API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strong-path" = callPackage
@@ -288209,6 +287981,8 @@ self: {
        pname = "stylish-haskell";
        version = "0.14.5.0";
        sha256 = "07f0cn7xy8yg1rm0yvkjx27xqv9xc3n1c5s4fqq3yrqyi5szdhbw";
+       revision = "1";
+       editedCabalFile = "0q4k40ys5k2grmbzk14sqnqw9bpq59cq9b7z41cdmbdpdvgbpcsc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -292229,24 +292003,21 @@ self: {
      }) {};
 
   "table-layout" = callPackage
-    ({ mkDerivation, base, data-default-class
-     , data-default-instances-base, hspec, HUnit, QuickCheck
+    ({ mkDerivation, base, data-default-class, doclayout, hspec, HUnit
+     , QuickCheck, text
      }:
      mkDerivation {
        pname = "table-layout";
-       version = "0.9.1.0";
-       sha256 = "0jg6hr835r8m7vn92a01y754ssby3qkkai8sr42bwjvqn7zy7xl8";
+       version = "1.0.0.0";
+       sha256 = "0divq2wf8hpygbrsvp8x4pcbajrbmrr2i4vfjqajwjq914swb2kc";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [
-         base data-default-class data-default-instances-base
-       ];
+       libraryHaskellDepends = [ base data-default-class doclayout text ];
        executableHaskellDepends = [
-         base data-default-class data-default-instances-base
+         base data-default-class doclayout text
        ];
        testHaskellDepends = [
-         base data-default-class data-default-instances-base hspec HUnit
-         QuickCheck
+         base data-default-class doclayout hspec HUnit QuickCheck text
        ];
        description = "Format tabular data as grid or table";
        license = lib.licenses.bsd3;
@@ -292910,8 +292681,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagtree";
-       version = "0.1.0.0";
-       sha256 = "1gmfw1znz4n6a08fpi0g4jkkz1m03yl59v1yj1w6kmlvyzf6dw1z";
+       version = "0.1.0.1";
+       sha256 = "0i9mnlfkxmsvdb33pg8qc3wvlmsdgz4hn9lzwl8ib47qj056fmvd";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default filepattern
          megaparsec parser-combinators relude text
@@ -295737,10 +295508,8 @@ self: {
      }:
      mkDerivation {
        pname = "template-haskell-optics";
-       version = "0.2";
-       sha256 = "13jjycd2yirslab7j6gd1hfl9bn5srid4b2apdz36janxx8np4mm";
-       revision = "1";
-       editedCabalFile = "1asqpnrkwqgvjyc70hicfdjrf90d5h4yh9n2fljsmkjvay3w46r6";
+       version = "0.3";
+       sha256 = "1gz10y1s25fpixcl315q6gqv0687aj1mw4kk8ychsg44nlqm8agz";
        libraryHaskellDepends = [
          base containers optics-core template-haskell th-abstraction
        ];
@@ -295959,7 +295728,6 @@ self: {
        ];
        description = "library to make electronic music, brings together temporal-music-notation and csound-expression packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "temporal-media" = callPackage
@@ -296483,14 +296251,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "termbox_2_0_0" = callPackage
+  "termbox_2_0_0_1" = callPackage
     ({ mkDerivation, base, termbox-bindings-hs }:
      mkDerivation {
        pname = "termbox";
-       version = "2.0.0";
-       sha256 = "0al0989wkvkm95m3dz78yrv33zgjb89vskwwq9vgnivvnq8iffhs";
-       revision = "1";
-       editedCabalFile = "0xwap18cxy0w48jhi1mfk15fhihfrjr2wmq1swzqnpmr6b3mpszr";
+       version = "2.0.0.1";
+       sha256 = "0kynby25arx6hcq64cklw9qhw87qxy6vrz9z40d7k7j817gkzccq";
        libraryHaskellDepends = [ base termbox-bindings-hs ];
        description = "termbox";
        license = lib.licenses.bsd3;
@@ -296548,10 +296314,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "termbox-bindings-c";
-       version = "0.1.0";
-       sha256 = "1q7frripz88zgcfmx2lab2vrj19gywnskng07zf7icsj9j6bdwyw";
-       revision = "2";
-       editedCabalFile = "04hnf96p6n9fxczk2hbp53kl3gm06f8zx469nvzl48qjvcxhxc2i";
+       version = "0.1.0.1";
+       sha256 = "1rq695y6491f0nydgm64r6v2l8mkpvzgcrb2gxfdy6g0bwarimxw";
        libraryHaskellDepends = [ base ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
@@ -296561,21 +296325,19 @@ self: {
     ({ mkDerivation, base, termbox-bindings-c }:
      mkDerivation {
        pname = "termbox-bindings-hs";
-       version = "0.1.0";
-       sha256 = "07m6lp997skqp04a430ynsrzdpwcczblxawvlcbizffsznkmnl64";
-       revision = "2";
-       editedCabalFile = "0bpz5drzp1gfncbpsc9jjz6qyvjjn4c9w16ci79nj60zi7b5q9b5";
+       version = "0.1.1";
+       sha256 = "1f50j6z72g5lsdvakxvlsg77iqspcm2qmwyc1csafgs1zn40ks2i";
        libraryHaskellDepends = [ base termbox-bindings-c ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
      }) {};
 
-  "termbox-bindings-hs_0_1_1" = callPackage
+  "termbox-bindings-hs_1_0_0" = callPackage
     ({ mkDerivation, base, termbox-bindings-c }:
      mkDerivation {
        pname = "termbox-bindings-hs";
-       version = "0.1.1";
-       sha256 = "1f50j6z72g5lsdvakxvlsg77iqspcm2qmwyc1csafgs1zn40ks2i";
+       version = "1.0.0";
+       sha256 = "1j90pjqrngyygwwwk9zh2ah4sfdz9sv6222k21lmrql60md85g8i";
        libraryHaskellDepends = [ base termbox-bindings-c ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
@@ -297944,8 +297706,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder-linear";
-       version = "0.1.1.1";
-       sha256 = "0yrl0qr8zyfgrn4h618lkk5jv68ij0kzn39bgv3pi05v9dj8rnzm";
+       version = "0.1.2";
+       sha256 = "0ymx978kxqjcgrza82l29g8hp5qwx0miscmkwd04qcvq3iz8ikxa";
        libraryHaskellDepends = [ base bytestring quote-quot text ];
        testHaskellDepends = [ base tasty tasty-quickcheck text ];
        benchmarkHaskellDepends = [
@@ -300355,8 +300117,8 @@ self: {
        pname = "threepenny-gui";
        version = "0.9.4.0";
        sha256 = "08jqa01pp6b300ic0xcn687i0a0kvz76bgym3dchk9n75m6hvc4f";
-       revision = "3";
-       editedCabalFile = "0vciaszq8kmcdxzhjy7l7w4mmhkvq9pnkyrz9i1ixxg4l2riw4f5";
+       revision = "4";
+       editedCabalFile = "11yn9z3n3czfpbhqfjbixcry1zj5p8m3jg2dbx5vcwx5ffklkcav";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -300612,6 +300374,8 @@ self: {
        ];
        description = "A faster time library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tianbar" = callPackage
@@ -307137,8 +306901,8 @@ self: {
        pname = "turtle";
        version = "1.6.2";
        sha256 = "0bav7b2ghbwdhpa4b5a7812psr6hqk7wydvgxjy5dsb62nqnc08s";
-       revision = "1";
-       editedCabalFile = "0bgd9mf1z96iqwv2cdc0pj4dy3dnfxj8qsbvjm26h54cvazc2sbl";
+       revision = "2";
+       editedCabalFile = "14jnb2vyq0nx4cp4c97xflzg7z9xw1avg2d27c1d1cnqg28pd4an";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions filepath foldl hostname managed optional-args
@@ -309318,8 +309082,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.10.1.1";
-       sha256 = "11116iqgdpqpmzj0rjqg7bmfyg3zgvwp2ndh4q8m7cy9gcwab734";
+       version = "0.10.1.2";
+       sha256 = "0gn9i4p8idvl3av06il1j14x8dp9lxmb2cpdzqkwp4gsss9hfl73";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -309529,6 +309293,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "typst-symbols_0_1_5" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "typst-symbols";
+       version = "0.1.5";
+       sha256 = "1kgw8c0p3qj1an6dhfim310aydgzq05lx086mznbfs5saya1x590";
+       libraryHaskellDepends = [ base text ];
+       description = "Symbol and emoji lookup for typst language";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tyro" = callPackage
     ({ mkDerivation, aeson, base, bytestring, HUnit, protolude
      , reflection, singletons, test-framework, test-framework-hunit
@@ -316087,22 +315863,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-extras";
-       version = "0.2.8";
-       sha256 = "1xnz733p9p66693hb31fmq2cfsy2rwyw1b0915p7y5my1d8dxyzi";
-       libraryHaskellDepends = [
-         base containers deferred-folds foldl hashable unordered-containers
-         vector
-       ];
-       description = "Utilities for the \"vector\" library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vector-extras_0_2_8_1" = callPackage
-    ({ mkDerivation, base, containers, deferred-folds, foldl, hashable
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "vector-extras";
        version = "0.2.8.1";
        sha256 = "0bnjh4c001v6ia6ac40i508jdzfdlccp8v0fhy7ayv4scrvpwip2";
        libraryHaskellDepends = [
@@ -316111,7 +315871,6 @@ self: {
        ];
        description = "Utilities for the \"vector\" library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-fft" = callPackage
@@ -316841,6 +316600,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vertexenum" = callPackage
+    ({ mkDerivation, base, containers, hmatrix-glpk, tasty, tasty-hunit
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "vertexenum";
+       version = "0.1.0.0";
+       sha256 = "0gqc207lns1by4dz57wrdx3r8jnrl1clwpfi65afgi7x09ircxvw";
+       libraryHaskellDepends = [
+         base containers hmatrix-glpk vector-space
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Vertex enumeration";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "vessel" = callPackage
     ({ mkDerivation, aeson, aeson-gadt-th, base, base-orphans
      , bifunctors, commutative-semigroups, constraints
@@ -317977,17 +317752,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "vty_6_0" = callPackage
+  "vty_6_1" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring, deepseq
      , directory, filepath, microlens, microlens-mtl, microlens-th, mtl
      , parsec, stm, text, utf8-string, vector
      }:
      mkDerivation {
        pname = "vty";
-       version = "6.0";
-       sha256 = "0gc57ixmkdkbffzlbj1dda183gwwb6nwz65zsl2jplqwa6airb07";
+       version = "6.1";
+       sha256 = "1mkv9ywqgh4z94sh8dhglklnpa53mkk39qjncjfcwszi15ylpiig";
        revision = "1";
-       editedCabalFile = "0r0l1qb97jdd5ygqw5zzvcji2qgzj7mqapn44zi211z3svzy8kiw";
+       editedCabalFile = "1wy4vfyr4nbb8ycfx80yrp59ggigcbfrsh5w1qk768y04d114kaj";
        libraryHaskellDepends = [
          base binary blaze-builder bytestring deepseq directory filepath
          microlens microlens-mtl microlens-th mtl parsec stm text
@@ -318002,8 +317777,8 @@ self: {
     ({ mkDerivation, base, vty, vty-unix }:
      mkDerivation {
        pname = "vty-crossplatform";
-       version = "0.2.0.0";
-       sha256 = "04ri60dp4gx6ycqhbdz5jd8mcwbwivwqh7fgg2m5vws6kycjma1l";
+       version = "0.4.0.0";
+       sha256 = "06iwxgqrqzz05hmic7z5hxd48x0i49sk935vm0xfi0xq28sl7r9m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base vty vty-unix ];
@@ -318094,8 +317869,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty-unix";
-       version = "0.1.0.0";
-       sha256 = "158j7hw0ddbvhxrhn3k2ifc2wsw70dq7pj0qwnmh5bkd1fs0iakz";
+       version = "0.2.0.0";
+       sha256 = "1hfxc7qw884vlq8qshhyndl3zs10jc2xr6i69vhasjywkvh6gay2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -318119,8 +317894,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty-windows";
-       version = "0.1.0.3";
-       sha256 = "01fwq0mpyxk5nlxkv24bzsr4klg2fpfy8rs124pdssh657aqxaf7";
+       version = "0.2.0.0";
+       sha256 = "03dha87c7nrfyfscnz5bjys9v971xiw4xs60d5z218daazd2rhfy";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers deepseq directory filepath
          microlens microlens-mtl microlens-th mtl parsec stm transformers
@@ -321672,28 +321447,30 @@ self: {
   "webauthn" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, asn1-parse, asn1-types, base
      , base16-bytestring, base64-bytestring, binary, bytestring, cborg
-     , containers, cryptonite, directory, file-embed, filepath, hashable
-     , hourglass, hspec, hspec-expectations-json, jose, lens, memory
-     , monad-time, mtl, pem, QuickCheck, quickcheck-instances, serialise
-     , singletons, text, these, time, unordered-containers, uuid
-     , validation, x509, x509-store, x509-validation
+     , containers, crypton, crypton-x509, crypton-x509-store
+     , crypton-x509-validation, directory, file-embed, filepath
+     , hashable, hourglass, hspec, hspec-expectations-json, jose, lens
+     , memory, monad-time, mtl, pem, QuickCheck, quickcheck-instances
+     , serialise, singletons, text, these, time, unordered-containers
+     , uuid, validation
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0.8.0.0";
-       sha256 = "1qsywsshgj270zpzw5x5ljdmfy7v8vb8fmdqap118g4sci3ir3b8";
+       version = "0.9.0.0";
+       sha256 = "0rjd4hwap4vhbp7isfb2spyp1kc062x7q9vd5jfdfrvcqmgklav5";
        libraryHaskellDepends = [
          aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
-         base64-bytestring binary bytestring cborg containers cryptonite
-         file-embed hashable hourglass jose lens memory monad-time mtl
-         serialise singletons text these time unordered-containers uuid
-         validation x509 x509-store x509-validation
+         base64-bytestring binary bytestring cborg containers crypton
+         crypton-x509 crypton-x509-store crypton-x509-validation file-embed
+         hashable hourglass jose lens memory monad-time mtl serialise
+         singletons text these time unordered-containers uuid validation
        ];
        testHaskellDepends = [
-         aeson asn1-encoding base bytestring containers cryptonite directory
-         filepath hourglass hspec hspec-expectations-json memory mtl pem
-         QuickCheck quickcheck-instances serialise singletons text these
-         unordered-containers uuid validation x509 x509-store
+         aeson asn1-encoding base bytestring containers crypton crypton-x509
+         crypton-x509-store directory filepath hourglass hspec
+         hspec-expectations-json memory mtl pem QuickCheck
+         quickcheck-instances serialise singletons text these
+         unordered-containers uuid validation
        ];
        description = "Relying party (server) implementation of the WebAuthn 2 specification";
        license = lib.licenses.asl20;
@@ -321837,6 +321614,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "webdriver_0_12_0_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-aeson, base
+     , base64-bytestring, bytestring, call-stack, data-default-class
+     , directory, directory-tree, exceptions, filepath, http-client
+     , http-types, lifted-base, monad-control, network, network-uri
+     , scientific, temporary, text, time, transformers
+     , transformers-base, unordered-containers, vector, zip-archive
+     }:
+     mkDerivation {
+       pname = "webdriver";
+       version = "0.12.0.0";
+       sha256 = "1z54i2ddcnrrfwgyy8bb3jqb279ssmwkyx69nc2zml0195ss5254";
+       libraryHaskellDepends = [
+         aeson attoparsec attoparsec-aeson base base64-bytestring bytestring
+         call-stack data-default-class directory directory-tree exceptions
+         filepath http-client http-types lifted-base monad-control network
+         network-uri scientific temporary text time transformers
+         transformers-base unordered-containers vector zip-archive
+       ];
+       description = "a Haskell client for the Selenium WebDriver protocol";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "webdriver-angular" = callPackage
     ({ mkDerivation, aeson, base, hspec, hspec-webdriver
      , language-javascript, template-haskell, text, transformers
@@ -323345,8 +323146,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
-       revision = "6";
-       editedCabalFile = "1hhp85x1k2fxya4j3anqpkz4xnxzdi04l5ld2jqyqb9d5abasy7f";
+       revision = "7";
+       editedCabalFile = "0qbgpy1h3gbhlqs0in014xg9h8mrx7rw6jdkfn81ahycy3xf4l7w";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -323562,25 +323363,6 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "1.2.0.2";
-       sha256 = "015raibb13dzsjxpf5m6v9mljhcacix4ic2ypjv1cq8zfwf7wks1";
-       libraryHaskellDepends = [
-         base bytestring containers tagged template-haskell text time
-       ];
-       testHaskellDepends = [
-         base bytestring containers HUnit tagged text time transformers
-       ];
-       description = "Convert values from one type into another";
-       license = lib.licenses.mit;
-       maintainers = [ lib.maintainers.maralorn ];
-     }) {};
-
-  "witch_1_2_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, tagged
-     , template-haskell, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "witch";
        version = "1.2.0.3";
        sha256 = "1c5kmxb9y7i1amjb0qn1w4rx7c80f52z976d7id644v9sxp00kfx";
        libraryHaskellDepends = [
@@ -323591,7 +323373,6 @@ self: {
        ];
        description = "Convert values from one type into another";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
@@ -323918,8 +323699,8 @@ self: {
        pname = "wl-pprint-text";
        version = "1.2.0.2";
        sha256 = "0axivwh7bxmljxpfnccs66knxzrqck07byxmp2j737xbb26pf5cj";
-       revision = "1";
-       editedCabalFile = "030lk3dxn9ry0si5zd7lh1pww1i1nx670i1h3z8y4wwiil97pni1";
+       revision = "2";
+       editedCabalFile = "1zp64js72l8kkqn47hkl6rcangz14njfrhgdhq0w5x4nhvfi77md";
        libraryHaskellDepends = [ base base-compat text ];
        description = "A Wadler/Leijen Pretty Printer for Text values";
        license = lib.licenses.bsd3;
@@ -327448,8 +327229,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.47.1";
-       sha256 = "1l4vpa35nqljsn4kxg5nhwj2d5ns01zj8iikrxr6f8icdirgx4pz";
+       version = "0.47.2";
+       sha256 = "03ln2c59v4aj5936c71zbjn075sia9x5nd7cwy60n92bn3n6wkk9";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -330102,28 +329883,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.7.1.2";
-       sha256 = "1v2rcasjlh4wkqcas652wvs7z8n38cda4yzp18s07f01z0r8ra0r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring cryptonite errors hoauth2 http-client
-         http-conduit http-types memory microlens mtl safe-exceptions text
-         transformers unliftio uri-bytestring yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-auth-oauth2_0_7_1_3" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
-     , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, mtl, safe-exceptions, text, transformers, unliftio
-     , uri-bytestring, yesod-auth, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
        version = "0.7.1.3";
        sha256 = "151is1lvhnl3pvp0q4sn3i26l4n936vlpky3hndsn1f76cjy489b";
        isLibrary = true;
@@ -330136,7 +329895,6 @@ self: {
        testHaskellDepends = [ base hspec uri-bytestring ];
        description = "OAuth 2.0 authentication plugins";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-oidc" = callPackage
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index 33e964ddeedbb..6f5b889883910 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -23,13 +23,13 @@ assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
 
 stdenv.mkDerivation rec {
   pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "CBQN";
     rev = "v${version}";
-    hash = "sha256-jS60phZMrpGa+GVzZSGZwVVtW9RBp/oHRIYP/pXRU2I=";
+    hash = "sha256-PCpePevWQ+aPG6Yx3WqBZ4yTeyJsCGkYMSY6kzGDL1U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/bqn/cbqn/replxx.nix b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
index 2074111d45f53..71b479a4cda48 100644
--- a/pkgs/development/interpreters/bqn/cbqn/replxx.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "replxx";
-  version = "unstable-2023-02-26";
+  version = "unstable-2023-10-31";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "replxx";
-    rev = "1da4681a8814366ec51e7630b76558e53be0997d";
-    hash = "sha256-Zs7ItuK31n0VSxwOsPUdZZLr68PypitZqcydACrx90Q=";
+    rev = "13f7b60f4f79c2f14f352a76d94860bad0fc7ce9";
+    hash = "sha256-xPuQ5YBDSqhZCwssbaN/FcTZlc3ampYl7nfl2bbsgBA=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/interpreters/bqn/cbqn/singeli.nix b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
index af7eeb89a0e91..212b96b6cb3f0 100644
--- a/pkgs/development/interpreters/bqn/cbqn/singeli.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "singeli";
-  version = "unstable-2023-09-12";
+  version = "unstable-2023-11-22";
 
   src = fetchFromGitHub {
     owner = "mlochbaum";
     repo = "Singeli";
-    rev = "49a6a90d83992171a2db749e9f7fd400ec65ef2c";
-    hash = "sha256-9Dc6yrrXV6P9s1uwGlXB+ZBquOLejWe41k0TSpJGDgE=";
+    rev = "528faaf9e2a7f4f3434365bcd91d6c18c87c4f08";
+    hash = "sha256-/z1KHqflCqPGC9JU80jtgqdk2mkX06eWSziuf4TU4TM=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix
index 9007ab12d7547..7901d24d0f771 100644
--- a/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -8,10 +8,11 @@
 , curl
 , bash
 , debugInfo ? false
-}:
+} @ inputs:
 
 { baseName ? "elixir"
 , version
+, erlang ? inputs.erlang
 , minimumOTPVersion
 , sha256 ? null
 , rev ? "v${version}"
@@ -20,7 +21,7 @@
 } @ args:
 
 let
-  inherit (lib) getVersion versionAtLeast optional;
+  inherit (lib) getVersion versionAtLeast optional concatStringsSep;
 
 in
 assert versionAtLeast (getVersion erlang) minimumOTPVersion;
@@ -36,7 +37,12 @@ stdenv.mkDerivation ({
   LANG = "C.UTF-8";
   LC_TYPE = "C.UTF-8";
 
-  buildFlags = optional debugInfo "ERL_COMPILER_OPTIONS=debug_info";
+  ERLC_OPTS =
+    let
+      erlc_opts = [ "deterministic" ]
+        ++ optional debugInfo "debug_info";
+    in
+    "[${concatStringsSep "," erlc_opts}]";
 
   preBuild = ''
     patchShebangs ${escriptPath} || true
diff --git a/pkgs/development/interpreters/gauche/boot.nix b/pkgs/development/interpreters/gauche/boot.nix
index 7fbc66406e677..61c67b13f78fa 100644
--- a/pkgs/development/interpreters/gauche/boot.nix
+++ b/pkgs/development/interpreters/gauche/boot.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gauche-bootstrap";
-  version = "0.9.9";
+  version = "0.9.12";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gauche/Gauche-${version}.tgz";
-    sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac";
+    url = "https://github.com/shirok/Gauche/releases/download/release${lib.replaceStrings ["."] ["_"] version}/Gauche-${version}.tgz";
+    hash = "sha256-tK5kkhsHqWZhaV69WqwN7IE9GmjlRqYWCRE9eEP1thc=";
   };
 
   nativeBuildInputs = [ pkg-config texinfo ];
diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix
index baa679b6e00d8..301cd9db78301 100644
--- a/pkgs/development/interpreters/gauche/default.nix
+++ b/pkgs/development/interpreters/gauche/default.nix
@@ -1,20 +1,20 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, gaucheBootstrap, pkg-config, texinfo
-, libiconv, gdbm, openssl, zlib, mbedtls, cacert }:
+, libiconv, gdbm, openssl, zlib, mbedtls, cacert, CoreServices }:
 
 stdenv.mkDerivation rec {
   pname = "gauche";
-  version = "0.9.10";
+  version = "0.9.13";
 
   src = fetchFromGitHub {
     owner = "shirok";
     repo = pname;
     rev = "release${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "0ki1w7sa10ivmg51sqjskby0gsznb0d3738nz80x589033km5hmb";
+    hash = "sha256-XD4zJzCktGi/E9sA6BVm9JVQBVrG5119EjZNbP1pVJU=";
   };
 
   nativeBuildInputs = [ gaucheBootstrap pkg-config texinfo autoreconfHook ];
 
-  buildInputs = [ libiconv gdbm openssl zlib mbedtls cacert ];
+  buildInputs = [ libiconv gdbm openssl zlib mbedtls cacert ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
 
   autoreconfPhase = ''
     ./DIST gen
diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix
index a09afadf52712..002ce4fa97ff0 100644
--- a/pkgs/development/interpreters/guile/3.0.nix
+++ b/pkgs/development/interpreters/guile/3.0.nix
@@ -74,6 +74,7 @@ builder rec {
 
   patches = [
     ./eai_system.patch
+    ./guile-hurd-posix-spawn.patch
   ] ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch
   ++ lib.optional stdenv.isDarwin
     (fetchpatch {
diff --git a/pkgs/development/interpreters/guile/guile-hurd-posix-spawn.patch b/pkgs/development/interpreters/guile/guile-hurd-posix-spawn.patch
new file mode 100644
index 0000000000000..7cf600b4c2aa5
--- /dev/null
+++ b/pkgs/development/interpreters/guile/guile-hurd-posix-spawn.patch
@@ -0,0 +1,44 @@
+Fix <https://issues.guix.gnu.org/61095>, which affects GNU/Hurd.
+
+diff --git a/libguile/posix.c b/libguile/posix.c
+index 3a8be94e4..f5fdc544c 100644
+--- a/libguile/posix.c
++++ b/libguile/posix.c
+@@ -1326,7 +1326,14 @@ static void
+ close_inherited_fds_slow (posix_spawn_file_actions_t *actions, int max_fd)
+ {
+   while (--max_fd > 2)
+-    posix_spawn_file_actions_addclose (actions, max_fd);
++    {
++      /* Adding invalid file descriptors to an 'addclose' action leads
++         to 'posix_spawn' failures on some operating systems:
++         <https://bugs.gnu.org/61095>.  Hence the extra check.  */
++      int flags = fcntl (max_fd, F_GETFD, NULL);
++      if ((flags >= 0) && ((flags & FD_CLOEXEC) == 0))
++        posix_spawn_file_actions_addclose (actions, max_fd);
++    }
+ }
+ 
+ static void
+
+Fix <https://issues.guix.gnu.org/62501>.
+
+diff --git a/test-suite/tests/posix.test b/test-suite/tests/posix.test
+index f20e04453..d5cf47cda 100644
+--- a/test-suite/tests/posix.test
++++ b/test-suite/tests/posix.test
+@@ -431,7 +431,13 @@
+       (let ((str (get-string-all (car input+output))))
+         (close-port (car input+output))
+         (waitpid pid)
+-        str)))
++
++        ;; On GNU/Hurd, the exec server prepends 'LD_ORIGIN_PATH' for
++        ;; every program: <https://bugs.gnu.org/62501>.  Strip it.
++        (if (and (string=? "GNU" (utsname:sysname (uname)))
++                 (string-prefix? "LD_ORIGIN_PATH=" str))
++            (string-drop str (+ 1 (string-index str #\newline)))
++            str))))
+ 
+   (pass-if-equal "ls /proc/self/fd"
+       "0\n1\n2\n3\n"                     ;fourth FD is for /proc/self/fd
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index a316a407d80dd..f1cc624b59e77 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "jruby";
-  version = "9.4.4.0";
+  version = "9.4.5.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${finalAttrs.version}/jruby-bin-${finalAttrs.version}.tar.gz";
-    hash = "sha256-arEmcK/Y5ciskwX6vkIFV5XF3fn46PGh5g4mDy1yTMA=";
+    hash = "sha256-pA94xGQczIZ1Lhay2iR/1ryfvPmkhkzxvjb3/3s1aEw=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/development/interpreters/love/0.7-gl-prototypes.patch b/pkgs/development/interpreters/love/0.7-gl-prototypes.patch
deleted file mode 100644
index 0b6778f6a90ba..0000000000000
--- a/pkgs/development/interpreters/love/0.7-gl-prototypes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp
---- love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp	2019-03-14 12:46:55.032982224 -0400
-+++ love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp	2019-03-14 12:47:22.356175299 -0400
-@@ -1,3 +1,5 @@
-+#define GL_GLEXT_PROTOTYPES
-+
- #include "Framebuffer.h"
- #include <common/Matrix.h>
- 
-diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp
---- love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp	2019-03-14 12:46:55.032982224 -0400
-+++ love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp	2019-03-14 12:47:33.346119890 -0400
-@@ -18,6 +18,8 @@
- * 3. This notice may not be removed or altered from any source distribution.
- **/
- 
-+#define GL_GLEXT_PROTOTYPES
-+
- #include "SpriteBatch.h"
- 
- // STD
diff --git a/pkgs/development/interpreters/love/11.nix b/pkgs/development/interpreters/love/11.nix
index 768625e08cfa3..177c3f46086a6 100644
--- a/pkgs/development/interpreters/love/11.nix
+++ b/pkgs/development/interpreters/love/11.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "love";
-  version = "11.4";
+  version = "11.5";
 
   src = fetchFromGitHub {
     owner = "love2d";
     repo = "love";
     rev = version;
-    sha256 = "0kpdp6v8m8j0r7ppyy067shr0lfgrlh0dwb7ccws76d389vizwhb";
+    sha256 = "sha256-wZktNh4UB3QH2wAIIlnYUlNoXbjEDwUmPnT4vesZNm0=";
   };
 
   nativeBuildInputs = [ pkg-config autoconf automake ];
diff --git a/pkgs/development/interpreters/octave/patches/bug62436.patch b/pkgs/development/interpreters/octave/patches/bug62436.patch
deleted file mode 100644
index d9d7cfc30408f..0000000000000
--- a/pkgs/development/interpreters/octave/patches/bug62436.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# HG changeset patch
-# User John Donoghue <john.donoghue@ieee.org>
-# Date 1652358904 14400
-#      Thu May 12 08:35:04 2022 -0400
-# Branch stable
-# Node ID 8c940cfcce257369677c09154da2aab2c56eaa79
-# Parent  63710f3bd9811c2d206ac9e7b4f47cf06c47e153
-* scripts/pkg/private/build.m: check configure and Makefile exist before trying to unlink them (Bug #62436)
-
-diff -r 63710f3bd981 -r 8c940cfcce25 scripts/pkg/private/build.m
---- a/scripts/pkg/private/build.m	Wed May 11 09:44:55 2022 -0700
-+++ b/scripts/pkg/private/build.m	Thu May 12 08:35:04 2022 -0400
-@@ -77,8 +77,12 @@
-     else
-       arch_abi = getarch ();
-       configure_make (desc, build_root, verbose);
--      unlink (fullfile (build_root, "src", "configure"));
--      unlink (fullfile (build_root, "src", "Makefile"));
-+      if exist (fullfile (build_root, "src", "configure"), "file")
-+        unlink (fullfile (build_root, "src", "configure"));
-+      endif
-+      if exist (fullfile (build_root, "src", "Makefile"), "file")
-+        unlink (fullfile (build_root, "src", "Makefile"));
-+      endif
-     endif
-     tar_name = [desc.name "-" desc.version "-" arch_abi ".tar"];
-     tar_path = fullfile (builddir, tar_name);
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index ba5ce5537bbbc..3bea507ad0a9e 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -53,7 +53,10 @@ let
     , argon2Support ? true
     , cgotoSupport ? false
     , embedSupport ? false
+    , staticSupport ? false
     , ipv6Support ? true
+    , zendSignalsSupport ? true
+    , zendMaxExecutionTimersSupport ? false
     , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
     , valgrindSupport ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind
     , ztsSupport ? apxs2Support
@@ -236,7 +239,6 @@ let
             # PCRE
             ++ [ "--with-external-pcre=${pcre2.dev}" ]
 
-
             # Enable sapis
             ++ lib.optional (!cgiSupport) "--disable-cgi"
             ++ lib.optional (!cliSupport) "--disable-cli"
@@ -250,11 +252,14 @@ let
             ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs"
             ++ lib.optional argon2Support "--with-password-argon2=${libargon2}"
             ++ lib.optional cgotoSupport "--enable-re2c-cgoto"
-            ++ lib.optional embedSupport "--enable-embed"
+            ++ lib.optional embedSupport "--enable-embed${lib.optionalString staticSupport "=static"}"
             ++ lib.optional (!ipv6Support) "--disable-ipv6"
             ++ lib.optional systemdSupport "--with-fpm-systemd"
             ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
             ++ lib.optional ztsSupport "--enable-zts"
+            ++ lib.optional staticSupport "--enable-static"
+            ++ lib.optional (!zendSignalsSupport) ["--disable-zend-signals"]
+            ++ lib.optional zendMaxExecutionTimersSupport "--enable-zend-max-execution-timers"
 
 
             # Sendmail
diff --git a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
index d359a7ed82aeb..9de0ec4418628 100644
--- a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
+++ b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
@@ -3,6 +3,6 @@
 }:
 
 fetchurl {
-  url = "https://pear.php.net/install-pear-nozlib.phar";
+  url = "https://github.com/pear/pearweb_phars/raw/v1.10.21/install-pear-nozlib.phar";
   hash = "sha256-UblKVcsm030tNSA6mdeab+h7ZhANNz7MkFf4Z1iigjs=";
 }
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 970da7c5c5a4f..d9b539926b833 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -12,23 +12,24 @@ to update all non-pinned libraries in that folder.
 """
 
 import argparse
+import collections
 import json
 import logging
 import os
 import re
-import requests
+import subprocess
 from concurrent.futures import ThreadPoolExecutor as Pool
-from packaging.version import Version as _Version
-from packaging.version import InvalidVersion
+from typing import Any, Optional
+
+import requests
 from packaging.specifiers import SpecifierSet
-from typing import Optional, Any
-import collections
-import subprocess
+from packaging.version import InvalidVersion
+from packaging.version import Version as _Version
 
 INDEX = "https://pypi.io/pypi"
 """url of PyPI"""
 
-EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl']
+EXTENSIONS = ["tar.gz", "tar.bz2", "tar", "zip", ".whl"]
 """Permitted file extensions. These are evaluated from left to right and the first occurance is returned."""
 
 PRERELEASES = False
@@ -37,13 +38,16 @@ BULK_UPDATE = False
 
 GIT = "git"
 
-NIXPKGS_ROOT = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode('utf-8').strip()
+NIXPKGS_ROOT = (
+    subprocess.check_output(["git", "rev-parse", "--show-toplevel"])
+    .decode("utf-8")
+    .strip()
+)
 
 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`
@@ -65,7 +69,7 @@ def _get_values(attribute, text):
 
     :returns: List of matches.
     """
-    regex = fr'{re.escape(attribute)}\s+=\s+"(.*)";'
+    regex = rf'{re.escape(attribute)}\s+=\s+"(.*)";'
     regex = re.compile(regex)
     values = regex.findall(text)
     return values
@@ -73,14 +77,19 @@ def _get_values(attribute, text):
 
 def _get_attr_value(attr_path: str) -> Optional[Any]:
     try:
-        response = subprocess.check_output([
-            "nix",
-            "--extra-experimental-features", "nix-command",
-            "eval",
-            "-f", f"{NIXPKGS_ROOT}/default.nix",
-            "--json",
-            f"{attr_path}"
-        ])
+        response = subprocess.check_output(
+            [
+                "nix",
+                "--extra-experimental-features",
+                "nix-command",
+                "eval",
+                "-f",
+                f"{NIXPKGS_ROOT}/default.nix",
+                "--json",
+                f"{attr_path}",
+            ],
+            stderr=subprocess.DEVNULL,
+        )
         return json.loads(response.decode())
     except (subprocess.CalledProcessError, ValueError):
         return None
@@ -100,12 +109,13 @@ def _get_unique_value(attribute, text):
     else:
         raise ValueError("no value found for {}".format(attribute))
 
+
 def _get_line_and_value(attribute, text, value=None):
     """Match attribute in text. Return the line and the value of the attribute."""
     if value is None:
-        regex = rf'({re.escape(attribute)}\s+=\s+\"(.*)\";)'
+        regex = rf"({re.escape(attribute)}\s+=\s+\"(.*)\";)"
     else:
-        regex = rf'({re.escape(attribute)}\s+=\s+\"({re.escape(value)})\";)'
+        regex = rf"({re.escape(attribute)}\s+=\s+\"({re.escape(value)})\";)"
     regex = re.compile(regex)
     results = regex.findall(text)
     n = len(results)
@@ -138,7 +148,7 @@ def _fetch_page(url):
 
 def _fetch_github(url):
     headers = {}
-    token = os.environ.get('GITHUB_API_TOKEN')
+    token = os.environ.get("GITHUB_API_TOKEN")
     if token:
         headers["Authorization"] = f"token {token}"
     r = requests.get(url, headers=headers)
@@ -151,31 +161,26 @@ def _fetch_github(url):
 
 def _hash_to_sri(algorithm, value):
     """Convert a hash to its SRI representation"""
-    return subprocess.check_output([
-        "nix",
-        "hash",
-        "to-sri",
-        "--type", algorithm,
-        value
-    ]).decode().strip()
+    return (
+        subprocess.check_output(["nix", "hash", "to-sri", "--type", algorithm, value])
+        .decode()
+        .strip()
+    )
 
 
 def _skip_bulk_update(attr_name: str) -> bool:
-    return bool(_get_attr_value(
-        f"{attr_name}.skipBulkUpdate"
-    ))
+    return bool(_get_attr_value(f"{attr_name}.skipBulkUpdate"))
 
 
 SEMVER = {
-    'major' : 0,
-    'minor' : 1,
-    'patch' : 2,
+    "major": 0,
+    "minor": 1,
+    "patch": 2,
 }
 
 
 def _determine_latest_version(current_version, target, versions):
-    """Determine latest version, given `target`.
-    """
+    """Determine latest version, given `target`."""
     current_version = Version(current_version)
 
     def _parse_versions(versions):
@@ -193,7 +198,7 @@ def _determine_latest_version(current_version, target, versions):
     if len(ceiling) == 0:
         ceiling = None
     else:
-        ceiling[-1]+=1
+        ceiling[-1] += 1
         ceiling = Version(".".join(map(str, ceiling)))
 
     # We do not want prereleases
@@ -210,17 +215,19 @@ def _get_latest_version_pypi(package, extension, current_version, target):
     url = "{}/{}/json".format(INDEX, package)
     json = _fetch_page(url)
 
-    versions = json['releases'].keys()
+    versions = json["releases"].keys()
     version = _determine_latest_version(current_version, target, versions)
 
     try:
-        releases = json['releases'][version]
+        releases = json["releases"][version]
     except KeyError as e:
-        raise KeyError('Could not find version {} for {}'.format(version, package)) from e
+        raise KeyError(
+            "Could not find version {} for {}".format(version, package)
+        ) from e
     for release in releases:
-        if release['filename'].endswith(extension):
+        if release["filename"].endswith(extension):
             # TODO: In case of wheel we need to do further checks!
-            sha256 = release['digests']['sha256']
+            sha256 = release["digests"]["sha256"]
             break
     else:
         sha256 = None
@@ -240,33 +247,40 @@ def _get_latest_version_github(package, extension, current_version, target):
     attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"python3Packages.{package}")
     try:
         homepage = subprocess.check_output(
-            ["nix", "eval", "-f", f"{NIXPKGS_ROOT}/default.nix", "--raw", f"{attr_path}.src.meta.homepage"])\
-            .decode('utf-8')
+            [
+                "nix",
+                "eval",
+                "-f",
+                f"{NIXPKGS_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 = 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))
+    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)
+    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'])
+    release = next(filter(lambda x: strip_prefix(x["tag_name"]) == version, releases))
+    prefix = get_prefix(release["tag_name"])
 
     # some attributes require using the fetchgit
     git_fetcher_args = []
-    if (_get_attr_value(f"{attr_path}.src.fetchSubmodules")):
+    if _get_attr_value(f"{attr_path}.src.fetchSubmodules"):
         git_fetcher_args.append("--fetch-submodules")
-    if (_get_attr_value(f"{attr_path}.src.fetchLFS")):
+    if _get_attr_value(f"{attr_path}.src.fetchLFS"):
         git_fetcher_args.append("--fetch-lfs")
-    if (_get_attr_value(f"{attr_path}.src.leaveDotGit")):
+    if _get_attr_value(f"{attr_path}.src.leaveDotGit"):
         git_fetcher_args.append("--leave-dotGit")
 
     if git_fetcher_args:
@@ -274,8 +288,10 @@ def _get_latest_version_github(package, extension, current_version, target):
         cmd = [
             "nix-prefetch-git",
             f"https://github.com/{owner}/{repo}.git",
-            "--hash", algorithm,
-            "--rev", f"refs/tags/{release['tag_name']}"
+            "--hash",
+            algorithm,
+            "--rev",
+            f"refs/tags/{release['tag_name']}",
         ]
         cmd.extend(git_fetcher_args)
         response = subprocess.check_output(cmd)
@@ -283,45 +299,60 @@ def _get_latest_version_github(package, extension, current_version, target):
         hash = _hash_to_sri(algorithm, document[algorithm])
     else:
         try:
-            hash = subprocess.check_output([
-                "nix-prefetch-url",
-                "--type", "sha256",
-                "--unpack",
-                f"{release['tarball_url']}"
-            ], stderr=subprocess.DEVNULL).decode('utf-8').strip()
+            hash = (
+                subprocess.check_output(
+                    [
+                        "nix-prefetch-url",
+                        "--type",
+                        "sha256",
+                        "--unpack",
+                        f"{release['tarball_url']}",
+                    ],
+                    stderr=subprocess.DEVNULL,
+                )
+                .decode("utf-8")
+                .strip()
+            )
         except (subprocess.CalledProcessError, UnicodeError):
             # 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")
-            hash = subprocess.check_output([
-                "nix-prefetch-url",
-                "--type", "sha256",
-                "--unpack",
-                tag_url
-            ], stderr=subprocess.DEVNULL).decode('utf-8').strip()
+            tag_url = str(release["tarball_url"]).replace(
+                "tarball", "tarball/refs/tags"
+            )
+            hash = (
+                subprocess.check_output(
+                    ["nix-prefetch-url", "--type", "sha256", "--unpack", tag_url],
+                    stderr=subprocess.DEVNULL,
+                )
+                .decode("utf-8")
+                .strip()
+            )
 
     return version, hash, prefix
 
 
 FETCHERS = {
-    'fetchFromGitHub'   :   _get_latest_version_github,
-    'fetchPypi'         :   _get_latest_version_pypi,
-    'fetchurl'          :   _get_latest_version_pypi,
+    "fetchFromGitHub": _get_latest_version_github,
+    "fetchPypi": _get_latest_version_pypi,
+    "fetchurl": _get_latest_version_pypi,
 }
 
 
-DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz'
+DEFAULT_SETUPTOOLS_EXTENSION = "tar.gz"
 
 
 FORMATS = {
-    'setuptools'        :   DEFAULT_SETUPTOOLS_EXTENSION,
-    'wheel'             :   'whl',
-    'pyproject'         :   'tar.gz',
-    'flit'              :   'tar.gz'
+    "setuptools": DEFAULT_SETUPTOOLS_EXTENSION,
+    "wheel": "whl",
+    "pyproject": "tar.gz",
+    "flit": "tar.gz",
 }
 
+
 def _determine_fetcher(text):
     # Count occurrences of fetchers.
-    nfetchers = sum(text.count('src = {}'.format(fetcher)) for fetcher in FETCHERS.keys())
+    nfetchers = sum(
+        text.count("src = {}".format(fetcher)) for fetcher in FETCHERS.keys()
+    )
     if nfetchers == 0:
         raise ValueError("no fetcher.")
     elif nfetchers > 1:
@@ -329,7 +360,7 @@ def _determine_fetcher(text):
     else:
         # Then we check which fetcher to use.
         for fetcher in FETCHERS.keys():
-            if 'src = {}'.format(fetcher) in text:
+            if "src = {}".format(fetcher) in text:
                 return fetcher
 
 
@@ -341,47 +372,46 @@ def _determine_extension(text, fetcher):
     - fetchurl, we determine the extension from the url.
     - fetchFromGitHub we simply use `.tar.gz`.
     """
-    if fetcher == 'fetchPypi':
+    if fetcher == "fetchPypi":
         try:
-            src_format = _get_unique_value('format', text)
+            src_format = _get_unique_value("format", text)
         except ValueError:
-            src_format = None   # format was not given
+            src_format = None  # format was not given
 
         try:
-            extension = _get_unique_value('extension', text)
+            extension = _get_unique_value("extension", text)
         except ValueError:
-            extension = None    # extension was not given
+            extension = None  # extension was not given
 
         if extension is None:
             if src_format is None:
-                src_format = 'setuptools'
-            elif src_format == 'other':
+                src_format = "setuptools"
+            elif src_format == "other":
                 raise ValueError("Don't know how to update a format='other' package.")
             extension = FORMATS[src_format]
 
-    elif fetcher == 'fetchurl':
-        url = _get_unique_value('url', text)
+    elif fetcher == "fetchurl":
+        url = _get_unique_value("url", text)
         extension = os.path.splitext(url)[1]
-        if 'pypi' not in url:
-            raise ValueError('url does not point to PyPI.')
+        if "pypi" not in url:
+            raise ValueError("url does not point to PyPI.")
 
-    elif fetcher == 'fetchFromGitHub':
+    elif fetcher == "fetchFromGitHub":
         extension = "tar.gz"
 
     return extension
 
 
 def _update_package(path, target):
-
     # Read the expression
-    with open(path, 'r') as f:
+    with open(path, "r") as f:
         text = f.read()
 
     # Determine pname. Many files have more than one pname
-    pnames = _get_values('pname', text)
+    pnames = _get_values("pname", text)
 
     # Determine version.
-    version = _get_unique_value('version', text)
+    version = _get_unique_value("version", text)
 
     # First we check how many fetchers are mentioned.
     fetcher = _determine_fetcher(text)
@@ -393,8 +423,12 @@ def _update_package(path, target):
     for pname in pnames:
         if BULK_UPDATE and _skip_bulk_update(f"python3Packages.{pname}"):
             raise ValueError(f"Bulk update skipped for {pname}")
+        elif _get_attr_value(f"python3Packages.{pname}.cargoDeps") is not None:
+            raise ValueError(f"Cargo dependencies are unsupported, skipping {pname}")
         try:
-            new_version, new_sha256, prefix = FETCHERS[fetcher](pname, extension, version, target)
+            new_version, new_sha256, prefix = FETCHERS[fetcher](
+                pname, extension, version, target
+            )
             successful_fetch = True
             break
         except ValueError:
@@ -411,7 +445,7 @@ def _update_package(path, target):
     if not new_sha256:
         raise ValueError("no file available for {}.".format(pname))
 
-    text = _replace_value('version', new_version, text)
+    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+
@@ -421,16 +455,16 @@ def _update_package(path, target):
     if old_hash := _get_attr_value(f"python3Packages.{pname}.src.outputHash"):
         # fetchers can specify a sha256, or a sri hash
         try:
-            text = _replace_value('hash', sri_hash, text, old_hash)
+            text = _replace_value("hash", sri_hash, text, old_hash)
         except ValueError:
-            text = _replace_value('sha256', sri_hash, text, old_hash)
+            text = _replace_value("sha256", sri_hash, text, old_hash)
     else:
         raise ValueError(f"Unable to retrieve old hash for {pname}")
 
-    if fetcher == 'fetchFromGitHub':
+    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 = r'(rev\s+=\s+[^;]*;)'
+        regex = r"(rev\s+=\s+[^;]*;)"
         regex = re.compile(regex)
         matches = regex.findall(text)
         n = len(matches)
@@ -442,30 +476,33 @@ def _update_package(path, target):
             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;')
+            text = text.replace('"${version}";', "version;")
 
-    with open(path, 'w') as f:
+    with open(path, "w") as f:
         f.write(text)
 
-        logging.info("Path {}: updated {} from {} to {}".format(path, pname, version, new_version))
+        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,
+        "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')
+        path = os.path.join(path, "default.nix")
 
     # If a default.nix does not exist, we quit.
     if not os.path.isfile(path):
@@ -485,32 +522,41 @@ def _update(path, target):
 
 
 def _commit(path, pname, old_version, new_version, pkgs_prefix="python: ", **kwargs):
-    """Commit result.
-    """
+    """Commit result."""
+
+    msg = f"{pkgs_prefix}{pname}: {old_version} -> {new_version}"
 
-    msg = f'{pkgs_prefix}{pname}: {old_version} -> {new_version}'
+    if changelog := _get_attr_value(f"{pkgs_prefix}{pname}.meta.changelog"):
+        msg += f"\n\n{changelog}"
 
     try:
-        subprocess.check_call([GIT, 'add', path])
-        subprocess.check_call([GIT, 'commit', '-m', msg])
+        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
+        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 python3Packages.${pname}: instead of python: ${pname}: when making commits')
+    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 python3Packages.${pname}: instead of python: ${pname}: when making commits",
+    )
 
     args = parser.parse_args()
     target = args.target
@@ -545,6 +591,5 @@ environment variables:
     logging.info("{} package(s) updated".format(count))
 
 
-
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 4c5efaa7d5453..38fdd0f71d7fd 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -141,6 +141,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     description = "A programmable programming language";
     longDescription = ''
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index 041ac00b2c3ae..d914b7a1fac22 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cctools-port
 , perl
 , CoreServices
 , ApplicationServices
@@ -8,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2023.09";
+  version = "2023.10";
 
   src = fetchFromGitHub {
     owner = "moarvm";
     repo = "moarvm";
     rev = version;
-    hash = "sha256-/78Qr/Td+dIBlzK0kYa2E4duxEjMj2haefw9Uia+3EA=";
+    hash = "sha256-1w6oMoxDro/AHE+QvjKUx9cxNpYuVSXYrRMh31ksgoQ=";
     fetchSubmodules = true;
   };
 
@@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
       --replace '`sw_vers -productVersion`' '"$MACOSX_DEPLOYMENT_TARGET"'
   '';
 
+  nativeBuildInputs = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    cctools-port
+  ];
+
   buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
   doCheck = false; # MoarVM does not come with its own test suite
 
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 3aa72be013921..8613beaef905f 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "15.0.0";
+  version = "15.0.1";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-oX8xhSyK7D5gFvgTJuXK59kcuYDa/9w25ndfwfhGPDE=";
+    hash = "sha256-9vArmudz1Avxz46IS9FZIKbs8wZXoeWMd/FGLmpPitw=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-cTQrC4xXgx6HMMq5TqGnFLhGAHGt57zKXp1Cc8jEX8Y=";
+  cargoHash = "sha256-/mX9zUN+dZoOCOPMeWCJ9U7KfI6JnFl8B2leYosy2jQ=";
   cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch b/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch
deleted file mode 100644
index c18420711b901..0000000000000
--- a/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
-index 1a80b5b..1fa57a7 100644
---- a/CMake/AbseilHelpers.cmake
-+++ b/CMake/AbseilHelpers.cmake
-@@ -171,8 +171,8 @@ function(absl_cc_library)
-       FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\
- prefix=${CMAKE_INSTALL_PREFIX}\n\
- exec_prefix=\${prefix}\n\
--libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}\n\
--includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}\n\
-+libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\
-+includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\
- \n\
- Name: absl_${_NAME}\n\
- Description: Abseil ${_NAME} library\n\
diff --git a/pkgs/development/libraries/accounts-qml-module/default.nix b/pkgs/development/libraries/accounts-qml-module/default.nix
new file mode 100644
index 0000000000000..aa68cb105af37
--- /dev/null
+++ b/pkgs/development/libraries/accounts-qml-module/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, accounts-qt
+, dbus-test-runner
+, pkg-config
+, qmake
+, qtbase
+, qtdeclarative
+, signond
+, xvfb-run
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "accounts-qml-module";
+  version = "0.7-unstable-2022-10-28";
+
+  src = fetchFromGitLab {
+    owner = "accounts-sso";
+    repo = "accounts-qml-module";
+    rev = "05e79ebbbf3784a87f72b7be571070125c10dfe3";
+    hash = "sha256-ZpnkZauowLPBnO3DDDtG/x07XoQGVNqEF8AQB5TZK84=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/src.pro \
+      --replace '$$[QT_INSTALL_BINS]/qmlplugindump' 'qmlplugindump' \
+      --replace '$$[QT_INSTALL_QML]' '${placeholder "out"}/${qtbase.qtQmlPrefix}'
+
+    # Don't install test binary
+    sed -i tests/tst_plugin.pro \
+      -e '/TARGET = tst_plugin/a INSTALLS -= target'
+  '' + lib.optionalString (!finalAttrs.doCheck) ''
+    sed -i accounts-qml-module.pro -e '/tests/d'
+  '';
+
+  # QMake can't find Qt modules in buildInputs
+  strictDeps = false;
+
+  nativeBuildInputs = [
+    pkg-config
+    qmake
+    qtdeclarative # qmlplugindump
+  ];
+
+  buildInputs = [
+    accounts-qt
+    qtbase
+    qtdeclarative
+    signond
+  ];
+
+  nativeCheckInputs = [
+    dbus-test-runner
+    xvfb-run
+  ];
+
+  dontWrapQtApps = true;
+
+  qmakeFlags = [
+    # Needs qdoc, https://github.com/NixOS/nixpkgs/pull/245379
+    "CONFIG+=no_docs"
+  ];
+
+  postConfigure = ''
+    make qmake_all
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  preCheck = ''
+    # Needs xcb platform plugin
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  preInstall = ''
+    # Same plugin needed here, re-export in case checks are disabled
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  meta = with lib; {
+    description = "QML bindings for libaccounts-qt + libsignon-qt";
+    homepage = "https://gitlab.com/accounts-sso/accounts-qml-module";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
deleted file mode 100644
index bbc10fabb2685..0000000000000
--- a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- apr-1.5.1/file_io/unix/filestat.c	2014-11-01 06:42:50.000000000 -0400
-+++ apr-1.5.1/file_io/unix/filestat.c.new	2014-11-01 07:07:32.000000000 -0400
-@@ -297,9 +297,11 @@
-         finfo->pool = pool;
-         finfo->fname = fname;
-         fill_out_finfo(finfo, &info, wanted);
--        if (wanted & APR_FINFO_LINK)
--            wanted &= ~APR_FINFO_LINK;
--        return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        if (wanted & APR_FINFO_LINK) {
-+            return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        } else {
-+            return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        }
-     }
-     else {
- #if !defined(ENOENT) || !defined(ENOTDIR)
diff --git a/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch b/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch
deleted file mode 100644
index 58eaf5f490b1a..0000000000000
--- a/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru a/RtMidi.cpp b/RtMidi.cpp
---- a/RtMidi.cpp	2021-12-23 16:46:33.000000000 -0500
-+++ b/RtMidi.cpp	2021-12-23 16:48:19.000000000 -0500
-@@ -39,6 +39,9 @@
- 
- #include "RtMidi.h"
- #include <sstream>
-+#if defined(__APPLE__)
-+#include <TargetConditionals.h>
-+#endif
- 
- #if defined(__MACOSX_CORE__)
-   #if TARGET_OS_IPHONE
diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix
index e2b4aa8804150..53b4e167a7d9b 100644
--- a/pkgs/development/libraries/botan/2.0.nix
+++ b/pkgs/development/libraries/botan/2.0.nix
@@ -1,7 +1,7 @@
-{ callPackage, fetchpatch, ... } @ args:
+{ callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
   baseVersion = "2.19";
   revision = "3";
-  sha256 = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=";
+  hash = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=";
 })
diff --git a/pkgs/development/libraries/botan/3.0.nix b/pkgs/development/libraries/botan/3.0.nix
index a9b6a7aa27d34..4c0eae63493a9 100644
--- a/pkgs/development/libraries/botan/3.0.nix
+++ b/pkgs/development/libraries/botan/3.0.nix
@@ -1,9 +1,7 @@
-{ callPackage, fetchpatch, lib, ... } @ args:
+{ callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
   baseVersion = "3.2";
   revision = "0";
-  sha256 = "BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=";
-  # reconsider removing this platform marking, when MacOS uses Clang 14.0+ by default.
-  badPlatforms = lib.platforms.darwin;
+  hash = "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM=";
 })
diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix
index 795cd5189efe4..8e053581e88b8 100644
--- a/pkgs/development/libraries/botan/generic.nix
+++ b/pkgs/development/libraries/botan/generic.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, python3, bzip2, zlib, gmp, boost
 # Passed by version specific builders
-, baseVersion, revision, sha256
+, baseVersion, revision, hash
 , sourceExtension ? "tar.xz"
 , extraConfigureFlags ? ""
 , extraPatches ? [ ]
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
        "http://files.randombit.net/botan/v${baseVersion}/Botan-${version}.${sourceExtension}"
        "http://botan.randombit.net/releases/Botan-${version}.${sourceExtension}"
     ];
-    inherit sha256;
+    inherit hash;
   };
   patches = extraPatches;
   inherit postPatch;
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index 10cc9b72f77fd..6cbe6fc1899da 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "5.2.98";
+  version = "5.2.111";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    hash = "sha256-p3r8GVhxShTanEI/tS8Dq59I7VKMDX1blz6S236XFqQ=";
+    hash = "sha256-sLvvQhJ9uVt/dx57xs9ftY/ETi46xmyGDH8372zpqj8=";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index b8201f8ce5c6c..60578f79ea573 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   version = "1.19.1";
 
   src = fetchurl {
-    url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
+    url = "https://c-ares.org/download/${pname}-${version}.tar.gz";
     sha256 = "sha256-MhcAOZty7Q4DfQB0xinndB9rLsLdqSlWq+PpZx0+Jo4=";
   };
 
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 017b4cf46a79c..8ac9da237d19b 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -57,7 +57,7 @@ in {
     "-Dspectre=disabled"
 
     (lib.mesonEnable "glib" gobjectSupport)
-    (lib.mesonEnable "tests" finalAttrs.doCheck)
+    (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
     (lib.mesonEnable "xlib" x11Support)
     (lib.mesonEnable "xcb" xcbSupport)
   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
diff --git a/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch b/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch
deleted file mode 100644
index 6deecf2a97171..0000000000000
--- a/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-https://bugs.freedesktop.org/show_bug.cgi?id=30910#c6
-
-Comment 6 Jeremy Huddleston Sequoia 2014-07-15 04:12:40 UTC
-
-Yes, it is still an issue.  We just disable the buggy '"x$cairo_cc_stderr" != "x"' logic, but that's not really a portable solution for you:
-
-diff -Naurp cairo-1.12.2.orig/configure cairo-1.12.2/configure
---- cairo-1.12.2.orig/configure	2012-04-29 11:49:59.000000000 -0700
-+++ cairo-1.12.2/configure	2012-05-03 11:23:49.000000000 -0700
-@@ -18044,7 +18044,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18091,7 +18091,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18161,7 +18161,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18217,7 +18217,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -19663,7 +19663,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -19710,7 +19710,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32692,7 +32692,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32811,7 +32811,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false ; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32892,7 +32892,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
diff --git a/pkgs/development/libraries/cctag/default.nix b/pkgs/development/libraries/cctag/default.nix
index 2c1a5f9ae7863..238821b6af914 100644
--- a/pkgs/development/libraries/cctag/default.nix
+++ b/pkgs/development/libraries/cctag/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     boost179
     eigen
-    opencv
+    opencv.cxxdev
   ];
 
   # Tests are broken on Darwin (linking issue)
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index 8a8caa556c878..5030a185886de 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -11,14 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "crypto++";
-  version = "8.8.0";
+  version = "8.9.0";
   underscoredVersion = lib.strings.replaceStrings ["."] ["_"] version;
 
   src = fetchFromGitHub {
     owner = "weidai11";
     repo = "cryptopp";
     rev = "CRYPTOPP_${underscoredVersion}";
-    hash = "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU=";
+    hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix
index cca1da7ec627b..324a11a6c7a2c 100644
--- a/pkgs/development/libraries/ctranslate2/default.nix
+++ b/pkgs/development/libraries/ctranslate2/default.nix
@@ -24,13 +24,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ctranslate2";
-  version = "3.22.0";
+  version = "3.23.0";
 
   src = fetchFromGitHub {
     owner = "OpenNMT";
     repo = "CTranslate2";
     rev = "v${version}";
-    hash = "sha256-Fw0pMTc0Zmr4RfH2rdPgpOODZW9CL5UbDbIeH6A4zZQ=";
+    hash = "sha256-jqeLNKOGdGtAVx7ExGGDxxgi5zDmQgmJ6bxIuguaM3k=";
     fetchSubmodules = true;
   };
 
@@ -57,10 +57,11 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optionals withMkl [
     mkl
   ] ++ lib.optionals withCUDA [
+    cudaPackages.cuda_cccl # <nv/target> required by the fp16 headers in cudart
     cudaPackages.cuda_cudart
     cudaPackages.libcublas
     cudaPackages.libcurand
-  ] ++ lib.optionals withCuDNN [
+  ] ++ lib.optionals (withCUDA && withCuDNN) [
     cudaPackages.cudnn
   ] ++ lib.optionals withOneDNN [
     oneDNN
@@ -87,5 +88,8 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/OpenNMT/CTranslate2/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ hexa misuzu ];
+    broken =
+      (lib.versionOlder cudaPackages.cudaVersion "11.4")
+      || !(withCuDNN -> withCUDA);
   };
 }
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index 92b6397c41798..32356fd9ccab7 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libpng, libjpeg
-, guiSupport ? false, libX11
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, fftw
+, libpng
+, libjpeg
+, libwebp
+, openblas
+, guiSupport ? false
+, libX11
 
   # see http://dlib.net/compile.html
 , sse4Support ? stdenv.hostPlatform.sse4_1Support
@@ -23,12 +33,20 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
-    "-DUSE_DLIB_USE_CUDA=${if cudaSupport then "1" else "0"}"
-    "-DUSE_SSE4_INSTRUCTIONS=${if sse4Support then "yes" else "no"}"
-    "-DUSE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}" ];
+    (lib.cmakeBool "USE_DLIB_USE_CUDA" cudaSupport)
+    (lib.cmakeBool "USE_SSE4_INSTRUCTIONS" sse4Support)
+    (lib.cmakeBool "USE_AVX_INSTRUCTIONS" avxSupport)
+  ];
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libpng libjpeg ] ++ lib.optional guiSupport libX11;
+
+  buildInputs = [
+    fftw
+    libpng
+    libjpeg
+    libwebp
+    openblas
+  ] ++ lib.optional guiSupport libX11;
 
   meta = with lib; {
     description = "A general purpose cross-platform C++ machine learning library";
diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix
index 1bf86800df893..ff379c1a78b3f 100644
--- a/pkgs/development/libraries/dqlite/default.nix
+++ b/pkgs/development/libraries/dqlite/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://dqlite.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ joko adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/epoll-shim/default.nix b/pkgs/development/libraries/epoll-shim/default.nix
index ae2c22afd6333..d303f814b2718 100644
--- a/pkgs/development/libraries/epoll-shim/default.nix
+++ b/pkgs/development/libraries/epoll-shim/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_PKGCONFIGDIR=${placeholder "out"}/lib/pkgconfig"
-    "-DBUILD_TESTING=${lib.boolToString finalAttrs.doCheck}"
+    "-DBUILD_TESTING=${lib.boolToString finalAttrs.finalPackage.doCheck}"
   ];
 
   # https://github.com/jiixyj/epoll-shim/issues/41
diff --git a/pkgs/development/libraries/example-robot-data/default.nix b/pkgs/development/libraries/example-robot-data/default.nix
index d9a107bf6497b..11b6898382263 100644
--- a/pkgs/development/libraries/example-robot-data/default.nix
+++ b/pkgs/development/libraries/example-robot-data/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "example-robot-data";
-  version = "4.0.8";
+  version = "4.0.9";
 
   src = fetchFromGitHub {
     owner = "Gepetto";
-    repo = finalAttrs.pname;
+    repo = "example-robot-data";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-xeNbx1f9QCAOJrXfkk3jo9XH2/4HNtnRA1OSnqA2cLs=";
+    hash = "sha256-dLW8QaQhTTDcE4QCP9uV4ykOqwc3nbPUmF1B77r8CHQ=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 97c356a3aa4e2..c30f69f18fdfc 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   pname = "freetds";
-  version = "1.4.6";
+  version = "1.4.8";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    hash   = "sha256-gTgCoca8Av4WlrbqMapTUiVxl3dza1v8I6OheFiVasA=";
+    hash   = "sha256-KzXaLxxmxUrE9uQD2zpKuYOhLpi4a7xMgiZxaf+Tq2k=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/futuresql/default.nix b/pkgs/development/libraries/futuresql/default.nix
index 2adc148701a74..fb6e4061e6f62 100644
--- a/pkgs/development/libraries/futuresql/default.nix
+++ b/pkgs/development/libraries/futuresql/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   version = "0.1.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/futuresql/futuresql-${version}.tar.xz";
     hash = "sha256-5E7Y1alhizynuimD7ZxfdXLm4KWxmflIaINLccy+vUM=";
   };
 
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index c11f6b8432bc7..a2e4ad8f47cf4 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -224,7 +224,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   nativeCheckInputs = [ tzdata desktop-file-utils shared-mime-info ];
 
-  preCheck = lib.optionalString finalAttrs.doCheck or config.doCheckByDefault or false ''
+  preCheck = lib.optionalString finalAttrs.finalPackage.doCheck or config.doCheckByDefault or false ''
     export LD_LIBRARY_PATH="$NIX_BUILD_TOP/glib-${finalAttrs.version}/glib/.libs''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
     export TZDIR="${tzdata}/share/zoneinfo"
     export XDG_CACHE_HOME="$TMP"
diff --git a/pkgs/development/libraries/glibc/rpcgen-path.patch b/pkgs/development/libraries/glibc/rpcgen-path.patch
deleted file mode 100644
index 3349449d91634..0000000000000
--- a/pkgs/development/libraries/glibc/rpcgen-path.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
---- glibc-2.18-orig/sunrpc/rpc_main.c	2013-08-11 00:52:55.000000000 +0200
-+++ glibc-2.18/sunrpc/rpc_main.c	2013-11-15 12:04:48.041006977 +0100
-@@ -78,7 +78,7 @@
- 
- static const char *svcclosetime = "120";
- static int cppDefined;	/* explicit path for C preprocessor */
--static const char *CPP = "/lib/cpp";
-+static const char *CPP = "cpp";
- static const char CPPFLAGS[] = "-C";
- static char *pathbuf;
- static int cpp_pid;
-@@ -107,7 +107,6 @@
- static void open_output (const char *infile, const char *outfile);
- static void add_warning (void);
- static void clear_args (void);
--static void find_cpp (void);
- static void open_input (const char *infile, const char *define);
- static int check_nettype (const char *name, const char *list_to_check[]);
- static void c_output (const char *infile, const char *define,
-@@ -322,25 +321,6 @@
-   argcount = FIXEDARGS;
- }
- 
--/* make sure that a CPP exists */
--static void
--find_cpp (void)
--{
--  struct stat64 buf;
--
--  if (stat64 (CPP, &buf) == 0)
--    return;
--
--  if (cppDefined) /* user specified cpp but it does not exist */
--    {
--      fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
--      crash ();
--    }
--
--  /* fall back to system CPP */
--  CPP = "cpp";
--}
--
- /*
-  * Open input file with given define for C-preprocessor
-  */
-@@ -359,7 +339,6 @@
-   switch (cpp_pid)
-     {
-     case 0:
--      find_cpp ();
-       putarg (0, CPP);
-       putarg (1, CPPFLAGS);
-       addarg (define);
diff --git a/pkgs/development/libraries/gr-framework/default.nix b/pkgs/development/libraries/gr-framework/default.nix
index 42994adc73751..2157a18f58d15 100644
--- a/pkgs/development/libraries/gr-framework/default.nix
+++ b/pkgs/development/libraries/gr-framework/default.nix
@@ -3,8 +3,10 @@
 , fetchFromGitHub
 , nix-update-script
 
-, cairo
 , cmake
+, wrapQtAppsHook
+
+, cairo
 , ffmpeg
 , freetype
 , ghostscript
@@ -13,20 +15,19 @@
 , libtiff
 , qhull
 , qtbase
-, wrapQtAppsHook
 , xorg
 , zeromq
 }:
 
 stdenv.mkDerivation rec {
   pname = "gr-framework";
-  version = "0.72.10";
+  version = "0.72.11";
 
   src = fetchFromGitHub {
     owner = "sciapp";
     repo = "gr";
     rev = "v${version}";
-    hash = "sha256-ZFaun8PBtPTmhZ0+OHzUu27NvcJGxsImh+c7ZvCTNa0=";
+    hash = "sha256-HspDRqO/JKpPeHOfctYAOwwR3y1u+GW3v0OnN7OfLT4=";
   };
 
   patches = [
@@ -60,11 +61,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = nix-update-script { };
 
-  meta = {
+  meta = with lib; {
     description = "GR framework is a graphics library for visualisation applications";
     homepage = "https://gr-framework.org";
-    maintainers = [ lib.maintainers.paveloom ];
-    license = lib.licenses.mit;
-    platforms = lib.platforms.unix;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ paveloom ];
   };
 }
diff --git a/pkgs/development/libraries/highfive/default.nix b/pkgs/development/libraries/highfive/default.nix
index ef0030f1d3aba..de9dd96424991 100644
--- a/pkgs/development/libraries/highfive/default.nix
+++ b/pkgs/development/libraries/highfive/default.nix
@@ -12,13 +12,13 @@ assert mpiSupport -> mpi != null;
 
 stdenv.mkDerivation rec {
   pname = "highfive${lib.optionalString mpiSupport "-mpi"}";
-  version = "2.7.1";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "BlueBrain";
     repo = "HighFive";
     rev = "v${version}";
-    sha256 = "sha256-apKmIB34uqkqSCtTUzrUOhcRC5a2UG6KCdhp1jnXUgQ=";
+    sha256 = "sha256-INDQ0RqPMSsKXQ/QVDhpCg4qzghLA3zQUViduflLUFY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/hnswlib/default.nix b/pkgs/development/libraries/hnswlib/default.nix
index 9033d9f5ff4db..cba73d5693447 100644
--- a/pkgs/development/libraries/hnswlib/default.nix
+++ b/pkgs/development/libraries/hnswlib/default.nix
@@ -32,13 +32,13 @@ stdenv.mkDerivation (finalAttrs: {
 
   # this is a header-only library, so we don't need to build it
   # we need `cmake` only to run tests
-  nativeBuildInputs = lib.optionals finalAttrs.doCheck [
+  nativeBuildInputs = lib.optionals finalAttrs.finalPackage.doCheck [
     cmake
     python
   ];
 
   # we only want to run buildPhase when we run tests
-  dontBuild = !finalAttrs.doCheck;
+  dontBuild = !finalAttrs.finalPackage.doCheck;
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 67048167d6bfa..7dc11069e9a69 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hwloc";
-  version = "2.9.3";
+  version = "2.10.0";
 
   src = fetchurl {
     url = "https://www.open-mpi.org/software/hwloc/v${lib.versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
-    sha256 = "sha256-XEBizlVvbTRR/Bd/+4ZzohIPgd9oNd6mohqQ+9//Dew=";
+    sha256 = "sha256-AwXdYMneL75lGf4qTo/cbT243ldKDKeBK5LoDAWuE5I=";
   };
 
   configureFlags = [
@@ -22,12 +22,13 @@ stdenv.mkDerivation rec {
   ];
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config ]
+  ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
 
   buildInputs = [ expat ncurses ]
     ++ lib.optionals x11Support [ cairo libX11 ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
-    ++ lib.optional enableCuda cudaPackages.cudatoolkit;
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_cudart ];
 
   # Since `libpci' appears in `hwloc.pc', it must be propagated.
   propagatedBuildInputs = lib.optional stdenv.isLinux pciutils;
diff --git a/pkgs/development/libraries/kpeoplevcard/default.nix b/pkgs/development/libraries/kpeoplevcard/default.nix
index 2ba786800fb32..689b7c9869b69 100644
--- a/pkgs/development/libraries/kpeoplevcard/default.nix
+++ b/pkgs/development/libraries/kpeoplevcard/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "0.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
+    url = "mirror://kde/stable/kpeoplevcard/${finalAttrs.version}/kpeoplevcard-${finalAttrs.version}.tar.xz";
     sha256 = "1hv3fq5k0pps1wdvq9r1zjnr0nxf8qc3vwsnzh9jpvdy79ddzrcd";
   };
 
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 8c6eeb3f3fb1b..47bdd0ffb4809 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.10";
+  version = "1.12.11";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-0AHChU96LOVCsd+b77nKV4lOt1FtbVfv+OSNvGjekYo=";
+    sha256 = "sha256-XB5qIXPe1Tu+cfxuL+HAfR9QQNiUY/noO51CVEz9hsU=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 3b4aed7a82151..76fbf815525e9 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.4.0";
+  version = "1.4.2";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-LXrlTca50ALo+Nm55fwXNb4k3haLqHNnzLPc08VhA5s=";
+    hash = "sha256-SsQbCnNtgiRWMZerEjSSw+CU5m6bGRv8ILY/TITGtL4=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix
index e9e5c19f777cb..5bc6ad6c5f2eb 100644
--- a/pkgs/development/libraries/libaec/default.nix
+++ b/pkgs/development/libraries/libaec/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libaec";
-  version  = "1.1.1";
+  version  = "1.1.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.dkrz.de";
     owner = "k202009";
     repo = "libaec";
     rev = "v${version}";
-    sha256 = "sha256-5nsJrbJVqjXNb3exYgEvSGUq8ccy9HG+gwmBZvjnupc=";
+    sha256 = "sha256-mmiPpfUZE7W6Hzalr/tcJUFQe5kF4dYM1uZShjBsoVA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libayatana-common/default.nix b/pkgs/development/libraries/libayatana-common/default.nix
index 98cf028a55e1a..4206c46f1f53c 100644
--- a/pkgs/development/libraries/libayatana-common/default.nix
+++ b/pkgs/development/libraries/libayatana-common/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
     "-DENABLE_LOMIRI_FEATURES=OFF"
     "-DGSETTINGS_LOCALINSTALL=ON"
     "-DGSETTINGS_COMPILE=ON"
diff --git a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
deleted file mode 100644
index d3dec2936c50a..0000000000000
--- a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 5007bbd..f46de1a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -253,7 +253,7 @@ AS_IF([test "x${JDK_HOME}" != "x"], [
- ])
- 
- AS_IF([test "x$use_bdjava_jar" = "xyes"], [
--
-+    CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
-     dnl check for ant
-     AC_CHECK_PROG(HAVE_ANT, [ant], yes, no)
-     AS_IF([test "x$HAVE_ANT" = "xno"], [
-diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c
-index 1cb1bfe..f3711c2 100644
---- a/src/libbluray/bdj/bdj.c
-+++ b/src/libbluray/bdj/bdj.c
-@@ -533,6 +533,9 @@ static char *_find_libbluray_jar0()
- #  ifdef __FreeBSD__
-         "/usr/local/share/java/" BDJ_JARFILE,
- #  else
-+#    ifdef JARDIR
-+        JARDIR "/" BDJ_JARFILE,
-+#    endif
-         "/usr/share/java/" BDJ_JARFILE,
-         "/usr/share/libbluray/lib/" BDJ_JARFILE,
- #  endif
diff --git a/pkgs/development/libraries/libcbor/default.nix b/pkgs/development/libraries/libcbor/default.nix
index efb17eeaf3158..514ee36d02df2 100644
--- a/pkgs/development/libraries/libcbor/default.nix
+++ b/pkgs/development/libraries/libcbor/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
     cmocka # cmake expects cmocka module
   ];
 
-  cmakeFlags = lib.optional finalAttrs.doCheck "-DWITH_TESTS=ON"
+  cmakeFlags = lib.optional finalAttrs.finalPackage.doCheck "-DWITH_TESTS=ON"
     ++ lib.optional (!stdenv.hostPlatform.isStatic) "-DBUILD_SHARED_LIBS=ON";
 
   # Tests are restricted while pkgsStatic.cmocka is broken. Tracked at:
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index cdae594d9b682..ec7f1ba26ab1e 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -1,27 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, bison, flex }:
+{ lib, stdenv, fetchFromGitHub, cmake, bison, flex }:
 
 stdenv.mkDerivation rec {
   pname = "libcue";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "lipnitsk";
     repo = "libcue";
     rev = "v${version}";
-    sha256 = "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm";
+    hash = "sha256-ZMUUa8CmpFNparPsM/P2yvRto9E85EdTxpID5sKQbNI=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2023-43641.patch";
-      url = "https://github.com/lipnitsk/libcue/commit/fdf72c8bded8d24cfa0608b8e97f2eed210a920e.patch";
-      hash = "sha256-NjnSMUfman/SwLFWDIhtz2jCOLfpXGGGjO3QwRGURNg=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake bison flex ];
 
-  doCheck = false; # fails all the tests (ctest)
+  doCheck = true;
 
   meta = with lib; {
     description = "CUE Sheet Parser Library";
diff --git a/pkgs/development/libraries/libdatovka/default.nix b/pkgs/development/libraries/libdatovka/default.nix
index 89ce56fe6bb8e..c4c840dc34cc6 100644
--- a/pkgs/development/libraries/libdatovka/default.nix
+++ b/pkgs/development/libraries/libdatovka/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdatovka";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://gitlab.nic.cz/datovka/libdatovka/-/archive/v${version}/libdatovka-v${version}.tar.gz";
-    sha256 = "sha256-EqCS77MpjfR0Td07WKB7jWRBxAoKRtbAgyyThFOJXL8=";
+    sha256 = "sha256-cZG86chuh/2bW7kADbnhPhhMwe+Nm63uYy3LIjNrRqo=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libdeltachat/Cargo.lock b/pkgs/development/libraries/libdeltachat/Cargo.lock
index 966dcb72535e1..551b2d30e951f 100644
--- a/pkgs/development/libraries/libdeltachat/Cargo.lock
+++ b/pkgs/development/libraries/libdeltachat/Cargo.lock
@@ -198,12 +198,12 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "event-listener-strategy",
  "futures-core",
  "pin-project-lite",
@@ -228,7 +228,7 @@ version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d736a74edf6c327b53dd9c932eae834253470ac5f0c55770e7e133bcbf986362"
 dependencies = [
- "async-channel 2.1.0",
+ "async-channel 2.1.1",
  "base64 0.21.5",
  "bytes",
  "chrono",
@@ -707,18 +707,18 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.8"
+version = "4.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.8"
+version = "4.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
 dependencies = [
  "anstyle",
  "clap_lex",
@@ -808,9 +808,9 @@ checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8"
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -818,9 +818,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
@@ -1064,9 +1064,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "default-net"
@@ -1087,11 +1087,11 @@ dependencies = [
 
 [[package]]
 name = "deltachat"
-version = "1.131.7"
+version = "1.131.9"
 dependencies = [
  "ansi_term",
  "anyhow",
- "async-channel 2.1.0",
+ "async-channel 2.1.1",
  "async-imap",
  "async-native-tls",
  "async-smtp",
@@ -1165,10 +1165,10 @@ dependencies = [
 
 [[package]]
 name = "deltachat-jsonrpc"
-version = "1.131.7"
+version = "1.131.9"
 dependencies = [
  "anyhow",
- "async-channel 2.1.0",
+ "async-channel 2.1.1",
  "axum",
  "base64 0.21.5",
  "deltachat",
@@ -1189,7 +1189,7 @@ dependencies = [
 
 [[package]]
 name = "deltachat-repl"
-version = "1.131.7"
+version = "1.131.9"
 dependencies = [
  "ansi_term",
  "anyhow",
@@ -1204,7 +1204,7 @@ dependencies = [
 
 [[package]]
 name = "deltachat-rpc-server"
-version = "1.131.7"
+version = "1.131.9"
 dependencies = [
  "anyhow",
  "deltachat",
@@ -1229,7 +1229,7 @@ dependencies = [
 
 [[package]]
 name = "deltachat_ffi"
-version = "1.131.7"
+version = "1.131.9"
 dependencies = [
  "anyhow",
  "deltachat",
@@ -1799,9 +1799,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.1.0"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1810,11 +1810,11 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 3.1.0",
+ "event-listener 4.0.0",
  "pin-project-lite",
 ]
 
@@ -2123,9 +2123,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "group"
@@ -2176,9 +2176,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash",
  "allocator-api2",
@@ -2461,8 +2461,7 @@ dependencies = [
 [[package]]
 name = "imap-proto"
 version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "305c25c6e69416059e3396c4a062b84dc7b0a782cd4c84d82bab268eb0421ec7"
+source = "git+https://github.com/djc/tokio-imap.git?rev=01ff256a7e42a9f7d2732706f8b71a16ce93427e#01ff256a7e42a9f7d2732706f8b71a16ce93427e"
 dependencies = [
  "nom",
 ]
@@ -2506,8 +2505,8 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "iroh"
-version = "0.4.1"
-source = "git+https://github.com/deltachat/iroh?branch=0.4-update-quic#36ca9ca017a101c00dfdf74a917b92bdc505ddbd"
+version = "0.4.2"
+source = "git+https://github.com/n0-computer/iroh?branch=maint-0.4#9881b7886235035a1124e4371f7a4cd59379e51b"
 dependencies = [
  "abao",
  "anyhow",
@@ -3068,9 +3067,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openssl"
-version = "0.10.59"
+version = "0.10.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
 dependencies = [
  "bitflags 2.4.1",
  "cfg-if",
@@ -3109,9 +3108,9 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.95"
+version = "0.9.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
 dependencies = [
  "cc",
  "libc",
@@ -3253,9 +3252,9 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pgp"
@@ -3297,7 +3296,7 @@ dependencies = [
  "p384 0.13.0",
  "rand 0.8.5",
  "ripemd",
- "rsa 0.9.3",
+ "rsa 0.9.5",
  "sha1",
  "sha2 0.10.8",
  "sha3",
@@ -3989,9 +3988,9 @@ dependencies = [
 
 [[package]]
 name = "rsa"
-version = "0.9.3"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474"
 dependencies = [
  "const-oid",
  "digest 0.10.7",
@@ -4289,9 +4288,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
@@ -4316,9 +4315,9 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.192"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5148,9 +5147,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "typescript-type-def"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "356e00027bd9ef773605a353070dc87684b25561a59087ea3ee3dd5fe8854e83"
+checksum = "8a548b68faefac1ef83c3682cece0046b4f3efc943a067aacb4dfb99be299f60"
 dependencies = [
  "serde_json",
  "typescript-type-def-derive",
@@ -5158,9 +5157,9 @@ dependencies = [
 
 [[package]]
 name = "typescript-type-def-derive"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4e696c28431595138cc53892104528152cbcf26653ae0aa655e4eaede5b9f69"
+checksum = "2f205a929a19c5dd74f80c9f795c33b4416f7efef7d7b2772f0eff96bdd71c35"
 dependencies = [
  "darling 0.13.4",
  "ident_case",
@@ -5323,9 +5322,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -5333,9 +5332,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
@@ -5360,9 +5359,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -5370,9 +5369,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5383,9 +5382,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "web-sys"
@@ -5679,18 +5678,18 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.26"
+version = "0.7.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+checksum = "f43de342578a3a14a9314a2dab1942cbfcbe5686e1f91acdc513058063eafe18"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.26"
+version = "0.7.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+checksum = "e1012d89e3acb79fad7a799ce96866cfb8098b74638465ea1b1533d35900ca90"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 11e34045c36f1..0d7b96562104a 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -25,19 +25,20 @@ let
     outputHashes = {
       "email-0.0.21" = "sha256-u4CsK/JqFgq5z3iJGxxGtb7QbSkOAqmOvrmagsqfXIU=";
       "encoded-words-0.2.0" = "sha256-KK9st0hLFh4dsrnLd6D8lC6pRFFs8W+WpZSGMGJcosk=";
-      "iroh-0.4.1" = "sha256-oLvka1nV2yQPzlcaq5CXqXRRu7GkbMocV6GoIlxQKlo=";
+      "imap-proto-0.16.3" = "sha256-okIHA8MQ1K/tcKHZYGh83zom1ULGHZ/KGxgcwiE1+sE=";
+      "iroh-0.4.2" = "sha256-VXNMmj+AvlY/W2JRWMICoNOqpFEahsUDxypHRg185Ao=";
       "lettre-0.9.2" = "sha256-+hU1cFacyyeC9UGVBpS14BWlJjHy90i/3ynMkKAzclk=";
     };
   };
 in stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.131.7";
+  version = "1.131.9";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = "v${version}";
-    hash = "sha256-QzNZBBQ0fFqQByaNRNebtnoljC4rQqVTxbNz2M3LDAc=";
+    hash = "sha256-xZai5RsrfT6bYzMpNdKncmDzBzcAcEtZZmh7f+3g5Hs=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libfive/default.nix b/pkgs/development/libraries/libfive/default.nix
index f5fbf21f94fd7..95fcf7131103e 100644
--- a/pkgs/development/libraries/libfive/default.nix
+++ b/pkgs/development/libraries/libfive/default.nix
@@ -61,6 +61,10 @@ stdenv.mkDerivation {
     "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.15"
   ];
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=enum-constexpr-conversion";
+  };
+
   postInstall = lib.optionalString stdenv.isDarwin ''
     # No rules to install the mac app, so do it manually.
     mkdir -p $out/Applications
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index 5096221184866..208bd35c6a12b 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgbinder";
-  version = "1.1.34";
+  version = "1.1.35";
 
   src = fetchFromGitHub {
     owner = "mer-hybris";
     repo = pname;
     rev = version;
-    sha256 = "sha256-e4J7K1AZyw3AvBNMj69VGKo7gtJ6Nr2ELjqgoqPlObU=";
+    sha256 = "sha256-GinEbclpIXMwry2J7Ny20S8G99mPgNLse2rs/IpfWoU=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libglibutil/default.nix b/pkgs/development/libraries/libglibutil/default.nix
index 70fc7d2dbeeff..26d54d26d66a4 100644
--- a/pkgs/development/libraries/libglibutil/default.nix
+++ b/pkgs/development/libraries/libglibutil/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libglibutil";
-  version = "1.0.74";
+  version = "1.0.75";
 
   src = fetchFromGitHub {
     owner = "sailfishos";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+nIB516XUPjfI3fHru48sU/5PYL/w14/sMK/B8FLflI=";
+    sha256 = "sha256-YHK5gRXBIhZJTY7F8b7QIUnftCIgOHwXVM3D35M3DC4=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 86cf8dfb9e888..94acb13205b50 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmediainfo";
-  version = "23.10";
+  version = "23.11";
 
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    hash = "sha256-duvlAuDzELVZ1d2Qcn2ar9X6uq7KNELzjmKd/AfaDSI=";
+    hash = "sha256-GX5U/MeePA1d9EqPWNxOAYvC+F0T+jvtVK89xW1ehT0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
index 481f12e17526f..fe11b59f45239 100644
--- a/pkgs/development/libraries/libmpc/default.nix
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
          built upon and follows the same principles as GNU MPFR.
       '';
 
-    homepage = "http://mpc.multiprecision.org/";
+    homepage = "https://www.multiprecision.org/mpc/";
     license = lib.licenses.lgpl2Plus;
 
     platforms = lib.platforms.all;
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 8c4e32b232c95..9707435dcd29d 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.1.0";
+  version = "8.2.0";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    hash = "sha256-LuPH0NAxzlgd7u10fZVh0UAXI3NZK+1dBjCnkOYFPcE=";
+    hash = "sha256-lCRmgiXFpz97eAXNNtddhQLJqOIMoRyVJlMVXvbpCdo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index 31104b262af98..ff90c9b116ad6 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , bash-completion
 , pkg-config
 , perl
@@ -12,13 +13,21 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    hash = "sha256-srJyd32eCIthoncvM9JQEKCWEOZxxc3YntaV4Ay8kZ8=";
+    hash = "sha256-UNHRphDw1ycRnp0KClzHlSuLIxs5Mc4gcjB+EF/smbY=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2023-5871.patch";
+      url = "https://gitlab.com/nbdkit/libnbd/-/commit/4451e5b61ca07771ceef3e012223779e7a0c7701.patch";
+      hash = "sha256-zmg/kxSJtjp2w9917Sp33ezt7Ccj/inngzCUVesF1Tc=";
+    })
+  ];
+
   nativeBuildInputs = [
     bash-completion
     pkg-config
diff --git a/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch b/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
index c391f77dda8b7..c391f77dda8b7 100644
--- a/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch
+++ b/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/development/libraries/libopenshot-audio/default.nix
index 5526c8b417350..e546dc7a57862 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
+++ b/pkgs/development/libraries/libopenshot-audio/default.nix
@@ -19,20 +19,20 @@
 , Foundation
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libopenshot-audio";
   version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot-audio";
-    rev = "v${version}";
-    sha256 = "sha256-PLpB9sy9xehipN5S9okCHm1mPm5MaZMVaFqCBvFUiTw=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-PLpB9sy9xehipN5S9okCHm1mPm5MaZMVaFqCBvFUiTw=";
   };
 
   patches = [
     # https://forum.juce.com/t/juce-and-macos-11-arm/40285/24
-    ./undef-fpret-on-aarch64-darwin.patch
+    ./0001-undef-fpret-on-aarch64-darwin.patch
   ];
 
   nativeBuildInputs = [
@@ -58,9 +58,11 @@ stdenv.mkDerivation rec {
     libXrandr
   ]);
 
-  doCheck = false;
+  strictDeps = true;
 
-  meta = with lib; {
+  doCheck = true;
+
+  meta = {
     homepage = "http://openshot.org/";
     description = "High-quality sound editing library";
     longDescription = ''
@@ -68,8 +70,8 @@ stdenv.mkDerivation rec {
       high-quality editing and playback of audio, and is based on the amazing
       JUCE library.
     '';
-    license = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff b/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
new file mode 100644
index 0000000000000..e5055d3f30895
--- /dev/null
+++ b/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
@@ -0,0 +1,12 @@
+diff -Naur source/src/CMakeLists.txt source-new/src/CMakeLists.txt
+--- source/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
++++ source-new/src/CMakeLists.txt	2023-11-30 09:39:45.442332463 -0300
+@@ -231,7 +231,7 @@
+     target_compile_definitions(openshot PUBLIC USE_IMAGEMAGICK=1)
+ 
+     # Link with ImageMagick library
+-    target_link_libraries(openshot PUBLIC ImageMagick::Magick++)
++    target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)
+ 
+     set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
+     mark_as_advanced(HAVE_IMAGEMAGICK)
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/development/libraries/libopenshot/default.nix
index 38366782f3bef..4622dabb2983a 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/development/libraries/libopenshot/default.nix
@@ -18,28 +18,23 @@
 , zeromq
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libopenshot";
   version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot";
-    rev = "v${version}";
-    sha256 = "sha256-axFGNq+Kg8atlaSlG8EKvxj/FwLfpDR8/e4otmnyosM=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-axFGNq+Kg8atlaSlG8EKvxj/FwLfpDR8/e4otmnyosM=";
   };
 
-  postPatch = ''
-    sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt
-  '' + lib.optionalString stdenv.isDarwin ''
-    # Darwin requires both Magick++ and MagickCore or it will fail to link.
-    substituteInPlace src/CMakeLists.txt \
-      --replace 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++)' 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)'
-  '';
+  patches = lib.optionals stdenv.isDarwin [
+    # Darwin requires both Magick++ and MagickCore for a successful linkage
+    ./0001-link-magickcore.diff
+  ];
 
-  nativeBuildInputs = lib.optionals stdenv.isLinux [
-    alsa-lib
-  ] ++ [
+  nativeBuildInputs = [
     cmake
     doxygen
     pkg-config
@@ -56,20 +51,28 @@ stdenv.mkDerivation rec {
     qtbase
     qtmultimedia
     zeromq
+  ] ++ lib.optionals stdenv.isLinux [
+    alsa-lib
   ] ++ lib.optionals stdenv.isDarwin [
     llvmPackages.openmp
   ];
 
+  strictDeps = true;
+
   dontWrapQtApps = true;
 
-  doCheck = false;
+  doCheck = true;
 
   cmakeFlags = [
-    "-DENABLE_RUBY=OFF"
-    "-DPYTHON_MODULE_PATH=${python3.sitePackages}"
+    (lib.cmakeBool "ENABLE_RUBY" false)
+    (lib.cmakeOptionType "filepath" "PYTHON_MODULE_PATH" python3.sitePackages)
   ];
 
-  meta = with lib; {
+  passthru = {
+    inherit libopenshot-audio;
+  };
+
+  meta = {
     homepage = "http://openshot.org/";
     description = "Free, open-source video editor library";
     longDescription = ''
@@ -77,12 +80,8 @@ stdenv.mkDerivation rec {
       delivering high quality video editing, animation, and playback solutions
       to the world. API currently supports C++, Python, and Ruby.
     '';
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
-  };
-
-  passthru = {
-    inherit libopenshot-audio;
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 801b748695097..3fe89f891f8cb 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libosinfo";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-olLgD8WA3rIdoNqMCqA7jDHoRAuESMi5gUP6tHfTIwU=";
+    sha256 = "sha256-G/lu7J4UYPPRpxMWPMof8NSAo0kLUImSkvFFSLOpa2A=";
   };
 
   outputs = [ "out" "dev" ]
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index 2350217693101..acb0013035cbf 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "7.7.0";
+  version = "7.7.5";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "sha256-O30czHwEDXz5xY4o3MWhmEK06OKTKMQCy0M6qwSEpy8=";
+    sha256 = "sha256-mvGPMbk4b8NmPvzy5hS+Au69NtDGha8ONTEQf6I3VZE=";
   };
 
   nativeBuildInputs = [ python3 ];
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [ "--enable-shared --disable-documentation" ];
+  CXXFLAGS = [ "-std=c++17" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/pkgs/development/libraries/libqtdbusmock/default.nix b/pkgs/development/libraries/libqtdbusmock/default.nix
index 491b8583fc93d..d9993947b5536 100644
--- a/pkgs/development/libraries/libqtdbusmock/default.nix
+++ b/pkgs/development/libraries/libqtdbusmock/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     # Workaround for "error: expected unqualified-id before 'public'" on "**signals"
     sed -i -e '/add_definitions/a -DQT_NO_KEYWORDS' CMakeLists.txt
-  '' + lib.optionalString (!finalAttrs.doCheck) ''
+  '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
     # Don't build tests when we're not running them
     sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
   '';
diff --git a/pkgs/development/libraries/libqtdbustest/default.nix b/pkgs/development/libraries/libqtdbustest/default.nix
index 8ef8975a01afb..fe6a3e0417982 100644
--- a/pkgs/development/libraries/libqtdbustest/default.nix
+++ b/pkgs/development/libraries/libqtdbustest/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   strictDeps = true;
 
-  postPatch =  lib.optionalString (!finalAttrs.doCheck) ''
+  postPatch =  lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
     # Don't build tests when we're not running them
     sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
   '';
diff --git a/pkgs/development/libraries/libressl/fix-build-with-glibc.patch b/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
deleted file mode 100644
index db482bcb35da3..0000000000000
--- a/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/tests/explicit_bzero.c b/tests/explicit_bzero.c
-index 34c60baa8a..9c0e917829 100644
---- a/tests/explicit_bzero.c
-+++ b/tests/explicit_bzero.c
-@@ -1,4 +1,4 @@
--/*	$OpenBSD: explicit_bzero.c,v 1.6 2014/07/11 01:10:35 matthew Exp $	*/
-+/*	$OpenBSD: explicit_bzero.c,v 1.7 2021/03/27 11:17:58 bcook Exp $	*/
- /*
-  * Copyright (c) 2014 Google Inc.
-  *
-@@ -18,6 +18,7 @@
- #include <assert.h>
- #include <errno.h>
- #include <signal.h>
-+#include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- 
-@@ -36,19 +37,33 @@ enum {
- 	SECRETBYTES = SECRETCOUNT * sizeof(secret)
- };
- 
--static char altstack[SIGSTKSZ + SECRETBYTES];
-+/*
-+ * As of glibc 2.34, when _GNU_SOURCE is defined, SIGSTKSZ is no longer
-+ * constant on Linux. SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).
-+ */
-+static char *altstack;
-+#define ALTSTACK_SIZE (SIGSTKSZ + SECRETBYTES)
- 
- static void
- setup_stack(void)
- {
-+	altstack = calloc(1, ALTSTACK_SIZE);
-+	ASSERT_NE(NULL, altstack);
-+
- 	const stack_t sigstk = {
- 		.ss_sp = altstack,
--		.ss_size = sizeof(altstack),
-+		.ss_size = ALTSTACK_SIZE
- 	};
- 
- 	ASSERT_EQ(0, sigaltstack(&sigstk, NULL));
- }
- 
-+static void
-+cleanup_stack(void)
-+{
-+	free(altstack);
-+}
-+
- static void
- assert_on_stack(void)
- {
-@@ -129,7 +144,7 @@ test_without_bzero()
- 	char buf[SECRETBYTES];
- 	assert_on_stack();
- 	populate_secret(buf, sizeof(buf));
--	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
-+	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
- 	ASSERT_NE(NULL, res);
- 	return (res);
- }
-@@ -140,7 +155,7 @@ test_with_bzero()
- 	char buf[SECRETBYTES];
- 	assert_on_stack();
- 	populate_secret(buf, sizeof(buf));
--	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
-+	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
- 	ASSERT_NE(NULL, res);
- 	explicit_bzero(buf, sizeof(buf));
- 	return (res);
-@@ -183,15 +198,17 @@ main()
- 	 * on the stack.  This sanity checks that call_on_stack() and
- 	 * populate_secret() work as intended.
- 	 */
--	memset(altstack, 0, sizeof(altstack));
-+	memset(altstack, 0, ALTSTACK_SIZE);
- 	call_on_stack(do_test_without_bzero);
- 
- 	/*
- 	 * Now test with a call to explicit_bzero() and check that we
- 	 * *don't* find any instances of the secret data.
- 	 */
--	memset(altstack, 0, sizeof(altstack));
-+	memset(altstack, 0, ALTSTACK_SIZE);
- 	call_on_stack(do_test_with_bzero);
- 
-+	cleanup_stack();
-+
- 	return (0);
- }
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 4b40eacaa0312..8f06936b59590 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -16,14 +16,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.26";
+  version = "0.7.27";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "libsolv";
     rev = version;
-    sha256 = "sha256-NGybpl/Fd46pmSYMNGocStQQCXr5pX34PCmN/hFKeyk=";
+    sha256 = "sha256-kVExzCHfPU/o+C5TTAv1J9H7GmYwVWCsIpVkkts42js=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix
index 16c98abf44173..e1f93c8224714 100644
--- a/pkgs/development/libraries/libspatialindex/default.nix
+++ b/pkgs/development/libraries/libspatialindex/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
-    "-DSIDX_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DSIDX_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libunicode/default.nix b/pkgs/development/libraries/libunicode/default.nix
new file mode 100644
index 0000000000000..4241f5bc7676b
--- /dev/null
+++ b/pkgs/development/libraries/libunicode/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, fetchzip, cmake, catch2, fmt, python3 }:
+
+let
+  ucd-version = "15.0.0";
+
+  ucd-src = fetchzip {
+    url = "https://www.unicode.org/Public/${ucd-version}/ucd/UCD.zip";
+    hash = "sha256-jj6bX46VcnH7vpc9GwM9gArG+hSPbOGL6E4SaVd0s60=";
+    stripRoot = false;
+  };
+in stdenv.mkDerivation (final: {
+  pname = "libunicode";
+  version = "0.3.0-unstable-2023-03-05";
+
+  src = fetchFromGitHub {
+    owner = "contour-terminal";
+    repo = "libunicode";
+    rev = "65e0c6ddf9648b94aa9bc7dda0718401efa9ef8e";
+    hash = "sha256-F4CVU5MImkM571mD4iFxqTnNbk2GXKTGksqO4LH2uEk=";
+  };
+
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ catch2 fmt ];
+
+  cmakeFlags = [ "-DLIBUNICODE_UCD_DIR=${ucd-src}" ];
+
+  meta = with lib; {
+    description = "Modern C++17 Unicode library";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ moni ];
+  };
+})
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index d8b7cbdab5219..1255b0bc21f24 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: {
       "shutdown_close_pipe"
     ];
     tdRegexp = lib.concatStringsSep "\\|" toDisable;
-    in lib.optionalString (finalAttrs.doCheck) ''
+    in lib.optionalString (finalAttrs.finalPackage.doCheck) ''
       sed '/${tdRegexp}/d' -i test/test-list.h
     '';
 
diff --git a/pkgs/development/libraries/libva/utils.nix b/pkgs/development/libraries/libva/utils.nix
index eb2a6598cf6f5..777119378d34f 100644
--- a/pkgs/development/libraries/libva/utils.nix
+++ b/pkgs/development/libraries/libva/utils.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libva-utils";
-  version = "2.20.0";
+  version = "2.20.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva-utils";
     rev    = version;
-    sha256 = "sha256-oW4vIGgSs5lzmuloCFJPXTmsfH9Djz2KTlsjrOkaT5I=";
+    sha256 = "sha256-ZX6ahKnOB5ZEg36iIWskq3q26GVg/trsCAKKttEKZ1s=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/development/libraries/libwnck/fix-pc-file.patch b/pkgs/development/libraries/libwnck/fix-pc-file.patch
deleted file mode 100644
index 42017a993b518..0000000000000
--- a/pkgs/development/libraries/libwnck/fix-pc-file.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 28799d8..047e523 100644
---- a/meson.build
-+++ b/meson.build
-@@ -72,11 +72,15 @@
- pc_conf = configuration_data()
- pc_conf.set('prefix', get_option('prefix'))
- pc_conf.set('exec_prefix', '${prefix}')
--pc_conf.set('libdir', '${exec_prefix}/' + get_option('libdir'))
--pc_conf.set('includedir', '${prefix}/' + get_option('includedir'))
--pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
-+pc_conf.set('libdir', '${exec_prefix}' / get_option('libdir'))
-+pc_conf.set('includedir', '${prefix}' / get_option('includedir'))
-+if conf.has('HAVE_' + STARTUP_NOTIFICATION_PACKAGE.to_upper().underscorify())
-+  pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
-+endif
- pc_conf.set('X11_PACKAGE', X11_PACKAGE)
--pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
-+if conf.has('HAVE_' + XRES_PACKAGE.to_upper().underscorify())
-+  pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
-+endif
- pc_conf.set('VERSION', meson.project_version())
- 
- foreach pc: [PACKAGE_NAME, PACKAGE_NAME + '-uninstalled']
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 2a1f0941f4dba..391874e531d73 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -13,11 +13,12 @@
 , shared-mime-info
 , nixosTests
 , xz
+, zstd
 }:
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.3.10";
+  version = "0.3.14";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "sha256-uitnVqR2VVNAf8H1Q/u6LezhvfQJ/G2bE0Dv9dyP8+A=";
+    hash = "sha256-lpVXl/n/ecDLbbLQg9T+o4GdGZM7pNXGYTyVogNCl2E=";
   };
 
   patches = [
@@ -47,6 +48,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     xz
+    zstd
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
index 0e74d131b2e8a..e9bd27e1fff14 100644
--- a/pkgs/development/libraries/libxmlb/installed-tests-path.patch
+++ b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
@@ -1,9 +1,6 @@
-diff --git a/meson.build b/meson.build
-index c98e1a7..025d9c8 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -110,8 +110,8 @@ else
-   prefix = get_option('prefix')
+@@ -111,7 +111,7 @@ else
    datadir = join_paths(prefix, get_option('datadir'))
    libexecdir = join_paths(prefix, get_option('libexecdir'))
 -  installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
@@ -13,12 +10,11 @@ index c98e1a7..025d9c8 100644
  endif
  
  gio = dependency('gio-2.0', version : '>= 2.45.8')
-diff --git a/meson_options.txt b/meson_options.txt
-index 54ab698..8a7122a 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -3,3 +3,4 @@ option('introspection', type : 'boolean', value : true, description : 'generate
+@@ -3,4 +3,5 @@ option('introspection', type : 'boolean', value : true, description : 'generate
  option('tests', type : 'boolean', value : true, description : 'enable tests')
  option('stemmer', type : 'boolean', value : false, description : 'enable stemmer support')
  option('cli', type : 'boolean', value : true, description : 'build and install the xb-tool CLI')
+ option('zstd', type : 'boolean', value : true, description : 'enable zstd support')
 +option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
diff --git a/pkgs/development/libraries/libzim/default.nix b/pkgs/development/libraries/libzim/default.nix
index f9bcdeb933b08..855fc48a2aef4 100644
--- a/pkgs/development/libraries/libzim/default.nix
+++ b/pkgs/development/libraries/libzim/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libzim";
-  version = "8.2.1";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bhztigbiIGdVxBV5cpuHuuRGBN5UgC39w51uwLEq47w=";
+    hash = "sha256-K1S2MiugUeqCfPq0Oclmghb9064xrsKgUEVjFCJHt0U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/loudmouth/glib-2.32.patch b/pkgs/development/libraries/loudmouth/glib-2.32.patch
deleted file mode 100644
index 87fc170c80dad..0000000000000
--- a/pkgs/development/libraries/loudmouth/glib-2.32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: loudmouth-1.4.3/loudmouth/lm-error.c
-===================================================================
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c
-+++ loudmouth-1.4.3/loudmouth/lm-error.c
-@@ -19,7 +19,7 @@
-  */
- 
- #include <config.h>
--#include <glib/gerror.h>
-+#include <glib.h>
- #include "lm-error.h"
- 
- /**
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index dac12db94b621..bcff20f1847cd 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation (finalAttrs: {
 
   outputs = [ "out" "dev" ];
 
+  mesonFlags = lib.optionals stdenv.isDarwin [
+    "-Dgl_provider=gl" # glvnd is default
+  ];
+
   enableParallelBuilding = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 173cc2016e5db..b4b70fcab4f55 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -133,6 +133,29 @@ self = stdenv.mkDerivation {
 
     ./opencl.patch
     ./disk_cache-include-dri-driver-path-in-cache-key.patch
+  ] ++ lib.optionals stdenv.isDarwin [
+    # https://gitlab.freedesktop.org/mesa/mesa/-/issues/8634
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/44734d1fe98ef47019fe2c56d867d1645c526e4e.diff";
+      hash = "sha256-ipaISEY5xcnGvrwFxNY80JVlYWddfiHofkYEBuPkyDY=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/d2a46afbfc44121aa491a2b4d1a3249d26fc6a11.diff";
+      hash = "sha256-i00s9oUhZXXf/A4cHwWN6uRDP70cHjz+kgVpiDM/eMw=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/17cde1ee87cc0cbb896ca81949b8f192d5496271.diff";
+      hash = "sha256-ao2pWQwMBskOjWJsjWqwFYAeqpTWAyJbEtSryDO+xyo=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/robclark/mesa/-/commit/4489d737d5c12eb0a3441ed0b303f9f1100a7166.diff";
+      hash = "sha256-WxqwEngd79NHLedQOWMjjroaN0gr6Upd96uteSvr4Yw=";
+    })
+    # fixes a linking error
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/c8b64452c076c1768beb23280de25faf2bcbe2c8.diff";
+      hash = "sha256-mqivdzyoLtkfkAb+r57gjPwg8d7whgFAahiUhGVOOvo=";
+    })
   ];
 
   postPatch = ''
@@ -202,6 +225,15 @@ self = stdenv.mkDerivation {
     # Enable RT for Intel hardware
     # https://gitlab.freedesktop.org/mesa/mesa/-/issues/9080
     (lib.mesonEnable "intel-clc" (stdenv.buildPlatform == stdenv.hostPlatform))
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Disable features that are explicitly unsupported on the platform
+    "-Dgbm=disabled"
+    "-Dxlib-lease=disabled"
+    "-Degl=disabled"
+    "-Dgallium-vdpau=disabled"
+    "-Dgallium-va=disabled"
+    "-Dgallium-xa=disabled"
+    "-Dlmsensors=disabled"
   ] ++ lib.optionals enableOpenCL [
     # Clover, old OpenCL frontend
     "-Dgallium-opencl=icd"
@@ -379,9 +411,6 @@ self = stdenv.mkDerivation {
     license = licenses.mit; # X11 variant, in most files
     platforms = platforms.mesaPlatforms;
     maintainers = with maintainers; [ primeos vcunat ]; # Help is welcome :)
-
-    # https://gitlab.freedesktop.org/mesa/mesa/-/issues/8634
-    broken = stdenv.isDarwin;
   };
 };
 
diff --git a/pkgs/development/libraries/minizip-ng/default.nix b/pkgs/development/libraries/minizip-ng/default.nix
index bfb7cd26fbb26..5be1f2e519253 100644
--- a/pkgs/development/libraries/minizip-ng/default.nix
+++ b/pkgs/development/libraries/minizip-ng/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
     "-DMZ_OPENSSL=ON"
-    "-DMZ_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
-    "-DMZ_BUILD_UNIT_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DMZ_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
+    "-DMZ_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
     "-DMZ_LIB_SUFFIX='-ng'"
   ] ++ lib.optionals stdenv.isDarwin [
     # missing header file
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index ed803772f730f..ded5a5990a608 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "7.20.0";
+  version = "7.22.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    hash = "sha256-5yELGA3U/YkINEtRyr/tb3HjWMQjqKIWjUbH7ZFMgLU=";
+    hash = "sha256-vJKpeEdQIWBQRRdDui5ibSZtD8qUlDZBD+UQE+0cQqk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mp4v2/fix-build-clang.patch b/pkgs/development/libraries/mp4v2/fix-build-clang.patch
deleted file mode 100644
index 5d99f1951f7ab..0000000000000
--- a/pkgs/development/libraries/mp4v2/fix-build-clang.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/mp4.cpp b/src/mp4.cpp
-index c2a7238..9bb3e38 100644
---- a/src/mp4.cpp
-+++ b/src/mp4.cpp
-@@ -870,7 +870,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, const MP4FileProvider* file
-         }
- 
-         catch (...) {
--            return MP4_INVALID_TRACK_ID;
-+            return NULL;
-         }
-     }
- 
diff --git a/pkgs/development/libraries/msgpack-c/default.nix b/pkgs/development/libraries/msgpack-c/default.nix
index fed8cee33231b..41d174bce7d9f 100644
--- a/pkgs/development/libraries/msgpack-c/default.nix
+++ b/pkgs/development/libraries/msgpack-c/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DMSGPACK_BUILD_EXAMPLES=OFF" # examples are not installed even if built
-  ] ++ lib.optional (!finalAttrs.doCheck) "-DMSGPACK_BUILD_TESTS=OFF";
+  ] ++ lib.optional (!finalAttrs.finalPackage.doCheck) "-DMSGPACK_BUILD_TESTS=OFF";
 
   checkInputs = [
     gtest
diff --git a/pkgs/development/libraries/msgpack-cxx/default.nix b/pkgs/development/libraries/msgpack-cxx/default.nix
index 198593df5018c..25ce9a5520d2c 100644
--- a/pkgs/development/libraries/msgpack-cxx/default.nix
+++ b/pkgs/development/libraries/msgpack-cxx/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DMSGPACK_BUILD_DOCS=OFF" # docs are not installed even if built
-  ] ++ lib.optional finalAttrs.doCheck "-DMSGPACK_BUILD_TESTS=ON";
+  ] ++ lib.optional finalAttrs.finalPackage.doCheck "-DMSGPACK_BUILD_TESTS=ON";
 
   checkInputs = [
     zlib
diff --git a/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch b/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch
deleted file mode 100644
index 02337d56f1ff1..0000000000000
--- a/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Naur old/lib/crypto/client.cpp c5pf6ygk9v9rdwwr3dyd24wghflp0vmx-source/lib/crypto/client.cpp
---- old/lib/crypto/client.cpp	2021-10-22 19:31:52.159836190 +0300
-+++ c5pf6ygk9v9rdwwr3dyd24wghflp0vmx-source/lib/crypto/client.cpp	2021-10-22 19:30:42.882010441 +0300
-@@ -37,15 +37,15 @@
- 
- };
- 
--OlmErrorCode
-+mtx::crypto::OlmErrorCode
- olm_exception::ec_from_string(std::string_view error)
- {
-         for (size_t i = 0; i < olmErrorStrings.size(); i++) {
-                 if (olmErrorStrings[i] == error)
--                        return static_cast<OlmErrorCode>(i);
-+			return static_cast<mtx::crypto::OlmErrorCode>(i);
-         }
- 
--        return OlmErrorCode::UNKNOWN_ERROR;
-+        return mtx::crypto::OlmErrorCode::UNKNOWN_ERROR;
- }
- 
- void
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index ef4e423d059aa..0ee442aedbcb9 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nco";
-  version = "5.1.8";
+  version = "5.1.9";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = finalAttrs.version;
-    hash = "sha256-ASZyvcP9XVFPf7nTsBx5E+D/7fWzUslPZrmhhNY5DzQ=";
+    hash = "sha256-D7WmJ53oK4craLx6PKAFA6Ue7wl5fRYPeEFeh78Kpdg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 9c1c8b422a98a..2d383c876cba4 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -89,14 +89,16 @@ stdenv.mkDerivation (finalAttrs: {
 
   doCheck = false;
 
-  # When building a wide-character (Unicode) build, create backward
-  # compatibility links from the the "normal" libraries to the
-  # wide-character libraries (e.g. libncurses.so to libncursesw.so).
   postFixup = let
     abiVersion-extension = if stdenv.isDarwin then "${abiVersion}.$dylibtype" else "$dylibtype.${abiVersion}"; in
   ''
     # Determine what suffixes our libraries have
     suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)"
+  ''
+  # When building a wide-character (Unicode) build, create backward
+  # compatibility links from the the "normal" libraries to the
+  # wide-character libraries (e.g. libncurses.so to libncursesw.so).
+  + lib.optionalString unicodeSupport ''
     libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")"
     suffixes="$(echo "$suffix" | awk '{for (i=1; i < length($0); i++) {x=substr($0, i+1, length($0)-i); print x}}')"
 
@@ -139,10 +141,13 @@ stdenv.mkDerivation (finalAttrs: {
         ln -svf ''${library}$suffix.pc $dev/lib/pkgconfig/$library$newsuffix.pc
       done
     done
+    ''
+    # Unconditional patches. Leading newline is to avoid mass rebuilds.
+    + ''
 
     # add pkg-config aliases for libraries that are built-in to libncurses(w)
     for library in tinfo tic; do
-      for suffix in "" w; do
+      for suffix in "" ${lib.optionalString unicodeSupport "w"}; do
         ln -svf ncurses$suffix.pc $dev/lib/pkgconfig/$library$suffix.pc
       done
     done
diff --git a/pkgs/development/libraries/ngtcp2/gnutls.nix b/pkgs/development/libraries/ngtcp2/gnutls.nix
index 851d687077cd9..f4760ea9e669a 100644
--- a/pkgs/development/libraries/ngtcp2/gnutls.nix
+++ b/pkgs/development/libraries/ngtcp2/gnutls.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ngtcp2";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = "ngtcp2";
     rev = "v${version}";
-    hash = "sha256-Z8rMujmshdes5SLU5GpXu6QzAHl957sFDK+QSdGYCOc=";
+    hash = "sha256-z6lvtfO5XL/bZgbE+Sak+32QzjEhAdOnkpIO731h+bk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 29c7ca2c690bf..2128fde93d040 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -43,10 +43,10 @@ in stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
-    "-DJSON_BuildTests=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DJSON_BuildTests=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
     "-DJSON_FastTests=ON"
     "-DJSON_MultipleHeaders=ON"
-  ] ++ lib.optional finalAttrs.doCheck "-DJSON_TestDataDirectory=${testData}";
+  ] ++ lib.optional finalAttrs.finalPackage.doCheck "-DJSON_TestDataDirectory=${testData}";
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
diff --git a/pkgs/development/libraries/nng/default.nix b/pkgs/development/libraries/nng/default.nix
index cb5aa49ec612f..4df09d278f6d6 100644
--- a/pkgs/development/libraries/nng/default.nix
+++ b/pkgs/development/libraries/nng/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nng";
-  version = "1.6.0-prerelease";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "nanomsg";
     repo = "nng";
-    rev = "a54820ff0e1b74554c7f649e8386ee8c4ecd98f5";
-    sha256 = "sha256-4Vj8nf3c45Y8LJ79YUOrNAAGMmfygdPtAJrs+JuFiUM=";
+    rev = "v${version}";
+    hash = "sha256-Kq8QxPU6SiTk0Ev2IJoktSPjVOlAS4/e1PQvw2+e8UA=";
   };
 
   nativeBuildInputs = [ cmake ninja ]
diff --git a/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix b/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
index a82fa9068c66c..2914d059cfaff 100644
--- a/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
+++ b/pkgs/development/libraries/nvidia-optical-flow-sdk/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
     cp -R * $out/include
   '';
 
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo $pname >> "$out/nix-support/include-in-cudatoolkit-root"
+  '';
+
   meta = with lib; {
     description = "Nvidia optical flow headers for computing the relative motion of pixels between images";
     homepage = "https://developer.nvidia.com/opticalflow-sdk";
diff --git a/pkgs/development/libraries/nvidia-thrust/default.nix b/pkgs/development/libraries/nvidia-thrust/default.nix
deleted file mode 100644
index f68b57f193b79..0000000000000
--- a/pkgs/development/libraries/nvidia-thrust/default.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ lib
-, config
-, fetchFromGitHub
-, stdenv
-, cmake
-, pkg-config
-, cudaPackages ? { }
-, symlinkJoin
-, tbb
-, hostSystem ? "CPP"
-, deviceSystem ? if config.cudaSupport then "CUDA" else "OMP"
-}:
-
-# Policy for device_vector<T>
-assert builtins.elem deviceSystem [
-  "CPP" # Serial on CPU
-  "OMP" # Parallel with OpenMP
-  "TBB" # Parallel with Intel TBB
-  "CUDA" # Parallel on GPU
-];
-
-# Policy for host_vector<T>
-# Always lives on CPU, but execution can be made parallel
-assert builtins.elem hostSystem [ "CPP" "OMP" "TBB" ];
-
-let
-  pname = "nvidia-thrust";
-  version = "1.16.0";
-
-  inherit (cudaPackages) backendStdenv cudaFlags;
-  cudaCapabilities = map cudaFlags.dropDot cudaFlags.cudaCapabilities;
-
-  tbbSupport = builtins.elem "TBB" [ deviceSystem hostSystem ];
-  cudaSupport = deviceSystem == "CUDA";
-
-  # TODO: Would like to use this:
-  cudaJoined = symlinkJoin {
-    name = "cuda-packages-unsplit";
-    paths = with cudaPackages; [
-      cuda_nvcc
-      cuda_nvrtc # symbols: cudaLaunchDevice, &c; notice postBuild
-      cuda_cudart # cuda_runtime.h
-      libcublas
-    ];
-    postBuild = ''
-      ln -s $out/lib $out/lib64
-    '';
-  };
-in
-stdenv.mkDerivation {
-  inherit pname version;
-
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = "thrust";
-    rev = version;
-    fetchSubmodules = true;
-    hash = "sha256-/EyznxWKuHuvHNjq+SQg27IaRbtkjXR2zlo2YgCWmUQ=";
-  };
-
-  # NVIDIA's "compiler hacks" seem like work-arounds for legacy toolchains and
-  # cause us errors such as:
-  # > Thrust's test harness uses CMAKE_CXX_COMPILER for the CUDA host compiler.
-  # > Refusing to overwrite specified CMAKE_CUDA_HOST_COMPILER
-  # So we un-fix cmake after them:
-  postPatch = ''
-    echo > cmake/ThrustCompilerHacks.cmake
-  '';
-
-  buildInputs = lib.optionals tbbSupport [ tbb ];
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ] ++ lib.optionals cudaSupport [
-    # Goes in native build inputs because thrust looks for headers
-    # in a path relative to nvcc...
-    cudaJoined
-  ];
-
-  cmakeFlags = [
-    "-DTHRUST_INCLUDE_CUB_CMAKE=${if cudaSupport then "ON" else "OFF"}"
-    "-DTHRUST_DEVICE_SYSTEM=${deviceSystem}"
-    "-DTHRUST_HOST_SYSTEM=${hostSystem}"
-    "-DTHRUST_AUTO_DETECT_COMPUTE_ARCHS=OFF"
-    "-DTHRUST_DISABLE_ARCH_BY_DEFAULT=ON"
-  ] ++ lib.optionals cudaFlags.enableForwardCompat [
-    "-DTHRUST_ENABLE_COMPUTE_FUTURE=ON"
-  ] ++ map (sm: "THRUST_ENABLE_COMPUTE_${sm}") cudaCapabilities;
-
-  passthru = {
-    inherit cudaSupport cudaPackages cudaJoined;
-  };
-
-  meta = with lib; {
-    description = "A high-level C++ parallel algorithms library that builds on top of CUDA, TBB, OpenMP, etc";
-    homepage = "https://github.com/NVIDIA/thrust";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ SomeoneSerge ];
-  };
-}
diff --git a/pkgs/development/libraries/open62541/default.nix b/pkgs/development/libraries/open62541/default.nix
index e25ac7bfca51d..b8c22a73dd4ec 100644
--- a/pkgs/development/libraries/open62541/default.nix
+++ b/pkgs/development/libraries/open62541/default.nix
@@ -5,8 +5,10 @@
 , cmake
 , pkg-config
 , check
+, libxcrypt
 , subunit
 , python3Packages
+, nix-update-script
 
 , withDoc ? false
 , graphviz-nox
@@ -31,13 +33,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "open62541";
-  version = "1.3.7";
+  version = "1.3.9";
 
   src = fetchFromGitHub {
     owner = "open62541";
     repo = "open62541";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-XmoLmBGTMA6cejLiNU8hAVnHd35eh6lTIu9csmiR+4U=";
+    hash = "sha256-FnLMR54xjIyYRqwCnvMJsNgsVwH7hVAixCNGhfIZPiw=";
     fetchSubmodules = true;
   };
 
@@ -55,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
     "-DUA_NAMESPACE_ZERO=FULL"
 
-    "-DUA_BUILD_UNIT_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DUA_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
   ]
   ++ lib.optional withExamples "-DUA_BUILD_EXAMPLES=ON"
   ++ lib.optional (withEncryption != false)
@@ -82,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   checkInputs = [
     check
+    libxcrypt
     subunit
   ];
 
@@ -89,16 +92,15 @@ stdenv.mkDerivation (finalAttrs: {
   enableParallelChecking = false;
 
   preCheck = let
-    disabledTests =
-      lib.optionals withPubSub [
-        # "Cannot set socket option IP_ADD_MEMBERSHIP"
-        "pubsub_publish"
-        "check_pubsub_get_state"
-        "check_pubsub_publish_rt_levels"
-        "check_pubsub_subscribe_config_freeze"
-        "check_pubsub_subscribe_rt_levels"
-        "check_pubsub_multiple_subscribe_rt_levels"
-      ];
+    disabledTests = lib.optionals withPubSub [
+      # "Cannot set socket option IP_ADD_MEMBERSHIP"
+      "pubsub_publish"
+      "check_pubsub_get_state"
+      "check_pubsub_publish_rt_levels"
+      "check_pubsub_subscribe_config_freeze"
+      "check_pubsub_subscribe_rt_levels"
+      "check_pubsub_multiple_subscribe_rt_levels"
+    ];
     regex = "^(${builtins.concatStringsSep "|" disabledTests})\$";
   in lib.optionalString (disabledTests != []) ''
     checkFlagsArray+=(ARGS="-E ${lib.escapeRegex regex}")
@@ -126,6 +128,8 @@ stdenv.mkDerivation (finalAttrs: {
     rm -r bin/libopen62541*
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   passthru.tests = let
     open62541Full = encBackend: open62541.override {
       withDoc = true;
@@ -151,6 +155,7 @@ stdenv.mkDerivation (finalAttrs: {
       OPC UA-based communication into existing applications.
     '';
     homepage = "https://www.open62541.org";
+    changelog = "https://github.com/open62541/open62541/releases/tag/v${finalAttrs.version}";
     license = licenses.mpl20;
     maintainers = with maintainers; [ panicgh ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index 06360449c1ba9..023e56940b75c 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -247,8 +247,10 @@ effectiveStdenv.mkDerivation {
 
   outputs = [
     "out"
+    "cxxdev"
     "package_tests"
   ];
+  cudaPropagateToOutput = "cxxdev";
 
   postUnpack = lib.optionalString buildContrib ''
     cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/source/opencv_contrib"
@@ -328,20 +330,32 @@ effectiveStdenv.mkDerivation {
       bzip2 AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox Accelerate
     ]
     ++ lib.optionals enableDocs [ doxygen graphviz-nox ]
-    ++ lib.optionals enableCuda  (with cudaPackages; [
-      cuda_cudart
-      cuda_cccl # <thrust/*>
-      libnpp # npp.h
+    ++ lib.optionals enableCuda (with cudaPackages; [
+      cuda_cudart.lib
+      cuda_cudart.dev
+      cuda_cccl.dev # <thrust/*>
+      libnpp.dev # npp.h
+      libnpp.lib
+      libnpp.static
+      nvidia-optical-flow-sdk
     ] ++ lib.optionals enableCublas [
-      libcublas # cublas_v2.h
+      # May start using the default $out instead once
+      # https://github.com/NixOS/nixpkgs/issues/271792
+      # has been addressed
+      libcublas.static
+      libcublas.lib
+      libcublas.dev # cublas_v2.h
     ] ++ lib.optionals enableCudnn [
-      cudnn # cudnn.h
+      cudnn.dev # cudnn.h
+      cudnn.lib
+      cudnn.static
     ] ++ lib.optionals enableCufft [
-      libcufft # cufft.h
-  ]);
+      libcufft.dev # cufft.h
+      libcufft.lib
+      libcufft.static
+    ]);
 
-  propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy
-    ++ lib.optionals enableCuda [ nvidia-optical-flow-sdk ];
+  propagatedBuildInputs = lib.optionals enablePython [ pythonPackages.numpy ];
 
   nativeBuildInputs = [ cmake pkg-config unzip ]
   ++ lib.optionals enablePython [
@@ -458,6 +472,7 @@ effectiveStdenv.mkDerivation {
   postInstall = ''
     sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \
       "$out/lib/pkgconfig/opencv4.pc"
+    mkdir $cxxdev
   ''
   # install python distribution information, so other packages can `import opencv`
   + lib.optionalString enablePython ''
@@ -476,6 +491,8 @@ effectiveStdenv.mkDerivation {
   '';
 
   passthru = {
+    cudaSupport = enableCuda;
+
     tests = {
       inherit (gst_all_1) gst-plugins-bad;
     }
diff --git a/pkgs/development/libraries/openimageio/default.nix b/pkgs/development/libraries/openimageio/default.nix
index a0f520dcb6cea..f2e98e0d34b6e 100644
--- a/pkgs/development/libraries/openimageio/default.nix
+++ b/pkgs/development/libraries/openimageio/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.4.15.0";
+  version = "2.5.5.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "v${version}";
-    hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M=";
+    hash = "sha256-FtUZqk1m9ahdnwhrBeMFkUbV0dangMY/w9ShevCASfo=";
   };
 
   # Workaround broken zlib version detecion in CMake < 3.37.
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 1c4955e2c51a4..a8bd8acacd595 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -3,7 +3,7 @@
 , libpsm2, libfabric, pmix, ucx, ucc
 , config
 # Enable CUDA support
-, cudaSupport ? config.cudaSupport, cudatoolkit
+, cudaSupport ? config.cudaSupport, cudaPackages
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -18,12 +18,7 @@
 , fortranSupport ? true
 }:
 
-let
-  cudatoolkit_joined = symlinkJoin {
-    name = "${cudatoolkit.name}-unsplit";
-    paths = [ cudatoolkit.out cudatoolkit.lib ];
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "openmpi";
   version = "4.1.6";
 
@@ -47,12 +42,13 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ]
     ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ucc ]
-    ++ lib.optionals cudaSupport [ cudatoolkit ]
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]
     ++ [ libevent hwloc ]
     ++ lib.optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core
     ++ lib.optionals fabricSupport [ libpsm2 libfabric ];
 
   nativeBuildInputs = [ perl ]
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]
     ++ lib.optionals fortranSupport [ gfortran ];
 
   configureFlags = lib.optional (!cudaSupport) "--disable-mca-dso"
@@ -67,7 +63,7 @@ in stdenv.mkDerivation rec {
     # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
     # https://github.com/openucx/ucx
     # https://www.open-mpi.org/faq/?category=buildcuda
-    ++ lib.optionals cudaSupport [ "--with-cuda=${cudatoolkit_joined}" "--enable-dlopen" ]
+    ++ lib.optionals cudaSupport [ "--with-cuda=${cudaPackages.cuda_cudart}" "--enable-dlopen" ]
     ++ lib.optionals fabricSupport [ "--with-psm2=${lib.getDev libpsm2}" "--with-libfabric=${lib.getDev libfabric}" ]
     ;
 
@@ -98,7 +94,8 @@ in stdenv.mkDerivation rec {
   doCheck = true;
 
   passthru = {
-    inherit cudaSupport cudatoolkit;
+    inherit cudaSupport;
+    cudatoolkit = cudaPackages.cudatoolkit; # For backward compatibility only
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index b0ff4b528864b..b946d8ab718ae 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,9 +1,7 @@
 { config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, xorg, libGLU
 , libGL, glew, ocl-icd, python3
-, cudaSupport ? config.cudaSupport, cudatoolkit
-  # For visibility mostly. The whole approach to cuda architectures and capabilities
-  # will be reworked soon.
-, cudaArch ? "compute_37"
+, cudaSupport ? config.cudaSupport
+, cudaPackages
 , openclSupport ? !cudaSupport
 , darwin
 }:
@@ -21,7 +19,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    cudaPackages.cuda_nvcc
+  ];
   buildInputs =
     [ libGLU libGL python3
       # FIXME: these are not actually needed, but the configure script wants them.
@@ -30,21 +32,31 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optional (openclSupport && !stdenv.isDarwin) ocl-icd
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
-    ++ lib.optional cudaSupport cudatoolkit;
+    ++ lib.optional cudaSupport [
+      cudaPackages.cuda_cudart
+    ];
+
+  # It's important to set OSD_CUDA_NVCC_FLAGS,
+  # because otherwise OSD might piggyback unwanted architectures:
+  # https://github.com/PixarAnimationStudios/OpenSubdiv/blob/7d0ab5530feef693ac0a920585b5c663b80773b3/CMakeLists.txt#L602
+  preConfigure = lib.optionalString cudaSupport ''
+    cmakeFlagsArray+=(
+      -DOSD_CUDA_NVCC_FLAGS="${lib.concatStringsSep " " cudaPackages.cudaFlags.gencode}"
+    )
+  '';
 
   cmakeFlags =
     [ "-DNO_TUTORIALS=1"
       "-DNO_REGRESSION=1"
       "-DNO_EXAMPLES=1"
       "-DNO_METAL=1" # don’t have metal in apple sdk
+      (lib.cmakeBool "NO_OPENCL" (!openclSupport))
+      (lib.cmakeBool "NO_CUDA" (!cudaSupport))
     ] ++ lib.optionals (!stdenv.isDarwin) [
       "-DGLEW_INCLUDE_DIR=${glew.dev}/include"
       "-DGLEW_LIBRARY=${glew.dev}/lib"
     ] ++ lib.optionals cudaSupport [
-      "-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=${cudaArch}"
-      "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
     ] ++ lib.optionals (!openclSupport) [
-      "-DNO_OPENCL=1"
     ];
 
   preBuild = let maxBuildCores = 16; in lib.optionalString cudaSupport ''
diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix
index b3809f0953641..26fac012948d4 100644
--- a/pkgs/development/libraries/openvino/default.nix
+++ b/pkgs/development/libraries/openvino/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , fetchurl
 , substituteAll
+, cudaSupport ? opencv.cudaSupport or false
 
 # build
 , addOpenGLRunpath
@@ -17,10 +18,12 @@
 # runtime
 , libusb1
 , libxml2
+, ocl-icd
 , opencv
 , protobuf
 , pugixml
 , tbb
+, cudaPackages
 }:
 
 let
@@ -68,6 +71,8 @@ stdenv.mkDerivation rec {
       setuptools
     ]))
     shellcheck
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_nvcc
   ];
 
   patches = [
@@ -118,6 +123,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_CPPLINT:BOOL=OFF"
     "-DBUILD_TESTING:BOOL=OFF"
     "-DENABLE_SAMPLES:BOOL=OFF"
+    (lib.cmakeBool "CMAKE_VERBOSE_MAKEFILE" true)
   ];
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-Wno-narrowing";
@@ -129,10 +135,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libusb1
     libxml2
-    opencv
+    ocl-icd
+    opencv.cxxdev
     protobuf
     pugixml
     tbb
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_cudart
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 43f2eae809355..0fae50cdbfedb 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -94,7 +94,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "odd-unstable";
       # 1.90 is alpha for API 2.
       freeze = "1.90.0";
     };
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index c58ff8399aec8..a5bdb729a102b 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wireplumber";
-  version = "0.4.16";
+  version = "0.4.17";
 
   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "wireplumber";
     rev = version;
-    hash = "sha256-BJ4Q34wLGQNxoihH+M8NBY5ZDw/D9RMda9GvFw7BemY=";
+    hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 6603130922022..3723a6806ad9d 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pkcs11-helper";
-  version = "1.29.0";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${pname}-${version}";
-    sha256 = "sha256-HPaPmsCJ81NaS7mgRGbR7KFG6AM3s6HXdWKdfREhcLc=";
+    hash = "sha256-FP3y/YHsPPqey4QfxIiC4QjruuK1K2Bg+2QL2gXDT+k=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index d2af5d9e1e949..89c91ccd9206b 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -102,10 +102,10 @@ stdenv.mkDerivation (finalAttrs: rec {
     (mkFlag qt5Support "QT5")
     (mkFlag qt6Support "QT6")
     (mkFlag gpgmeSupport "GPGME")
-  ] ++ lib.optionals finalAttrs.doCheck [
+  ] ++ lib.optionals finalAttrs.finalPackage.doCheck [
     "-DTESTDATADIR=${testData}"
   ];
-  disallowedReferences = lib.optional finalAttrs.doCheck testData;
+  disallowedReferences = lib.optional finalAttrs.finalPackage.doCheck testData;
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/development/libraries/properties-cpp/default.nix b/pkgs/development/libraries/properties-cpp/default.nix
index 72538da6a997b..65ad4ed6a2933 100644
--- a/pkgs/development/libraries/properties-cpp/default.nix
+++ b/pkgs/development/libraries/properties-cpp/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-C/BDEuKNMQHOjATO5aWBptjIlgfv6ykzjFAsHb6uP3Q=";
   };
 
-  postPatch = lib.optionalString (!finalAttrs.doCheck) ''
+  postPatch = lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
     sed -i "/add_subdirectory(tests)/d" CMakeLists.txt
   '';
 
diff --git a/pkgs/development/libraries/protobuf/25.nix b/pkgs/development/libraries/protobuf/25.nix
new file mode 100644
index 0000000000000..b994f60609423
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/25.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix ({
+  version = "25.1";
+  hash = "sha256-w6556kxftVZ154LrZB+jv9qK+QmMiUOGj6EcNwiV+yo=";
+} // args)
diff --git a/pkgs/development/libraries/qcoro/default.nix b/pkgs/development/libraries/qcoro/default.nix
index 96cf2cd6fc8ea..e178dd5240d66 100644
--- a/pkgs/development/libraries/qcoro/default.nix
+++ b/pkgs/development/libraries/qcoro/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qcoro";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "danvratil";
     repo = "qcoro";
     rev = "v${version}";
-    sha256 = "sha256-kf2W/WAZCpLkq1UIy7iZri4vNaqjGjotB/Xsb+byZV4=";
+    sha256 = "sha256-C4k5ClsMwzxURAQBGV5WBwlRr5N0SvUMJobZ+ROT0EY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/qmenumodel/default.nix b/pkgs/development/libraries/qmenumodel/default.nix
index a8d11529808fe..7d1384df364bc 100644
--- a/pkgs/development/libraries/qmenumodel/default.nix
+++ b/pkgs/development/libraries/qmenumodel/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     substituteInPlace libqmenumodel/QMenuModel/CMakeLists.txt \
       --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
-  '' + lib.optionalString finalAttrs.doCheck ''
+  '' + lib.optionalString finalAttrs.finalPackage.doCheck ''
     patchShebangs tests/{client,script}/*.py
   '';
 
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
   dontWrapQtApps = true;
 
   cmakeFlags = [
-    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
   ];
 
   doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
index 538687dce58a0..f77fdac059ce6 100644
--- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
@@ -3,6 +3,7 @@
 , stdenv
 , qtbase
 , qtdeclarative
+, qtquick3d
 , qtshadertools
 , qtsvg
 , pkg-config
@@ -12,8 +13,11 @@
 , gst-plugins-good
 , gst-libav
 , gst-vaapi
+, ffmpeg_6
+, libva
 , libpulseaudio
 , wayland
+, libXrandr
 , elfutils
 , libunwind
 , orc
@@ -23,12 +27,14 @@
 qtModule {
   pname = "qtmultimedia";
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libunwind orc ]
-    ++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland ];
-  propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]
+  buildInputs = [ libunwind orc ffmpeg_6 ]
+    ++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland libXrandr libva ];
+  propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools qtquick3d ]
     ++ lib.optionals stdenv.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
     ++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
 
+  cmakeFlags = [ "-DENABLE_DYNAMIC_RESOLVE_VAAPI_SYMBOLS=0" ];
+
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
     "-include AudioToolbox/AudioToolbox.h";
   NIX_LDFLAGS = lib.optionalString stdenv.isDarwin
diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix
index 860e39227513a..aa0611aaef200 100644
--- a/pkgs/development/libraries/qtutilities/default.nix
+++ b/pkgs/development/libraries/qtutilities/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qtutilities";
-  version = "6.13.2";
+  version = "6.13.3";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "qtutilities";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Kdvr3T9hynLCj99+Rc1L0Gq7xkiM0a6xovuqhAncrek=";
+    hash = "sha256-/3PEbUMphblB3HgLkDb4l7GykuXL/ZOsKBrs8h72uwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/qzxing/default.nix b/pkgs/development/libraries/qzxing/default.nix
new file mode 100644
index 0000000000000..4cb224e2c040f
--- /dev/null
+++ b/pkgs/development/libraries/qzxing/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, nix-update-script
+, testers
+, qmake
+, qtmultimedia
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "qzxing";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ftylitak";
+    repo = "qzxing";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ASgsF5ocNWAiIy2jm6ygpDkggBcEpno6iVNWYkuWcVI=";
+  };
+
+  # QMake can't find qtmultimedia in buildInputs
+  strictDeps = false;
+
+  nativeBuildInputs = [
+    qmake
+  ];
+
+  buildInputs = [
+    qtmultimedia
+  ];
+
+  dontWrapQtApps = true;
+
+  preConfigure = ''
+    cd src
+  '';
+
+  qmakeFlags = [
+    "CONFIG+=qzxing_qml"
+    "CONFIG+=qzxing_multimedia"
+    "QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}"
+  ];
+
+  passthru = {
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    updateScript = nix-update-script { };
+  };
+
+  meta = with lib; {
+    description = "Qt/QML wrapper library for the ZXing library";
+    homepage = "https://github.com/ftylitak/qzxing";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+    pkgConfigModules = [
+      "QZXing"
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/raft-canonical/default.nix b/pkgs/development/libraries/raft-canonical/default.nix
index 2e1163e5f59c9..e01934b1d7311 100644
--- a/pkgs/development/libraries/raft-canonical/default.nix
+++ b/pkgs/development/libraries/raft-canonical/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/canonical/raft";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wucke13 adamcstephens ];
+    maintainers = teams.lxc.members;
   };
 }
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index 968cc51813279..400c7297d22ba 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "confluentinc";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "sha256-v/FjnDg22ZNQHmrUsPvjaCs4UQ/RPAxQdg9i8k6ba/4=";
+    sha256 = "sha256-F67aKmyMmqBVG5sF8ZwqemmfvVi/0bDjaiugKKSipuA=";
   };
 
   nativeBuildInputs = [ pkg-config python3 which ];
diff --git a/pkgs/development/libraries/rure/Cargo.lock b/pkgs/development/libraries/rure/Cargo.lock
index 68a1719d08014..48e04d1f5acb7 100644
--- a/pkgs/development/libraries/rure/Cargo.lock
+++ b/pkgs/development/libraries/rure/Cargo.lock
@@ -13,9 +13,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "memchr"
diff --git a/pkgs/development/libraries/science/chemistry/openmm/default.nix b/pkgs/development/libraries/science/chemistry/openmm/default.nix
index 349c3be82b969..94a88bbf819af 100644
--- a/pkgs/development/libraries/science/chemistry/openmm/default.nix
+++ b/pkgs/development/libraries/science/chemistry/openmm/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openmm";
-  version = "8.0.0";
+  version = "8.1.0";
 
   src = fetchFromGitHub {
     owner = "openmm";
     repo = pname;
     rev = version;
-    hash = "sha256-89ngeZHdjyL/OoGuQ+F5eaXE1/od0EEfIgw9eKdLtL8=";
+    hash = "sha256-uNAqjklgBWM2v2z6qu17ZMFO4gn3fsnYPxyGO++UtTw=";
   };
 
   # "This test is stochastic and may occassionally fail". It does.
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableCuda cudaPackages.cudatoolkit;
 
   propagatedBuildInputs = lib.optionals enablePython (with python3Packages; [
+    setuptools
     python
     numpy
     cython
@@ -85,6 +86,7 @@ stdenv.mkDerivation rec {
       cd python
       ${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py build
       ${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py install --prefix=$out
+      mv $out/lib/python*/site-packages/OpenMM*.egg/{openmm,simtk} $out/lib/python*/site-packages/.
     '';
 
   postFixup = ''
diff --git a/pkgs/development/libraries/science/math/cudnn/extension.nix b/pkgs/development/libraries/science/math/cudnn/extension.nix
deleted file mode 100644
index d4c83428980d3..0000000000000
--- a/pkgs/development/libraries/science/math/cudnn/extension.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# Support matrix can be found at
-# https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-880/support-matrix/index.html
-# Type aliases
-# Release = {
-#   version: String,
-#   minCudaVersion: String,
-#   maxCudaVersion: String,
-#   url: String,
-#   hash: String,
-# }
-final: prev: let
-  inherit (final) callPackage;
-  inherit (prev) cudaVersion;
-  inherit (prev.lib) attrsets lists versions;
-  inherit (prev.lib.strings) replaceStrings versionAtLeast versionOlder;
-
-  # Compute versioned attribute name to be used in this package set
-  # Patch version changes should not break the build, so we only use major and minor
-  # computeName :: String -> String
-  computeName = version: "cudnn_${replaceStrings ["."] ["_"] (versions.majorMinor version)}";
-
-  # Check whether a CUDNN release supports our CUDA version
-  # Thankfully we're able to do lexicographic comparison on the version strings
-  # isSupported :: Release -> Bool
-  isSupported = release:
-    versionAtLeast cudaVersion release.minCudaVersion
-    && versionAtLeast release.maxCudaVersion cudaVersion;
-
-  # useCudatoolkitRunfile :: Bool
-  useCudatoolkitRunfile = versionOlder cudaVersion "11.3.999";
-
-  # buildCuDnnPackage :: Release -> Derivation
-  buildCuDnnPackage = callPackage ./generic.nix {inherit useCudatoolkitRunfile;};
-
-  # Reverse the list to have the latest release first
-  # cudnnReleases :: List Release
-  cudnnReleases = lists.reverseList (builtins.import ./releases.nix);
-
-  # Check whether a CUDNN release supports our CUDA version
-  # supportedReleases :: List Release
-  supportedReleases = builtins.filter isSupported cudnnReleases;
-
-  # Function to transform our releases into build attributes
-  # toBuildAttrs :: Release -> { name: String, value: Derivation }
-  toBuildAttrs = release: {
-    name = computeName release.version;
-    value = buildCuDnnPackage release;
-  };
-
-  # Add all supported builds as attributes
-  # allBuilds :: AttrSet String Derivation
-  allBuilds = builtins.listToAttrs (builtins.map toBuildAttrs supportedReleases);
-
-  defaultBuild = attrsets.optionalAttrs (supportedReleases != []) {
-    cudnn = let
-      # The latest release is the first element of the list and will be our default choice
-      # latestReleaseName :: String
-      latestReleaseName = computeName (builtins.head supportedReleases).version;
-    in
-      allBuilds.${latestReleaseName};
-  };
-
-  # builds :: AttrSet String Derivation
-  builds = allBuilds // defaultBuild;
-in
-  builds
diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix
deleted file mode 100644
index b9f101d80fa30..0000000000000
--- a/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ /dev/null
@@ -1,170 +0,0 @@
-{ stdenv,
-  backendStdenv,
-  lib,
-  lndir,
-  zlib,
-  useCudatoolkitRunfile ? false,
-  cudaVersion,
-  cudaMajorVersion,
-  cudatoolkit, # For cuda < 11
-  libcublas ? null, # cuda <11 doesn't ship redist packages
-  autoPatchelfHook,
-  autoAddOpenGLRunpathHook,
-  fetchurl,
-}: {
-  version,
-  url,
-  hash,
-  minCudaVersion,
-  maxCudaVersion,
-}:
-assert useCudatoolkitRunfile || (libcublas != null); let
-  inherit (lib) lists strings trivial versions;
-
-  # majorMinorPatch :: String -> String
-  majorMinorPatch = (trivial.flip trivial.pipe) [
-    (versions.splitVersion)
-    (lists.take 3)
-    (strings.concatStringsSep ".")
-  ];
-
-  # versionTriple :: String
-  # Version with three components: major.minor.patch
-  versionTriple = majorMinorPatch version;
-in
-  backendStdenv.mkDerivation {
-    pname = "cudatoolkit-${cudaMajorVersion}-cudnn";
-    version = versionTriple;
-    strictDeps = true;
-    outputs = ["out" "lib" "static" "dev"];
-
-    src = fetchurl {
-      inherit url hash;
-    };
-
-    # We do need some other phases, like configurePhase, so the multiple-output setup hook works.
-    dontBuild = true;
-
-    # Check and normalize Runpath against DT_NEEDED using autoPatchelf.
-    # Prepend /run/opengl-driver/lib using addOpenGLRunpath for dlopen("libcudacuda.so")
-    nativeBuildInputs = [
-      autoPatchelfHook
-      autoAddOpenGLRunpathHook
-    ];
-
-    # Used by autoPatchelfHook
-    buildInputs = [
-      # Note this libstdc++ isn't from the (possibly older) nvcc-compatible
-      # stdenv, but from the (newer) stdenv that the rest of nixpkgs uses
-      stdenv.cc.cc.lib
-
-      zlib
-    ] ++ lists.optionals useCudatoolkitRunfile [
-      cudatoolkit
-    ] ++ lists.optionals (!useCudatoolkitRunfile) [
-      libcublas.lib
-    ];
-
-    # We used to patch Runpath here, but now we use autoPatchelfHook
-    #
-    # Note also that version <=8.3.0 contained a subdirectory "lib64/" but in
-    # version 8.3.2 it seems to have been renamed to simply "lib/".
-    #
-    # doc and dev have special output handling. Other outputs need to be moved to their own
-    # output.
-    # Note that moveToOutput operates on all outputs:
-    # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L105-L107
-    installPhase =
-      ''
-        runHook preInstall
-
-        mkdir -p "$out"
-        mv * "$out"
-        moveToOutput "lib64" "$lib"
-        moveToOutput "lib" "$lib"
-        moveToOutput "**/*.a" "$static"
-
-        runHook postInstall
-      '';
-
-    # Without --add-needed autoPatchelf forgets $ORIGIN on cuda>=8.0.5.
-    postFixup = strings.optionalString (strings.versionAtLeast versionTriple "8.0.5") ''
-      patchelf $lib/lib/libcudnn.so --add-needed libcudnn_cnn_infer.so
-      patchelf $lib/lib/libcudnn_ops_infer.so --add-needed libcublas.so --add-needed libcublasLt.so
-    '';
-
-    # The out output leverages the same functionality which backs the `symlinkJoin` function in
-    # Nixpkgs:
-    # https://github.com/NixOS/nixpkgs/blob/d8b2a92df48f9b08d68b0132ce7adfbdbc1fbfac/pkgs/build-support/trivial-builders/default.nix#L510
-    #
-    # That should allow us to emulate "fat" default outputs without having to actually create them.
-    #
-    # It is important that this run after the autoPatchelfHook, otherwise the symlinks in out will reference libraries in lib, creating a circular dependency.
-    postPhases = ["postPatchelf"];
-    # For each output, create a symlink to it in the out output.
-    # NOTE: We must recreate the out output here, because the setup hook will have deleted it
-    # if it was empty.
-    # NOTE: Do not use optionalString based on whether `outputs` contains only `out` -- phases
-    # which are empty strings are skipped/unset and result in errors of the form "command not
-    # found: <customPhaseName>".
-    postPatchelf = ''
-      mkdir -p "$out"
-      ${lib.meta.getExe lndir} "$lib" "$out"
-      ${lib.meta.getExe lndir} "$static" "$out"
-      ${lib.meta.getExe lndir} "$dev" "$out"
-    '';
-
-    passthru = {
-      inherit useCudatoolkitRunfile;
-
-      cudatoolkit =
-        trivial.warn
-        ''
-          cudnn.cudatoolkit passthru attribute is deprecated;
-          if your derivation uses cudnn directly, it should probably consume cudaPackages instead
-        ''
-        cudatoolkit;
-
-      majorVersion = versions.major versionTriple;
-    };
-
-    # Setting propagatedBuildInputs to false will prevent outputs known to the multiple-outputs
-    # from depending on `out` by default.
-    # https://github.com/NixOS/nixpkgs/blob/2920b6fc16a9ed5d51429e94238b28306ceda79e/pkgs/build-support/setup-hooks/multiple-outputs.sh#L196
-    # Indeed, we want to do the opposite -- fat "out" outputs that contain all the other outputs.
-    propagatedBuildOutputs = false;
-
-    # By default, if the dev output exists it just uses that.
-    # However, because we disabled propagatedBuildOutputs, dev doesn't contain libraries or
-    # anything of the sort. To remedy this, we set outputSpecified to true, and use
-    # outputsToInstall, which tells Nix which outputs to use when the package name is used
-    # unqualified (that is, without an explicit output).
-    outputSpecified = true;
-
-    meta = with lib; {
-      # Check that the cudatoolkit version satisfies our min/max constraints (both
-      # inclusive). We mark the package as broken if it fails to satisfies the
-      # official version constraints (as recorded in default.nix). In some cases
-      # you _may_ be able to smudge version constraints, just know that you're
-      # embarking into unknown and unsupported territory when doing so.
-      broken =
-        strings.versionOlder cudaVersion minCudaVersion
-        || strings.versionOlder maxCudaVersion cudaVersion;
-      description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
-      homepage = "https://developer.nvidia.com/cudnn";
-      sourceProvenance = with sourceTypes; [binaryNativeCode];
-      license = {
-        shortName = "cuDNN EULA";
-        fullName = "NVIDIA cuDNN Software License Agreement (EULA)";
-        url = "https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html#supplement";
-        free = false;
-      } // lib.optionalAttrs (!useCudatoolkitRunfile) {
-        redistributable = true;
-      };
-      platforms = ["x86_64-linux"];
-      maintainers = with maintainers; [mdaiter samuela];
-      # Force the use of the default, fat output by default (even though `dev` exists, which
-      # causes Nix to prefer that output over the others if outputSpecified isn't set).
-      outputsToInstall = ["out"];
-    };
-  }
diff --git a/pkgs/development/libraries/science/math/cudnn/releases.nix b/pkgs/development/libraries/science/math/cudnn/releases.nix
deleted file mode 100644
index 1cca4d9d015db..0000000000000
--- a/pkgs/development/libraries/science/math/cudnn/releases.nix
+++ /dev/null
@@ -1,185 +0,0 @@
-# NOTE: Check https://docs.nvidia.com/deeplearning/cudnn/archives/index.html for support matrices.
-[
-  {
-    version = "7.4.2.24";
-    minCudaVersion = "10.0";
-    maxCudaVersion = "10.0";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.4.2/cudnn-10.0-linux-x64-v7.4.2.24.tgz";
-    hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM=";
-  }
-  {
-    version = "7.6.5.32";
-    minCudaVersion = "10.0";
-    maxCudaVersion = "10.0";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.0-linux-x64-v7.6.5.32.tgz";
-    hash = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro=";
-  }
-  {
-    version = "7.6.5.32";
-    minCudaVersion = "10.1";
-    maxCudaVersion = "10.1";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.1-linux-x64-v7.6.5.32.tgz";
-    hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM=";
-  }
-  {
-    version = "7.6.5.32";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.2-linux-x64-v7.6.5.32.tgz";
-    hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLN=";
-  }
-  {
-    version = "8.0.5.39";
-    minCudaVersion = "10.1";
-    maxCudaVersion = "10.1";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-10.1-linux-x64-v8.0.5.39.tgz";
-    hash = "sha256-kJCElSmIlrM6qVBjo0cfk8NmJ9esAcF9w211xl7qSgA=";
-  }
-  {
-    version = "8.0.5.39";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-10.2-linux-x64-v8.0.5.39.tgz";
-    hash = "sha256-IfhMBcZ78eyFnnfDjM1b8VSWT6HDCPRJlZvkw1bjgvM=";
-  }
-  {
-    version = "8.0.5.39";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.0";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-11.0-linux-x64-v8.0.5.39.tgz";
-    hash = "sha256-ThbueJXetKixwZS4ErpJWG730mkCBRQB03F1EYmKm3M=";
-  }
-  {
-    version = "8.0.5.39";
-    minCudaVersion = "11.1";
-    maxCudaVersion = "11.1";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.0.5/cudnn-11.1-linux-x64-v8.0.5.39.tgz";
-    hash = "sha256-HQRr+nk5navMb2yxUHkYdUQ5RC6gyp4Pvs3URvmwDM4=";
-  }
-  {
-    version = "8.1.1.33";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.1.1/cudnn-10.2-linux-x64-v8.1.1.33.tgz";
-    hash = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0=";
-  }
-  {
-    version = "8.1.1.33";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.1.1/cudnn-11.2-linux-x64-v8.1.1.33.tgz";
-    hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
-  }
-  {
-    version = "8.2.4.15";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.2.4/cudnn-10.2-linux-x64-v8.2.4.15.tgz";
-    hash = "sha256-0jyUoxFaHHcRamwSfZF1+/WfcjNkN08mo0aZB18yIvE=";
-  }
-  {
-    version = "8.2.4.15";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.4";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.2.4/cudnn-11.4-linux-x64-v8.2.4.15.tgz";
-    hash = "sha256-Dl0t+JC5ln76ZhnaQhMQ2XMjVlp58FoajLm3Fluq0Nc=";
-  }
-  {
-    version = "8.3.3.40";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.3/local_installers/10.2/cudnn-linux-x86_64-8.3.3.40_cuda10.2-archive.tar.xz";
-    hash = "sha256-2FVPKzLmKV1fyPOsJeaPlAWLAYyAHaucFD42gS+JJqs=";
-  }
-  {
-    version = "8.3.3.40";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.6";
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.3/local_installers/11.5/cudnn-linux-x86_64-8.3.3.40_cuda11.5-archive.tar.xz";
-    hash = "sha256-6r6Wx1zwPqT1N5iU2RTx+K4UzqsSGYnoSwg22Sf7dzE=";
-  }
-  {
-    version = "8.4.1.50";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive.tar.xz";
-    hash = "sha256-I88qMmU6lIiLVmaPuX7TTbisgTav839mssxUo3lQNjg=";
-  }
-  {
-    version = "8.4.1.50";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.7";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz";
-    hash = "sha256-7JbSN22B/KQr3T1MPXBambKaBlurV/kgVhx2PinGfQE=";
-  }
-  {
-    version = "8.5.0.96";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.5.0.96_cuda10-archive.tar.xz";
-    hash = "sha256-1mzhbbzR40WKkHnQLtJHhg0vYgf7G8a0OBcCwIOkJjM=";
-  }
-  {
-    version = "8.5.0.96";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.7";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz";
-    hash = "sha256-VFSm/ZTwCHKMqumtrZk8ToXvNjAuJrzkO+p9RYpee20=";
-  }
-  {
-    version = "8.6.0.163";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.6.0.163_cuda10-archive.tar.xz";
-    hash = "sha256-t4sr/GrFqqdxu2VhaJQk5K1Xm/0lU4chXG8hVL09R9k=";
-  }
-  {
-    version = "8.6.0.163";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.8";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz";
-    hash = "sha256-u8OW30cpTGV+3AnGAGdNYIyxv8gLgtz0VHBgwhcRFZ4=";
-  }
-  {
-    version = "8.7.0.84";
-    minCudaVersion = "10.2";
-    maxCudaVersion = "10.2";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.7.0.84_cuda10-archive.tar.xz";
-    hash = "sha256-bZhaqc8+GbPV2FQvvbbufd8VnEJgvfkICc2N3/gitRg=";
-  }
-  {
-    version = "8.7.0.84";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.8";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz";
-    hash = "sha256-l2xMunIzyXrnQAavq1Fyl2MAukD1slCiH4z3H1nJ920=";
-  }
-  {
-    version = "8.8.1.3";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.8";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz";
-    hash = "sha256-r3WEyuDMVSS1kT7wjCm6YVQRPGDrCjegWQqRtRWoqPk=";
-  }
-  {
-    version = "8.8.1.3";
-    minCudaVersion = "12.0";
-    maxCudaVersion = "12.0";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.8.1.3_cuda12-archive.tar.xz";
-    hash = "sha256-edd6dpx+cXWrx7XC7VxJQUjAYYqGQThyLIh/lcYjd3w=";
-  }
-  {
-    version = "8.9.6.50";
-    minCudaVersion = "11.0";
-    maxCudaVersion = "11.8";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda11-archive.tar.xz";
-    hash = "sha256-oOLvVemfTNZH99HaqlqkUE/6M1ujAYbVwyiPL0ffBX4=";
-  }
-  {
-    version = "8.9.6.50";
-    minCudaVersion = "12.0";
-    maxCudaVersion = "12.2";
-    url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz";
-    hash = "sha256-FyIlnblSZbs4E0OKWhxuzZed6JrkU2YDkEBC4STTAtU=";
-  }
-]
diff --git a/pkgs/development/libraries/science/math/cutensor/generic.nix b/pkgs/development/libraries/science/math/cutensor/generic.nix
deleted file mode 100644
index c957fcdd99d4e..0000000000000
--- a/pkgs/development/libraries/science/math/cutensor/generic.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv
-, lib
-, libPath
-, cudatoolkit
-, fetchurl
-, autoPatchelfHook
-, addOpenGLRunpath
-
-, version
-, hash
-}:
-
-let
-  mostOfVersion = builtins.concatStringsSep "."
-    (lib.take 3 (lib.versions.splitVersion version));
-  platform = "${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}";
-in
-
-stdenv.mkDerivation {
-  pname = "cudatoolkit-${cudatoolkit.majorVersion}-cutensor";
-  inherit version;
-
-  src = fetchurl {
-    url = if lib.versionOlder mostOfVersion "1.3.3"
-      then "https://developer.download.nvidia.com/compute/cutensor/${mostOfVersion}/local_installers/libcutensor-${platform}-${version}.tar.gz"
-      else "https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/${platform}/libcutensor-${platform}-${version}-archive.tar.xz";
-    inherit hash;
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    addOpenGLRunpath
-  ];
-
-  buildInputs = [
-    stdenv.cc.cc.lib
-  ];
-
-  propagatedBuildInputs = [
-    cudatoolkit
-  ];
-
-  # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
-  # See the explanation in addOpenGLRunpath.
-  installPhase = ''
-    mkdir -p "$out" "$dev"
-    mv include "$dev"
-    mv ${libPath} "$out/lib"
-
-    function finalRPathFixups {
-      for lib in $out/lib/lib*.so; do
-        addOpenGLRunpath $lib
-      done
-    }
-    postFixupHooks+=(finalRPathFixups)
-  '';
-
-  passthru = {
-    inherit cudatoolkit;
-    majorVersion = lib.versions.major version;
-  };
-
-  meta = with lib; {
-    description = "cuTENSOR: A High-Performance CUDA Library For Tensor Primitives";
-    homepage = "https://developer.nvidia.com/cutensor";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ obsidian-systems-maintenance ];
-  };
-}
diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix
index 21e6cbf858cd5..25ac539e05f28 100644
--- a/pkgs/development/libraries/science/math/faiss/default.nix
+++ b/pkgs/development/libraries/science/math/faiss/default.nix
@@ -6,8 +6,6 @@
 , cmake
 , cudaPackages ? { }
 , cudaSupport ? config.cudaSupport
-, nvidia-thrust
-, useThrustSourceBuild ? true
 , pythonSupport ? true
 , pythonPackages
 , llvmPackages
@@ -27,8 +25,6 @@
 , runCommand
 }@inputs:
 
-assert cudaSupport -> nvidia-thrust.cudaSupport;
-
 let
   pname = "faiss";
   version = "1.7.4";
@@ -44,9 +40,6 @@ let
       cuda_cudart # cuda_runtime.h
       libcublas
       libcurand
-    ] ++ lib.optionals useThrustSourceBuild [
-      nvidia-thrust
-    ] ++ lib.optionals (!useThrustSourceBuild) [
       cuda_cccl
     ] ++ lib.optionals (cudaPackages ? cuda_profiler_api) [
       cuda_profiler_api # cuda_profiler_api.h
diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix
deleted file mode 100644
index d1df264564471..0000000000000
--- a/pkgs/development/libraries/science/math/nccl/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ lib
-, backendStdenv
-, fetchFromGitHub
-, python3
-, which
-, autoAddOpenGLRunpathHook
-, cuda_cccl
-, cuda_cudart
-, cuda_nvcc
-, cudaFlags
-, cudaVersion
-# passthru.updateScript
-, gitUpdater
-}:
-let
-  # Output looks like "-gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_86,code=compute_86"
-  gencode = lib.concatStringsSep " " cudaFlags.gencode;
-in
-backendStdenv.mkDerivation (finalAttrs: {
-  pname = "nccl";
-  version = "2.19.3-1";
-
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = finalAttrs.pname;
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-59FlOKM5EB5Vkm4dZBRCkn+IgIcdQehE+FyZAdTCT/A=";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [
-    which
-    autoAddOpenGLRunpathHook
-    cuda_nvcc
-    python3
-  ];
-
-  buildInputs = [
-    cuda_cudart
-  ]
-  # NOTE: CUDA versions in Nixpkgs only use a major and minor version. When we do comparisons
-  # against other version, like below, it's important that we use the same format. Otherwise,
-  # we'll get incorrect results.
-  # For example, lib.versionAtLeast "12.0" "12.0.0" == false.
-  ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
-    cuda_cccl
-  ];
-
-  preConfigure = ''
-    patchShebangs ./src/device/generate.py
-    makeFlagsArray+=(
-      "NVCC_GENCODE=${gencode}"
-    )
-  '';
-
-  makeFlags = [
-    "CUDA_HOME=${cuda_nvcc}"
-    "CUDA_LIB=${lib.getLib cuda_cudart}/lib"
-    "CUDA_INC=${lib.getDev cuda_cudart}/include"
-    "PREFIX=$(out)"
-  ];
-
-  postFixup = ''
-    moveToOutput lib/libnccl_static.a $dev
-  '';
-
-  env.NIX_CFLAGS_COMPILE = toString [ "-Wno-unused-function" ];
-
-  # Run the update script with: `nix-shell maintainers/scripts/update.nix --argstr package cudaPackages.nccl`
-  passthru.updateScript = gitUpdater {
-    inherit (finalAttrs) pname version;
-    rev-prefix = "v";
-  };
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs";
-    homepage = "https://developer.nvidia.com/nccl";
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ mdaiter orivej ] ++ teams.cuda.members;
-  };
-})
diff --git a/pkgs/development/libraries/science/math/nccl/tests.nix b/pkgs/development/libraries/science/math/nccl/tests.nix
deleted file mode 100644
index 9d826b92f164a..0000000000000
--- a/pkgs/development/libraries/science/math/nccl/tests.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ backendStdenv
-, config
-, cuda_cccl
-, cuda_cudart
-, cuda_nvcc
-, cudaVersion
-, fetchFromGitHub
-, gitUpdater
-, lib
-, mpi
-, mpiSupport ? false
-, nccl
-, which
-}:
-
-backendStdenv.mkDerivation (finalAttrs: {
-
-  pname = "nccl-tests";
-  version = "2.13.8";
-
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = finalAttrs.pname;
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-dxLoflsTHDBnZRTzoXdm30OyKpLlRa73b784YWALBHg=";
-  };
-
-  strictDeps = true;
-
-  nativeBuildInputs = [
-    cuda_nvcc
-    which
-  ];
-
-  buildInputs = [
-    cuda_cudart
-    nccl
-  ] ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
-    cuda_cccl.dev # <nv/target>
-  ] ++ lib.optional mpiSupport mpi;
-
-  makeFlags = [
-    "CUDA_HOME=${cuda_nvcc}"
-    "NCCL_HOME=${nccl}"
-  ] ++ lib.optionals mpiSupport [
-    "MPI=1"
-  ];
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -r build/* $out/bin/
-  '';
-
-  passthru.updateScript = gitUpdater {
-    inherit (finalAttrs) pname version;
-    rev-prefix = "v";
-  };
-
-  meta = with lib; {
-    description = "Tests to check both the performance and the correctness of NVIDIA NCCL operations";
-    homepage = "https://github.com/NVIDIA/nccl-tests";
-    platforms = platforms.linux;
-    license = licenses.bsd3;
-    broken = !config.cudaSupport || (mpiSupport && mpi == null);
-    maintainers = with maintainers; [ jmillerpdt ] ++ teams.cuda.members;
-  };
-})
diff --git a/pkgs/development/libraries/science/math/spooles/allocate.patch b/pkgs/development/libraries/science/math/spooles/allocate.patch
new file mode 100644
index 0000000000000..71f539711e7b7
--- /dev/null
+++ b/pkgs/development/libraries/science/math/spooles/allocate.patch
@@ -0,0 +1,38 @@
+From cc153b180829c6b561765cbbb9b621d1142ff1cd Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Tue, 28 Nov 2023 13:13:44 +0000
+Subject: [PATCH] use proper format specifier for size_t
+
+---
+ Utilities/MM.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Utilities/MM.h b/Utilities/MM.h
+index 11e86c5..301c3ec 100644
+--- a/Utilities/MM.h
++++ b/Utilities/MM.h
+@@ -33,18 +33,18 @@ if ( (count) > 0 ) { \
+    if ( (ptr = (type *)malloc((unsigned long)((count)*sizeof(type)))) \
+         == NULL ) {\
+       fprintf(stderr, \
+-              "\n ALLOCATE failure : bytes %d, line %d, file %s", \
++              "\n ALLOCATE failure : bytes %zu, line %d, file %s", \
+               (count)*sizeof(type), __LINE__, __FILE__) ; \
+       exit(-1) ; } \
+    else if ( MEMORY_DEBUG > 0 ) { \
+       fprintf(stderr, \
+-              "\n ALLOCATE : address %p, bytes %d, line %d, file %s", \
++              "\n ALLOCATE : address %p, bytes %zu, line %d, file %s", \
+               ptr, (count)*sizeof(type), __LINE__, __FILE__) ; } } \
+ else if ( (count) == 0 ) { \
+    ptr = NULL ; } \
+ else { \
+    fprintf(stderr, \
+-           "\n ALLOCATE error : bytes %d, line %d, file %s", \
++           "\n ALLOCATE error : bytes %zu, line %d, file %s", \
+            (count)*sizeof(type), __LINE__, __FILE__) ; \
+    exit(-1) ; }
+ /*
+-- 
+2.42.0
+
diff --git a/pkgs/development/libraries/science/math/spooles/default.nix b/pkgs/development/libraries/science/math/spooles/default.nix
index 6e94d093a2cbf..47738008b02d9 100644
--- a/pkgs/development/libraries/science/math/spooles/default.nix
+++ b/pkgs/development/libraries/science/math/spooles/default.nix
@@ -13,10 +13,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./spooles.patch
+    # fix compiler error where NULL is used as a zero parameter
+    ./transform.patch
+    # use proper format specifier for size_t
+    ./allocate.patch
   ];
 
   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
-    substituteInPlace makefile --replace '-Wl,-soname' '-Wl,-install_name'
+    substituteInPlace makefile --replace "-Wl,-soname," "-Wl,-install_name,$out/lib/"
   '';
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/science/math/spooles/transform.patch b/pkgs/development/libraries/science/math/spooles/transform.patch
new file mode 100644
index 0000000000000..3be3babe9d657
--- /dev/null
+++ b/pkgs/development/libraries/science/math/spooles/transform.patch
@@ -0,0 +1,43 @@
+From c5d0574182d76af3bf286dce0bb147ae3f098916 Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Tue, 28 Nov 2023 12:57:18 +0000
+Subject: [PATCH] fix compiler error: use zero, not NULL, in calls to IVinit
+
+---
+ ETree/src/transform.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ETree/src/transform.c b/ETree/src/transform.c
+index 1e36981..dbdfc70 100644
+--- a/ETree/src/transform.c
++++ b/ETree/src/transform.c
+@@ -291,7 +291,7 @@ etree2 = ETree_compress(etree, mapIV) ;
+    remap the nzeros[] vector
+    -------------------------
+ */
+-temp = IVinit(nfront, NULL) ;
++temp = IVinit(nfront, 0) ;
+ IVcopy(nfront, temp, nzeros) ;
+ IV_setSize(nzerosIV, nnew) ;
+ nzeros = IV_entries(nzerosIV) ;
+@@ -453,7 +453,7 @@ etree2 = ETree_compress(etree, mapIV) ;
+    remap the nzeros[] vector
+    -------------------------
+ */
+-temp = IVinit(nfront, NULL) ;
++temp = IVinit(nfront, 0) ;
+ IVcopy(nfront, temp, nzeros) ;
+ IV_setSize(nzerosIV, nnew) ;
+ nzeros = IV_entries(nzerosIV) ;
+@@ -614,7 +614,7 @@ etree2 = ETree_compress(etree, mapIV) ;
+    remap the nzeros[] vector
+    -------------------------
+ */
+-temp = IVinit(nfront, NULL) ;
++temp = IVinit(nfront, 0) ;
+ IVcopy(nfront, temp, nzeros) ;
+ IV_setSize(nzerosIV, nnew) ;
+ nzeros = IV_entries(nzerosIV) ;
+-- 
+2.42.0
+
diff --git a/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch b/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
deleted file mode 100644
index 6fa3c703efa99..0000000000000
--- a/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 28103856e..a36909c0e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -449,13 +449,6 @@ install(FILES
-   DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
-   )
- 
--if(EIGEN_BUILD_PKGCONFIG)
--    configure_file(eigen3.pc.in eigen3.pc @ONLY)
--    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
--        DESTINATION ${PKGCONFIG_INSTALL_DIR}
--        )
--endif()
--
- install(DIRECTORY Eigen DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
- 
- add_subdirectory(doc EXCLUDE_FROM_ALL)
-@@ -570,8 +563,15 @@ set ( EIGEN_VERSION_MAJOR  ${EIGEN_WORLD_VERSION} )
- set ( EIGEN_VERSION_MINOR  ${EIGEN_MAJOR_VERSION} )
- set ( EIGEN_VERSION_PATCH  ${EIGEN_MINOR_VERSION} )
- set ( EIGEN_DEFINITIONS "")
--set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
- set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
-+GNUInstallDirs_get_absolute_install_dir(EIGEN_INCLUDE_DIR INCLUDE_INSTALL_DIR)
-+
-+if(EIGEN_BUILD_PKGCONFIG)
-+    configure_file(eigen3.pc.in eigen3.pc @ONLY)
-+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
-+        DESTINATION ${PKGCONFIG_INSTALL_DIR}
-+        )
-+endif()
- 
- # Interface libraries require at least CMake 3.0
- if (NOT CMAKE_VERSION VERSION_LESS 3.0)
-diff --git a/eigen3.pc.in b/eigen3.pc.in
-index 3368a3aa1..d6778bf06 100644
---- a/eigen3.pc.in
-+++ b/eigen3.pc.in
-@@ -6,4 +6,4 @@ Description: A C++ template library for linear algebra: vectors, matrices, and r
- Requires:
- Version: @EIGEN_VERSION_NUMBER@
- Libs:
--Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
-+Cflags: -I@EIGEN_INCLUDE_DIR@
diff --git a/pkgs/development/libraries/science/math/tensorrt/extension.nix b/pkgs/development/libraries/science/math/tensorrt/extension.nix
index b4018c6cc284d..ffd9b672684cb 100644
--- a/pkgs/development/libraries/science/math/tensorrt/extension.nix
+++ b/pkgs/development/libraries/science/math/tensorrt/extension.nix
@@ -17,16 +17,32 @@ final: prev: let
     isSupported = fileData: elem cudaVersion fileData.supportedCudaVersions;
     # Return the first file that is supported. In practice there should only ever be one anyway.
     supportedFile = files: findFirst isSupported null files;
-    # Supported versions with versions as keys and file as value
-    supportedVersions = filterAttrs (version: file: file !=null ) (mapAttrs (version: files: supportedFile files) tensorRTVersions);
+
     # Compute versioned attribute name to be used in this package set
     computeName = version: "tensorrt_${toUnderscore version}";
+
+    # Supported versions with versions as keys and file as value
+    supportedVersions = lib.recursiveUpdate
+      {
+        tensorrt = {
+          enable = false;
+          fileVersionCuda = null;
+          fileVersionCudnn = null;
+          fullVersion = "0.0.0";
+          sha256 = null;
+          tarball = null;
+          supportedCudaVersions = [ ];
+        };
+      }
+      (mapAttrs' (version: attrs: nameValuePair (computeName version) attrs)
+        (filterAttrs (version: file: file != null) (mapAttrs (version: files: supportedFile files) tensorRTVersions)));
+
     # Add all supported builds as attributes
-    allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildTensorRTPackage (removeAttrs file ["fileVersionCuda"]))) supportedVersions;
+    allBuilds = mapAttrs (name: file: buildTensorRTPackage (removeAttrs file ["fileVersionCuda"])) supportedVersions;
+
     # Set the default attributes, e.g. tensorrt = tensorrt_8_4;
-    defaultBuild = { "tensorrt" = if allBuilds ? ${computeName tensorRTDefaultVersion}
-      then allBuilds.${computeName tensorRTDefaultVersion}
-      else throw "tensorrt-${tensorRTDefaultVersion} does not support your cuda version ${cudaVersion}"; };
+    defaultName = computeName tensorRTDefaultVersion;
+    defaultBuild = lib.optionalAttrs (allBuilds ? ${defaultName}) { tensorrt = allBuilds.${computeName tensorRTDefaultVersion}; };
   in {
     inherit buildTensorRTPackage;
   } // allBuilds // defaultBuild;
diff --git a/pkgs/development/libraries/science/math/tensorrt/generic.nix b/pkgs/development/libraries/science/math/tensorrt/generic.nix
deleted file mode 100644
index 165c6f356da89..0000000000000
--- a/pkgs/development/libraries/science/math/tensorrt/generic.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, backendStdenv
-, requireFile
-, autoPatchelfHook
-, autoAddOpenGLRunpathHook
-, cudaVersion
-, cudatoolkit
-, cudnn
-}:
-
-{ fullVersion
-, fileVersionCudnn ? null
-, tarball
-, sha256
-, supportedCudaVersions ? [ ]
-}:
-
-assert fileVersionCudnn == null || lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn)
-  "This version of TensorRT requires at least cuDNN ${fileVersionCudnn} (current version is ${cudnn.version})";
-
-backendStdenv.mkDerivation rec {
-  pname = "cudatoolkit-${cudatoolkit.majorVersion}-tensorrt";
-  version = fullVersion;
-  src = requireFile rec {
-    name = tarball;
-    inherit sha256;
-    message = ''
-      To use the TensorRT derivation, you must join the NVIDIA Developer Program and
-      download the ${version} Linux x86_64 TAR package for CUDA ${cudaVersion} from
-      ${meta.homepage}.
-
-      Once you have downloaded the file, add it to the store with the following
-      command, and try building this derivation again.
-
-      $ nix-store --add-fixed sha256 ${name}
-    '';
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    autoAddOpenGLRunpathHook
-  ];
-
-  # Used by autoPatchelfHook
-  buildInputs = [
-    backendStdenv.cc.cc.lib # libstdc++
-    cudatoolkit
-    cudnn
-  ];
-
-  sourceRoot = "TensorRT-${version}";
-
-  installPhase = ''
-    install --directory "$dev" "$out"
-    mv include "$dev"
-    mv targets/x86_64-linux-gnu/lib "$out"
-    install -D --target-directory="$out/bin" targets/x86_64-linux-gnu/bin/trtexec
-  '';
-
-  # Tell autoPatchelf about runtime dependencies.
-  # (postFixup phase is run before autoPatchelfHook.)
-  postFixup =
-    let
-      mostOfVersion = builtins.concatStringsSep "."
-        (lib.take 3 (lib.versions.splitVersion version));
-    in
-    ''
-      echo 'Patching RPATH of libnvinfer libs'
-      patchelf --debug --add-needed libnvinfer.so \
-        "$out/lib/libnvinfer.so.${mostOfVersion}" \
-        "$out/lib/libnvinfer_plugin.so.${mostOfVersion}" \
-        "$out/lib/libnvinfer_builder_resource.so.${mostOfVersion}"
-    '';
-
-  passthru.stdenv = backendStdenv;
-
-  meta = with lib; {
-    # Check that the cudatoolkit version satisfies our min/max constraints (both
-    # inclusive). We mark the package as broken if it fails to satisfies the
-    # official version constraints (as recorded in default.nix). In some cases
-    # you _may_ be able to smudge version constraints, just know that you're
-    # embarking into unknown and unsupported territory when doing so.
-    broken = !(elem cudaVersion supportedCudaVersions);
-    description = "TensorRT: a high-performance deep learning interface";
-    homepage = "https://developer.nvidia.com/tensorrt";
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ aidalgol ];
-  };
-}
diff --git a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
index d046c6864539d..2036c4c86253b 100644
--- a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
+++ b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
@@ -14,10 +14,15 @@
   inherit (cudaPackages) backendStdenv cudaFlags;
 
   cuda-common-redist = with cudaPackages; [
-    cuda_cudart # cuda_runtime.h
-    libcublas # cublas_v2.h
-    libcusolver # cusolverDn.h
-    libcusparse # cusparse.h
+    cuda_cudart.dev # cuda_runtime.h
+    cuda_cudart.lib
+    cuda_cccl.dev # <nv/target>
+    libcublas.dev # cublas_v2.h
+    libcublas.lib
+    libcusolver.dev # cusolverDn.h
+    libcusolver.lib
+    libcusparse.dev # cusparse.h
+    libcusparse.lib
   ];
 
   cuda-native-redist = symlinkJoin {
diff --git a/pkgs/development/libraries/spandsp/3.nix b/pkgs/development/libraries/spandsp/3.nix
index 24cfc3fc83b6f..9e916273809f0 100644
--- a/pkgs/development/libraries/spandsp/3.nix
+++ b/pkgs/development/libraries/spandsp/3.nix
@@ -9,11 +9,11 @@
 , callPackage
 }:
 
-(callPackage ./common.nix {}).overrideAttrs(finalAttrs: {
+(callPackage ./common.nix {}).overrideAttrs(previousAttrs: {
   version = "3.0.0";
   src = fetchFromGitHub {
     owner = "freeswitch";
-    repo = finalAttrs.pname;
+    repo = previousAttrs.pname;
     rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags
     sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7";
   };
diff --git a/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch b/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch
new file mode 100644
index 0000000000000..3c3fb50fc1525
--- /dev/null
+++ b/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch
@@ -0,0 +1,29 @@
+From 3f718fc1873c9c138684ea019e9bd42c9b24506c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Tue, 28 Nov 2023 11:28:11 +0100
+Subject: [PATCH] fix setuptools installation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ python/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/python/Makefile b/python/Makefile
+index f835daa..b41995a 100644
+--- a/python/Makefile
++++ b/python/Makefile
+@@ -12,7 +12,7 @@ setup_cmd += --root $(DESTDIR)
+ endif
+ 
+ ifneq ($(CONFIG_PYDIR),)
+-setup_cmd += --install-purelib $(CONFIG_PYDIR)
++setup_cmd += --root / --prefix $(CONFIG_PYDIR)
+ purelibdir := $(CONFIG_PYDIR)
+ else
+ purelibdir := $(shell python3 -c "import sysconfig; print(sysconfig.get_paths()['purelib'])")
+-- 
+2.42.0
+
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
index c7b83db534893..c62f54b140912 100644
--- a/pkgs/development/libraries/spdk/default.nix
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
   patches = [
     # https://review.spdk.io/gerrit/c/spdk/spdk/+/20394
     ./setuptools.patch
+    ./0001-fix-setuptools-installation.patch
   ];
 
   postPatch = ''
@@ -67,9 +68,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-dpdk=${dpdk}"
-    "--pydir=${placeholder "out"}/${python3.sitePackages}"
+    "--pydir=${placeholder "out"}"
   ];
 
+  postCheck = ''
+    python3 -m spdk
+  '';
+
   env.NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
   # otherwise does not find strncpy when compiling
   env.NIX_LDFLAGS = "-lbsd";
diff --git a/pkgs/development/libraries/symengine/default.nix b/pkgs/development/libraries/symengine/default.nix
index 4abaced42ae24..16c1e461ec5e4 100644
--- a/pkgs/development/libraries/symengine/default.nix
+++ b/pkgs/development/libraries/symengine/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "symengine";
-  version = "0.10.1";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine";
     rev = "v${version}";
-    hash = "sha256-qTu0vS9K6rrr/0SXKpGC9P1QSN/AN7hyO/4DrGvhxWM=";
+    hash = "sha256-TB6wZnPZ16k8N8r0F6x+363zlTCJbM4HsKLvMZy1uYA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
index cd087045a8a31..a5bfba8b05599 100644
--- a/pkgs/development/libraries/tcllib/default.nix
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -1,14 +1,23 @@
-{ lib, fetchurl, tcl }:
+{ lib
+, fetchzip
+, tcl
+, critcl
+, withCritcl ? true
+}:
 
 tcl.mkTclDerivation rec {
   pname = "tcllib";
   version = "1.21";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
-    sha256 = "sha256-RrK7XsgEk2OuAWRa8RvaO9tdsQYp6AfYHRrUbNG+rVA=";
+    hash = "sha256-p8thpRpC+9k/LvbBFaSOIpDXuhMlEWhs0qbrjtKcTzQ=";
   };
 
+  nativeBuildInputs = lib.optional withCritcl critcl;
+
+  buildFlags = [ "all" ] ++ lib.optional withCritcl "critcl";
+
   meta = {
     homepage = "https://core.tcl-lang.org/tcllib/";
     description = "Tcl-only library of standard routines for Tcl";
diff --git a/pkgs/development/libraries/termbench-pro/default.nix b/pkgs/development/libraries/termbench-pro/default.nix
new file mode 100644
index 0000000000000..11edecf31cc78
--- /dev/null
+++ b/pkgs/development/libraries/termbench-pro/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, cmake, fmt }:
+
+stdenv.mkDerivation {
+  pname = "termbench-pro";
+  version = "unstable-2023-01-26";
+
+  src = fetchFromGitHub {
+    owner = "contour-terminal";
+    repo = "termbench-pro";
+    rev = "a4feadd3a698e4fe2d9dd5b03d5f941534a25a91";
+    hash = "sha256-/zpJY9Mecalk7dneYZYzmFOroopFGklWw62a+LbiUVs=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fmt ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mkdir -p $out/lib
+    mv termbenchpro/tbp $out/bin
+    mv libtermbench/libtermbench.a $out/lib
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Terminal Benchmarking as CLI and library";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ moni ];
+  };
+}
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index c5d8d0fd3c498..1d68421c6dcdd 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tevent";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ZiqfJ3KBvPUGtrwKC6oD5EpiIpUW7jS8xwOguCqkaQU=";
+    sha256 = "sha256-GqWPIQF+2ML2Bq6Eqn55W1Q57dTdX2jxo4in1vtA9oI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tiledb/default.nix b/pkgs/development/libraries/tiledb/default.nix
index ae182ff461367..f8540d4ffaa06 100644
--- a/pkgs/development/libraries/tiledb/default.nix
+++ b/pkgs/development/libraries/tiledb/default.nix
@@ -34,13 +34,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tiledb";
-  version = "2.18.0";
+  version = "2.18.2";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB";
     rev = version;
-    hash = "sha256-y5/kXODzkNKmMn8P+WOOWGy9Htd0nhXbUxmfw/SqSYY=";
+    hash = "sha256-uLiXhigYz3v7NgY38twot3sBHxZS5QCrOiPfME4wWzE=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/ucc/default.nix b/pkgs/development/libraries/ucc/default.nix
index a92c6bea37d70..68f358b3d3deb 100644
--- a/pkgs/development/libraries/ucc/default.nix
+++ b/pkgs/development/libraries/ucc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx
 , config
 , enableCuda ? config.cudaSupport
-, cudatoolkit
+, cudaPackages
 , enableAvx ? stdenv.hostPlatform.avxSupport
 , enableSse41 ? stdenv.hostPlatform.sse4_1Support
 , enableSse42 ? stdenv.hostPlatform.sse4_2Support
@@ -30,19 +30,25 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  nativeBuildInputs = [ libtool automake autoconf ]
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
+  buildInputs = [ ucx ]
+    ++ lib.optionals enableCuda [
+      cudaPackages.cuda_cccl
+      cudaPackages.cuda_cudart
+    ];
+
+
   preConfigure = ''
     ./autogen.sh
+  '' + lib.optionalString enableCuda ''
+    configureFlagsArray+=( "--with-nvcc-gencode=${builtins.concatStringsSep " " cudaPackages.cudaFlags.gencode}" )
   '';
-
-  nativeBuildInputs = [ libtool automake autoconf ];
-  buildInputs = [ ucx ]
-    ++ lib.optional enableCuda cudatoolkit;
-
   configureFlags = [ ]
    ++ lib.optional enableSse41 "--with-sse41"
    ++ lib.optional enableSse42 "--with-sse42"
    ++ lib.optional enableAvx "--with-avx"
-   ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}";
+   ++ lib.optional enableCuda "--with-cuda=${cudaPackages.cuda_cudart}";
 
   postInstall = ''
     find $out/lib/ -name "*.la" -exec rm -f \{} \;
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index 627cac56bb737..3b923d8efdd2a 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -2,18 +2,12 @@
 , rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin, pkg-config
 , config
 , enableCuda ? config.cudaSupport
-, cudatoolkit
+, cudaPackages
 , enableRocm ? config.rocmSupport
 , rocmPackages
 }:
 
 let
-  # Needed for configure to find all libraries
-  cudatoolkit' = symlinkJoin {
-    inherit (cudatoolkit) name meta;
-    paths = [ cudatoolkit cudatoolkit.lib ];
-  };
-
   rocmList = with rocmPackages; [ rocm-core rocm-runtime rocm-device-libs clr ];
 
   rocm = symlinkJoin {
@@ -35,7 +29,15 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook doxygen pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    doxygen
+    pkg-config
+  ]
+  ++ lib.optionals enableCuda [
+    cudaPackages.cuda_nvcc
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
 
   buildInputs = [
     libbfd
@@ -44,8 +46,16 @@ stdenv.mkDerivation rec {
     perl
     rdma-core
     zlib
-  ] ++ lib.optional enableCuda cudatoolkit
-  ++ lib.optionals enableRocm rocmList;
+  ] ++ lib.optionals enableCuda [
+    cudaPackages.cuda_cudart
+    cudaPackages.cuda_nvml_dev
+
+  ] ++ lib.optionals enableRocm rocmList;
+
+  LDFLAGS = lib.optionals enableCuda [
+    # Fake libnvidia-ml.so (the real one is deployed impurely)
+    "-L${cudaPackages.cuda_nvml_dev}/lib/stubs"
+  ];
 
   configureFlags = [
     "--with-rdmacm=${lib.getDev rdma-core}"
@@ -53,7 +63,7 @@ stdenv.mkDerivation rec {
     "--with-rc"
     "--with-dm"
     "--with-verbs=${lib.getDev rdma-core}"
-  ] ++ lib.optional enableCuda "--with-cuda=${cudatoolkit'}"
+  ] ++ lib.optionals enableCuda [ "--with-cuda=${cudaPackages.cuda_cudart}" ]
   ++ lib.optional enableRocm "--with-rocm=${rocm}";
 
   postInstall = ''
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 163cea7565c09..068c1d3d2c2a8 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ vulkan-headers ]
-    ++ lib.optionals (!stdenv.isDarwin) [ libX11 libxcb libXrandr wayland ];
+    ++ lib.optionals stdenv.isLinux [ libX11 libxcb libXrandr wayland ];
 
   cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
     ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "LunarG Vulkan loader";
     homepage    = "https://www.lunarg.com";
-    platforms   = platforms.unix;
+    platforms   = platforms.unix ++ platforms.windows;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
     broken = (version != vulkan-headers.version);
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 8192dded7e4ca..c5bf837b3dace 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -70,7 +70,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "webkitgtk";
-  version = "2.42.2";
+  version = "2.42.3";
   name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}";
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -81,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
-    hash = "sha256-VyCqPoYn8bn2MlIYfU3w+CM65x1pexeW6/vlynUL0Rg=";
+    hash = "sha256-ChpGMARWKLOm/pXactxHhSz/INZr4axv0NZpyIwT2OI=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK32.nix b/pkgs/development/libraries/wxwidgets/wxGTK32.nix
index bcd75412aab28..5bba7315f5cc4 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK32.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK32.nix
@@ -32,6 +32,7 @@
 , AVFoundation
 , AVKit
 , WebKit
+, fetchpatch
 }:
 let
   catch = fetchFromGitHub {
@@ -59,6 +60,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-YkV150sDsfBEHvHne0GF6i8Y5881NrByPkLtPAmb24E=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "avoid_gtk3_crash.patch";
+      url = "https://github.com/wxWidgets/wxWidgets/commit/8ea22b5e92bf46add0b20059f6e39a938858ff97.patch";
+      hash = "sha256-zAyqVTdej4F3R7vVMLiKkXqJTAHDtGYJnyjaRyDmMOM=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix
index e5ca1fc58edc6..90fe559c3cf41 100644
--- a/pkgs/development/libraries/x264/default.nix
+++ b/pkgs/development/libraries/x264/default.nix
@@ -1,6 +1,10 @@
-{ stdenv, lib, fetchFromGitLab, fetchpatch, nasm
+{ stdenv
+, lib
+, fetchFromGitLab
+, fetchpatch
+, nasm
 , enableShared ? !stdenv.hostPlatform.isStatic
- }:
+}:
 
 stdenv.mkDerivation rec {
   pname = "x264";
@@ -49,9 +53,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for encoding H264/AVC video streams";
-    homepage    = "http://www.videolan.org/developers/x264.html";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.unix;
+    homepage = "http://www.videolan.org/developers/x264.html";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix ++ platforms.windows;
     maintainers = with maintainers; [ tadeokondrak ];
   };
 }
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index 1fd30139bc14c..11f598b6544b1 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "45.0";
+  version = "45.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "lJWYhhyAAA/r8YzBKzchyVwbsdGTcfwhVtxPM971r/A=";
+    sha256 = "PpyoIQRABfs3vWjr5K0Zb8PQcoNVgUZ6IqSHnax7X90=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
index bb1569b3a2584..e2d12c250171d 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-xapp";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xdg-desktop-portal-xapp";
     rev = version;
-    hash = "sha256-sPpRDoQuzyjqB+kwz0U2WFm/Byx7SueM3aCtpgy38JM=";
+    hash = "sha256-Zz44PCociYhUuHTS3HJNxJPCkiIl01FFe4//7jtgDsk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xeus/default.nix b/pkgs/development/libraries/xeus/default.nix
index 172fd0e73578e..1ea5ec49170d0 100644
--- a/pkgs/development/libraries/xeus/default.nix
+++ b/pkgs/development/libraries/xeus/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xeus";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "jupyter-xeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-kGIVcsgLG6weNfBwgEVTMa8NA9MXSztzi9ML5/gDqAQ=";
+    sha256 = "sha256-1QaMACLqTWC74V7l2LHLUMN/s/N4kNrE7+Ny1wkbavs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xsimd/default.nix b/pkgs/development/libraries/xsimd/default.nix
index 8b53db0388fe1..dd3a0d11f4652 100644
--- a/pkgs/development/libraries/xsimd/default.nix
+++ b/pkgs/development/libraries/xsimd/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DBUILD_TESTS=${if (finalAttrs.doCheck && stdenv.hostPlatform == stdenv.buildPlatform) then "ON" else "OFF"}"
+    "-DBUILD_TESTS=${if (finalAttrs.finalPackage.doCheck && stdenv.hostPlatform == stdenv.buildPlatform) then "ON" else "OFF"}"
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/xtensor/default.nix b/pkgs/development/libraries/xtensor/default.nix
index bb01b7f875ea4..678f87af74cfa 100644
--- a/pkgs/development/libraries/xtensor/default.nix
+++ b/pkgs/development/libraries/xtensor/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = let
     cmakeBool = x: if x then "ON" else "OFF";
   in [
-    "-DBUILD_TESTS=${cmakeBool finalAttrs.doCheck}"
+    "-DBUILD_TESTS=${cmakeBool finalAttrs.finalPackage.doCheck}"
     "-DXTENSOR_ENABLE_ASSERT=${cmakeBool enableAssertions}"
     "-DXTENSOR_CHECK_DIMENSION=${cmakeBool enableBoundChecks}"
   ];
diff --git a/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch b/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch
deleted file mode 100644
index cd51d17b15005..0000000000000
--- a/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 1c6b32d..aa7dd25 100644
---- a/meson.build
-+++ b/meson.build
-@@ -58,10 +58,10 @@ endif
- 
- # argp-standalone dependency (if required)
- if build_machine.system() == 'windows' or build_machine.system() == 'darwin' or build_machine.system() == 'freebsd' or not cc.links('#include <argp.h>\nstatic error_t parse_opt (int key, char *arg, struct argp_state *state) { argp_usage(state); return 0; }; void main() {}')
--    if fs.is_dir(join_paths([get_option('prefix'), 'include']))
--        inc += include_directories(join_paths([get_option('prefix'), 'include']))
-+    argplib = cc.find_library('argp', has_headers : ['argp.h'], required: false)
-+    if not argplib.found()
-+        argplib = dependency('argp-standalone')
-     endif
--    argplib = cc.find_library('argp', dirs : join_paths([get_option('prefix'), 'lib']))
- else
-     argplib = dependency('', required : false)
- endif
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index e67b8ee336ed6..4baa18b9d46f4 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.16";
+  version = "1.2.17";
   pname = "zlog";
 
   src = fetchFromGitHub {
     owner = "HardySimpson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wpaMbFKSwTIFe3p65pMJ6Pf2qKp1uYZCyyinGU4AxrQ=";
+    sha256 = "sha256-ckpDMRLxObpl8N539DC5u2bPpmD7jM+KugurUfta6tg=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch b/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
deleted file mode 100644
index b380894b04a83..0000000000000
--- a/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Dont use the qt+libs system for managing Qt dependencies, because Nix provides
-them already.
-Don't build the deploy.lisp helper file, because Nix also can handle deployment.
---- a/qtools.asd
-+++ b/qtools.asd
-@@ -33,10 +33,9 @@
-                (:file "generate")
-                (:file "dynamic")
-                (:file "precompile")
--               (:file "deploy")
-                (:file "fast-call")
-                (:file "documentation"))
--  :depends-on (:qt+libs
-+  :depends-on (:qt
-                :deploy
-                :cl-ppcre
-                :closer-mop
-
-Diff finished.  Sun Oct  2 14:38:06 2022
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch b/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch
deleted file mode 100644
index 4acf0a9d3dda9..0000000000000
--- a/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/qt-libs.asd
-+++ b/qt-libs.asd
-@@ -17,5 +17,4 @@
-   :components ((:file "qt-libs"))
-   :depends-on (:qt-lib-generator
-                :cl-ppcre
--               :cffi)
--  :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
-+               :cffi))
---- a/qt-libs.lisp
-+++ b/qt-libs.lisp
-@@ -94,16 +94,14 @@
-   standalone-dir)
-
- (defun %ensure-lib-loaded (file)
--  (let ((file (etypecase file
--                (pathname file)
--                (string (installed-library-file file))))
--        (name (intern (string-upcase (pathname-name file))))
--        #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
--    (cffi::register-foreign-library
--     name `((T ,file))
--     :search-path (to-directory file))
--    (unless (cffi:foreign-library-loaded-p name)
--      (cffi:load-foreign-library name))))
-+ (let ((name (make-pathname :name (format nil "lib~a" file)
-+                             :type #+unix "so"
-+                                   #+darwin "dylib")))
-+    (or (find-if (lambda (lib)
-+                   (equal (cffi:foreign-library-pathname lib)
-+                          (namestring name)))
-+                 (cffi:list-foreign-libraries))
-+        (cffi:load-foreign-library name))))
-
- (defun ensure-lib-loaded (file)
-   (cond ((pathnamep file)
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index fcde2f41ddceb..b1d016ba7dca8 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -514,6 +514,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+fzy = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+buildLuarocksPackage {
+  pname = "fzy";
+  version = "1.0-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/fzy-1.0-1.rockspec";
+    sha256 = "1v050lm3rn1k5wwi2nimlbp1b7j6b8vkwvhc1npyqzj8jv7w9w9n";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/swarn/fzy-lua",
+  "rev": "2d018a56e3a240bca4b3142a723b2f56392f3e4a",
+  "date": "2023-01-29T07:05:02-06:00",
+  "path": "/nix/store/nz19glmy52jbz46wl7xf0jd8m441klf0-fzy-lua",
+  "sha256": "0xknm5513a6nlariwxgqndf3wj8xals26swjsv06hx133ihna01x",
+  "hash": "sha256-PQBlYRwjdGjA1pJrIzRVHUk+XLP4dR6zotaoEUqpdnY=",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path" "sha256"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/swarn/fzy-lua";
+    description = "A fuzzy string-matching algorithm";
+    maintainers = with lib.maintainers; [ mrcjkb ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 gitsigns-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua }:
 buildLuarocksPackage {
   pname = "gitsigns.nvim";
@@ -2183,6 +2216,29 @@ buildLuarocksPackage {
   };
 }) {};
 
+luasnip = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, jsregexp, lua, luaOlder }:
+buildLuarocksPackage {
+  pname = "luasnip";
+  version = "2.1.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/luasnip-2.1.1-1.rockspec";
+    sha256 = "1jrdai8qsanr6x2vqp70hipsxrxh0abvwr2xwh9p4wr29k4wyycb";
+  }).outPath;
+  src = fetchzip {
+    url    = "https://github.com/L3MON4D3/LuaSnip/archive/v2.1.1.zip";
+    sha256 = "0mbpwf3sxfrmrza13d9w0hlcmzlrj551g332syp1qhs94abfnnrd";
+  };
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ jsregexp lua ];
+
+  meta = {
+    homepage = "https://github.com/L3MON4D3/LuaSnip";
+    description = "Snippet Engine for Neovim written in Lua.";
+    license.fullName = "Apache-2.0";
+  };
+}) {};
+
 luasocket = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
 buildLuarocksPackage {
   pname = "luasocket";
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index d6b95eb6593d7..72334f6d0ff09 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -126,6 +126,16 @@ with prev;
     '';
   });
 
+  # Until https://github.com/swarn/fzy-lua/pull/8 is merged,
+  # we have to invoke busted manually
+  fzy = prev.fzy.overrideAttrs(oa: {
+    doCheck = true;
+    nativeCheckInputs = [ prev.busted ];
+    checkPhase = ''
+      busted test/test.lua
+    '';
+  });
+
   http = prev.http.overrideAttrs (oa: {
     patches = [
       (fetchpatch {
diff --git a/pkgs/development/misc/avr/libc/default.nix b/pkgs/development/misc/avr/libc/default.nix
index ac9da31fcc0f8..d7e9f0efe9992 100644
--- a/pkgs/development/misc/avr/libc/default.nix
+++ b/pkgs/development/misc/avr/libc/default.nix
@@ -15,8 +15,11 @@ stdenv.mkDerivation rec {
   stripDebugList = [ "bin" ];
   dontPatchELF = true;
 
+  enableParallelBuilding = true;
+
   passthru = {
     incdir = "/avr/include";
+    libdir = "/avr/lib";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
index 97013e58554c1..84e2dfa1289bc 100644
--- a/pkgs/development/node-packages/aliases.nix
+++ b/pkgs/development/node-packages/aliases.nix
@@ -120,6 +120,7 @@ mapAliases {
   reveal-md = pkgs.reveal-md; # added 2023-07-31
   inherit (pkgs) rtlcss; # added 2023-08-29
   s3http = throw "s3http was removed because it was abandoned upstream"; # added 2023-08-18
+  inherit (pkgs) serverless; # Added 2023-11-29
   inherit (pkgs) snyk; # Added 2023-08-30
   "@squoosh/cli" = throw "@squoosh/cli was removed because it was abandoned upstream"; # added 2023-09-02
   ssb-server = throw "ssb-server was removed because it was broken"; # added 2023-08-21
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 56b4337509611..df6dc59e3c119 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -213,7 +213,6 @@
 , "sass"
 , "semver"
 , "serve"
-, "serverless"
 , "shout"
 , "sloc"
 , "smartdc"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 294e59cd239db..a7e1580f8d58e 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -91878,711 +91878,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  serverless = nodeEnv.buildNodePackage {
-    name = "serverless";
-    packageName = "serverless";
-    version = "3.37.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.37.0.tgz";
-      sha512 = "HRYzduFrJTMRVknmoqdmdfZJ0c945h5jhrUf8rTzdBdCoQ2ETMFd6xlHnrAPqsEreR1apAVb0zFSZLwgO7Tigg==";
-    };
-    dependencies = [
-      sources."2-thenable-1.0.0"
-      (sources."@aws-crypto/crc32-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-crypto/ie11-detection-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-crypto/sha256-browser-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-crypto/sha256-js-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-crypto/supports-web-crypto-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-crypto/util-3.0.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      (sources."@aws-sdk/client-cloudformation-3.454.0" // {
-        dependencies = [
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."@aws-sdk/client-sso-3.451.0"
-      sources."@aws-sdk/client-sts-3.454.0"
-      sources."@aws-sdk/core-3.451.0"
-      sources."@aws-sdk/credential-provider-env-3.451.0"
-      sources."@aws-sdk/credential-provider-ini-3.451.0"
-      sources."@aws-sdk/credential-provider-node-3.451.0"
-      sources."@aws-sdk/credential-provider-process-3.451.0"
-      sources."@aws-sdk/credential-provider-sso-3.451.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.451.0"
-      sources."@aws-sdk/middleware-host-header-3.451.0"
-      sources."@aws-sdk/middleware-logger-3.451.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.451.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.451.0"
-      sources."@aws-sdk/middleware-signing-3.451.0"
-      sources."@aws-sdk/middleware-user-agent-3.451.0"
-      sources."@aws-sdk/region-config-resolver-3.451.0"
-      sources."@aws-sdk/token-providers-3.451.0"
-      sources."@aws-sdk/types-3.451.0"
-      sources."@aws-sdk/util-endpoints-3.451.0"
-      sources."@aws-sdk/util-locate-window-3.310.0"
-      sources."@aws-sdk/util-user-agent-browser-3.451.0"
-      sources."@aws-sdk/util-user-agent-node-3.451.0"
-      sources."@aws-sdk/util-utf8-browser-3.259.0"
-      sources."@httptoolkit/websocket-stream-6.0.1"
-      sources."@kwsites/file-exists-1.1.1"
-      sources."@kwsites/promise-deferred-1.1.1"
-      sources."@nodelib/fs.scandir-2.1.5"
-      sources."@nodelib/fs.stat-2.0.5"
-      sources."@nodelib/fs.walk-1.2.8"
-      (sources."@serverless/dashboard-plugin-7.2.0" // {
-        dependencies = [
-          sources."child-process-ext-3.0.2"
-          sources."fs-extra-9.1.0"
-          sources."open-7.4.2"
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-client-4.5.1" // {
-        dependencies = [
-          sources."js-yaml-3.14.1"
-        ];
-      })
-      (sources."@serverless/utils-6.15.0" // {
-        dependencies = [
-          sources."jwt-decode-3.1.2"
-          sources."ms-2.1.3"
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."@sindresorhus/is-4.6.0"
-      sources."@smithy/abort-controller-2.0.13"
-      sources."@smithy/config-resolver-2.0.18"
-      sources."@smithy/credential-provider-imds-2.1.1"
-      sources."@smithy/eventstream-codec-2.0.13"
-      sources."@smithy/fetch-http-handler-2.2.6"
-      sources."@smithy/hash-node-2.0.15"
-      sources."@smithy/invalid-dependency-2.0.13"
-      sources."@smithy/is-array-buffer-2.0.0"
-      sources."@smithy/middleware-content-length-2.0.15"
-      sources."@smithy/middleware-endpoint-2.2.0"
-      (sources."@smithy/middleware-retry-2.0.20" // {
-        dependencies = [
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."@smithy/middleware-serde-2.0.13"
-      sources."@smithy/middleware-stack-2.0.7"
-      sources."@smithy/node-config-provider-2.1.5"
-      sources."@smithy/node-http-handler-2.1.9"
-      sources."@smithy/property-provider-2.0.14"
-      sources."@smithy/protocol-http-3.0.9"
-      sources."@smithy/querystring-builder-2.0.13"
-      sources."@smithy/querystring-parser-2.0.13"
-      sources."@smithy/service-error-classification-2.0.6"
-      sources."@smithy/shared-ini-file-loader-2.2.4"
-      sources."@smithy/signature-v4-2.0.15"
-      sources."@smithy/smithy-client-2.1.15"
-      sources."@smithy/types-2.5.0"
-      sources."@smithy/url-parser-2.0.13"
-      sources."@smithy/util-base64-2.0.1"
-      sources."@smithy/util-body-length-browser-2.0.0"
-      sources."@smithy/util-body-length-node-2.1.0"
-      sources."@smithy/util-buffer-from-2.0.0"
-      sources."@smithy/util-config-provider-2.0.0"
-      sources."@smithy/util-defaults-mode-browser-2.0.19"
-      sources."@smithy/util-defaults-mode-node-2.0.25"
-      sources."@smithy/util-endpoints-1.0.4"
-      sources."@smithy/util-hex-encoding-2.0.0"
-      sources."@smithy/util-middleware-2.0.6"
-      sources."@smithy/util-retry-2.0.6"
-      sources."@smithy/util-stream-2.0.20"
-      sources."@smithy/util-uri-escape-2.0.0"
-      sources."@smithy/util-utf8-2.0.2"
-      sources."@smithy/util-waiter-2.0.13"
-      sources."@szmarczak/http-timer-4.0.6"
-      sources."@tokenizer/token-0.3.0"
-      sources."@types/cacheable-request-6.0.3"
-      sources."@types/http-cache-semantics-4.0.4"
-      sources."@types/keyv-3.1.4"
-      sources."@types/lodash-4.14.202"
-      sources."@types/node-20.9.3"
-      sources."@types/responselike-1.0.3"
-      sources."@types/ws-8.5.10"
-      sources."abort-controller-3.0.0"
-      sources."adm-zip-0.5.10"
-      sources."agent-base-6.0.2"
-      sources."ajv-8.12.0"
-      sources."ajv-formats-2.1.1"
-      sources."ansi-escapes-4.3.2"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
-      sources."anymatch-3.1.3"
-      (sources."archive-type-4.0.0" // {
-        dependencies = [
-          sources."file-type-4.4.0"
-        ];
-      })
-      (sources."archiver-5.3.2" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."archiver-utils-2.1.0"
-      sources."argparse-1.0.10"
-      sources."array-union-2.1.0"
-      sources."asap-2.0.6"
-      sources."async-3.2.5"
-      sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
-      sources."available-typed-arrays-1.0.5"
-      sources."aws-crt-1.19.0"
-      (sources."aws-sdk-2.1500.0" // {
-        dependencies = [
-          sources."buffer-4.9.2"
-          sources."ieee754-1.1.13"
-          sources."querystring-0.2.0"
-          sources."uuid-8.0.0"
-        ];
-      })
-      sources."axios-1.6.2"
-      sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
-      sources."binary-extensions-2.2.0"
-      (sources."bl-4.1.0" // {
-        dependencies = [
-          sources."buffer-5.7.1"
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."bluebird-3.7.2"
-      sources."bowser-2.11.0"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."buffer-6.0.3"
-      sources."buffer-alloc-1.2.0"
-      sources."buffer-alloc-unsafe-1.1.0"
-      sources."buffer-crc32-0.2.13"
-      sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.2"
-      sources."bufferutil-4.0.8"
-      sources."builtin-modules-3.3.0"
-      sources."builtins-1.0.3"
-      sources."cacheable-lookup-5.0.4"
-      (sources."cacheable-request-7.0.4" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
-      sources."cachedir-2.4.0"
-      sources."call-bind-1.0.5"
-      (sources."chalk-4.1.2" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."chardet-0.7.0"
-      (sources."child-process-ext-2.1.1" // {
-        dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."path-key-2.0.1"
-          sources."semver-5.7.2"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."chokidar-3.5.3"
-      sources."chownr-2.0.0"
-      sources."ci-info-3.9.0"
-      sources."cli-color-2.0.3"
-      sources."cli-cursor-3.1.0"
-      sources."cli-progress-footer-2.3.2"
-      sources."cli-spinners-2.9.1"
-      (sources."cli-sprintf-format-1.1.1" // {
-        dependencies = [
-          sources."supports-color-6.1.0"
-        ];
-      })
-      sources."cli-width-3.0.0"
-      sources."clone-1.0.4"
-      sources."clone-response-1.0.3"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."combined-stream-1.0.8"
-      sources."commander-2.20.3"
-      sources."commist-1.1.0"
-      sources."component-emitter-1.3.1"
-      (sources."compress-commons-4.1.2" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."concat-map-0.0.1"
-      (sources."concat-stream-2.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."content-disposition-0.5.4"
-      sources."cookiejar-2.1.4"
-      sources."core-util-is-1.0.3"
-      sources."crc-32-1.2.2"
-      (sources."crc32-stream-4.0.3" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."cross-spawn-7.0.3"
-      sources."crypto-js-4.2.0"
-      (sources."d-1.0.1" // {
-        dependencies = [
-          sources."type-1.2.0"
-        ];
-      })
-      sources."dayjs-1.11.10"
-      sources."debug-4.3.4"
-      (sources."decompress-4.2.1" // {
-        dependencies = [
-          (sources."make-dir-1.3.0" // {
-            dependencies = [
-              sources."pify-3.0.0"
-            ];
-          })
-        ];
-      })
-      (sources."decompress-response-6.0.0" // {
-        dependencies = [
-          sources."mimic-response-3.1.0"
-        ];
-      })
-      (sources."decompress-tar-4.1.1" // {
-        dependencies = [
-          sources."bl-1.2.3"
-          sources."file-type-5.2.0"
-          sources."tar-stream-1.6.2"
-        ];
-      })
-      (sources."decompress-tarbz2-4.1.1" // {
-        dependencies = [
-          sources."file-type-6.2.0"
-        ];
-      })
-      (sources."decompress-targz-4.1.1" // {
-        dependencies = [
-          sources."file-type-5.2.0"
-        ];
-      })
-      (sources."decompress-unzip-4.0.1" // {
-        dependencies = [
-          sources."file-type-3.9.0"
-          sources."get-stream-2.3.1"
-        ];
-      })
-      sources."defaults-1.0.4"
-      sources."defer-to-connect-2.0.1"
-      sources."deferred-0.7.11"
-      sources."define-data-property-1.1.1"
-      sources."define-lazy-prop-2.0.0"
-      sources."delayed-stream-1.0.0"
-      sources."dezalgo-1.0.4"
-      sources."dir-glob-3.0.1"
-      sources."dotenv-16.3.1"
-      sources."dotenv-expand-10.0.0"
-      sources."duplexify-3.7.1"
-      sources."duration-0.2.2"
-      sources."emoji-regex-8.0.0"
-      (sources."encoding-0.1.13" // {
-        dependencies = [
-          sources."iconv-lite-0.6.3"
-        ];
-      })
-      sources."end-of-stream-1.4.4"
-      sources."es5-ext-0.10.62"
-      sources."es6-iterator-2.0.3"
-      sources."es6-set-0.1.6"
-      sources."es6-symbol-3.1.3"
-      sources."es6-weak-map-2.0.3"
-      sources."escape-string-regexp-1.0.5"
-      sources."esniff-1.1.0"
-      sources."esprima-4.0.1"
-      sources."essentials-1.2.0"
-      sources."event-emitter-0.3.5"
-      sources."event-target-shim-5.0.1"
-      sources."events-1.1.1"
-      sources."ext-1.7.0"
-      sources."ext-list-2.2.2"
-      sources."ext-name-5.0.0"
-      sources."external-editor-3.1.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.3.2"
-      sources."fast-safe-stringify-2.1.1"
-      sources."fast-xml-parser-4.2.5"
-      sources."fastest-levenshtein-1.0.16"
-      sources."fastq-1.15.0"
-      sources."fd-slicer-1.1.0"
-      sources."figures-3.2.0"
-      sources."file-type-16.5.4"
-      sources."filename-reserved-regex-2.0.0"
-      sources."filenamify-4.3.0"
-      sources."filesize-10.1.0"
-      sources."fill-range-7.0.1"
-      sources."find-requires-1.0.0"
-      sources."flat-5.0.2"
-      sources."follow-redirects-1.15.3"
-      sources."for-each-0.3.3"
-      sources."form-data-4.0.0"
-      sources."formidable-2.1.2"
-      sources."fs-constants-1.0.0"
-      sources."fs-extra-10.1.0"
-      (sources."fs-minipass-2.1.0" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      sources."fs.realpath-1.0.0"
-      sources."fs2-0.3.9"
-      sources."fsevents-2.3.3"
-      sources."function-bind-1.1.2"
-      sources."get-intrinsic-1.2.2"
-      sources."get-stdin-8.0.0"
-      sources."get-stream-6.0.1"
-      sources."glob-7.2.3"
-      sources."glob-parent-5.1.2"
-      sources."globby-11.1.0"
-      sources."gopd-1.0.1"
-      sources."got-11.8.6"
-      sources."graceful-fs-4.2.11"
-      sources."graphlib-2.1.8"
-      sources."has-flag-3.0.0"
-      sources."has-property-descriptors-1.0.1"
-      sources."has-proto-1.0.1"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
-      sources."hasown-2.0.0"
-      (sources."help-me-3.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."hexoid-1.0.0"
-      sources."http-cache-semantics-4.1.1"
-      sources."http2-wrapper-1.0.3"
-      sources."https-proxy-agent-5.0.1"
-      sources."iconv-lite-0.4.24"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.3.0"
-      sources."immediate-3.0.6"
-      sources."imurmurhash-0.1.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."inquirer-8.2.6"
-      sources."is-arguments-1.1.1"
-      sources."is-binary-path-2.1.0"
-      sources."is-callable-1.2.7"
-      sources."is-docker-2.2.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.10"
-      sources."is-glob-4.0.3"
-      sources."is-interactive-1.0.0"
-      sources."is-natural-number-4.0.1"
-      sources."is-number-7.0.0"
-      sources."is-plain-obj-1.1.0"
-      sources."is-promise-2.2.2"
-      sources."is-stream-1.1.0"
-      sources."is-typed-array-1.1.12"
-      sources."is-unicode-supported-0.1.0"
-      sources."is-wsl-2.2.0"
-      sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."isomorphic-ws-4.0.1"
-      sources."jmespath-0.16.0"
-      sources."js-sdsl-4.3.0"
-      (sources."js-yaml-4.1.0" // {
-        dependencies = [
-          sources."argparse-2.0.1"
-        ];
-      })
-      sources."json-buffer-3.0.1"
-      (sources."json-colorizer-2.2.2" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."supports-color-5.5.0"
-        ];
-      })
-      sources."json-cycle-1.5.0"
-      (sources."json-refs-3.0.15" // {
-        dependencies = [
-          sources."commander-4.1.1"
-          sources."js-yaml-3.14.1"
-        ];
-      })
-      sources."json-schema-traverse-1.0.0"
-      sources."jsonfile-6.1.0"
-      sources."jszip-3.10.1"
-      sources."jwt-decode-2.2.0"
-      sources."keyv-4.5.4"
-      sources."lazystream-1.0.1"
-      sources."leven-2.1.0"
-      sources."lie-3.3.0"
-      sources."lodash-4.17.21"
-      sources."lodash.defaults-4.2.0"
-      sources."lodash.difference-4.5.0"
-      sources."lodash.flatten-4.4.0"
-      sources."lodash.get-4.4.2"
-      sources."lodash.isplainobject-4.0.6"
-      sources."lodash.union-4.6.0"
-      sources."log-6.3.1"
-      sources."log-node-8.0.3"
-      sources."log-symbols-4.1.0"
-      sources."lowercase-keys-2.0.0"
-      sources."lru-cache-6.0.0"
-      sources."lru-queue-0.1.0"
-      sources."make-dir-4.0.0"
-      sources."memoizee-0.4.15"
-      sources."merge2-1.4.1"
-      sources."methods-1.1.2"
-      sources."micromatch-4.0.5"
-      sources."mime-2.6.0"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-fn-2.1.0"
-      sources."mimic-response-1.0.1"
-      sources."minimatch-3.1.2"
-      sources."minimist-1.2.8"
-      sources."minipass-5.0.0"
-      (sources."minizlib-2.1.2" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      sources."mkdirp-1.0.4"
-      (sources."mqtt-4.3.7" // {
-        dependencies = [
-          sources."duplexify-4.1.2"
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."mqtt-packet-6.10.0"
-      sources."ms-2.1.2"
-      sources."mute-stream-0.0.8"
-      sources."native-promise-only-0.8.1"
-      sources."ncjsm-4.3.2"
-      sources."next-tick-1.1.0"
-      sources."nice-try-1.0.5"
-      sources."node-dir-0.1.17"
-      sources."node-fetch-2.7.0"
-      sources."node-gyp-build-4.7.0"
-      sources."normalize-path-3.0.0"
-      sources."normalize-url-6.1.0"
-      sources."npm-registry-utilities-1.0.0"
-      sources."number-allocator-1.0.14"
-      sources."object-assign-4.1.1"
-      sources."object-hash-3.0.0"
-      sources."object-inspect-1.13.1"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."open-8.4.2"
-      sources."ora-5.4.1"
-      sources."os-tmpdir-1.0.2"
-      sources."p-cancelable-2.1.1"
-      sources."p-event-4.2.0"
-      sources."p-finally-1.0.0"
-      sources."p-timeout-3.2.0"
-      sources."pako-1.0.11"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."path-loader-1.0.12"
-      sources."path-type-4.0.0"
-      sources."path2-0.1.0"
-      sources."peek-readable-4.1.0"
-      sources."pend-1.2.0"
-      sources."picomatch-2.3.1"
-      sources."pify-2.3.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."process-utils-4.0.0"
-      sources."promise-queue-2.2.5"
-      sources."proxy-from-env-1.1.0"
-      sources."pump-3.0.0"
-      sources."punycode-2.3.1"
-      sources."qs-6.11.2"
-      sources."querystring-0.2.1"
-      sources."queue-microtask-1.2.3"
-      sources."quick-lru-5.1.1"
-      (sources."readable-stream-2.3.8" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."readable-web-to-node-stream-3.0.2" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      (sources."readdir-glob-1.1.3" // {
-        dependencies = [
-          sources."brace-expansion-2.0.1"
-          sources."minimatch-5.1.6"
-        ];
-      })
-      sources."readdirp-3.6.0"
-      sources."reinterval-1.1.0"
-      sources."require-from-string-2.0.2"
-      sources."resolve-alpn-1.2.1"
-      sources."responselike-2.0.1"
-      sources."restore-cursor-3.1.0"
-      sources."reusify-1.0.4"
-      sources."rfdc-1.3.0"
-      sources."run-async-2.4.1"
-      sources."run-parallel-1.2.0"
-      sources."run-parallel-limit-1.1.0"
-      sources."rxjs-7.8.1"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."sax-1.2.1"
-      sources."seek-bzip-1.0.6"
-      sources."semver-7.5.4"
-      sources."set-function-length-1.1.1"
-      sources."setimmediate-1.0.5"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.7"
-      sources."simple-git-3.21.0"
-      sources."slash-3.0.0"
-      sources."sort-keys-1.1.2"
-      sources."sort-keys-length-1.0.1"
-      (sources."split2-3.2.2" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."sprintf-js-1.0.3"
-      sources."sprintf-kit-2.0.1"
-      sources."stream-buffers-3.0.2"
-      sources."stream-promise-3.2.0"
-      sources."stream-shift-1.0.1"
-      sources."string-width-4.2.3"
-      (sources."string_decoder-1.1.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."strip-ansi-6.0.1"
-      sources."strip-dirs-2.1.0"
-      sources."strip-outer-1.0.1"
-      sources."strnum-1.0.5"
-      sources."strtok3-6.3.0"
-      (sources."superagent-7.1.6" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      (sources."supports-color-8.1.1" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-        ];
-      })
-      sources."tar-6.2.0"
-      (sources."tar-stream-2.2.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."throat-5.0.0"
-      sources."through-2.3.8"
-      sources."timers-ext-0.1.7"
-      sources."tmp-0.0.33"
-      sources."to-buffer-1.1.1"
-      sources."to-regex-range-5.0.1"
-      sources."token-types-4.2.1"
-      sources."tr46-0.0.3"
-      sources."traverse-0.6.7"
-      sources."trim-repeated-1.0.0"
-      sources."tslib-2.6.2"
-      sources."type-2.7.2"
-      sources."type-fest-0.21.3"
-      sources."typedarray-0.0.6"
-      (sources."unbzip2-stream-1.4.3" // {
-        dependencies = [
-          sources."buffer-5.7.1"
-        ];
-      })
-      sources."undici-types-5.26.5"
-      sources."uni-global-1.0.0"
-      sources."universalify-2.0.1"
-      sources."untildify-4.0.0"
-      sources."uri-js-4.4.1"
-      (sources."url-0.10.3" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-          sources."querystring-0.2.0"
-        ];
-      })
-      sources."utf-8-validate-5.0.10"
-      sources."util-0.12.5"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-9.0.1"
-      sources."validate-npm-package-name-3.0.0"
-      sources."wcwidth-1.0.1"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
-      sources."which-2.0.2"
-      sources."which-typed-array-1.1.13"
-      sources."wrap-ansi-6.2.0"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-4.0.2"
-      sources."ws-7.5.9"
-      sources."xml2js-0.5.0"
-      sources."xmlbuilder-11.0.1"
-      sources."xtend-4.0.2"
-      sources."yallist-4.0.0"
-      sources."yaml-ast-parser-0.0.43"
-      sources."yamljs-0.3.0"
-      sources."yauzl-2.10.0"
-      (sources."zip-stream-4.1.1" // {
-        dependencies = [
-          sources."archiver-utils-3.0.4"
-          sources."readable-stream-3.6.2"
-        ];
-      })
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more";
-      homepage = "https://serverless.com/framework/docs/";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   shout = nodeEnv.buildNodePackage {
     name = "shout";
     packageName = "shout";
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 84aaeb51d3827..68f95a2f3b029 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -260,7 +260,7 @@ final: prev: {
 
     src = fetchurl {
       url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-      hash = "sha256-rwpwB+vli3CXRhUFL+UvyUpPlxRk6P/2zLCn0SL9E6s=";
+      hash = "sha256-ej3h4LlF/pkAYeDxePb7wMc8zrfxKMnrp1ogZLoFU+0=";
     };
     postInstall = with pkgs; ''
       wrapProgram "$out/bin/prisma" \
@@ -422,12 +422,61 @@ final: prev: {
     buildInputs = [ final.node-gyp-build ];
   };
 
-  wrangler = prev.wrangler.override (oldAttrs: {
-    meta = oldAttrs.meta // { broken = before "16.13"; };
-    buildInputs = [ pkgs.llvmPackages.libcxx pkgs.llvmPackages.libunwind ] ++ lib.optional stdenv.isLinux pkgs.autoPatchelfHook;
-    preFixup = ''
-      # patch elf is trying to patch binary for sunos
-      rm -r $out/lib/node_modules/wrangler/node_modules/@esbuild/sunos-x64
-    '';
-  });
+  wrangler = prev.wrangler.override (oldAttrs:
+    let
+      linuxWorkerd = {
+        name = "_at_cloudflare_slash_workerd-linux-64";
+        packageName = "@cloudflare/workerd-linux-64";
+        # Should be same version as workerd
+        version = "1.20231030.0";
+        src = fetchurl {
+          url = "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231030.0.tgz";
+          sha512 = "2HUeRTvoCC17fxE0qdBeR7J9dO8j4A8ZbdcvY8pZxdk+zERU6+N03RTbk/dQMU488PwiDvcC3zZqS4gwLfVT8g==";
+        };
+      };
+      linuxWorkerdArm = {
+        name = "_at_cloudflare_slash_workerd-linux-arm64";
+        packageName = "@cloudflare/workerd-linux-arm64";
+        # Should be same version as workerd
+        version = "1.20231030.0";
+        src = fetchurl {
+          url = "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231030.0.tgz";
+          sha512 = "4/GK5zHh+9JbUI6Z5xTCM0ZmpKKHk7vu9thmHjUxtz+o8Ne9DoD7DlDvXQWgMF6XGaTubDWyp3ttn+Qv8jDFuQ==";
+        };
+      };
+      darwinWorkerd = {
+        name = "_at_cloudflare_slash_workerd-darwin-64";
+        packageName = "@cloudflare/workerd-darwin-64";
+        # Should be same version as workerd
+        version = "1.20231030.0";
+        src = fetchurl {
+          url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231030.0.tgz";
+          sha512 = "0iy34j997llj3jl3l8dipnsyms89qv9nxkza9l2gxmcj6mqwv5m6c8cvgca78qfccl1f5zsrzj855q1fz631p91yydbri2gxgvd10r7";
+        };
+      };
+      darwinWorkerdArm = {
+        name = "_at_cloudflare_slash_workerd-darwin-arm64";
+        packageName = "@cloudflare/workerd-darwin-arm64";
+        # Should be same version as workerd
+        version = "1.20231030.0";
+        src = fetchurl {
+          url = "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231030.0.tgz";
+          sha512 = "WSJJjm11Del4hSneiNB7wTXGtBXI4QMCH9l5qf4iT5PAW8cESGcCmdHtWDWDtGAAGcvmLT04KNvmum92vRKKQQ==";
+        };
+      };
+
+    in
+    {
+      meta = oldAttrs.meta // { broken = before "16.13"; };
+      buildInputs = [ pkgs.llvmPackages.libcxx pkgs.llvmPackages.libunwind ] ++ lib.optional stdenv.isLinux pkgs.autoPatchelfHook;
+      preFixup = ''
+        # patch elf is trying to patch binary for sunos
+        rm -r $out/lib/node_modules/wrangler/node_modules/@esbuild/sunos-x64
+      '';
+      dependencies = oldAttrs.dependencies
+        ++ lib.optional (stdenv.isLinux && stdenv.isx86_64) linuxWorkerd
+        ++ lib.optional (stdenv.isLinux && stdenv.isAarch64) linuxWorkerdArm
+        ++ lib.optional (stdenv.isDarwin && stdenv.isx86_64) darwinWorkerd
+        ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) darwinWorkerdArm;
+    });
 }
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index 5be5f09d19655..fac5789dcdd1a 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,15 +1,11 @@
-{ stdenv
+{ buildDunePackage
 , lib
 , fetchFromGitHub
 , which
 , ocsigen_server
-, ocaml
 , lwt_react
-, opaline
-, ocamlbuild
 , ppx_deriving
 , ppx_optcomp
-, findlib
 , js_of_ocaml-ocamlbuild
 , js_of_ocaml-ppx
 , js_of_ocaml-ppx_deriving_json
@@ -20,23 +16,19 @@
 , ocsipersist
 }:
 
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "eliom";
-  version = "10.1.0";
+  version = "10.1.2";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "eliom";
     rev = version;
-    hash = "sha256-nzrLl8adaRW6c+IQfJ7s+7KtFT8uU27Umyrv0aWXuxw=";
+    hash = "sha256-Cxwp534ADUO7AHnxZnGsrqxGDkhcJ314M5wytO4e8/0=";
   };
 
   nativeBuildInputs = [
-    ocaml
     which
-    findlib
-    opaline
-    ocamlbuild
   ];
   buildInputs = [
     js_of_ocaml-ocamlbuild
@@ -58,12 +50,6 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  installPhase = ''
-    runHook preInstall
-    opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
-    runHook postInstall
-  '';
-
   setupHook = [ ./setup-hook.sh ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/expat/unittest.patch b/pkgs/development/ocaml-modules/expat/unittest.patch
deleted file mode 100644
index 489b745c503ae..0000000000000
--- a/pkgs/development/ocaml-modules/expat/unittest.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- old/Makefile	2005-03-13 09:00:29.000000000 -0500
-+++ new/Makefile	2010-08-26 14:20:34.515785557 -0400
-@@ -67,10 +67,10 @@
- testall: test testopt
- .PHONY: test
- test: unittest 	
--	./unittest
-+	LD_LIBRARY_PATH=. ./unittest
- .PHONY: testopt
- testopt: unittest.opt
--	./unittest.opt
-+	LD_LIBRARY_PATH=. ./unittest.opt
- unittest: all unittest.ml
- 	$(OCAMLFIND) ocamlc -o unittest -package oUnit -ccopt -L. -linkpkg \
- 	$(ARCHIVE) unittest.ml
diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix
index c044a03a2574f..ed4230fbd01dd 100644
--- a/pkgs/development/ocaml-modules/fix/default.nix
+++ b/pkgs/development/ocaml-modules/fix/default.nix
@@ -2,14 +2,14 @@
 
 buildDunePackage rec {
   pname = "fix";
-  version = "20220121";
+  version = "20230505";
 
   src = fetchFromGitLab {
     domain = "gitlab.inria.fr";
     owner = "fpottier";
     repo = "fix";
     rev = version;
-    sha256 = "sha256-suWkZDLnXEO/4QCGmNuyLFOV0LJsFOMD13gxOcgu6JQ=";
+    sha256 = "sha256-Xuw4pEPqAbQjSHrpMCNE7Th0mpbNMSxdEdwvH4hu2SM=";
   };
 
   minimumOCamlVersion = "4.03";
diff --git a/pkgs/development/ocaml-modules/gluten/default.nix b/pkgs/development/ocaml-modules/gluten/default.nix
index d0f41d2026898..5c55f2f09bfd1 100644
--- a/pkgs/development/ocaml-modules/gluten/default.nix
+++ b/pkgs/development/ocaml-modules/gluten/default.nix
@@ -3,25 +3,22 @@
 , faraday
 , fetchurl
 , lib
-, ke
 }:
 
 buildDunePackage rec {
   pname = "gluten";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://github.com/anmonteiro/gluten/releases/download/${version}/gluten-${version}.tbz";
-    hash = "sha256-9jctX3G/nQJTGJ7ClSBEiXwxeu0GcT9N+EmPfLuSFOU=";
+    hash = "sha256-mGKbbQSPMOumUCtxrAdoBt5y2RrkAf58spkUymTYhYM=";
   };
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   propagatedBuildInputs = [
     bigstringaf
     faraday
-    ke
   ];
 
   doCheck = false; # No tests
diff --git a/pkgs/development/ocaml-modules/gluten/eio.nix b/pkgs/development/ocaml-modules/gluten/eio.nix
new file mode 100644
index 0000000000000..9c78b1d73cd4c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gluten/eio.nix
@@ -0,0 +1,12 @@
+{ lib, buildDunePackage, gluten, eio }:
+
+buildDunePackage {
+  pname = "gluten-eio";
+  inherit (gluten) src version;
+
+  propagatedBuildInputs = [ gluten eio ];
+
+  meta = gluten.meta // {
+    description = "EIO runtime for gluten";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/gluten/lwt-unix.nix b/pkgs/development/ocaml-modules/gluten/lwt-unix.nix
index cec427c3ad618..c3a360322a14a 100644
--- a/pkgs/development/ocaml-modules/gluten/lwt-unix.nix
+++ b/pkgs/development/ocaml-modules/gluten/lwt-unix.nix
@@ -9,8 +9,6 @@ buildDunePackage rec {
   pname = "gluten-lwt-unix";
   inherit (gluten) doCheck meta src version;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [
     faraday-lwt-unix
     gluten-lwt
diff --git a/pkgs/development/ocaml-modules/gluten/lwt.nix b/pkgs/development/ocaml-modules/gluten/lwt.nix
index cfa736c4bc99d..e4cfb0d8db02a 100644
--- a/pkgs/development/ocaml-modules/gluten/lwt.nix
+++ b/pkgs/development/ocaml-modules/gluten/lwt.nix
@@ -7,8 +7,6 @@ buildDunePackage rec {
   pname = "gluten-lwt";
   inherit (gluten) doCheck meta src version;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [
     gluten
     lwt
diff --git a/pkgs/development/ocaml-modules/h2/default.nix b/pkgs/development/ocaml-modules/h2/default.nix
index 1a8d0c5d6395a..5ec66ae9235ef 100644
--- a/pkgs/development/ocaml-modules/h2/default.nix
+++ b/pkgs/development/ocaml-modules/h2/default.nix
@@ -30,9 +30,6 @@ buildDunePackage rec {
     src
     ;
 
-  duneVersion = "3";
-  minimalOCamlVersion = "4.06";
-
   propagatedBuildInputs = [
     angstrom
     faraday
@@ -42,8 +39,7 @@ buildDunePackage rec {
     httpaf
   ];
 
-  # Tests fail with ≤ 4.07
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
   preCheck = ''
     ln -s "${http2-frame-test-case}" lib_test/http2-frame-test-case
   '';
diff --git a/pkgs/development/ocaml-modules/hpack/default.nix b/pkgs/development/ocaml-modules/hpack/default.nix
index 20a0456d7449e..3b8057bf81c8b 100644
--- a/pkgs/development/ocaml-modules/hpack/default.nix
+++ b/pkgs/development/ocaml-modules/hpack/default.nix
@@ -7,14 +7,13 @@
 
 buildDunePackage rec {
   pname = "hpack";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchurl {
     url = "https://github.com/anmonteiro/ocaml-h2/releases/download/${version}/h2-${version}.tbz";
-    hash = "sha256-n9avpVL6HD2KBON2FpnUeuH3HOUDOA29iSmjdcxMRvE=";
+    hash = "sha256-GdXwazlgDurjzy7ekLpuMkCii8W+F/jl/IBv/WTHgFM=";
   };
 
-  duneVersion = "3";
   minimalOCamlVersion = "4.08";
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix
index 2dce9320afd4c..c0ba327dd2fc0 100644
--- a/pkgs/development/ocaml-modules/inotify/default.nix
+++ b/pkgs/development/ocaml-modules/inotify/default.nix
@@ -4,14 +4,14 @@
 }:
 
 buildDunePackage rec {
-  version = "2.4.1";
+  version = "2.5";
   pname = "inotify";
 
   src = fetchFromGitHub {
     owner = "whitequark";
     repo = "ocaml-inotify";
     rev = "v${version}";
-    hash = "sha256-2ATFF3HeATjhWgW4dG4jheQ9m1oE8xTQ7mpMT/1Jdp8=";
+    hash = "sha256-3Ju6l6aF5eJgIZJKO0lQGXjjGDzCdX2fuwyNSAjIyAs=";
   };
 
   buildInputs = [ lwt ];
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index 167f3739d2693..109e51ee6f919 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -4,13 +4,13 @@
 
 buildDunePackage rec {
   pname = "iter";
-  version = "1.7";
+  version = "1.8";
 
   minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/c-cube/iter/releases/download/v${version}/iter-${version}.tbz";
-    hash = "sha256-vtcSnPMxpBwDve1zsR6cEnUsyu3JELPt2Kwu4OEEtzA=";
+    hash = "sha256-+HOcoFrpxLqKogwNQZfnRAnytlmhfxJzDUKvH9n0MCM=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
index bbd85889c84d9..16f0242a9bf77 100644
--- a/pkgs/development/ocaml-modules/ocaml-version/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ocaml-version";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-${version}.tbz";
-    hash = "sha256-AKCaXUehJ3V8uET1tUDDbIzI8lZv5aygxhIbR21xnTI=";
+    hash = "sha256-XJ0xq71ZiR39phQIULXFDLHoj3HntxLI+v2gR0Bp/rI=";
   };
 
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index fec3b438abbe3..0a1595ca6b91c 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -2,16 +2,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "box";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchFromGitHub {
     owner = "box-project";
     repo = "box";
     rev = finalAttrs.version;
-    hash = "sha256-6icHXRxqre2RBIRoc3zfQnxGRHh2kIen2oLJ3eQjD/0=";
+    hash = "sha256-3YfnFd8OZ15nQnXOkhNz2FQygElFn+JOrenKUeyTkXA=";
   };
 
-  vendorHash = "sha256-n/F/il1u+3amSVf8fr0scZSkXuwxW43iq5F2XQJ3xfM=";
+  vendorHash = "sha256-0ul4NLGK+Z+VN1nv4xSGsh2JcJEXeYAYFhxDn7r3kVY=";
 
   meta = {
     changelog = "https://github.com/box-project/box/releases/tag/${finalAttrs.version}";
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 40c6dc80fadff..905de4ccb30ad 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -36,6 +36,7 @@ php.buildComposerProject (finalAttrs: {
     description = "Dependency Manager for PHP";
     homepage = "https://getcomposer.org/";
     license = lib.licenses.mit;
+    mainProgram = "composer";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/grumphp/default.nix b/pkgs/development/php-packages/grumphp/default.nix
index 6367dd996bf20..62608a21acac9 100644
--- a/pkgs/development/php-packages/grumphp/default.nix
+++ b/pkgs/development/php-packages/grumphp/default.nix
@@ -43,6 +43,7 @@ php.buildComposerProject (finalAttrs: {
     description = "A PHP code-quality tool";
     homepage = "https://github.com/phpro/grumphp";
     license = lib.licenses.mit;
+    mainProgram = "grumphp";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index b6d15066f0553..5463fec0d5411 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -20,6 +20,7 @@ php.buildComposerProject (finalAttrs: {
     description = "A static analysis tool for finding errors in PHP applications";
     homepage = "https://github.com/vimeo/psalm";
     license = lib.licenses.mit;
+    mainProgram = "psalm";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/php-spx/default.nix b/pkgs/development/php-packages/spx/default.nix
index 52beeacf3bbee..020927ccf4910 100644
--- a/pkgs/development/php-packages/php-spx/default.nix
+++ b/pkgs/development/php-packages/spx/default.nix
@@ -4,7 +4,7 @@ let
   version = "0.4.14";
 in buildPecl {
   inherit version;
-  pname = "php-spx";
+  pname = "spx";
 
   src = fetchFromGitHub {
     owner = "NoiseByNorthwest";
diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix
index 3aa24ce15e43c..f5e8f0f7af7af 100644
--- a/pkgs/development/php-packages/xdebug/default.nix
+++ b/pkgs/development/php-packages/xdebug/default.nix
@@ -1,7 +1,7 @@
 { buildPecl, lib, fetchFromGitHub }:
 
 let
-  version = "3.3.0alpha3";
+  version = "3.3.0";
 in buildPecl {
   inherit version;
 
@@ -11,7 +11,7 @@ in buildPecl {
     owner = "xdebug";
     repo = "xdebug";
     rev = version;
-    hash = "sha256-LBrKQCR4qpV3yJpTknUNKX6mq+qSdBSveIoYmk5Vmoc=";
+    hash = "sha256-i14po+0i25gRR87H6kUdyXF4rXZM70CqXi2EdFBn808=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/IPy/default.nix b/pkgs/development/python-modules/IPy/default.nix
index 5f370e7888d2c..f8291ee8ac5b4 100644
--- a/pkgs/development/python-modules/IPy/default.nix
+++ b/pkgs/development/python-modules/IPy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "IPy";
   version = "1.01";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/a2wsgi/default.nix b/pkgs/development/python-modules/a2wsgi/default.nix
index 7cb150264cf71..a21ddda54c414 100644
--- a/pkgs/development/python-modules/a2wsgi/default.nix
+++ b/pkgs/development/python-modules/a2wsgi/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "a2wsgi";
-  version = "1.8.0";
+  version = "1.9.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sgQ2uS8z25/xQ2vmS4boLhhwluu10aUt4nlKcNuYFRA=";
+    hash = "sha256-cd/UGOUbnoI1nrRZx+2hTtg/j0ClD0dKbXNXpnHNPl4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aadict/default.nix b/pkgs/development/python-modules/aadict/default.nix
index c124cb7695db1..d6b5bdf9c6f02 100644
--- a/pkgs/development/python-modules/aadict/default.nix
+++ b/pkgs/development/python-modules/aadict/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aadict";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aafigure/default.nix b/pkgs/development/python-modules/aafigure/default.nix
index 0b9f14571781f..460a4a90ee8e3 100644
--- a/pkgs/development/python-modules/aafigure/default.nix
+++ b/pkgs/development/python-modules/aafigure/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "aafigure";
   version = "0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/about-time/default.nix b/pkgs/development/python-modules/about-time/default.nix
index 3759957c9ca6b..d705bf5a3e15c 100644
--- a/pkgs/development/python-modules/about-time/default.nix
+++ b/pkgs/development/python-modules/about-time/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "about-time";
   version = "4.2.1";
+  format = "setuptools";
 
   # PyPi release does not contain test files, but the repo has no release tags,
   # so while having no tests is not ideal, follow the PyPi releases for now
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index 00846838b25de..a937b016ce897 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "absl-py";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/accupy/default.nix b/pkgs/development/python-modules/accupy/default.nix
index 8b67fa4d9dbc0..6c2906fcb7ee3 100644
--- a/pkgs/development/python-modules/accupy/default.nix
+++ b/pkgs/development/python-modules/accupy/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "accupy";
   version = "0.3.6";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/acme-tiny/default.nix b/pkgs/development/python-modules/acme-tiny/default.nix
index 0ecae898a6705..9de8f1e06752a 100644
--- a/pkgs/development/python-modules/acme-tiny/default.nix
+++ b/pkgs/development/python-modules/acme-tiny/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "acme-tiny";
   version = "5.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/acme/default.nix b/pkgs/development/python-modules/acme/default.nix
index 531ed8ae8d9bb..538b8dff964ac 100644
--- a/pkgs/development/python-modules/acme/default.nix
+++ b/pkgs/development/python-modules/acme/default.nix
@@ -17,6 +17,7 @@ buildPythonPackage rec {
   inherit (certbot) src version;
 
   pname = "acme";
+  format = "setuptools";
 
   propagatedBuildInputs = [
     cryptography pyasn1 pyopenssl pyRFC3339 pytz requests requests-toolbelt six
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 97966e6bb33e6..080717e1a2cce 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.54.0";
+  version = "3.56.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-P+f7eBqD0/KIEry/807dQQCvtokB2cYu4i0H6CTYIWg=";
+    hash = "sha256-PApfNjW7sfVmYT0NcEKs5MZJG65P7WQ5WVpQuOj8EV4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/adb-homeassistant/default.nix b/pkgs/development/python-modules/adb-homeassistant/default.nix
index 72e6d6acd4d35..f411c85fbfd12 100644
--- a/pkgs/development/python-modules/adb-homeassistant/default.nix
+++ b/pkgs/development/python-modules/adb-homeassistant/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage {
   pname = "adb-homeassistant";
   version = "1.3.1";
+  format = "setuptools";
 
   # pypi does not contain tests, using github sources instead
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/addict/default.nix b/pkgs/development/python-modules/addict/default.nix
index 235c34af263d1..2a80935f3a22f 100644
--- a/pkgs/development/python-modules/addict/default.nix
+++ b/pkgs/development/python-modules/addict/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "addict";
   version = "2.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/adext/default.nix b/pkgs/development/python-modules/adext/default.nix
index 649ab4b732c64..1aa9368f347b7 100644
--- a/pkgs/development/python-modules/adext/default.nix
+++ b/pkgs/development/python-modules/adext/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "adext";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ajschmidt8";
diff --git a/pkgs/development/python-modules/advocate/default.nix b/pkgs/development/python-modules/advocate/default.nix
index e0062be35cb87..532302b799c6c 100644
--- a/pkgs/development/python-modules/advocate/default.nix
+++ b/pkgs/development/python-modules/advocate/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "advocate";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "JordanMilne";
diff --git a/pkgs/development/python-modules/agate-dbf/default.nix b/pkgs/development/python-modules/agate-dbf/default.nix
index 0299a94ebb0fa..5205734d4da52 100644
--- a/pkgs/development/python-modules/agate-dbf/default.nix
+++ b/pkgs/development/python-modules/agate-dbf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
     pname = "agate-dbf";
     version = "0.2.2";
+    format = "setuptools";
 
     propagatedBuildInputs = [ agate dbf dbfread ];
 
diff --git a/pkgs/development/python-modules/agate-sql/default.nix b/pkgs/development/python-modules/agate-sql/default.nix
index a6c515d1d1ccd..0e339d0d21357 100644
--- a/pkgs/development/python-modules/agate-sql/default.nix
+++ b/pkgs/development/python-modules/agate-sql/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "agate-sql";
   version = "0.7.0";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/agent-py/default.nix b/pkgs/development/python-modules/agent-py/default.nix
index 2a9e358cf0438..584feec88dde2 100644
--- a/pkgs/development/python-modules/agent-py/default.nix
+++ b/pkgs/development/python-modules/agent-py/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "agent-py";
   version = "0.0.23";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/aigpy/default.nix b/pkgs/development/python-modules/aigpy/default.nix
index 50249e93ab04d..ef0e5f13273ac 100644
--- a/pkgs/development/python-modules/aigpy/default.nix
+++ b/pkgs/development/python-modules/aigpy/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "aigpy";
   version = "2022.7.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aioasuswrt/default.nix b/pkgs/development/python-modules/aioasuswrt/default.nix
index 00d451a2b422b..b496c9ac25936 100644
--- a/pkgs/development/python-modules/aioasuswrt/default.nix
+++ b/pkgs/development/python-modules/aioasuswrt/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aioasuswrt";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kennedyshead";
diff --git a/pkgs/development/python-modules/aioazuredevops/default.nix b/pkgs/development/python-modules/aioazuredevops/default.nix
index 2054b49b7ce21..5c4e3ed03786c 100644
--- a/pkgs/development/python-modules/aioazuredevops/default.nix
+++ b/pkgs/development/python-modules/aioazuredevops/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aioazuredevops";
   version = "1.4.3";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/aiocron/default.nix b/pkgs/development/python-modules/aiocron/default.nix
index 2b3f6e595d365..acb53f02ecc85 100644
--- a/pkgs/development/python-modules/aiocron/default.nix
+++ b/pkgs/development/python-modules/aiocron/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aiocron";
   version = "1.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aiodns/default.nix b/pkgs/development/python-modules/aiodns/default.nix
index a5cf035aa0602..5fc14b4f66bdd 100644
--- a/pkgs/development/python-modules/aiodns/default.nix
+++ b/pkgs/development/python-modules/aiodns/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aiodns";
   version = "3.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aiodocker/default.nix b/pkgs/development/python-modules/aiodocker/default.nix
index b6cc55d7fd84a..f3c76acceac0e 100644
--- a/pkgs/development/python-modules/aiodocker/default.nix
+++ b/pkgs/development/python-modules/aiodocker/default.nix
@@ -8,6 +8,7 @@ buildPythonPackage rec {
   pname = "aiodocker";
   # unstable includes support for python 3.10+
   version = "unstable-2022-01-20";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
diff --git a/pkgs/development/python-modules/aioeagle/default.nix b/pkgs/development/python-modules/aioeagle/default.nix
index 8862758880c33..87f38ec71ea37 100644
--- a/pkgs/development/python-modules/aioeagle/default.nix
+++ b/pkgs/development/python-modules/aioeagle/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aioeagle";
   version = "1.1.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/aioemonitor/default.nix b/pkgs/development/python-modules/aioemonitor/default.nix
index 88ae374e5d429..505af218349c7 100644
--- a/pkgs/development/python-modules/aioemonitor/default.nix
+++ b/pkgs/development/python-modules/aioemonitor/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "aioemonitor";
   version = "1.0.5";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aioextensions/default.nix b/pkgs/development/python-modules/aioextensions/default.nix
index b5508d8d7434a..92c05b12e677d 100644
--- a/pkgs/development/python-modules/aioextensions/default.nix
+++ b/pkgs/development/python-modules/aioextensions/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "aioextensions";
   version = "21.7.2261349";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/aioharmony/default.nix b/pkgs/development/python-modules/aioharmony/default.nix
index cd3abbb4af8da..29d06a8e406eb 100644
--- a/pkgs/development/python-modules/aioharmony/default.nix
+++ b/pkgs/development/python-modules/aioharmony/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aioharmony";
   version = "0.2.10";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/aiohttp-cors/default.nix b/pkgs/development/python-modules/aiohttp-cors/default.nix
index fc5dc87f4ef2a..ad6033ca4f27e 100644
--- a/pkgs/development/python-modules/aiohttp-cors/default.nix
+++ b/pkgs/development/python-modules/aiohttp-cors/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-cors";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aiohttp-socks/default.nix b/pkgs/development/python-modules/aiohttp-socks/default.nix
index 0a60d0af28014..b81ff0065277d 100644
--- a/pkgs/development/python-modules/aiohttp-socks/default.nix
+++ b/pkgs/development/python-modules/aiohttp-socks/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-socks";
   version = "0.8.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
index 298b8b00b22cc..f58d6eff074fb 100644
--- a/pkgs/development/python-modules/aiohttp-wsgi/default.nix
+++ b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-wsgi";
   version = "0.10.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aioinflux/default.nix b/pkgs/development/python-modules/aioinflux/default.nix
index 25aa7f587b25c..d45e02d1e91b0 100644
--- a/pkgs/development/python-modules/aioinflux/default.nix
+++ b/pkgs/development/python-modules/aioinflux/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aioinflux";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aiokef/default.nix b/pkgs/development/python-modules/aiokef/default.nix
index 0fb7f161436fd..f185f974c7f8a 100644
--- a/pkgs/development/python-modules/aiokef/default.nix
+++ b/pkgs/development/python-modules/aiokef/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aiokef";
   version = "0.2.17";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aiolip/default.nix b/pkgs/development/python-modules/aiolip/default.nix
index a3d773cf04f2d..d09efdf7866b5 100644
--- a/pkgs/development/python-modules/aiolip/default.nix
+++ b/pkgs/development/python-modules/aiolip/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aiolip";
   version = "1.1.6";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aiomodernforms/default.nix b/pkgs/development/python-modules/aiomodernforms/default.nix
index dd8cbde722c4a..98133f8b894f2 100644
--- a/pkgs/development/python-modules/aiomodernforms/default.nix
+++ b/pkgs/development/python-modules/aiomodernforms/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "aiomodernforms";
   version = "0.1.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wonderslug";
diff --git a/pkgs/development/python-modules/aiopylgtv/default.nix b/pkgs/development/python-modules/aiopylgtv/default.nix
index 3039f57667574..447975225cadd 100644
--- a/pkgs/development/python-modules/aiopylgtv/default.nix
+++ b/pkgs/development/python-modules/aiopylgtv/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aiopylgtv";
   version = "0.4.1";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index eae5b4a537c4d..09a2bfb8562d6 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aiorpcx";
   version = "0.22.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/aiorwlock/default.nix b/pkgs/development/python-modules/aiorwlock/default.nix
index f959ec734ef59..b72d69e8fd31e 100644
--- a/pkgs/development/python-modules/aiorwlock/default.nix
+++ b/pkgs/development/python-modules/aiorwlock/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aiorwlock";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aioserial/default.nix b/pkgs/development/python-modules/aioserial/default.nix
index 1a02f7acd305a..ca0c4d2e8c6e0 100644
--- a/pkgs/development/python-modules/aioserial/default.nix
+++ b/pkgs/development/python-modules/aioserial/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aioserial";
   version = "1.3.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/aiosomecomfort/default.nix b/pkgs/development/python-modules/aiosomecomfort/default.nix
index 5775aece8060b..4e5c512a9e242 100644
--- a/pkgs/development/python-modules/aiosomecomfort/default.nix
+++ b/pkgs/development/python-modules/aiosomecomfort/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiosomecomfort";
-  version = "0.0.22";
+  version = "0.0.24";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "mkmer";
     repo = "AIOSomecomfort";
     rev = "refs/tags/${version}";
-    hash = "sha256-d4pyt9+sBPNo/PL05HQ4sjyjubMtTZI9WUGRU1B/dH0=";
+    hash = "sha256-+kAObq8tbTO6Qlb+/93mF6K+gEHd33TofHug5f+zl+4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiosyncthing/default.nix b/pkgs/development/python-modules/aiosyncthing/default.nix
index e45ddb5dec0fd..fd9d02cb3a72a 100644
--- a/pkgs/development/python-modules/aiosyncthing/default.nix
+++ b/pkgs/development/python-modules/aiosyncthing/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "aiosyncthing";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zhulik";
diff --git a/pkgs/development/python-modules/aiotractive/default.nix b/pkgs/development/python-modules/aiotractive/default.nix
index 5891fa703a90f..08fba4272c878 100644
--- a/pkgs/development/python-modules/aiotractive/default.nix
+++ b/pkgs/development/python-modules/aiotractive/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aiotractive";
   version = "0.5.6";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 36b7aa587dda0..101c3f8d9e2d2 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "66";
+  version = "67";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-UWKsx7giGrNR04X/2vgdaCFulxbzQkvlRfCEodVoHY8=";
+    hash = "sha256-bad9wDV8kGEXjdjQ8GKhUsdMHqTohLjJJWH+gJCvuIo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiounittest/default.nix b/pkgs/development/python-modules/aiounittest/default.nix
index 4cc8203625dbf..4358c22f8be02 100644
--- a/pkgs/development/python-modules/aiounittest/default.nix
+++ b/pkgs/development/python-modules/aiounittest/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aiounittest";
   version = "1.4.2";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aioymaps/default.nix b/pkgs/development/python-modules/aioymaps/default.nix
index fb57614be9fc7..aea81caca7540 100644
--- a/pkgs/development/python-modules/aioymaps/default.nix
+++ b/pkgs/development/python-modules/aioymaps/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aioymaps";
   version = "1.2.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/aiozeroconf/default.nix b/pkgs/development/python-modules/aiozeroconf/default.nix
index fe3943c25b1c5..6bd40233d761a 100644
--- a/pkgs/development/python-modules/aiozeroconf/default.nix
+++ b/pkgs/development/python-modules/aiozeroconf/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aiozeroconf";
   version = "0.1.8";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/airly/default.nix b/pkgs/development/python-modules/airly/default.nix
index b83cdefd8a51b..b51da08516c00 100644
--- a/pkgs/development/python-modules/airly/default.nix
+++ b/pkgs/development/python-modules/airly/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "airly";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ak-ambi";
diff --git a/pkgs/development/python-modules/ajpy/default.nix b/pkgs/development/python-modules/ajpy/default.nix
index 926b5ed7efee9..6ae4a11322f97 100644
--- a/pkgs/development/python-modules/ajpy/default.nix
+++ b/pkgs/development/python-modules/ajpy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ajpy";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ajsonrpc/default.nix b/pkgs/development/python-modules/ajsonrpc/default.nix
index 0dd07c0f4eea5..0b974e3680454 100644
--- a/pkgs/development/python-modules/ajsonrpc/default.nix
+++ b/pkgs/development/python-modules/ajsonrpc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ajsonrpc";
   version = "1.2.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/alabaster/default.nix b/pkgs/development/python-modules/alabaster/default.nix
index 31f9e14f6da8a..949bfdcac95d5 100644
--- a/pkgs/development/python-modules/alabaster/default.nix
+++ b/pkgs/development/python-modules/alabaster/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "alabaster";
   version = "0.7.13";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/alarmdecoder/default.nix b/pkgs/development/python-modules/alarmdecoder/default.nix
index 3e9bdffdadffc..0504f4bc6f6d4 100644
--- a/pkgs/development/python-modules/alarmdecoder/default.nix
+++ b/pkgs/development/python-modules/alarmdecoder/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "alarmdecoder";
   version = "1.13.11";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/alectryon/default.nix b/pkgs/development/python-modules/alectryon/default.nix
index 08fcd9f9651f5..136768950dfd3 100644
--- a/pkgs/development/python-modules/alectryon/default.nix
+++ b/pkgs/development/python-modules/alectryon/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "alectryon";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/alive-progress/default.nix b/pkgs/development/python-modules/alive-progress/default.nix
index 7e3adbf1166e3..b10b056f292a0 100644
--- a/pkgs/development/python-modules/alive-progress/default.nix
+++ b/pkgs/development/python-modules/alive-progress/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "alive-progress";
   version = "3.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rsalmei";
diff --git a/pkgs/development/python-modules/allure-behave/default.nix b/pkgs/development/python-modules/allure-behave/default.nix
index a67ff5e98d9b5..8f39c1fb628e2 100644
--- a/pkgs/development/python-modules/allure-behave/default.nix
+++ b/pkgs/development/python-modules/allure-behave/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "allure-behave";
   version = "2.13.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/allure-python-commons-test/default.nix b/pkgs/development/python-modules/allure-python-commons-test/default.nix
index c358a2f14d7fe..f023cbb3a429d 100644
--- a/pkgs/development/python-modules/allure-python-commons-test/default.nix
+++ b/pkgs/development/python-modules/allure-python-commons-test/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "allure-python-commons-test";
   version = "2.13.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.4";
 
diff --git a/pkgs/development/python-modules/allure-python-commons/default.nix b/pkgs/development/python-modules/allure-python-commons/default.nix
index 0b50f23f77c4b..2e6a38e51341c 100644
--- a/pkgs/development/python-modules/allure-python-commons/default.nix
+++ b/pkgs/development/python-modules/allure-python-commons/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "allure-python-commons";
   version = "2.13.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/alpha-vantage/default.nix b/pkgs/development/python-modules/alpha-vantage/default.nix
index 23ffd7d8b4b6a..b98c2508458ed 100644
--- a/pkgs/development/python-modules/alpha-vantage/default.nix
+++ b/pkgs/development/python-modules/alpha-vantage/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "alpha-vantage";
   version = "2.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "RomelTorres";
diff --git a/pkgs/development/python-modules/amaranth-boards/default.nix b/pkgs/development/python-modules/amaranth-boards/default.nix
index 1b152e70d7b01..719ac71ec5e1b 100644
--- a/pkgs/development/python-modules/amaranth-boards/default.nix
+++ b/pkgs/development/python-modules/amaranth-boards/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "amaranth-boards";
   version = "unstable-2021-12-17";
+  format = "setuptools";
   # python setup.py --version
   realVersion = "0.1.dev202+g${lib.substring 0 7 src.rev}";
 
diff --git a/pkgs/development/python-modules/amaranth-soc/default.nix b/pkgs/development/python-modules/amaranth-soc/default.nix
index 685d63414ec5a..11f331d033c7d 100644
--- a/pkgs/development/python-modules/amaranth-soc/default.nix
+++ b/pkgs/development/python-modules/amaranth-soc/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "amaranth-soc";
   version = "unstable-2023-09-15";
+  format = "setuptools";
   # python setup.py --version
   realVersion = "0.1.dev70+g${lib.substring 0 7 src.rev}";
 
diff --git a/pkgs/development/python-modules/amazon-ion/default.nix b/pkgs/development/python-modules/amazon-ion/default.nix
index 0a2479dd38f43..e69de9cfea339 100644
--- a/pkgs/development/python-modules/amazon-ion/default.nix
+++ b/pkgs/development/python-modules/amazon-ion/default.nix
@@ -1,26 +1,29 @@
 { lib
 , buildPythonPackage
+, docopt
 , fetchFromGitHub
 , jsonconversion
-, six
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, six
+, tabulate
 }:
 
 buildPythonPackage rec {
   pname = "amazon-ion";
-  version = "0.10.0";
-  format = "setuptools";
+  version = "0.11.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  # test vectors require git submodule
   src = fetchFromGitHub {
-    owner = "amzn";
+    owner = "amazon-ion";
     repo = "ion-python";
     rev = "refs/tags/v${version}";
+    # Test vectors require git submodule
     fetchSubmodules = true;
-    hash = "sha256-pCm3jd/dVqO/uIvT5N/w5yoUWU6ni62Pl2A862e+qSk=";
+    hash = "sha256-0/+bX02qTbOydWDxex4OWL7woP7dW1yJZBmDZAivE7U=";
   };
 
   postPatch = ''
@@ -28,13 +31,19 @@ buildPythonPackage rec {
       --replace "'pytest-runner'," ""
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     jsonconversion
     six
   ];
 
   nativeCheckInputs = [
+    docopt
     pytestCheckHook
+    tabulate
   ];
 
   disabledTests = [
@@ -42,13 +51,19 @@ buildPythonPackage rec {
     "test_roundtrips"
   ];
 
+  disabledTestPaths = [
+    # Exclude benchmarks
+    "tests/test_benchmark_cli.py"
+  ];
+
   pythonImportsCheck = [
     "amazon.ion"
   ];
 
   meta = with lib; {
     description = "Python implementation of Amazon Ion";
-    homepage = "https://github.com/amzn/ion-python";
+    homepage = "https://github.com/amazon-ion/ion-python";
+    changelog = "https://github.com/amazon-ion/ion-python/releases/tag/v${version}";
     sourceProvenance = with sourceTypes; [
       fromSource
       binaryNativeCode
diff --git a/pkgs/development/python-modules/amazon-kclpy/default.nix b/pkgs/development/python-modules/amazon-kclpy/default.nix
index fca55e3bc0dc0..751a2945da598 100644
--- a/pkgs/development/python-modules/amazon-kclpy/default.nix
+++ b/pkgs/development/python-modules/amazon-kclpy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "amazon-kclpy";
   version = "2.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "awslabs";
diff --git a/pkgs/development/python-modules/ambiclimate/default.nix b/pkgs/development/python-modules/ambiclimate/default.nix
index e375d347f2aae..ecaae3fd9f571 100644
--- a/pkgs/development/python-modules/ambiclimate/default.nix
+++ b/pkgs/development/python-modules/ambiclimate/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ambiclimate";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Ambiclimate";
diff --git a/pkgs/development/python-modules/amiibo-py/default.nix b/pkgs/development/python-modules/amiibo-py/default.nix
index 5fb70397fa715..93cc6cdd0b6cf 100644
--- a/pkgs/development/python-modules/amiibo-py/default.nix
+++ b/pkgs/development/python-modules/amiibo-py/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "amiibo-py";
   version = "unstable-2021-01-16";
+  format = "setuptools";
   disabled = pythonOlder "3.5.3"; # Older versions are not supported upstream
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/amply/default.nix b/pkgs/development/python-modules/amply/default.nix
index 235a697d2af4a..5f648fc1baf97 100644
--- a/pkgs/development/python-modules/amply/default.nix
+++ b/pkgs/development/python-modules/amply/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "amply";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/amqplib/default.nix b/pkgs/development/python-modules/amqplib/default.nix
index 430065b7d1f80..0805ce6784a28 100644
--- a/pkgs/development/python-modules/amqplib/default.nix
+++ b/pkgs/development/python-modules/amqplib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "amqplib";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/anchor-kr/default.nix b/pkgs/development/python-modules/anchor-kr/default.nix
new file mode 100644
index 0000000000000..32ce534e6b6b7
--- /dev/null
+++ b/pkgs/development/python-modules/anchor-kr/default.nix
@@ -0,0 +1,26 @@
+{ lib,
+  buildPythonPackage,
+  fetchFromGitHub
+}:
+buildPythonPackage {
+  pname = "anchor";
+  version = "3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "justfoolingaround";
+    repo = "anchor";
+    # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/anchor/issues/1
+    rev = "4cedb6a51877ed3a292cad61eb19013382915e86";
+    hash = "sha256-t75IFBSz6ncHRqXRxbrM9EQdr8xPXjSd9di+/y2LegE=";
+  };
+
+  pythonImportsCheck = [ "anchor" ];
+
+  meta = with lib; {
+    description = "Python library for scraping";
+    homepage = "https://github.com/justfoolingaround/anchor";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ passivelemon ];
+  };
+}
diff --git a/pkgs/development/python-modules/androguard/default.nix b/pkgs/development/python-modules/androguard/default.nix
index ee808f973baee..e408d11590bd1 100644
--- a/pkgs/development/python-modules/androguard/default.nix
+++ b/pkgs/development/python-modules/androguard/default.nix
@@ -32,6 +32,7 @@
 buildPythonPackage rec {
   pname = "androguard";
   version = "3.4.0a1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = pname;
diff --git a/pkgs/development/python-modules/android-backup/default.nix b/pkgs/development/python-modules/android-backup/default.nix
index df2096582ccd4..647a36f78b330 100644
--- a/pkgs/development/python-modules/android-backup/default.nix
+++ b/pkgs/development/python-modules/android-backup/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "android-backup";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bluec0re";
diff --git a/pkgs/development/python-modules/aniso8601/default.nix b/pkgs/development/python-modules/aniso8601/default.nix
index 5e22e6f87addc..5aa4edce7c2e6 100644
--- a/pkgs/development/python-modules/aniso8601/default.nix
+++ b/pkgs/development/python-modules/aniso8601/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aniso8601";
   version = "9.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/anitopy/default.nix b/pkgs/development/python-modules/anitopy/default.nix
new file mode 100644
index 0000000000000..313f9631154e6
--- /dev/null
+++ b/pkgs/development/python-modules/anitopy/default.nix
@@ -0,0 +1,26 @@
+{ lib,
+  buildPythonPackage,
+  fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "anitopy";
+  version = "2.1.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "igorcmoura";
+    repo = "anitopy";
+    rev = "v${version}";
+    hash = "sha256-xXEf7AJKg7grDmkKfFuC4Fk6QYFJtezClyfA3vq8TfQ=";
+  };
+
+  pythonImportsCheck = [ "anitopy" ];
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Python library for parsing anime video filenames";
+    homepage = "https://github.com/igorcmoura/anitopy";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ passivelemon ];
+  };
+}
diff --git a/pkgs/development/python-modules/ansible-kernel/default.nix b/pkgs/development/python-modules/ansible-kernel/default.nix
index 4acdddb523d55..dda1fe09fad42 100644
--- a/pkgs/development/python-modules/ansible-kernel/default.nix
+++ b/pkgs/development/python-modules/ansible-kernel/default.nix
@@ -25,6 +25,7 @@ in
 buildPythonPackage rec {
   pname = "ansible-kernel";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ansible-vault-rw/default.nix b/pkgs/development/python-modules/ansible-vault-rw/default.nix
index b5a4c7a03631e..23281c3ed0701 100644
--- a/pkgs/development/python-modules/ansible-vault-rw/default.nix
+++ b/pkgs/development/python-modules/ansible-vault-rw/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ansible-vault-rw";
   version = "2.1.0";
+  format = "setuptools";
   src = fetchPypi {
     pname = "ansible-vault";
     inherit version;
diff --git a/pkgs/development/python-modules/ansicolor/default.nix b/pkgs/development/python-modules/ansicolor/default.nix
index 07a8190727bc2..77077afd92b5d 100644
--- a/pkgs/development/python-modules/ansicolor/default.nix
+++ b/pkgs/development/python-modules/ansicolor/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ansicolor";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ansicolors/default.nix b/pkgs/development/python-modules/ansicolors/default.nix
index 3f2d549694e64..ddedef72916af 100644
--- a/pkgs/development/python-modules/ansicolors/default.nix
+++ b/pkgs/development/python-modules/ansicolors/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ansicolors";
   version = "1.1.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ansiconv/default.nix b/pkgs/development/python-modules/ansiconv/default.nix
index b0676258e1075..ae240be309960 100644
--- a/pkgs/development/python-modules/ansiconv/default.nix
+++ b/pkgs/development/python-modules/ansiconv/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ansiconv";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ansible";
diff --git a/pkgs/development/python-modules/ansimarkup/default.nix b/pkgs/development/python-modules/ansimarkup/default.nix
index d249dddd1e3dd..9e4ed625ba199 100644
--- a/pkgs/development/python-modules/ansimarkup/default.nix
+++ b/pkgs/development/python-modules/ansimarkup/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ansimarkup";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gvalkov";
diff --git a/pkgs/development/python-modules/anyconfig/default.nix b/pkgs/development/python-modules/anyconfig/default.nix
index 7f1855ad6c5b3..87792781f640c 100644
--- a/pkgs/development/python-modules/anyconfig/default.nix
+++ b/pkgs/development/python-modules/anyconfig/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "anyconfig";
   version = "0.13.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/anyqt/default.nix b/pkgs/development/python-modules/anyqt/default.nix
index a4fbb041822a8..584b1dcf4233b 100644
--- a/pkgs/development/python-modules/anyqt/default.nix
+++ b/pkgs/development/python-modules/anyqt/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "anyqt";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ales-erjavec";
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index d0e36a989b94d..bff63bb84b79a 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -49,6 +49,7 @@
 buildPythonPackage rec {
   pname = "apache-beam";
   version = "2.50.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "apache";
diff --git a/pkgs/development/python-modules/apcaccess/default.nix b/pkgs/development/python-modules/apcaccess/default.nix
index fd4627b558de5..e6d6d32eb353a 100644
--- a/pkgs/development/python-modules/apcaccess/default.nix
+++ b/pkgs/development/python-modules/apcaccess/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "apcaccess";
   version = "0.0.13";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "flyte";
diff --git a/pkgs/development/python-modules/appdirs/default.nix b/pkgs/development/python-modules/appdirs/default.nix
index 22fa3dc98fb07..1f2da03eae041 100644
--- a/pkgs/development/python-modules/appdirs/default.nix
+++ b/pkgs/development/python-modules/appdirs/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "appdirs";
   version = "1.4.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/applicationinsights/default.nix b/pkgs/development/python-modules/applicationinsights/default.nix
index 7576bcbdf1dcd..3dd3ccf4d36ba 100644
--- a/pkgs/development/python-modules/applicationinsights/default.nix
+++ b/pkgs/development/python-modules/applicationinsights/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.11.10";
+  format = "setuptools";
   pname = "applicationinsights";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/appnope/default.nix b/pkgs/development/python-modules/appnope/default.nix
index 68ada3b4b4cd3..bb72bbc8e73e6 100644
--- a/pkgs/development/python-modules/appnope/default.nix
+++ b/pkgs/development/python-modules/appnope/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "appnope";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "minrk";
diff --git a/pkgs/development/python-modules/approval-utilities/default.nix b/pkgs/development/python-modules/approval-utilities/default.nix
index 3b21c3ffab83c..38d22ad57aae4 100644
--- a/pkgs/development/python-modules/approval-utilities/default.nix
+++ b/pkgs/development/python-modules/approval-utilities/default.nix
@@ -2,18 +2,29 @@
 , buildPythonPackage
 , approvaltests
 , pythonOlder
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "approval-utilities";
   inherit (approvaltests) version src;
   disabled = pythonOlder "3.7";
-  format = "setuptools";
+  pyproject = true;
 
   postPatch = ''
     mv setup.approval_utilities.py setup.py
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    # used in approval_utilities/utilities/time_utilities.py
+    typing-extensions
+  ];
+
   pythonImportsCheck = [ "approval_utilities" ];
 
   # upstream has no tests
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index b8ec645c42d19..289755c5ddc6f 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -5,21 +5,21 @@
 , buildPythonPackage
 , empty-files
 , fetchFromGitHub
-, mock
 , mrjob
 , numpy
 , pyperclip
 , pytest
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 , testfixtures
-, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "10.0.0";
-  format = "setuptools";
+  version = "10.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -27,9 +27,13 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3KorHpJUeWSJKVN/4IN0AqKOIL0sT5MaxkvQqpeilhw=";
+    hash = "sha256-t+Vxo6Pn3b2H3yAg5LGsGTjrZr4MXeGOY2BF9eFFAdE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     allpairspy
     approval-utilities
@@ -39,16 +43,16 @@ buildPythonPackage rec {
     pyperclip
     pytest
     testfixtures
-    typing-extensions
   ];
 
   nativeCheckInputs = [
-    mock
     numpy
+    pytest-asyncio
     pytestCheckHook
   ];
 
   disabledTests = [
+    "test_docstrings"
     # Tests expects paths below ApprovalTests.Python directory
     "test_received_filename"
     "test_pytest_namer"
diff --git a/pkgs/development/python-modules/aprslib/default.nix b/pkgs/development/python-modules/aprslib/default.nix
index ab56bf58b8e3b..390a88fc2bf26 100644
--- a/pkgs/development/python-modules/aprslib/default.nix
+++ b/pkgs/development/python-modules/aprslib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "aprslib";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rossengeorgiev";
diff --git a/pkgs/development/python-modules/aqualogic/default.nix b/pkgs/development/python-modules/aqualogic/default.nix
index 9b904033b7c66..e7772f40c63c3 100644
--- a/pkgs/development/python-modules/aqualogic/default.nix
+++ b/pkgs/development/python-modules/aqualogic/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aqualogic";
   version = "3.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "swilson";
diff --git a/pkgs/development/python-modules/area/default.nix b/pkgs/development/python-modules/area/default.nix
index 37d7369dbeeef..3057bf1eb805f 100644
--- a/pkgs/development/python-modules/area/default.nix
+++ b/pkgs/development/python-modules/area/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "area";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix
index a5a78c332ab22..0c76a89d7a5c1 100644
--- a/pkgs/development/python-modules/arelle/default.nix
+++ b/pkgs/development/python-modules/arelle/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "arelle${lib.optionalString (!gui) "-headless"}";
   version = "18.3";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/argon2-cffi-bindings/default.nix b/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
index 77182cbd6a436..822acd09e1429 100644
--- a/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
+++ b/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "argon2-cffi-bindings";
   version = "21.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/argparse-addons/default.nix b/pkgs/development/python-modules/argparse-addons/default.nix
index 1d50820d4e5d7..44b9bf1c4ce02 100644
--- a/pkgs/development/python-modules/argparse-addons/default.nix
+++ b/pkgs/development/python-modules/argparse-addons/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "argparse-addons";
   version = "0.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "argparse_addons";
diff --git a/pkgs/development/python-modules/argparse-dataclass/default.nix b/pkgs/development/python-modules/argparse-dataclass/default.nix
index 993242e4bd804..9310c6f712154 100644
--- a/pkgs/development/python-modules/argparse-dataclass/default.nix
+++ b/pkgs/development/python-modules/argparse-dataclass/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "argparse-dataclass";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mivade";
diff --git a/pkgs/development/python-modules/args/default.nix b/pkgs/development/python-modules/args/default.nix
index 9faf16037d042..329fde3416691 100644
--- a/pkgs/development/python-modules/args/default.nix
+++ b/pkgs/development/python-modules/args/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "args";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ariadne/default.nix b/pkgs/development/python-modules/ariadne/default.nix
index 3810934eefebd..0e0bf1140a64b 100644
--- a/pkgs/development/python-modules/ariadne/default.nix
+++ b/pkgs/development/python-modules/ariadne/default.nix
@@ -4,7 +4,6 @@
 , hatchling
 , freezegun
 , graphql-core
-, opentracing
 , pytest-asyncio
 , pytest-mock
 , pytestCheckHook
@@ -28,6 +27,9 @@ buildPythonPackage rec {
     rev = "refs/tags/${version}";
     hash = "sha256-v3CaLMTo/zbNEoE3K+aWnFTCgLetcnN7vOU/sFqLq2k=";
   };
+  patches = [
+    ./remove-opentracing.patch
+  ];
 
   nativeBuildInputs = [
     hatchling
@@ -41,7 +43,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
-    opentracing
     pytest-asyncio
     pytest-mock
     pytestCheckHook
@@ -58,12 +59,18 @@ buildPythonPackage rec {
     "test_attempt_parse_request_missing_content_type_raises_bad_request_error"
     "test_attempt_parse_non_json_request_raises_bad_request_error"
     "test_attempt_parse_non_json_request_body_raises_bad_request_error"
+    # opentracing
+    "test_query_is_executed_for_multipart_form_request_with_file"
+    "test_query_is_executed_for_multipart_request_with_large_file_with_tracing"
   ];
 
   disabledTestPaths = [
     # missing graphql-sync-dataloader test dep
     "tests/test_dataloaders.py"
     "tests/wsgi/test_configuration.py"
+    # both include opentracing module, which has been removed from nixpkgs
+    "tests/tracing/test_opentracing.py"
+    "tests/tracing/test_opentelemetry.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ariadne/remove-opentracing.patch b/pkgs/development/python-modules/ariadne/remove-opentracing.patch
new file mode 100644
index 0000000000000..eecbfafea9b9a
--- /dev/null
+++ b/pkgs/development/python-modules/ariadne/remove-opentracing.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/asgi/conftest.py b/tests/asgi/conftest.py
+index a703466..223586e 100644
+--- a/tests/asgi/conftest.py
++++ b/tests/asgi/conftest.py
+@@ -8,7 +8,6 @@ from ariadne.asgi.handlers import (
+     GraphQLTransportWSHandler,
+     GraphQLWSHandler,
+ )
+-from ariadne.contrib.tracing.opentracing import opentracing_extension
+ 
+ 
+ @pytest.fixture
diff --git a/pkgs/development/python-modules/arpeggio/default.nix b/pkgs/development/python-modules/arpeggio/default.nix
index 8c7da464c4537..b07a7333c878d 100644
--- a/pkgs/development/python-modules/arpeggio/default.nix
+++ b/pkgs/development/python-modules/arpeggio/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "arpeggio";
   version = "2.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Arpeggio";
diff --git a/pkgs/development/python-modules/arrayqueues/default.nix b/pkgs/development/python-modules/arrayqueues/default.nix
index 3add43b6509af..48207c8e659f6 100644
--- a/pkgs/development/python-modules/arrayqueues/default.nix
+++ b/pkgs/development/python-modules/arrayqueues/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "arrayqueues";
   version = "1.4.1";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index db8124a98a5e7..1801900dcdeff 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "arrow";
   version = "1.2.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/arxiv2bib/default.nix b/pkgs/development/python-modules/arxiv2bib/default.nix
index bcffe0c3bb1dc..a7a6b83c56679 100644
--- a/pkgs/development/python-modules/arxiv2bib/default.nix
+++ b/pkgs/development/python-modules/arxiv2bib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "arxiv2bib";
   version = "1.0.8";
+  format = "setuptools";
 
   # Missing tests on Pypi
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/asciimatics/default.nix b/pkgs/development/python-modules/asciimatics/default.nix
index c990c9477bbf8..68607924c1de2 100644
--- a/pkgs/development/python-modules/asciimatics/default.nix
+++ b/pkgs/development/python-modules/asciimatics/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "asciimatics";
   version = "1.15.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/asciitree/default.nix b/pkgs/development/python-modules/asciitree/default.nix
index ad978efffb5f2..323e1fbf87394 100644
--- a/pkgs/development/python-modules/asciitree/default.nix
+++ b/pkgs/development/python-modules/asciitree/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "asciitree";
   version = "0.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mbr";
diff --git a/pkgs/development/python-modules/ase/default.nix b/pkgs/development/python-modules/ase/default.nix
index cad89cd576b16..ed3c019146e59 100644
--- a/pkgs/development/python-modules/ase/default.nix
+++ b/pkgs/development/python-modules/ase/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "ase";
   version = "3.22.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/asf-search/default.nix b/pkgs/development/python-modules/asf-search/default.nix
index 69c452ecb153b..39c458a42e7b7 100644
--- a/pkgs/development/python-modules/asf-search/default.nix
+++ b/pkgs/development/python-modules/asf-search/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "asf-search";
-  version = "6.6.3";
+  version = "6.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "asfadmin";
     repo = "Discovery-asf_search";
     rev = "refs/tags/v${version}";
-    hash = "sha256-w4xpCqNal0BHsmf1cL4k/DKzs/e9WQXTQNJNs8puJUU=";
+    hash = "sha256-Gks2PsHqwQqH6CcLc9yF2eAeOwncCPzEphbvR2t3j3Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asgi-csrf/default.nix b/pkgs/development/python-modules/asgi-csrf/default.nix
index 062d3259b82ae..e04eda64ab509 100644
--- a/pkgs/development/python-modules/asgi-csrf/default.nix
+++ b/pkgs/development/python-modules/asgi-csrf/default.nix
@@ -12,6 +12,7 @@
 
 buildPythonPackage rec {
   version = "0.9";
+  format = "setuptools";
   pname = "asgi-csrf";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/asgineer/default.nix b/pkgs/development/python-modules/asgineer/default.nix
index 2559cda2a018c..9bd266aa1957c 100644
--- a/pkgs/development/python-modules/asgineer/default.nix
+++ b/pkgs/development/python-modules/asgineer/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "asgineer";
   version = "0.8.1";
+  format = "setuptools";
 
   # PyPI tarball doesn't include tests directory
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/asn1ate/default.nix b/pkgs/development/python-modules/asn1ate/default.nix
index a141fc746f78b..90ccd0c6f1a2e 100644
--- a/pkgs/development/python-modules/asn1ate/default.nix
+++ b/pkgs/development/python-modules/asn1ate/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   pname = "asn1ate";
+  format = "setuptools";
   version= "0.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aspy-refactor-imports/default.nix b/pkgs/development/python-modules/aspy-refactor-imports/default.nix
index 8eff00db43d56..9ba679225da25 100644
--- a/pkgs/development/python-modules/aspy-refactor-imports/default.nix
+++ b/pkgs/development/python-modules/aspy-refactor-imports/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "aspy-refactor-imports";
   version = "3.0.1";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aspy.yaml/default.nix b/pkgs/development/python-modules/aspy.yaml/default.nix
index 5abe60742747b..09543479014e4 100644
--- a/pkgs/development/python-modules/aspy.yaml/default.nix
+++ b/pkgs/development/python-modules/aspy.yaml/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "aspy.yaml";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/assay/default.nix b/pkgs/development/python-modules/assay/default.nix
index 881c4bbf730e5..35dce9a454a24 100644
--- a/pkgs/development/python-modules/assay/default.nix
+++ b/pkgs/development/python-modules/assay/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "assay";
   version = "unstable-2022-01-19";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "brandon-rhodes";
diff --git a/pkgs/development/python-modules/assertpy/default.nix b/pkgs/development/python-modules/assertpy/default.nix
index 1800a14d507c9..de900c368da18 100644
--- a/pkgs/development/python-modules/assertpy/default.nix
+++ b/pkgs/development/python-modules/assertpy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "assertpy";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/asterisk-mbox/default.nix b/pkgs/development/python-modules/asterisk-mbox/default.nix
index 0da70911a17c0..4347c42d47dd9 100644
--- a/pkgs/development/python-modules/asterisk-mbox/default.nix
+++ b/pkgs/development/python-modules/asterisk-mbox/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "asterisk-mbox";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "asterisk_mbox";
diff --git a/pkgs/development/python-modules/astropy-healpix/default.nix b/pkgs/development/python-modules/astropy-healpix/default.nix
index 0d66f4c728dcf..6944ee4d8683e 100644
--- a/pkgs/development/python-modules/astropy-healpix/default.nix
+++ b/pkgs/development/python-modules/astropy-healpix/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "astropy-healpix";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/astropy-helpers/default.nix b/pkgs/development/python-modules/astropy-helpers/default.nix
index dd8897ab13907..0cf6cbda0688c 100644
--- a/pkgs/development/python-modules/astropy-helpers/default.nix
+++ b/pkgs/development/python-modules/astropy-helpers/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "astropy-helpers";
   version = "4.0.1";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/astunparse/default.nix b/pkgs/development/python-modules/astunparse/default.nix
index b32df24f5bbd0..54ee47f37d259 100644
--- a/pkgs/development/python-modules/astunparse/default.nix
+++ b/pkgs/development/python-modules/astunparse/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "astunparse";
   version =  "1.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/async-generator/default.nix b/pkgs/development/python-modules/async-generator/default.nix
index 17014a410d4cb..5ddb6df48ee92 100644
--- a/pkgs/development/python-modules/async-generator/default.nix
+++ b/pkgs/development/python-modules/async-generator/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "async-generator";
   version = "1.10";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/async-timeout/default.nix b/pkgs/development/python-modules/async-timeout/default.nix
index 59c8b51fbb672..88a6c9e14e34f 100644
--- a/pkgs/development/python-modules/async-timeout/default.nix
+++ b/pkgs/development/python-modules/async-timeout/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "async-timeout";
   version = "4.0.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/asyncclick/default.nix b/pkgs/development/python-modules/asyncclick/default.nix
index 832b87c774aa5..48ba646b74127 100644
--- a/pkgs/development/python-modules/asyncclick/default.nix
+++ b/pkgs/development/python-modules/asyncclick/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "asyncclick";
   version = "8.1.3.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/asyncio-rlock/default.nix b/pkgs/development/python-modules/asyncio-rlock/default.nix
index 5ad616180cee2..6f53a3adfa0a4 100644
--- a/pkgs/development/python-modules/asyncio-rlock/default.nix
+++ b/pkgs/development/python-modules/asyncio-rlock/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "asyncio-rlock";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "asyncio_rlock";
diff --git a/pkgs/development/python-modules/asyncio-throttle/default.nix b/pkgs/development/python-modules/asyncio-throttle/default.nix
index 052cfc01f997f..c48868380ebd7 100644
--- a/pkgs/development/python-modules/asyncio-throttle/default.nix
+++ b/pkgs/development/python-modules/asyncio-throttle/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "asyncio-throttle";
   version = "1.0.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/asyncserial/default.nix b/pkgs/development/python-modules/asyncserial/default.nix
index 34ab492b9ae85..a40d31510c406 100644
--- a/pkgs/development/python-modules/asyncserial/default.nix
+++ b/pkgs/development/python-modules/asyncserial/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "asyncserial";
   version = "unstable-2022-06-10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "m-labs";
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
index cc58e3d6eeb4d..fde7479884dcf 100644
--- a/pkgs/development/python-modules/asynctest/default.nix
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "asynctest";
   version = "0.13.0";
+  format = "setuptools";
 
   # Unmaintained and incompatible python 3.11
   disabled = pythonAtLeast "3.11";
diff --git a/pkgs/development/python-modules/atomiclong/default.nix b/pkgs/development/python-modules/atomiclong/default.nix
index 0fccc943c8a47..1af61849585bd 100644
--- a/pkgs/development/python-modules/atomiclong/default.nix
+++ b/pkgs/development/python-modules/atomiclong/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "atomiclong";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/atomicwrites/default.nix b/pkgs/development/python-modules/atomicwrites/default.nix
index 26187a0078b44..06ce71504dd5c 100644
--- a/pkgs/development/python-modules/atomicwrites/default.nix
+++ b/pkgs/development/python-modules/atomicwrites/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "atomicwrites";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/atsim-potentials/default.nix b/pkgs/development/python-modules/atsim-potentials/default.nix
index f9977ec841218..4a3c75966dc3d 100644
--- a/pkgs/development/python-modules/atsim-potentials/default.nix
+++ b/pkgs/development/python-modules/atsim-potentials/default.nix
@@ -15,6 +15,7 @@
 
 buildPythonPackage rec {
   version = "0.4.1";
+  format = "setuptools";
   pname = "atsim-potentials";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/aubio/default.nix b/pkgs/development/python-modules/aubio/default.nix
index 9b8eccabb6e6f..73d093d483a93 100644
--- a/pkgs/development/python-modules/aubio/default.nix
+++ b/pkgs/development/python-modules/aubio/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "aubio";
   version = "0.4.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/audible/default.nix b/pkgs/development/python-modules/audible/default.nix
index ddb80eec05340..69da14683a095 100644
--- a/pkgs/development/python-modules/audible/default.nix
+++ b/pkgs/development/python-modules/audible/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "audible";
   version = "0.8.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mkb79";
diff --git a/pkgs/development/python-modules/audioread/default.nix b/pkgs/development/python-modules/audioread/default.nix
index bdee5ba6cc9ca..f3e74462f42e1 100644
--- a/pkgs/development/python-modules/audioread/default.nix
+++ b/pkgs/development/python-modules/audioread/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "audioread";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/audiotools/default.nix b/pkgs/development/python-modules/audiotools/default.nix
index 15ffe7af8c851..427faa4fe37b5 100644
--- a/pkgs/development/python-modules/audiotools/default.nix
+++ b/pkgs/development/python-modules/audiotools/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "audiotools";
   version = "3.1.1";
+  format = "setuptools";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AudioToolbox
diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/augeas/default.nix
index 4872a4ac18d98..48c5e723bc4c1 100644
--- a/pkgs/development/python-modules/augeas/default.nix
+++ b/pkgs/development/python-modules/augeas/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
     pname = "augeas";
     version = "1.2.0";
+    format = "setuptools";
 
     src = fetchFromGitHub {
       owner = "hercules-team";
diff --git a/pkgs/development/python-modules/auroranoaa/default.nix b/pkgs/development/python-modules/auroranoaa/default.nix
index bab39ebd64f50..f906b4e42bcb5 100644
--- a/pkgs/development/python-modules/auroranoaa/default.nix
+++ b/pkgs/development/python-modules/auroranoaa/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "auroranoaa";
   version = "0.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index 3b0cc0eb80308..5d7498c794a96 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "4.6.0";
+  version = "4.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "auth0";
     repo = "auth0-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-KNhuonqFt+KrRYctQ426FcnzxISp5sBRs28hFL/Du0Q=";
+    hash = "sha256-weXEwrOP+TKVwhqCeFVqUw4x+q2Wplr0QWVUzpbNPSc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/authres/default.nix b/pkgs/development/python-modules/authres/default.nix
index 196e573717b71..52c1d138bc6e1 100644
--- a/pkgs/development/python-modules/authres/default.nix
+++ b/pkgs/development/python-modules/authres/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "authres";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/autograd-gamma/default.nix b/pkgs/development/python-modules/autograd-gamma/default.nix
index bbb5683e0cee8..a772a09678596 100644
--- a/pkgs/development/python-modules/autograd-gamma/default.nix
+++ b/pkgs/development/python-modules/autograd-gamma/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "autograd-gamma";
   version = "0.4.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "CamDavidsonPilon";
diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix
index 301e71a0a7ad9..6979c01b5960a 100644
--- a/pkgs/development/python-modules/automat/default.nix
+++ b/pkgs/development/python-modules/automat/default.nix
@@ -10,6 +10,7 @@
 
 let automat = buildPythonPackage rec {
   version = "22.10.0";
+  format = "setuptools";
   pname = "automat";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index e80f521efb2be..605fb0c66df3b 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -1,35 +1,29 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
 , stdenv
-
-# build
+, buildPythonPackage
 , cython
-, pkg-config
-, setuptools
-
-# runtime
+, fetchFromGitHub
 , ffmpeg_5-headless
-
-# tests
 , numpy
 , pillow
+, pkg-config
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "av";
-  version = "10.0.0";
-  format = "pyproject";
+  version = "11.0.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mikeboers";
     repo = "PyAV";
-    rev = "v${version}";
-    hash = "sha256-XcHP8RwC2iwD64Jc7SS+t9OxjFTsz3FbrnjMgJnN7Ak=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pCKP+4ZmZCJcG7/Qy9H6aS4svQdgaRA9S1QVNWFYhSQ=";
   };
 
   nativeBuildInputs = [
@@ -53,64 +47,54 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    # Tests that want to download FATE data
-    # https://github.com/PyAV-Org/PyAV/issues/955
-    "--deselect=tests/test_audiofifo.py::TestAudioFifo::test_data"
-    "--deselect=tests/test_codec_context.py::TestCodecContext::test_codec_tag"
-    "--deselect=tests/test_codec_context.py::TestCodecContext::test_parse"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_aac"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_dnxhd"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_dvvideo"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_h264"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mjpeg"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mp2"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mpeg1video"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mpeg4"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_pcm_s24le"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_png"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_tiff"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_xvid"
-    "--deselect=tests/test_decode.py::TestDecode::test_decode_audio_sample_count"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_motion_vectors"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_motion_vectors_no_flag"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_time_base"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_video_frame_count"
-    "--deselect=tests/test_encode.py::TestBasicAudioEncoding::test_transcode"
-    "--deselect=tests/test_file_probing.py::TestAudioProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestAudioProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestDataProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestDataProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestSubtitleProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestSubtitleProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestVideoProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestVideoProbe::test_stream_probing"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_buffer"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_buffer_no_see"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_file"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_pipe_readonly"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_write_readonl"
-    "--deselect=tests/test_seek.py::TestSeek::test_decode_half"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_end"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_float"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_int64"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_middle"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_start"
-    "--deselect=tests/test_seek.py::TestSeek::test_stream_seek"
-    "--deselect=tests/test_streams.py::TestStreams::test_selection"
-    "--deselect=tests/test_streams.py::TestStreams::test_stream_tuples"
-    "--deselect=tests/test_subtitles.py::TestSubtitle::test_movtext"
-    "--deselect=tests/test_subtitles.py::TestSubtitle::test_vobsub"
-    "--deselect=tests/test_videoframe.py::TestVideoFrameImage::test_roundtrip"
-  ] ++ lib.optionals (stdenv.isDarwin) [
-    # Segmentation Faults
-    "--deselect=tests/test_encode.py::TestBasicVideoEncoding::test_encoding_with_pts"
-    "--deselect=tests/test_pyav.py::test_bayer_write"
-  ];
-
   disabledTests = [
     # urlopen fails during DNS resolution
     "test_writing_to_custom_io"
+    "test_decode_close_then_use"
+    # Tests that want to download FATE data, https://github.com/PyAV-Org/PyAV/issues/955
+    "test_vobsub"
+    "test_transcode"
+    "test_stream_tuples"
+    "test_stream_seek"
+    "test_stream_probing"
+    "test_seek_start"
+    "test_seek_middle"
+    "test_seek_int64"
+    "test_seek_float"
+    "test_seek_end"
+    "test_roundtrip"
+    "test_reading_from_write_readonl"
+    "test_reading_from_pipe_readonly"
+    "test_reading_from_file"
+    "test_reading_from_buffer"
+    "test_reading_from_buffer_no_see"
+    "test_parse"
+    "test_movtext"
+    "test_encoding_xvid"
+    "test_encoding_tiff"
+    "test_encoding_png"
+    "test_encoding_pcm_s24le"
+    "test_encoding_mpeg4"
+    "test_encoding_mpeg1video"
+    "test_encoding_mp2"
+    "test_encoding_mjpeg"
+    "test_encoding_h264"
+    "test_encoding_dvvideo"
+    "test_encoding_dnxhd"
+    "test_encoding_aac"
+    "test_decoded_video_frame_count"
+    "test_decoded_time_base"
+    "test_decoded_motion_vectors"
+    "test_decode_half"
+    "test_decode_audio_sample_count"
+    "test_data"
+    "test_container_probing"
+    "test_codec_tag"
+    "test_selection"
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    # Segmentation Faults
+    "test_encoding_with_pts"
+    "test_bayer_write"
   ];
 
   disabledTestPaths = [
@@ -148,6 +132,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Pythonic bindings for FFmpeg/Libav";
     homepage = "https://github.com/mikeboers/PyAV/";
+    changelog = "https://github.com/PyAV-Org/PyAV/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/avea/default.nix b/pkgs/development/python-modules/avea/default.nix
index 64e0dc286330a..01440a0ff9ace 100644
--- a/pkgs/development/python-modules/avea/default.nix
+++ b/pkgs/development/python-modules/avea/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "avea";
   version = "1.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "k0rventen";
diff --git a/pkgs/development/python-modules/avro-python3/default.nix b/pkgs/development/python-modules/avro-python3/default.nix
index fb51b698ed822..7c65fd4fc0f66 100644
--- a/pkgs/development/python-modules/avro-python3/default.nix
+++ b/pkgs/development/python-modules/avro-python3/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "avro-python3";
   version = "1.10.2";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/avro3k/default.nix b/pkgs/development/python-modules/avro3k/default.nix
index 65dfc975837fd..a9a60652b1959 100644
--- a/pkgs/development/python-modules/avro3k/default.nix
+++ b/pkgs/development/python-modules/avro3k/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "avro3k";
   version = "1.7.7-SNAPSHOT";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/awacs/default.nix b/pkgs/development/python-modules/awacs/default.nix
index f59eaccd1b9a0..531d9ace6e641 100644
--- a/pkgs/development/python-modules/awacs/default.nix
+++ b/pkgs/development/python-modules/awacs/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "awacs";
   version = "2.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/awesome-slugify/default.nix b/pkgs/development/python-modules/awesome-slugify/default.nix
index 2ddccf85f82fe..cd1717a96b4d6 100644
--- a/pkgs/development/python-modules/awesome-slugify/default.nix
+++ b/pkgs/development/python-modules/awesome-slugify/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "awesome-slugify";
   version = "1.6.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index b4e4774af8ce1..da217b4496bb5 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -57,8 +58,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     fsspec
-    jax
-    jaxlib
     numba
     setuptools
     numexpr
@@ -66,6 +65,10 @@ buildPythonPackage rec {
     pyarrow
     pytest-xdist
     pytestCheckHook
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    # no support for darwin
+    jax
+    jaxlib
   ];
 
   # The following tests have been disabled because they need to be run on a GPU platform.
diff --git a/pkgs/development/python-modules/aws-encryption-sdk/default.nix b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
index 7c69b062bd800..b9186ab1779c5 100644
--- a/pkgs/development/python-modules/aws-encryption-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "aws-encryption-sdk";
   version = "3.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/aws-xray-sdk/default.nix b/pkgs/development/python-modules/aws-xray-sdk/default.nix
index e2fb2414a2c0d..de02fdf8a88eb 100644
--- a/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -1,35 +1,77 @@
 { lib
+, aiohttp
+, botocore
+, bottle
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
+, django
+, fetchFromGitHub
+, httpx
 , importlib-metadata
 , jsonpickle
-, wrapt
+, pymysql
+, pytest-asyncio
+, pynamodb
+, pytestCheckHook
+, pythonOlder
 , requests
-, future
-, botocore
+, sqlalchemy
+, webtest
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.12.0";
+  version = "2.12.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-KVr8I3BzqAlW19TyfDGDDty5qMzKnviqRJkLre8V5bc=";
+  src = fetchFromGitHub {
+    owner = "aws";
+    repo = "aws-xray-sdk-python";
+    rev = "refs/tags/${version}";
+    hash = "sha256-NLFNst4Yqsz2u5IXwe8OdJPW77irLRO5tWWn1uV3tMg=";
   };
 
   propagatedBuildInputs = [
-    jsonpickle wrapt requests future botocore
+    botocore
+    jsonpickle
+    requests
+    wrapt
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  meta = {
+  nativeCheckInputs = [
+    aiohttp
+    bottle
+    django
+    httpx
+    pymysql
+    pynamodb
+    pytest-asyncio
+    pytestCheckHook
+    sqlalchemy
+    webtest
+  ];
+
+  disabledTestPaths = [
+    # This reduces the amount of dependencies
+    "tests/ext/"
+    # We don't care about benchmarks
+    "tests/test_local_sampling_benchmark.py"
+    "tests/test_patcher.py"
+  ];
+
+  pythonImportsCheck = [
+    "aws_xray_sdk"
+  ];
+
+  meta = with lib; {
     description = "AWS X-Ray SDK for the Python programming language";
-    license = lib.licenses.asl20;
     homepage = "https://github.com/aws/aws-xray-sdk-python";
+    changelog = "https://github.com/aws/aws-xray-sdk-python/blob/${version}/CHANGELOG.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
-  doCheck = false;
 }
diff --git a/pkgs/development/python-modules/awslambdaric/default.nix b/pkgs/development/python-modules/awslambdaric/default.nix
index 1d89f2e932417..f63ed81b76fa9 100644
--- a/pkgs/development/python-modules/awslambdaric/default.nix
+++ b/pkgs/development/python-modules/awslambdaric/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "awslambdaric";
   version = "2.0.7";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/axisregistry/default.nix b/pkgs/development/python-modules/axisregistry/default.nix
new file mode 100644
index 0000000000000..7c87679a9a067
--- /dev/null
+++ b/pkgs/development/python-modules/axisregistry/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, protobuf
+, pythonRelaxDepsHook
+, pytestCheckHook
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "axisregistry";
+  version = "0.4.5";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-elQUcl6Zh/3xXLduFKbiXZ6uQsDE8C6M3QnTEwaJlaA=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    protobuf
+  ];
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # Relax the dependency on protobuf 3. Other packages in the Google Fonts
+  # ecosystem have begun upgrading from protobuf 3 to protobuf 4,
+  # so we need to use protobuf 4 here as well to avoid a conflict
+  # in the closure of fontbakery. It seems to be compatible enough.
+  pythonRelaxDeps = [ "protobuf" ];
+
+  meta = with lib; {
+    description = "Google Fonts registry of OpenType variation axis tags";
+    homepage = "https://github.com/googlefonts/axisregistry";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-applicationinsights/default.nix b/pkgs/development/python-modules/azure-applicationinsights/default.nix
index 1d4e17edc64ba..3292f0066a96f 100644
--- a/pkgs/development/python-modules/azure-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-applicationinsights/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "azure-applicationinsights";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-common/default.nix b/pkgs/development/python-modules/azure-common/default.nix
index 47d0039e5e4bb..ed4cd5243abf0 100644
--- a/pkgs/development/python-modules/azure-common/default.nix
+++ b/pkgs/development/python-modules/azure-common/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "1.1.28";
+  format = "setuptools";
   pname = "azure-common";
   disabled = isPyPy;
 
diff --git a/pkgs/development/python-modules/azure-cosmos/default.nix b/pkgs/development/python-modules/azure-cosmos/default.nix
index f41bc696d56f8..b8810f06f4656 100644
--- a/pkgs/development/python-modules/azure-cosmos/default.nix
+++ b/pkgs/development/python-modules/azure-cosmos/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "4.5.1";
+  format = "setuptools";
   pname = "azure-cosmos";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix b/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
index a2b686af68875..f256d8d5b4499 100644
--- a/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-cosmosdb-nspkg";
   version = "2.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
index 8d92e1559d593..42c81a96ff6cd 100644
--- a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
+++ b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-cosmosdb-table";
   version = "1.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-functions-devops-build/default.nix b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
index 03007ae3c2364..aa6e291035785 100644
--- a/pkgs/development/python-modules/azure-functions-devops-build/default.nix
+++ b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.0.22";
+  format = "setuptools";
   pname = "azure-functions-devops-build";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/azure-graphrbac/default.nix b/pkgs/development/python-modules/azure-graphrbac/default.nix
index 2b05d9ac83d8d..1c26d5e6b29a0 100644
--- a/pkgs/development/python-modules/azure-graphrbac/default.nix
+++ b/pkgs/development/python-modules/azure-graphrbac/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.61.1";
+  format = "setuptools";
   pname = "azure-graphrbac";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-identity/default.nix b/pkgs/development/python-modules/azure-identity/default.nix
index 624ce81e5bcaf..add836eee03f4 100644
--- a/pkgs/development/python-modules/azure-identity/default.nix
+++ b/pkgs/development/python-modules/azure-identity/default.nix
@@ -1,11 +1,11 @@
 { lib
-, azure-common
-, azure-mgmt-core
 , buildPythonPackage
 , fetchPypi
-, isodate
-, msal
 , pythonOlder
+, azure-core
+, cryptography
+, msal
+, msal-extensions
 }:
 
 buildPythonPackage rec {
@@ -21,10 +21,10 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    azure-common
-    azure-mgmt-core
-    isodate
+    azure-core
+    cryptography
     msal
+    msal-extensions
   ];
 
   pythonImportsCheck = [
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Identity Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
-    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_${version}/sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_${version}/sdk/identity/azure-identity/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ kamadorueda ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix b/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix
index fd3f3c0284f97..f060c77edc16a 100644
--- a/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-nspkg/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "azure-keyvault-nspkg";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-loganalytics/default.nix b/pkgs/development/python-modules/azure-loganalytics/default.nix
index ee3f0460fd7ec..7c18ed7ceb5f2 100644
--- a/pkgs/development/python-modules/azure-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-loganalytics/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.1.1";
+  format = "setuptools";
   pname = "azure-loganalytics";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-mgmt-advisor/default.nix b/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
index 81afa6ff7ed0d..2a75de7bf4938 100644
--- a/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-advisor/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-advisor";
   version = "9.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
index 2e8765d27524e..7ef53cb2a2ba2 100644
--- a/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "4.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-apimanagement";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
index 9915297eb120a..4c74e09d36b12 100644
--- a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "3.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-appconfiguration";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index 2f2c1c72b5783..352d719ddadd1 100644
--- a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-applicationinsights";
   version = "4.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
index 08b3c763227bf..89ce5b1a40124 100644
--- a/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-authorization/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-authorization";
   version = "4.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
index 0c005c3ea3c2b..fd0a7c019a3fe 100644
--- a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-batchai";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
index 94b90e6b196d0..7bf243e3edbbc 100644
--- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-billing";
   version = "6.0.0"; #pypi's 0.2.0 doesn't build ootb
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
index 6bc3b2c7c6f0e..4527294c90b35 100644
--- a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "2.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-botservice";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-commerce/default.nix b/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
index 89aed74bbb3df..035f3f6c682c8 100644
--- a/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-commerce/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-commerce";
   version = "6.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-common/default.nix b/pkgs/development/python-modules/azure-mgmt-common/default.nix
index dfd7ac2a3f058..7ce7ce2c3f007 100644
--- a/pkgs/development/python-modules/azure-mgmt-common/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-common/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage rec {
   version = "0.20.0";
+  format = "setuptools";
   pname = "azure-mgmt-common";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
index c910587a615f2..5156763d55f05 100644
--- a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-consumption";
   version = "10.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-core/default.nix b/pkgs/development/python-modules/azure-mgmt-core/default.nix
index d4e2f40b211ab..67e7a4bca229e 100644
--- a/pkgs/development/python-modules/azure-mgmt-core/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-core/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.4.0";
+  format = "setuptools";
   pname = "azure-mgmt-core";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-mgmt-databoxedge/default.nix b/pkgs/development/python-modules/azure-mgmt-databoxedge/default.nix
index 7c76daf619d54..98c697a4e6c67 100644
--- a/pkgs/development/python-modules/azure-mgmt-databoxedge/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-databoxedge/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-databoxedge";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
index 473ebda1b874c..83d6e314987fc 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-datalake-analytics";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
index 8af5fbd0c2e03..8723830d4105b 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-datalake-nspkg";
   version = "3.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
index 95cbb7bb896b5..2ab479b3f7c2f 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-datalake-store";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
index 66945c67c6a36..fe57d5d26cc6b 100644
--- a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-datamigration";
   version = "10.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
index c8f15f5960c17..3f8d43ea36ad3 100644
--- a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-deploymentmanager";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix b/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
index 5ca30f45de29d..9a2cf7c027097 100644
--- a/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-devspaces";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
index 40ab2fbedcce7..02b21b3dfd351 100644
--- a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-devtestlabs";
   version = "9.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-dns/default.nix b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
index 85f84b34a79cf..bc8d9eb9e1155 100644
--- a/pkgs/development/python-modules/azure-mgmt-dns/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-dns";
   version = "8.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-extendedlocation/default.nix b/pkgs/development/python-modules/azure-mgmt-extendedlocation/default.nix
index a0b942e6de560..0d7f5a2cdb79d 100644
--- a/pkgs/development/python-modules/azure-mgmt-extendedlocation/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-extendedlocation/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-extendedlocation";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix b/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
index 094e79819c2ff..2e3c750c3b3bc 100644
--- a/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-frontdoor/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-frontdoor";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix b/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
index 9b9a84bbe21ee..7bd4c36696326 100644
--- a/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-hanaonazure";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
index a6920815f0fa3..e10811f814fa8 100644
--- a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "9.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-hdinsight";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
index c8aadd1f4d6a5..6881e5dd8ac5b 100644
--- a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.2.0";
+  format = "setuptools";
   pname = "azure-mgmt-imagebuilder";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix b/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
index 6d226816082d9..660b266207571 100644
--- a/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-iotcentral";
   version = "9.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 7b75fdbde58e9..df0a7efe8dbfb 100644
--- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-iothubprovisioningservices";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
index 5195c0102db45..474b19814c0b6 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -1,36 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
 , azure-common
 , azure-mgmt-core
-, msrest
-, msrestazure
+, buildPythonPackage
+, fetchPypi
+, isodate
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "3.2.0";
   pname = "azure-mgmt-kusto";
-  disabled = isPy27;
+  version = "3.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zgkFMrufHoX3gq9QXo8SlJYZOfV5GlY3pVQXmIWyx7c=";
-    extension = "zip";
+    hash = "sha256-PmGGtyVrYFCMnpiCq9x9uwoMboDO1ePlGAJzrMTj3ps=";
   };
 
   propagatedBuildInputs = [
     azure-common
     azure-mgmt-core
-    msrest
-    msrestazure
+    isodate
   ];
 
   # no tests included
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.common" "azure.mgmt.kusto" ];
+  pythonImportsCheck = [
+    "azure.common"
+    "azure.mgmt.kusto"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure Kusto Management Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-kusto_${version}/sdk/kusto/azure-mgmt-kusto/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 9629c6e7bba06..499b4362f02c3 100644
--- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-loganalytics";
   version = "12.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix b/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
index 543589b7aecb7..fa6e67196260b 100644
--- a/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-machinelearningcompute";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
index 140f08e13f4a7..830ea71e9a176 100644
--- a/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "6.0.0";
+  format = "setuptools";
   pname = "azure-mgmt-managedservices";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix b/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
index eb744b78ff7d7..22df23f03cd32 100644
--- a/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-managementgroups";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix b/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
index 169f52c86d52a..5d91873e96220 100644
--- a/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-managementpartner";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix b/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
index 628d0bbcac039..d07dd7a1cfe7a 100644
--- a/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-marketplaceordering";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix b/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
index 7b7704401c175..75e7718f110b9 100644
--- a/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-notificationhubs";
   version = "8.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix b/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
index 4a01c753a6262..6f5b8912f9a2b 100644
--- a/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "3.0.2";
+  format = "setuptools";
   pname = "azure-mgmt-nspkg";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
index 30fce38854531..e92d7302d32cb 100644
--- a/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-policyinsights";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix b/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
index 24b446146856d..9215d8955b911 100644
--- a/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-powerbiembedded";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix b/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
index b24c6ea69b2ea..c73ae220f09d6 100644
--- a/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-rdbms";
   version = "10.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-relay/default.nix b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
index a49080152ed4a..9e6f2eb9f797d 100644
--- a/pkgs/development/python-modules/azure-mgmt-relay/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-relay";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix b/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
index 7fc7a152cb412..306a7500114f7 100644
--- a/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-scheduler";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
index c7ae3b1acb5ea..e7a5ff61f1562 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-servicefabric";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-servicefabricmanagedclusters/default.nix b/pkgs/development/python-modules/azure-mgmt-servicefabricmanagedclusters/default.nix
index d3a52e76a6817..513018a1ecc2b 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicefabricmanagedclusters/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicefabricmanagedclusters/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-servicefabricmanagedclusters";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
index 83916038d9961..520ae24b32100 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-servicelinker";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 75b41758b3d0d..c677f7e3cca09 100644
--- a/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
   version = "3.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
index 76f0d7a2b39cc..4adafa254ba16 100644
--- a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.5.0";
+  format = "setuptools";
   pname = "azure-mgmt-sqlvirtualmachine";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-subscription/default.nix b/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
index 9c244435c2d06..1915f15110b9e 100644
--- a/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-subscription/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-subscription";
   version = "3.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-mgmt-synapse/default.nix b/pkgs/development/python-modules/azure-mgmt-synapse/default.nix
index a09677ab8e7d6..1c2745f60f599 100644
--- a/pkgs/development/python-modules/azure-mgmt-synapse/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-synapse/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-synapse";
   version = "2.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
index c5190b6d33687..e2ae6c3e9cf57 100644
--- a/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-mgmt-trafficmanager";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
index 09f8e3b1fad00..e8bc4d5634574 100644
--- a/pkgs/development/python-modules/azure-multiapi-storage/default.nix
+++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "1.2.0";
+  format = "setuptools";
   pname = "azure-multiapi-storage";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/azure-nspkg/default.nix b/pkgs/development/python-modules/azure-nspkg/default.nix
index f9c8e8d68c647..a79963cddb26f 100644
--- a/pkgs/development/python-modules/azure-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-nspkg/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "3.0.2";
+  format = "setuptools";
   pname = "azure-nspkg";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-servicefabric/default.nix b/pkgs/development/python-modules/azure-servicefabric/default.nix
index 64e7a8f63d32d..b7ad663a1b430 100644
--- a/pkgs/development/python-modules/azure-servicefabric/default.nix
+++ b/pkgs/development/python-modules/azure-servicefabric/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "azure-servicefabric";
   version = "8.2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix b/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
index b54e17db283ee..d47f38396c74f 100644
--- a/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
+++ b/pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.20.7";
+  format = "setuptools";
   pname = "azure-servicemanagement-legacy";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/azure-storage-common/default.nix b/pkgs/development/python-modules/azure-storage-common/default.nix
index 50fb3450d84f4..361725a307aa2 100644
--- a/pkgs/development/python-modules/azure-storage-common/default.nix
+++ b/pkgs/development/python-modules/azure-storage-common/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "azure-storage-common";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-storage-file/default.nix b/pkgs/development/python-modules/azure-storage-file/default.nix
index 8ce1d572e8e0c..bf847905ae934 100644
--- a/pkgs/development/python-modules/azure-storage-file/default.nix
+++ b/pkgs/development/python-modules/azure-storage-file/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "azure-storage-file";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-storage-nspkg/default.nix b/pkgs/development/python-modules/azure-storage-nspkg/default.nix
index b8e243c9b6aa2..9d1394e5be3a0 100644
--- a/pkgs/development/python-modules/azure-storage-nspkg/default.nix
+++ b/pkgs/development/python-modules/azure-storage-nspkg/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-storage-nspkg";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix b/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
index fc6cd765cdbba..20c3141447474 100644
--- a/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
+++ b/pkgs/development/python-modules/azure-synapse-accesscontrol/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-synapse-accesscontrol";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-synapse-managedprivateendpoints/default.nix b/pkgs/development/python-modules/azure-synapse-managedprivateendpoints/default.nix
index 4a8b98be01ba7..18a96ec10fbfd 100644
--- a/pkgs/development/python-modules/azure-synapse-managedprivateendpoints/default.nix
+++ b/pkgs/development/python-modules/azure-synapse-managedprivateendpoints/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-synapse-managedprivateendpoints";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/azure-synapse-spark/default.nix b/pkgs/development/python-modules/azure-synapse-spark/default.nix
index 554b97c356199..7e21755414353 100644
--- a/pkgs/development/python-modules/azure-synapse-spark/default.nix
+++ b/pkgs/development/python-modules/azure-synapse-spark/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "azure-synapse-spark";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/babelfish/default.nix b/pkgs/development/python-modules/babelfish/default.nix
index 4f64e65bae037..f79a0ba005faf 100644
--- a/pkgs/development/python-modules/babelfish/default.nix
+++ b/pkgs/development/python-modules/babelfish/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "babelfish";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/babelfont/default.nix b/pkgs/development/python-modules/babelfont/default.nix
new file mode 100644
index 0000000000000..4cd3e809a8903
--- /dev/null
+++ b/pkgs/development/python-modules/babelfont/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cu2qu
+, defcon
+, fontfeatures
+, fonttools
+, glyphslib
+, openstep-plist
+, orjson
+, poetry-core
+, pytestCheckHook
+, ufoLib2
+}:
+
+buildPythonPackage rec {
+  pname = "babelfont";
+  version = "3.0.1";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "simoncozens";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-1DHcJDVaCgIAODyf5UUrXej8x3ySD4+6/KtxuF2yFV4=";
+  };
+
+  pyproject = true;
+
+  propagatedBuildInputs = [
+    cu2qu
+    fontfeatures
+    fonttools
+    glyphslib
+    openstep-plist
+    orjson
+    ufoLib2
+  ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    defcon
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to load, examine, and save fonts in a variety of formats";
+    homepage = "https://github.com/simoncozens/babelfont";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix
index 60978371eb956..d6154a063e7c3 100644
--- a/pkgs/development/python-modules/babelgladeextractor/default.nix
+++ b/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "babelgladeextractor";
   version = "0.7.0";
+  format = "setuptools";
   disabled = (!isPy3k); # uses python3 specific file io in setup.py
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/backcall/default.nix b/pkgs/development/python-modules/backcall/default.nix
index acc1899044610..adf4daa893ae5 100644
--- a/pkgs/development/python-modules/backcall/default.nix
+++ b/pkgs/development/python-modules/backcall/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "backcall";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
index 669f997f6e86c..ea57e4887bff9 100644
--- a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
+++ b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "backports-entry-points-selectable";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "backports.entry_points_selectable";
     inherit version;
-    hash = "sha256-Rwb1kXllfKfB0yWlQ+4TcPj0YzH0MrysYvqyQv3wr6U=";
+    hash = "sha256-F6i0SucA+6VIaG3SdN3JHAYDcVZc1jgGwgodM5EXRuY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index faed6af9cbbd6..ed0915eee5220 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "backports-zoneinfo";
   version = "0.2.1";
+  format = "setuptools";
 
   disabled = pythonAtLeast "3.9";
 
diff --git a/pkgs/development/python-modules/bagit/default.nix b/pkgs/development/python-modules/bagit/default.nix
index 5f15060c4e2d7..7f671bb8a4704 100644
--- a/pkgs/development/python-modules/bagit/default.nix
+++ b/pkgs/development/python-modules/bagit/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "bagit";
   version = "1.8.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "LibraryOfCongress";
diff --git a/pkgs/development/python-modules/banal/default.nix b/pkgs/development/python-modules/banal/default.nix
index 066fba0b5c959..d8843dd894864 100644
--- a/pkgs/development/python-modules/banal/default.nix
+++ b/pkgs/development/python-modules/banal/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "banal";
   version = "1.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bap/default.nix b/pkgs/development/python-modules/bap/default.nix
index 03abf67f86a09..a3316b8651f52 100644
--- a/pkgs/development/python-modules/bap/default.nix
+++ b/pkgs/development/python-modules/bap/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "bap";
   version = "1.3.1";
+  format = "setuptools";
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "bap-python";
diff --git a/pkgs/development/python-modules/baron/default.nix b/pkgs/development/python-modules/baron/default.nix
index af8c1a1d36a66..d02a434248fb9 100644
--- a/pkgs/development/python-modules/baron/default.nix
+++ b/pkgs/development/python-modules/baron/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "baron";
   version = "0.10.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/base36/default.nix b/pkgs/development/python-modules/base36/default.nix
index 92b4faf7d9e64..461ecc9127913 100644
--- a/pkgs/development/python-modules/base36/default.nix
+++ b/pkgs/development/python-modules/base36/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "base36";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tonyseek";
diff --git a/pkgs/development/python-modules/base64io/default.nix b/pkgs/development/python-modules/base64io/default.nix
index 4fefa1336214c..32753a710fc87 100644
--- a/pkgs/development/python-modules/base64io/default.nix
+++ b/pkgs/development/python-modules/base64io/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "base64io";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/baseline/default.nix b/pkgs/development/python-modules/baseline/default.nix
index 947ab4b6c1cb2..a919e42dbc826 100644
--- a/pkgs/development/python-modules/baseline/default.nix
+++ b/pkgs/development/python-modules/baseline/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "baseline";
   version = "1.2.1";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/baselines/default.nix b/pkgs/development/python-modules/baselines/default.nix
index dd51399901285..70be97034ce0d 100644
--- a/pkgs/development/python-modules/baselines/default.nix
+++ b/pkgs/development/python-modules/baselines/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage {
   pname = "baselines";
   version = "0.1.6"; # remember to manually adjust the rev
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openai";
diff --git a/pkgs/development/python-modules/basemap-data/default.nix b/pkgs/development/python-modules/basemap-data/default.nix
index 158c3f3f19c4e..390b4afcf7604 100644
--- a/pkgs/development/python-modules/basemap-data/default.nix
+++ b/pkgs/development/python-modules/basemap-data/default.nix
@@ -15,6 +15,7 @@
 
 buildPythonPackage rec {
   pname = "basemap-data";
+  format = "setuptools";
   inherit (basemap) version src;
 
   sourceRoot = "${src.name}/packages/basemap_data";
diff --git a/pkgs/development/python-modules/basemap/default.nix b/pkgs/development/python-modules/basemap/default.nix
index 9c5ea550abb1e..b8735db0c0457 100644
--- a/pkgs/development/python-modules/basemap/default.nix
+++ b/pkgs/development/python-modules/basemap/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "basemap";
   version = "1.3.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "matplotlib";
diff --git a/pkgs/development/python-modules/bash-kernel/default.nix b/pkgs/development/python-modules/bash-kernel/default.nix
index 1c50b151f01e6..c3ab6083ba1dd 100644
--- a/pkgs/development/python-modules/bash-kernel/default.nix
+++ b/pkgs/development/python-modules/bash-kernel/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "bash-kernel";
-  version = "0.9.1";
+  version = "0.9.3";
   pyproject = true;
 
   src = fetchPypi {
     pname = "bash_kernel";
     inherit version;
-    hash = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis=";
+    hash = "sha256-n3oDgRyn2csfv/gIIjfPBFC5cYIlL9C4BYeha2XmbVg=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/basiciw/default.nix b/pkgs/development/python-modules/basiciw/default.nix
index 8ae4a59cfb471..33ea28ff0fb89 100644
--- a/pkgs/development/python-modules/basiciw/default.nix
+++ b/pkgs/development/python-modules/basiciw/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "basiciw";
   version = "0.2.2";
+  format = "setuptools";
 
   disabled = isPy27 || isPyPy;
 
diff --git a/pkgs/development/python-modules/batinfo/default.nix b/pkgs/development/python-modules/batinfo/default.nix
index 17d28c129141a..c4fdc9ee92cfd 100644
--- a/pkgs/development/python-modules/batinfo/default.nix
+++ b/pkgs/development/python-modules/batinfo/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "batinfo";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/baycomp/default.nix b/pkgs/development/python-modules/baycomp/default.nix
index 0d4f59745f007..6ed381851535d 100644
--- a/pkgs/development/python-modules/baycomp/default.nix
+++ b/pkgs/development/python-modules/baycomp/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "baycomp";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bayespy/default.nix b/pkgs/development/python-modules/bayespy/default.nix
index 0d2d87acfad58..eaee0ef0974cb 100644
--- a/pkgs/development/python-modules/bayespy/default.nix
+++ b/pkgs/development/python-modules/bayespy/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "bayespy";
   version = "0.5.26";
+  format = "setuptools";
 
   # Python 2 not supported and not some old Python 3 because MPL doesn't support
   # them properly.
diff --git a/pkgs/development/python-modules/bcdoc/default.nix b/pkgs/development/python-modules/bcdoc/default.nix
index 29c267aa45fbe..b9af315895396 100644
--- a/pkgs/development/python-modules/bcdoc/default.nix
+++ b/pkgs/development/python-modules/bcdoc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "bcdoc";
   version = "0.16.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bcf/default.nix b/pkgs/development/python-modules/bcf/default.nix
index 03b53ca2e6e92..68501e08d1e37 100644
--- a/pkgs/development/python-modules/bcf/default.nix
+++ b/pkgs/development/python-modules/bcf/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "bcf";
   version = "1.9.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hardwario";
diff --git a/pkgs/development/python-modules/bcg/default.nix b/pkgs/development/python-modules/bcg/default.nix
index ce32e61ff809d..2a520f23f51fc 100644
--- a/pkgs/development/python-modules/bcg/default.nix
+++ b/pkgs/development/python-modules/bcg/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "bcg";
   version = "1.17.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hardwario";
diff --git a/pkgs/development/python-modules/bch/default.nix b/pkgs/development/python-modules/bch/default.nix
index 8b9308cf02174..448559c592e2c 100644
--- a/pkgs/development/python-modules/bch/default.nix
+++ b/pkgs/development/python-modules/bch/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "bch";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hardwario";
diff --git a/pkgs/development/python-modules/bdffont/default.nix b/pkgs/development/python-modules/bdffont/default.nix
new file mode 100644
index 0000000000000..e9e0595f3f153
--- /dev/null
+++ b/pkgs/development/python-modules/bdffont/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, brotli
+, fonttools
+}:
+
+buildPythonPackage rec {
+  pname = "bdffont";
+  version = "0.0.15";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-aXK6zqLFfqLXa/JLmSSW3gtC2+wtutz3/lLdYPZZ/ys=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/bdffont";
+    description = "A library for manipulating .bdf format fonts";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index 103f88082068a..ef415aa83d7af 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -18,6 +18,7 @@
 
 buildPythonPackage rec {
   version = "2.3.6";
+  format = "setuptools";
   pname = "beancount";
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/beanstalkc/default.nix b/pkgs/development/python-modules/beanstalkc/default.nix
index ffdb2f6f8f2a8..c0590651ded83 100644
--- a/pkgs/development/python-modules/beanstalkc/default.nix
+++ b/pkgs/development/python-modules/beanstalkc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "beanstalkc";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bosondata";
diff --git a/pkgs/development/python-modules/bech32/default.nix b/pkgs/development/python-modules/bech32/default.nix
index 43fc00ee01058..37a120a042c3a 100644
--- a/pkgs/development/python-modules/bech32/default.nix
+++ b/pkgs/development/python-modules/bech32/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "bech32";
   version = "1.2.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/before-after/default.nix b/pkgs/development/python-modules/before-after/default.nix
index 919914d7fd7a1..cc1164eec56bf 100644
--- a/pkgs/development/python-modules/before-after/default.nix
+++ b/pkgs/development/python-modules/before-after/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "before-after";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "before_after";
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index f90b664ee7aae..b313e88b6c571 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "behave";
   version = "1.2.7.dev2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "behave";
diff --git a/pkgs/development/python-modules/beniget/default.nix b/pkgs/development/python-modules/beniget/default.nix
index 51f641c51eb48..5868378f8d371 100644
--- a/pkgs/development/python-modules/beniget/default.nix
+++ b/pkgs/development/python-modules/beniget/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "beniget";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/betacode/default.nix b/pkgs/development/python-modules/betacode/default.nix
index 79136e479d261..4b935b34139a2 100644
--- a/pkgs/development/python-modules/betacode/default.nix
+++ b/pkgs/development/python-modules/betacode/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "betacode";
   version = "1.0";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     sha256 = "0s84kd9vblbjz61q7zchx64a6hmdqb4lillna5ryh0g9ij76g6r5";
diff --git a/pkgs/development/python-modules/betamax-matchers/default.nix b/pkgs/development/python-modules/betamax-matchers/default.nix
index 087329d103e7d..2588c1c848827 100644
--- a/pkgs/development/python-modules/betamax-matchers/default.nix
+++ b/pkgs/development/python-modules/betamax-matchers/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "betamax-matchers";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/betamax-serializers/default.nix b/pkgs/development/python-modules/betamax-serializers/default.nix
index 0ddc9845bfa79..072b3fa4193ba 100644
--- a/pkgs/development/python-modules/betamax-serializers/default.nix
+++ b/pkgs/development/python-modules/betamax-serializers/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "betamax-serializers";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/betamax/default.nix b/pkgs/development/python-modules/betamax/default.nix
index 5906a531f22d8..86f1e2574db78 100644
--- a/pkgs/development/python-modules/betamax/default.nix
+++ b/pkgs/development/python-modules/betamax/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "betamax";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/betterproto/default.nix b/pkgs/development/python-modules/betterproto/default.nix
index 6de1933fca8d3..f17fabec994f3 100644
--- a/pkgs/development/python-modules/betterproto/default.nix
+++ b/pkgs/development/python-modules/betterproto/default.nix
@@ -9,6 +9,7 @@
 , jinja2
 , isort
 , python
+, pydantic
 , pytestCheckHook
 , pytest-asyncio
 , pytest-mock
@@ -18,15 +19,15 @@
 
 buildPythonPackage rec {
   pname = "betterproto";
-  version = "2.0.0b5";
+  version = "2.0.0b6";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "danielgtaylor";
     repo = "python-betterproto";
-    rev = "v${version}";
-    hash = "sha256-XyXdpo3Yo4aO1favMWC7i9utz4fNDbKbsnYXJW0b7Gc=";
+    rev = "v.${version}";
+    hash = "sha256-ZuVq4WERXsRFUPNNTNp/eisWX1MyI7UtwqEI8X93wYI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
@@ -45,6 +46,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "betterproto" ];
 
   nativeCheckInputs = [
+    pydantic
     pytestCheckHook
     pytest-asyncio
     pytest-mock
@@ -56,6 +58,7 @@ buildPythonPackage rec {
   # the protoc-gen-python_betterproto script from the package to be on PATH.
   preCheck = ''
     export PATH=$PATH:$out/bin
+    patchShebangs src/betterproto/plugin/main.py
     ${python.interpreter} -m tests.generate
   '';
 
diff --git a/pkgs/development/python-modules/beziers/default.nix b/pkgs/development/python-modules/beziers/default.nix
new file mode 100644
index 0000000000000..e4295f63ba054
--- /dev/null
+++ b/pkgs/development/python-modules/beziers/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, dotmap
+, matplotlib
+, pyclipper
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "beziers";
+  version = "0.5.0";
+  format = "setuptools";
+
+  # PyPI doesn't have a proper source tarball, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "simoncozens";
+    repo = "beziers.py";
+    rev = "v${version}";
+    hash = "sha256-4014u7s47Tfdpa2Q9hKAoHg7Ebcs1/DVW5TpEmoh2bc=";
+  };
+
+  propagatedBuildInputs = [
+    pyclipper
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    dotmap
+    matplotlib
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library for manipulating Bezier curves and paths in fonts";
+    homepage = "https://github.com/simoncozens/beziers.py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/binaryornot/default.nix b/pkgs/development/python-modules/binaryornot/default.nix
index b7ca1223ccae8..435b5412b2385 100644
--- a/pkgs/development/python-modules/binaryornot/default.nix
+++ b/pkgs/development/python-modules/binaryornot/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "binaryornot";
   version = "0.4.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/binho-host-adapter/default.nix b/pkgs/development/python-modules/binho-host-adapter/default.nix
index 2249a28a5547e..51b9d9908a12b 100644
--- a/pkgs/development/python-modules/binho-host-adapter/default.nix
+++ b/pkgs/development/python-modules/binho-host-adapter/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "binho-host-adapter";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/binwalk/default.nix b/pkgs/development/python-modules/binwalk/default.nix
index 9fb243a5763dc..9a83a62398673 100644
--- a/pkgs/development/python-modules/binwalk/default.nix
+++ b/pkgs/development/python-modules/binwalk/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "binwalk${lib.optionalString visualizationSupport "-full"}";
   version = "2.3.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ReFirmLabs";
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index 91b4f529f837e..26aa0cf004fba 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "biopython";
   version = "1.81";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/biplist/default.nix b/pkgs/development/python-modules/biplist/default.nix
index 605500c67490e..26247a3930cda 100644
--- a/pkgs/development/python-modules/biplist/default.nix
+++ b/pkgs/development/python-modules/biplist/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "biplist";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bitcoinlib/default.nix b/pkgs/development/python-modules/bitcoinlib/default.nix
index 3b1ead8d8962b..d921d9ca56bf7 100644
--- a/pkgs/development/python-modules/bitcoinlib/default.nix
+++ b/pkgs/development/python-modules/bitcoinlib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "bitcoinlib";
   version = "0.12.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/bitmath/default.nix b/pkgs/development/python-modules/bitmath/default.nix
index 661b477e65bfd..5c391bbc2dfd0 100644
--- a/pkgs/development/python-modules/bitmath/default.nix
+++ b/pkgs/development/python-modules/bitmath/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "bitmath";
   version = "1.3.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bitvavo-aio/default.nix b/pkgs/development/python-modules/bitvavo-aio/default.nix
index 39094d74e5f58..9dc561afd680f 100644
--- a/pkgs/development/python-modules/bitvavo-aio/default.nix
+++ b/pkgs/development/python-modules/bitvavo-aio/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bitvavo-aio";
   version = "1.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/bizkaibus/default.nix b/pkgs/development/python-modules/bizkaibus/default.nix
index 7de8f2ca223c9..4f55bb14fdbfd 100644
--- a/pkgs/development/python-modules/bizkaibus/default.nix
+++ b/pkgs/development/python-modules/bizkaibus/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bizkaibus";
   version = "0.1.4";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/bkcharts/default.nix b/pkgs/development/python-modules/bkcharts/default.nix
index 9e105c09d57bc..cdcd03c18d550 100644
--- a/pkgs/development/python-modules/bkcharts/default.nix
+++ b/pkgs/development/python-modules/bkcharts/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "bkcharts";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version pname;
diff --git a/pkgs/development/python-modules/black-macchiato/default.nix b/pkgs/development/python-modules/black-macchiato/default.nix
index 5a7c20e3c43e9..ace0dbe66c425 100644
--- a/pkgs/development/python-modules/black-macchiato/default.nix
+++ b/pkgs/development/python-modules/black-macchiato/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "black-macchiato";
   version = "1.3.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index 76890aeda2865..52cc36e989cc4 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -26,14 +26,14 @@
 
 buildPythonPackage rec {
   pname = "black";
-  version = "23.9.1";
+  version = "23.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JLaz/1xtnqCKiIj2l36uhY4fNA1yYM9W1wpJgjI2ti0=";
+    hash = "sha256-TGiFWCX/Qy0ZcimEb5cbxNZmbOkEkuWwIBO8rKTZqwU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bleach-allowlist/default.nix b/pkgs/development/python-modules/bleach-allowlist/default.nix
index 81aff57090fe1..96f9b6ccf4167 100644
--- a/pkgs/development/python-modules/bleach-allowlist/default.nix
+++ b/pkgs/development/python-modules/bleach-allowlist/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "bleach-allowlist";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
index f35d05728ea53..901eb76417ff7 100644
--- a/pkgs/development/python-modules/bleach/default.nix
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "bleach";
   version = "6.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/blessed/default.nix b/pkgs/development/python-modules/blessed/default.nix
index dd9c83181932d..70762d0c524a2 100644
--- a/pkgs/development/python-modules/blessed/default.nix
+++ b/pkgs/development/python-modules/blessed/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "blessed";
   version = "1.20.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/blessings/default.nix b/pkgs/development/python-modules/blessings/default.nix
index 31275a9f07038..d8c97d1e0f505 100644
--- a/pkgs/development/python-modules/blessings/default.nix
+++ b/pkgs/development/python-modules/blessings/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "blessings";
   version = "1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/blockchain/default.nix b/pkgs/development/python-modules/blockchain/default.nix
index e6d523c3c7b89..96c6f41741795 100644
--- a/pkgs/development/python-modules/blockchain/default.nix
+++ b/pkgs/development/python-modules/blockchain/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "blockchain";
   version = "1.4.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/blockfrost-python/default.nix b/pkgs/development/python-modules/blockfrost-python/default.nix
index 043384e80bf0e..a8da8d6e45cb6 100644
--- a/pkgs/development/python-modules/blockfrost-python/default.nix
+++ b/pkgs/development/python-modules/blockfrost-python/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "blockfrost-python";
-  version = "0.5.3";
+  version = "0.6.0";
 
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "blockfrost";
     repo = "blockfrost-python";
-    rev = "${version}";
-    hash = "sha256-mQ8avjyLARJONYn18neCyuHEuv3ySyCNMe+P4+Dlxck=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-mN26QXxizDR+o2V5C2MlqVEbRns1BTmwZdUnnHNcFzw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bluepy-devices/default.nix b/pkgs/development/python-modules/bluepy-devices/default.nix
index c1baeedcb5e41..45aa2f95c3e83 100644
--- a/pkgs/development/python-modules/bluepy-devices/default.nix
+++ b/pkgs/development/python-modules/bluepy-devices/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "bluepy-devices";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "bluepy_devices";
diff --git a/pkgs/development/python-modules/bluepy/default.nix b/pkgs/development/python-modules/bluepy/default.nix
index 11930050ba346..c0053a111415e 100644
--- a/pkgs/development/python-modules/bluepy/default.nix
+++ b/pkgs/development/python-modules/bluepy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bluepy";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/pkgs/development/python-modules/bluetooth-data-tools/default.nix
index ca4f1a540bbb8..370dd50d41f73 100644
--- a/pkgs/development/python-modules/bluetooth-data-tools/default.nix
+++ b/pkgs/development/python-modules/bluetooth-data-tools/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-data-tools";
-  version = "1.15.0";
+  version = "1.17.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8Gbw2vXqKvWo30QKExrmH7lUkZBg7zd3o2xWEqGxSBM=";
+    hash = "sha256-CJyTWNBtBk3YpoaiL1/P+aUE4ttthQDTdDuKBYEXrBg=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/pkgs/development/python-modules/blurhash/default.nix b/pkgs/development/python-modules/blurhash/default.nix
index d0cf2135f1bcd..08adb2b92b175 100644
--- a/pkgs/development/python-modules/blurhash/default.nix
+++ b/pkgs/development/python-modules/blurhash/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "blurhash";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "halcy";
diff --git a/pkgs/development/python-modules/bme280spi/default.nix b/pkgs/development/python-modules/bme280spi/default.nix
index a7a1e0fb920ef..4a32b507680b4 100644
--- a/pkgs/development/python-modules/bme280spi/default.nix
+++ b/pkgs/development/python-modules/bme280spi/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bme280spi";
   version = "0.2.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/bme680/default.nix b/pkgs/development/python-modules/bme680/default.nix
index 5c6f0f5baff94..955eee09cdeff 100644
--- a/pkgs/development/python-modules/bme680/default.nix
+++ b/pkgs/development/python-modules/bme680/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "bme680";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pimoroni";
diff --git a/pkgs/development/python-modules/boto/default.nix b/pkgs/development/python-modules/boto/default.nix
index f731c0ebcd342..b31d6d13c527a 100644
--- a/pkgs/development/python-modules/boto/default.nix
+++ b/pkgs/development/python-modules/boto/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "boto";
   version = "2.49.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 0d65528f6dfac..a6407cf272448 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.31.79";
+  version = "1.33.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-ZEiLnziQX4pgBBmY+dyUV1QiLZAKM0W0SQWWZ4kMLBc=";
+    hash = "sha256-A1b/D8kY2N74vfx4UjeR60zlXCVcHr5JuhBeFoyBfc0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/braceexpand/default.nix b/pkgs/development/python-modules/braceexpand/default.nix
index 40977d139c10b..76c339bb9ac31 100644
--- a/pkgs/development/python-modules/braceexpand/default.nix
+++ b/pkgs/development/python-modules/braceexpand/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "braceexpand";
   version = "0.1.7";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/bravia-tv/default.nix b/pkgs/development/python-modules/bravia-tv/default.nix
index ce299e4612cd7..391d10f20df01 100644
--- a/pkgs/development/python-modules/bravia-tv/default.nix
+++ b/pkgs/development/python-modules/bravia-tv/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bravia-tv";
   version = "1.0.11";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/brian2/default.nix b/pkgs/development/python-modules/brian2/default.nix
index a85e26b485f49..eba18b98c0ab1 100644
--- a/pkgs/development/python-modules/brian2/default.nix
+++ b/pkgs/development/python-modules/brian2/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "brian2";
   version = "2.5.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Brian2";
diff --git a/pkgs/development/python-modules/brother-ql/default.nix b/pkgs/development/python-modules/brother-ql/default.nix
index f6cfe58682093..37002f9b447f1 100644
--- a/pkgs/development/python-modules/brother-ql/default.nix
+++ b/pkgs/development/python-modules/brother-ql/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "brother-ql";
   version = "0.9.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "brother_ql";
diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix
index 91e907c3af335..5fba7e847b017 100644
--- a/pkgs/development/python-modules/brotli/default.nix
+++ b/pkgs/development/python-modules/brotli/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "brotli";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "google";
diff --git a/pkgs/development/python-modules/brotlicffi/default.nix b/pkgs/development/python-modules/brotlicffi/default.nix
index fd30ab86c07c9..9d246d3873b10 100644
--- a/pkgs/development/python-modules/brotlicffi/default.nix
+++ b/pkgs/development/python-modules/brotlicffi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "brotlicffi";
   version = "1.1.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/brotlipy/default.nix b/pkgs/development/python-modules/brotlipy/default.nix
index 57310eb6a0ffd..4fef96aa5d743 100644
--- a/pkgs/development/python-modules/brotlipy/default.nix
+++ b/pkgs/development/python-modules/brotlipy/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "brotlipy";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/brottsplatskartan/default.nix b/pkgs/development/python-modules/brottsplatskartan/default.nix
index 52c092c74b88c..4c4a0dcbc8fbd 100644
--- a/pkgs/development/python-modules/brottsplatskartan/default.nix
+++ b/pkgs/development/python-modules/brottsplatskartan/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "brottsplatskartan";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "chrillux";
diff --git a/pkgs/development/python-modules/bsddb3/default.nix b/pkgs/development/python-modules/bsddb3/default.nix
index ee2f5b16ad506..57e9f4f7d082f 100644
--- a/pkgs/development/python-modules/bsddb3/default.nix
+++ b/pkgs/development/python-modules/bsddb3/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bsddb3";
   version = "6.2.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bson/default.nix b/pkgs/development/python-modules/bson/default.nix
index ca78b0806f0dd..afcb46f5d6510 100644
--- a/pkgs/development/python-modules/bson/default.nix
+++ b/pkgs/development/python-modules/bson/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "bson";
   version = "0.5.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bsuite/default.nix b/pkgs/development/python-modules/bsuite/default.nix
index e039bf0fa07f9..bf85d8fe7a090 100644
--- a/pkgs/development/python-modules/bsuite/default.nix
+++ b/pkgs/development/python-modules/bsuite/default.nix
@@ -28,6 +28,7 @@
 let bsuite = buildPythonPackage rec {
   pname = "bsuite";
   version = "0.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bt-proximity/default.nix b/pkgs/development/python-modules/bt-proximity/default.nix
index 9de6dfbdefffb..97658726a4941 100644
--- a/pkgs/development/python-modules/bt-proximity/default.nix
+++ b/pkgs/development/python-modules/bt-proximity/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "bt-proximity";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "bt_proximity";
diff --git a/pkgs/development/python-modules/btrfs/default.nix b/pkgs/development/python-modules/btrfs/default.nix
index ee2044506899c..a534257c6dbef 100644
--- a/pkgs/development/python-modules/btrfs/default.nix
+++ b/pkgs/development/python-modules/btrfs/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "btrfs";
   version = "13";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/bugwarrior/default.nix b/pkgs/development/python-modules/bugwarrior/default.nix
index 89bb744eb785f..87f3af3a4c463 100644
--- a/pkgs/development/python-modules/bugwarrior/default.nix
+++ b/pkgs/development/python-modules/bugwarrior/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "bugwarrior";
   version = "1.8.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/bugzilla/default.nix b/pkgs/development/python-modules/bugzilla/default.nix
index 2f38b6f631781..b671dbf70782c 100644
--- a/pkgs/development/python-modules/bugzilla/default.nix
+++ b/pkgs/development/python-modules/bugzilla/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "bugzilla";
   version = "3.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "python-${pname}";
diff --git a/pkgs/development/python-modules/buienradar/default.nix b/pkgs/development/python-modules/buienradar/default.nix
index 7612c62211d17..ce7dba941ce71 100644
--- a/pkgs/development/python-modules/buienradar/default.nix
+++ b/pkgs/development/python-modules/buienradar/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "buienradar";
   version = "1.0.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.4";
 
diff --git a/pkgs/development/python-modules/bwapy/default.nix b/pkgs/development/python-modules/bwapy/default.nix
index f6c926cf419aa..d52c2a9e2a92d 100644
--- a/pkgs/development/python-modules/bwapy/default.nix
+++ b/pkgs/development/python-modules/bwapy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "bwapy";
   version = "0.1.4";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/bz2file/default.nix b/pkgs/development/python-modules/bz2file/default.nix
index 8efb1c083f26d..ef6a9ef270b22 100644
--- a/pkgs/development/python-modules/bz2file/default.nix
+++ b/pkgs/development/python-modules/bz2file/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "bz2file";
   version = "0.98";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cachelib/default.nix b/pkgs/development/python-modules/cachelib/default.nix
index 6a4f874a961c2..4cb5d0e0dcce6 100644
--- a/pkgs/development/python-modules/cachelib/default.nix
+++ b/pkgs/development/python-modules/cachelib/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "cachelib";
   version = "0.10.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/cachy/default.nix b/pkgs/development/python-modules/cachy/default.nix
index c88067146f344..8f16a45fe692c 100644
--- a/pkgs/development/python-modules/cachy/default.nix
+++ b/pkgs/development/python-modules/cachy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cachy";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cadquery/default.nix b/pkgs/development/python-modules/cadquery/default.nix
index 1eb8f73b7a776..5db0b6ae2c997 100644
--- a/pkgs/development/python-modules/cadquery/default.nix
+++ b/pkgs/development/python-modules/cadquery/default.nix
@@ -25,6 +25,7 @@ let
   pythonocc-core-cadquery = toPythonModule (stdenv.mkDerivation {
     pname = "pythonocc-core-cadquery";
     version = "0.18.2";
+    format = "setuptools";
 
     src = fetchFromGitHub {
       owner = "CadQuery";
diff --git a/pkgs/development/python-modules/calmjs-types/default.nix b/pkgs/development/python-modules/calmjs-types/default.nix
index 9f940e92c5024..897ddaf79e0c7 100644
--- a/pkgs/development/python-modules/calmjs-types/default.nix
+++ b/pkgs/development/python-modules/calmjs-types/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "calmjs-types";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "calmjs.types";
diff --git a/pkgs/development/python-modules/calmjs/default.nix b/pkgs/development/python-modules/calmjs/default.nix
index 2f27dbc98523d..a605034b7a931 100644
--- a/pkgs/development/python-modules/calmjs/default.nix
+++ b/pkgs/development/python-modules/calmjs/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "calmjs";
   version = "3.4.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
index 6846ed86f6f8a..55503c9f6205c 100644
--- a/pkgs/development/python-modules/capstone/default.nix
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "capstone";
   version = lib.getVersion capstone;
+  format = "setuptools";
 
   src = capstone.src;
   sourceRoot = "${src.name}/bindings/python";
diff --git a/pkgs/development/python-modules/capturer/default.nix b/pkgs/development/python-modules/capturer/default.nix
index 082c765b39dc5..51d5064aefa3f 100644
--- a/pkgs/development/python-modules/capturer/default.nix
+++ b/pkgs/development/python-modules/capturer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "capturer";
   version = "3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xolox";
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index 4383998377115..f6647abbc57e8 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "carbon";
   version = "1.1.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/casttube/default.nix b/pkgs/development/python-modules/casttube/default.nix
index 9d29a01374367..4d836dc052fea 100644
--- a/pkgs/development/python-modules/casttube/default.nix
+++ b/pkgs/development/python-modules/casttube/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "casttube";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cbor/default.nix b/pkgs/development/python-modules/cbor/default.nix
index cc3d8914ad2f6..3d33c3ce24f74 100644
--- a/pkgs/development/python-modules/cbor/default.nix
+++ b/pkgs/development/python-modules/cbor/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cbor";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/celery-redbeat/default.nix b/pkgs/development/python-modules/celery-redbeat/default.nix
index a61eacfcb86c2..779dfb68c4c54 100644
--- a/pkgs/development/python-modules/celery-redbeat/default.nix
+++ b/pkgs/development/python-modules/celery-redbeat/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "celery-redbeat";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sibson";
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 750e3908cd3f0..7c22634f2a3c5 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.3.4";
+  version = "5.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kCPfaoli2nnrMMDITV9IY9l5OkZjVMyTHX9yQjmW3ig=";
+    hash = "sha256-hwzHHXN8AgDDlykNcwNEzJkdE6BXU0NT0STJOAJnqrk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cepa/default.nix b/pkgs/development/python-modules/cepa/default.nix
index 67c45a26665ba..ef7850caf211a 100644
--- a/pkgs/development/python-modules/cepa/default.nix
+++ b/pkgs/development/python-modules/cepa/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "cepa";
   version = "1.8.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix b/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
index 69f2f890e359c..2b66de576d27f 100644
--- a/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certbot-dns-cloudflare";
+  format = "setuptools";
 
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/certbot-dns-google/default.nix b/pkgs/development/python-modules/certbot-dns-google/default.nix
index e5910ff085712..6d5ab6954e9d5 100644
--- a/pkgs/development/python-modules/certbot-dns-google/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-google/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage rec {
   pname = "certbot-dns-google";
+  format = "setuptools";
 
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/certbot-dns-inwx/default.nix b/pkgs/development/python-modules/certbot-dns-inwx/default.nix
index 2874e9419e39c..7408bb2dc2e25 100644
--- a/pkgs/development/python-modules/certbot-dns-inwx/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-inwx/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "certbot-dns-inwx";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/certbot-dns-ovh/default.nix b/pkgs/development/python-modules/certbot-dns-ovh/default.nix
index da0dd57cff874..d9b554c7a86c6 100644
--- a/pkgs/development/python-modules/certbot-dns-ovh/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-ovh/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certbot-dns-ovh";
+  format = "setuptools";
 
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix b/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
index ec360f4b1e6f4..9278435e09f00 100644
--- a/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certbot-dns-rfc2136";
+  format = "setuptools";
 
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/certbot-dns-route53/default.nix b/pkgs/development/python-modules/certbot-dns-route53/default.nix
index 6ea6af0820f7d..7637aec52b88c 100644
--- a/pkgs/development/python-modules/certbot-dns-route53/default.nix
+++ b/pkgs/development/python-modules/certbot-dns-route53/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certbot-dns-route53";
+  format = "setuptools";
 
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix
index 6da3be8329b22..97b7d79040d94 100644
--- a/pkgs/development/python-modules/certbot/default.nix
+++ b/pkgs/development/python-modules/certbot/default.nix
@@ -28,6 +28,7 @@
 buildPythonPackage rec {
   pname = "certbot";
   version = "2.7.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix
index 8a2fd3bb88cf4..b9b703af622ec 100644
--- a/pkgs/development/python-modules/certifi/default.nix
+++ b/pkgs/development/python-modules/certifi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "certifi";
   version = "2023.07.22";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/certipy/default.nix b/pkgs/development/python-modules/certipy/default.nix
index a3cde807076f6..33bfc2f72e789 100644
--- a/pkgs/development/python-modules/certipy/default.nix
+++ b/pkgs/development/python-modules/certipy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "certipy";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/certvalidator/default.nix b/pkgs/development/python-modules/certvalidator/default.nix
index ce30bea9f51b5..f1f6126c69df3 100644
--- a/pkgs/development/python-modules/certvalidator/default.nix
+++ b/pkgs/development/python-modules/certvalidator/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "certvalidator";
   version = "0.11.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wbond";
diff --git a/pkgs/development/python-modules/cexprtk/default.nix b/pkgs/development/python-modules/cexprtk/default.nix
index 53c906c613baf..a805c98f73ece 100644
--- a/pkgs/development/python-modules/cexprtk/default.nix
+++ b/pkgs/development/python-modules/cexprtk/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cexprtk";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cfscrape/default.nix b/pkgs/development/python-modules/cfscrape/default.nix
index f050217c3fb35..0152506787033 100644
--- a/pkgs/development/python-modules/cfscrape/default.nix
+++ b/pkgs/development/python-modules/cfscrape/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cfscrape";
   version = "2.1.1";
+  format = "setuptools";
   src = fetchFromGitHub ({
     owner = "Anorov";
     repo = "cloudflare-scrape";
diff --git a/pkgs/development/python-modules/cgen/default.nix b/pkgs/development/python-modules/cgen/default.nix
index f61e02878c54e..966a6b7ff159f 100644
--- a/pkgs/development/python-modules/cgen/default.nix
+++ b/pkgs/development/python-modules/cgen/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "cgen";
   version = "2020.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cgroup-utils/default.nix b/pkgs/development/python-modules/cgroup-utils/default.nix
index 8b3a6afa9b36d..2d65a03f68d0e 100644
--- a/pkgs/development/python-modules/cgroup-utils/default.nix
+++ b/pkgs/development/python-modules/cgroup-utils/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.8";
+  format = "setuptools";
   pname = "cgroup-utils";
 
   buildInputs = [ pep8 nose ];
diff --git a/pkgs/development/python-modules/chai/default.nix b/pkgs/development/python-modules/chai/default.nix
index 9f9d48d901713..6146ec692c75f 100644
--- a/pkgs/development/python-modules/chai/default.nix
+++ b/pkgs/development/python-modules/chai/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "chai";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/chainmap/default.nix b/pkgs/development/python-modules/chainmap/default.nix
index 4619bff2b0469..9b96d4bac94e4 100644
--- a/pkgs/development/python-modules/chainmap/default.nix
+++ b/pkgs/development/python-modules/chainmap/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "chainmap";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/character-encoding-utils/default.nix b/pkgs/development/python-modules/character-encoding-utils/default.nix
new file mode 100644
index 0000000000000..dd0e3b60fe1f4
--- /dev/null
+++ b/pkgs/development/python-modules/character-encoding-utils/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+}:
+
+buildPythonPackage rec {
+  pname = "character-encoding-utils";
+  version = "0.0.6";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "character_encoding_utils";
+    inherit version;
+    hash = "sha256-ugzWiSpa/xxlraVyVPTSq/uxPg11kOyePgb1cmzX3ug=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/character-encoding-utils";
+    description = "Some character encoding utils";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/characteristic/default.nix b/pkgs/development/python-modules/characteristic/default.nix
index ae86e18865153..d63c247b300bb 100644
--- a/pkgs/development/python-modules/characteristic/default.nix
+++ b/pkgs/development/python-modules/characteristic/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "characteristic";
   version = "14.3.0";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     sha256 = "ded68d4e424115ed44e5c83c2a901a0b6157a959079d7591d92106ffd3ada380";
diff --git a/pkgs/development/python-modules/chart-studio/default.nix b/pkgs/development/python-modules/chart-studio/default.nix
index 5f8117c6e586e..0c493e320ed55 100644
--- a/pkgs/development/python-modules/chart-studio/default.nix
+++ b/pkgs/development/python-modules/chart-studio/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "chart-studio";
   version = "5.17.0";
+  format = "setuptools";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/cheetah3/default.nix b/pkgs/development/python-modules/cheetah3/default.nix
index 24e3194d80c01..b85870572a4c3 100644
--- a/pkgs/development/python-modules/cheetah3/default.nix
+++ b/pkgs/development/python-modules/cheetah3/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cheetah3";
-  version = "3.3.2";
+  version = "3.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "CheetahTemplate3";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-okQz1wM3k43okKcZDRgHAnn5ScL0Pe1OtUvDBScEamY=";
+    hash = "sha256-7L3SBMgNOOLAFvQST8I0gFlrya/6Lwp/umzolfJx3t4=";
   };
 
   doCheck = false; # Circular dependency
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 679c5464b8f57..839894e1505b8 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "cheroot";
   version = "10.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/chevron/default.nix b/pkgs/development/python-modules/chevron/default.nix
index 5f8cc32175085..48b1a5c5c1571 100644
--- a/pkgs/development/python-modules/chevron/default.nix
+++ b/pkgs/development/python-modules/chevron/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage {
   pname = "chevron";
   version = "0.13.1";
+  format = "setuptools";
 
   # No tests available in the PyPI tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/chromaprint/default.nix b/pkgs/development/python-modules/chromaprint/default.nix
index e4161064acce8..b439a4da79a5a 100644
--- a/pkgs/development/python-modules/chromaprint/default.nix
+++ b/pkgs/development/python-modules/chromaprint/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "chromaprint";
   version = "0.5";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/ci-info/default.nix b/pkgs/development/python-modules/ci-info/default.nix
index 5034347fa1fb6..8c2fc9c4ff3b5 100644
--- a/pkgs/development/python-modules/ci-info/default.nix
+++ b/pkgs/development/python-modules/ci-info/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.3.0";
+  format = "setuptools";
   pname = "ci-info";
 
   disabled = isPy27;
diff --git a/pkgs/development/python-modules/cinemagoer/default.nix b/pkgs/development/python-modules/cinemagoer/default.nix
index 33cff05b3850f..403ee6dafb616 100644
--- a/pkgs/development/python-modules/cinemagoer/default.nix
+++ b/pkgs/development/python-modules/cinemagoer/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "cinemagoer";
   version = "2023.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cirq-aqt/default.nix b/pkgs/development/python-modules/cirq-aqt/default.nix
index f8e6fb4a2bf24..bac507091feb4 100644
--- a/pkgs/development/python-modules/cirq-aqt/default.nix
+++ b/pkgs/development/python-modules/cirq-aqt/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-aqt";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq-core/default.nix b/pkgs/development/python-modules/cirq-core/default.nix
index fe6a04480f666..31077bd109e4b 100644
--- a/pkgs/development/python-modules/cirq-core/default.nix
+++ b/pkgs/development/python-modules/cirq-core/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , buildPythonPackage
-, pythonAtLeast
 , pythonOlder
 , fetchFromGitHub
 , duet
@@ -84,17 +83,9 @@ buildPythonPackage rec {
     "cirq/_version_test.py"
   ];
 
-  disabledTests = [
-    # Tries to import flynt, which isn't in Nixpkgs
-    "test_metadata_search_path"
-    # Fails due pandas MultiIndex. Maybe issue with pandas version in nix?
-    "test_benchmark_2q_xeb_fidelities"
-    # https://github.com/quantumlib/Cirq/pull/5991
-    "test_json_and_repr_data"
-    # Tests for some changed error handling behavior in SymPy 1.12
-    "test_custom_value_not_implemented"
-    # Calibration issue
-    "test_xeb_to_calibration_layer"
+  disabledTests = lib.optionals stdenv.isAarch64 [
+    # https://github.com/quantumlib/Cirq/issues/5924
+    "test_prepare_two_qubit_state_using_sqrt_iswap"
   ];
 
   meta = with lib; {
@@ -103,6 +94,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ drewrisinger fab ];
-    broken = (stdenv.isLinux && stdenv.isAarch64);
   };
 }
diff --git a/pkgs/development/python-modules/cirq-ft/default.nix b/pkgs/development/python-modules/cirq-ft/default.nix
index 83a8392b95204..d307191dd9afb 100644
--- a/pkgs/development/python-modules/cirq-ft/default.nix
+++ b/pkgs/development/python-modules/cirq-ft/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-ft";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq-google/default.nix b/pkgs/development/python-modules/cirq-google/default.nix
index a49eebfce90d6..4f185c825c340 100644
--- a/pkgs/development/python-modules/cirq-google/default.nix
+++ b/pkgs/development/python-modules/cirq-google/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-google";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq-ionq/default.nix b/pkgs/development/python-modules/cirq-ionq/default.nix
index b1f66e25ced29..fdad606eb069e 100644
--- a/pkgs/development/python-modules/cirq-ionq/default.nix
+++ b/pkgs/development/python-modules/cirq-ionq/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-ionq";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq-pasqal/default.nix b/pkgs/development/python-modules/cirq-pasqal/default.nix
index 4d755266180bb..7be607fbd74d6 100644
--- a/pkgs/development/python-modules/cirq-pasqal/default.nix
+++ b/pkgs/development/python-modules/cirq-pasqal/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-pasqal";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq-rigetti/default.nix b/pkgs/development/python-modules/cirq-rigetti/default.nix
index be0ec040995b6..2189beb9f880f 100644
--- a/pkgs/development/python-modules/cirq-rigetti/default.nix
+++ b/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -25,6 +25,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-rigetti";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   disabled = pythonOlder "3.7";
diff --git a/pkgs/development/python-modules/cirq-web/default.nix b/pkgs/development/python-modules/cirq-web/default.nix
index ca1c67ad12183..43f18ef282e10 100644
--- a/pkgs/development/python-modules/cirq-web/default.nix
+++ b/pkgs/development/python-modules/cirq-web/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-web";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index f53613065fb3a..200f19e39f6fa 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -12,6 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cirq";
+  format = "setuptools";
   inherit (cirq-core) version src meta;
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ciscomobilityexpress/default.nix b/pkgs/development/python-modules/ciscomobilityexpress/default.nix
index d48ba03ad5377..c24873bf3174b 100644
--- a/pkgs/development/python-modules/ciscomobilityexpress/default.nix
+++ b/pkgs/development/python-modules/ciscomobilityexpress/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ciscomobilityexpress";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/citeproc-py/default.nix b/pkgs/development/python-modules/citeproc-py/default.nix
index d0294a28ae129..d46a6bdb70d67 100644
--- a/pkgs/development/python-modules/citeproc-py/default.nix
+++ b/pkgs/development/python-modules/citeproc-py/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "citeproc-py";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/classify-imports/default.nix b/pkgs/development/python-modules/classify-imports/default.nix
index 694d4da421111..cdbc262af7ddf 100644
--- a/pkgs/development/python-modules/classify-imports/default.nix
+++ b/pkgs/development/python-modules/classify-imports/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "classify-imports";
   version = "4.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/cld2-cffi/default.nix b/pkgs/development/python-modules/cld2-cffi/default.nix
index 8ae90785669e5..6b47796bd64fb 100644
--- a/pkgs/development/python-modules/cld2-cffi/default.nix
+++ b/pkgs/development/python-modules/cld2-cffi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cld2-cffi";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/clf/default.nix b/pkgs/development/python-modules/clf/default.nix
index 978d08051f7d8..d63079f725e2a 100644
--- a/pkgs/development/python-modules/clf/default.nix
+++ b/pkgs/development/python-modules/clf/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "clf";
   version = "0.5.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/click-completion/default.nix b/pkgs/development/python-modules/click-completion/default.nix
index dcfcab597b90c..b2e0a57bbcc8a 100644
--- a/pkgs/development/python-modules/click-completion/default.nix
+++ b/pkgs/development/python-modules/click-completion/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "click-completion";
   version = "0.5.2";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/click-datetime/default.nix b/pkgs/development/python-modules/click-datetime/default.nix
index ba710d74355d8..5e570130f0306 100644
--- a/pkgs/development/python-modules/click-datetime/default.nix
+++ b/pkgs/development/python-modules/click-datetime/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "click-datetime";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "click-contrib";
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
index 8e5668f2b05a5..043627b0501e9 100644
--- a/pkgs/development/python-modules/click-default-group/default.nix
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "click-default-group";
   version = "1.2.2";
+  format = "setuptools";
 
   # No tests in Pypi tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/click-didyoumean/default.nix b/pkgs/development/python-modules/click-didyoumean/default.nix
index 565663aee0ccc..8c1bf6f26e94f 100644
--- a/pkgs/development/python-modules/click-didyoumean/default.nix
+++ b/pkgs/development/python-modules/click-didyoumean/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "click-didyoumean";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/click-help-colors/default.nix b/pkgs/development/python-modules/click-help-colors/default.nix
index 9a2983aabe8f0..439a6241091c8 100644
--- a/pkgs/development/python-modules/click-help-colors/default.nix
+++ b/pkgs/development/python-modules/click-help-colors/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "click-help-colors";
-  version = "0.9.2";
+  version = "0.9.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dWJF5ULSkia7O8BWv6WIhvISuiuC9OjPX8iEF2rJbXI=";
+    hash = "sha256-9Mq+Us9VApm4iI9PLuTF81msJ+M7z+TWHbR3haXMk2w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click-log/default.nix b/pkgs/development/python-modules/click-log/default.nix
index 7f091396dfc1f..0b3622b9dc983 100644
--- a/pkgs/development/python-modules/click-log/default.nix
+++ b/pkgs/development/python-modules/click-log/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "click-log";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/click-plugins/default.nix b/pkgs/development/python-modules/click-plugins/default.nix
index a03456b17d81c..f695f07f84b03 100644
--- a/pkgs/development/python-modules/click-plugins/default.nix
+++ b/pkgs/development/python-modules/click-plugins/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "click-plugins";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/click-repl/default.nix b/pkgs/development/python-modules/click-repl/default.nix
index fd2a20867bdcd..f8a8fc1c49f8c 100644
--- a/pkgs/development/python-modules/click-repl/default.nix
+++ b/pkgs/development/python-modules/click-repl/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "click-repl";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "click-contrib";
diff --git a/pkgs/development/python-modules/click-spinner/default.nix b/pkgs/development/python-modules/click-spinner/default.nix
index 2cdd1f4800cd2..0c281c29ab4c6 100644
--- a/pkgs/development/python-modules/click-spinner/default.nix
+++ b/pkgs/development/python-modules/click-spinner/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "click-spinner";
   version = "0.1.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/click-threading/default.nix b/pkgs/development/python-modules/click-threading/default.nix
index 7fd47fcc8253b..771678354ca09 100644
--- a/pkgs/development/python-modules/click-threading/default.nix
+++ b/pkgs/development/python-modules/click-threading/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "click-threading";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/clickclick/default.nix b/pkgs/development/python-modules/clickclick/default.nix
index 4bb7603b9c217..7822dbc8bcaff 100644
--- a/pkgs/development/python-modules/clickclick/default.nix
+++ b/pkgs/development/python-modules/clickclick/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "clickclick";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hjacobs";
diff --git a/pkgs/development/python-modules/clickhouse-driver/default.nix b/pkgs/development/python-modules/clickhouse-driver/default.nix
index 375fee87486cd..3abeeb013ff61 100644
--- a/pkgs/development/python-modules/clickhouse-driver/default.nix
+++ b/pkgs/development/python-modules/clickhouse-driver/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "clickhouse-driver";
   version = "0.2.5";
+  format = "setuptools";
 
   # pypi source doesn't contain tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index 978c1c3f62f8b..9c6d88c9dab69 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "cliff";
   version = "4.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/clifford/default.nix b/pkgs/development/python-modules/clifford/default.nix
index 645fdc43764fc..84859729c5b1d 100644
--- a/pkgs/development/python-modules/clifford/default.nix
+++ b/pkgs/development/python-modules/clifford/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "clifford";
   version = "1.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/cligj/default.nix b/pkgs/development/python-modules/cligj/default.nix
index 521a7b31ef368..666a143e96207 100644
--- a/pkgs/development/python-modules/cligj/default.nix
+++ b/pkgs/development/python-modules/cligj/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "cligj";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mapbox";
diff --git a/pkgs/development/python-modules/clint/default.nix b/pkgs/development/python-modules/clint/default.nix
index 6099c3c635911..deb62fbfcb460 100644
--- a/pkgs/development/python-modules/clint/default.nix
+++ b/pkgs/development/python-modules/clint/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "clint";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/clldutils/default.nix b/pkgs/development/python-modules/clldutils/default.nix
index 83c0f5c5d684c..76b2eceaeb094 100644
--- a/pkgs/development/python-modules/clldutils/default.nix
+++ b/pkgs/development/python-modules/clldutils/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "clldutils";
   version = "3.19.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index f7e1cb2cf073a..d6f9eedbec0f4 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "cloudflare";
-  version = "2.12.4";
+  version = "2.14.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UX8ROC6pL8WR82zJupUkPac+aDReUvIh8D1R1ujXhqU=";
+    hash = "sha256-HeSaiJKI2C3FwPKip0ZVKWe5nZYGP13zpXpwNkLiQLQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cmdline/default.nix b/pkgs/development/python-modules/cmdline/default.nix
index 71273ed1a226d..a5a03389b8dbf 100644
--- a/pkgs/development/python-modules/cmdline/default.nix
+++ b/pkgs/development/python-modules/cmdline/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cmdline";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cmigemo/default.nix b/pkgs/development/python-modules/cmigemo/default.nix
index fb381ec185988..9122954a62d83 100644
--- a/pkgs/development/python-modules/cmigemo/default.nix
+++ b/pkgs/development/python-modules/cmigemo/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cmigemo";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cmsis-svd/default.nix b/pkgs/development/python-modules/cmsis-svd/default.nix
index cdfdd05e52170..4d60d4039fe60 100644
--- a/pkgs/development/python-modules/cmsis-svd/default.nix
+++ b/pkgs/development/python-modules/cmsis-svd/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cmsis-svd";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "posborne";
diff --git a/pkgs/development/python-modules/co2signal/default.nix b/pkgs/development/python-modules/co2signal/default.nix
index 2c7aeb4ceaebf..9af604c5dd84f 100644
--- a/pkgs/development/python-modules/co2signal/default.nix
+++ b/pkgs/development/python-modules/co2signal/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "co2signal";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/cobs/default.nix b/pkgs/development/python-modules/cobs/default.nix
index e5ba04c960fea..021f3c01dc59c 100644
--- a/pkgs/development/python-modules/cobs/default.nix
+++ b/pkgs/development/python-modules/cobs/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cobs";
   version = "1.2.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/cock/default.nix b/pkgs/development/python-modules/cock/default.nix
index 47e3364ea0b75..62d1b15486908 100644
--- a/pkgs/development/python-modules/cock/default.nix
+++ b/pkgs/development/python-modules/cock/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cock";
   version = "0.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
index 07e070d0493e6..1c930529a31e5 100644
--- a/pkgs/development/python-modules/coconut/default.nix
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "coconut";
   version = "3.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "evhub";
diff --git a/pkgs/development/python-modules/cocotb-bus/default.nix b/pkgs/development/python-modules/cocotb-bus/default.nix
index 02b9d71849067..40f2dc86c803e 100644
--- a/pkgs/development/python-modules/cocotb-bus/default.nix
+++ b/pkgs/development/python-modules/cocotb-bus/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "cocotb-bus";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cocotb/default.nix b/pkgs/development/python-modules/cocotb/default.nix
index e8c78e1b91c2c..22cc1ced77621 100644
--- a/pkgs/development/python-modules/cocotb/default.nix
+++ b/pkgs/development/python-modules/cocotb/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "cocotb";
   version = "1.8.1";
+  format = "setuptools";
 
   # pypi source doesn't include tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/codecov/default.nix b/pkgs/development/python-modules/codecov/default.nix
index 4aaf0a403be00..c6af62860d4b6 100644
--- a/pkgs/development/python-modules/codecov/default.nix
+++ b/pkgs/development/python-modules/codecov/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "codecov";
   version = "2.1.13";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "codecov";
diff --git a/pkgs/development/python-modules/codepy/default.nix b/pkgs/development/python-modules/codepy/default.nix
index ccf1eeaad9eff..6f6c7d22bc9f8 100644
--- a/pkgs/development/python-modules/codepy/default.nix
+++ b/pkgs/development/python-modules/codepy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "codepy";
   version = "2019.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "inducer";
diff --git a/pkgs/development/python-modules/cogapp/default.nix b/pkgs/development/python-modules/cogapp/default.nix
index 92dbe23cd916a..92d44c82ef3df 100644
--- a/pkgs/development/python-modules/cogapp/default.nix
+++ b/pkgs/development/python-modules/cogapp/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cogapp";
   version = "3.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/coincurve/default.nix b/pkgs/development/python-modules/coincurve/default.nix
index 1ad80f6d66942..58423859779aa 100644
--- a/pkgs/development/python-modules/coincurve/default.nix
+++ b/pkgs/development/python-modules/coincurve/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "coincurve";
   version = "18.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/collidoscope/default.nix b/pkgs/development/python-modules/collidoscope/default.nix
new file mode 100644
index 0000000000000..2d446fc9505b0
--- /dev/null
+++ b/pkgs/development/python-modules/collidoscope/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, babelfont
+, kurbopy
+, fonttools
+, skia-pathops
+, tqdm
+, uharfbuzz
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "collidoscope";
+  version = "0.6.5";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-D7MzJ8FZjA/NSXCqCJQ9a02FPPi3t4W0q65wRIDcfSA=";
+  };
+
+  propagatedBuildInputs = [
+    babelfont
+    kurbopy
+    fonttools
+    skia-pathops
+    tqdm
+    uharfbuzz
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library to detect glyph collisions in fonts";
+    homepage = "https://github.com/googlefonts/collidoscope";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/colorcet/default.nix b/pkgs/development/python-modules/colorcet/default.nix
index 9167fd5a4f262..efee49934d875 100644
--- a/pkgs/development/python-modules/colorcet/default.nix
+++ b/pkgs/development/python-modules/colorcet/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "colorcet";
   version = "3.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/colorclass/default.nix b/pkgs/development/python-modules/colorclass/default.nix
index f1a153ee1bc95..e524ae49eb3d4 100644
--- a/pkgs/development/python-modules/colorclass/default.nix
+++ b/pkgs/development/python-modules/colorclass/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "colorclass";
   version = "2.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/colored-traceback/default.nix b/pkgs/development/python-modules/colored-traceback/default.nix
index 137b4d0157e28..a2cdfea30b2c3 100644
--- a/pkgs/development/python-modules/colored-traceback/default.nix
+++ b/pkgs/development/python-modules/colored-traceback/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "colored-traceback";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/coloredlogs/default.nix b/pkgs/development/python-modules/coloredlogs/default.nix
index 44c47f569ebb5..edc708f93e062 100644
--- a/pkgs/development/python-modules/coloredlogs/default.nix
+++ b/pkgs/development/python-modules/coloredlogs/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "coloredlogs";
   version = "15.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xolox";
diff --git a/pkgs/development/python-modules/colorlog/default.nix b/pkgs/development/python-modules/colorlog/default.nix
index 833217bdb887e..452908a62c69e 100644
--- a/pkgs/development/python-modules/colorlog/default.nix
+++ b/pkgs/development/python-modules/colorlog/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "colorlog";
   version = "6.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/colorlover/default.nix b/pkgs/development/python-modules/colorlover/default.nix
index d255ff0992f54..1fda9111e6fa4 100644
--- a/pkgs/development/python-modules/colorlover/default.nix
+++ b/pkgs/development/python-modules/colorlover/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "colorlover";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/colormath/default.nix b/pkgs/development/python-modules/colormath/default.nix
index 33f233443dd49..42469056b096a 100644
--- a/pkgs/development/python-modules/colormath/default.nix
+++ b/pkgs/development/python-modules/colormath/default.nix
@@ -12,6 +12,7 @@ buildPythonPackage rec {
   # versions, should be included in versions > 3.0
   # https://github.com/gtaylor/python-colormath/issues/104
   version = "unstable-2021-04-17";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gtaylor";
diff --git a/pkgs/development/python-modules/colorspacious/default.nix b/pkgs/development/python-modules/colorspacious/default.nix
index 6f75d343066a8..d9a83e85ec35e 100644
--- a/pkgs/development/python-modules/colorspacious/default.nix
+++ b/pkgs/development/python-modules/colorspacious/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "colorspacious";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/colorthief/default.nix b/pkgs/development/python-modules/colorthief/default.nix
index cdb37df3e3924..4e0527cbc7040 100644
--- a/pkgs/development/python-modules/colorthief/default.nix
+++ b/pkgs/development/python-modules/colorthief/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "colorthief";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fengsp";
diff --git a/pkgs/development/python-modules/command_runner/default.nix b/pkgs/development/python-modules/command_runner/default.nix
index f5f8586d13192..50ab767a01e11 100644
--- a/pkgs/development/python-modules/command_runner/default.nix
+++ b/pkgs/development/python-modules/command_runner/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "command_runner";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/commandlines/default.nix b/pkgs/development/python-modules/commandlines/default.nix
new file mode 100644
index 0000000000000..d5eeadcf86dee
--- /dev/null
+++ b/pkgs/development/python-modules/commandlines/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "commandlines";
+  version = "0.4.1";
+  format = "setuptools";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "chrissimpkins";
+    repo = "commandlines";
+    rev = "v${version}";
+    hash = "sha256-x3iUeOTAaTKNW5Y5foMPMJcWVxu52uYZoY3Hhe3UvQ4=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library for command line argument parsing";
+    homepage = "https://github.com/chrissimpkins/commandlines";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/commentjson/default.nix b/pkgs/development/python-modules/commentjson/default.nix
index d40de1ad8c2f9..bd8d6f3433589 100644
--- a/pkgs/development/python-modules/commentjson/default.nix
+++ b/pkgs/development/python-modules/commentjson/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "commentjson";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "vaidik";
diff --git a/pkgs/development/python-modules/commonmark/default.nix b/pkgs/development/python-modules/commonmark/default.nix
index 1efefa4bf0303..bf6d74ea5f61c 100644
--- a/pkgs/development/python-modules/commonmark/default.nix
+++ b/pkgs/development/python-modules/commonmark/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "commonmark";
   version = "0.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/compiledb/default.nix b/pkgs/development/python-modules/compiledb/default.nix
index 35a78b7704217..25472793cce0e 100644
--- a/pkgs/development/python-modules/compiledb/default.nix
+++ b/pkgs/development/python-modules/compiledb/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "compiledb";
   version = "0.10.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nickdiego";
diff --git a/pkgs/development/python-modules/concurrent-log-handler/default.nix b/pkgs/development/python-modules/concurrent-log-handler/default.nix
index bdf74940c9505..7890eda6b4650 100644
--- a/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/pkgs/development/python-modules/concurrent-log-handler/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "concurrent-log-handler";
   version = "0.9.24";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/conda/default.nix b/pkgs/development/python-modules/conda/default.nix
index 5439bde100409..e6dbe10914e7c 100644
--- a/pkgs/development/python-modules/conda/default.nix
+++ b/pkgs/development/python-modules/conda/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "conda";
   version = "4.3.16";
+  format = "setuptools";
 
   # this is a very outdated version of conda that isn't compatible with python 3.10+
   disabled = pythonAtLeast "3.10";
diff --git a/pkgs/development/python-modules/configclass/default.nix b/pkgs/development/python-modules/configclass/default.nix
index c5138fb1fddce..bb56f3c745da6 100644
--- a/pkgs/development/python-modules/configclass/default.nix
+++ b/pkgs/development/python-modules/configclass/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "configclass";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/confight/default.nix b/pkgs/development/python-modules/confight/default.nix
index 1c4b11d46d658..0a5df6aa3e20f 100644
--- a/pkgs/development/python-modules/confight/default.nix
+++ b/pkgs/development/python-modules/confight/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "confight";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
index 40ea4fd7be754..922b43ec729cd 100644
--- a/pkgs/development/python-modules/configshell/default.nix
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "configshell";
   version = "1.1.30";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
diff --git a/pkgs/development/python-modules/configupdater/default.nix b/pkgs/development/python-modules/configupdater/default.nix
index 2a502963c2608..aed19b526715f 100644
--- a/pkgs/development/python-modules/configupdater/default.nix
+++ b/pkgs/development/python-modules/configupdater/default.nix
@@ -7,12 +7,13 @@
 
 buildPythonPackage rec {
   pname = "configupdater";
-  version = "3.1.1";
+  version = "3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "ConfigUpdater";
-    hash = "sha256-RvDHTXPvpyN3Z2S0PJc59oBSSV3T1zQxnB0OtYUR8Vs=";
+    hash = "sha256-n9rFODHBsGKSm/OYtkm4fKMOfxpzXz+/SCBygEEGMGs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/connection-pool/default.nix b/pkgs/development/python-modules/connection-pool/default.nix
index 26e958f095efd..c6785a183f5e1 100644
--- a/pkgs/development/python-modules/connection-pool/default.nix
+++ b/pkgs/development/python-modules/connection-pool/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "connection-pool";
   version = "0.0.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/constantly/default.nix b/pkgs/development/python-modules/constantly/default.nix
index 92183fc1622c2..4aad363632c23 100644
--- a/pkgs/development/python-modules/constantly/default.nix
+++ b/pkgs/development/python-modules/constantly/default.nix
@@ -4,6 +4,7 @@ let
   self = buildPythonPackage rec {
     pname = "constantly";
     version = "15.1.0";
+    format = "setuptools";
 
     src = fetchFromGitHub {
       owner = "twisted";
diff --git a/pkgs/development/python-modules/contexter/default.nix b/pkgs/development/python-modules/contexter/default.nix
index 9937d4b475262..da96829d482ac 100644
--- a/pkgs/development/python-modules/contexter/default.nix
+++ b/pkgs/development/python-modules/contexter/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "contexter";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/contexttimer/default.nix b/pkgs/development/python-modules/contexttimer/default.nix
index e61178daaaaf7..f908783fb0b63 100644
--- a/pkgs/development/python-modules/contexttimer/default.nix
+++ b/pkgs/development/python-modules/contexttimer/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "contexttimer";
   version = "unstable-2019-03-30";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "brouberol";
diff --git a/pkgs/development/python-modules/cookiecutter/default.nix b/pkgs/development/python-modules/cookiecutter/default.nix
index d7ae5934d6d5b..8d3374b9c9101 100644
--- a/pkgs/development/python-modules/cookiecutter/default.nix
+++ b/pkgs/development/python-modules/cookiecutter/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "cookiecutter";
   version = "2.3.0";
+  format = "setuptools";
 
   # not sure why this is broken
   disabled = isPyPy;
diff --git a/pkgs/development/python-modules/coordinates/default.nix b/pkgs/development/python-modules/coordinates/default.nix
index 5c5e53e989f26..e699e1b9a015f 100644
--- a/pkgs/development/python-modules/coordinates/default.nix
+++ b/pkgs/development/python-modules/coordinates/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "coordinates";
   version = "0.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/coreapi/default.nix b/pkgs/development/python-modules/coreapi/default.nix
index 3e8a540904021..ad172b2961167 100644
--- a/pkgs/development/python-modules/coreapi/default.nix
+++ b/pkgs/development/python-modules/coreapi/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "coreapi";
   version = "2.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "python-client";
diff --git a/pkgs/development/python-modules/coreschema/default.nix b/pkgs/development/python-modules/coreschema/default.nix
index a36a6838c8e8e..8d597e530383e 100644
--- a/pkgs/development/python-modules/coreschema/default.nix
+++ b/pkgs/development/python-modules/coreschema/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "coreschema";
   version = "0.0.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "python-coreschema";
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index 49825c7af2a1d..75f7a6ffb2e4e 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "cornice";
   version = "6.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cov-core/default.nix b/pkgs/development/python-modules/cov-core/default.nix
index ce3b08fbc9f45..6a4610fc447ca 100644
--- a/pkgs/development/python-modules/cov-core/default.nix
+++ b/pkgs/development/python-modules/cov-core/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cov-core";
   version = "1.15.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix
index 2bcfe6c346558..cd761b45e1013 100644
--- a/pkgs/development/python-modules/coverage/default.nix
+++ b/pkgs/development/python-modules/coverage/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "coverage";
   version = "7.3.1";
+  format = "setuptools";
   # uses f strings
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/coveralls/default.nix b/pkgs/development/python-modules/coveralls/default.nix
index 7c68a33483a26..dd3aeb50afb8b 100644
--- a/pkgs/development/python-modules/coveralls/default.nix
+++ b/pkgs/development/python-modules/coveralls/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "coveralls";
   version = "3.3.1";
+  format = "setuptools";
   disabled = isPy27;
 
   # wanted by tests
diff --git a/pkgs/development/python-modules/cppe/default.nix b/pkgs/development/python-modules/cppe/default.nix
index 9fa87ab806ad8..64e88190dc821 100644
--- a/pkgs/development/python-modules/cppe/default.nix
+++ b/pkgs/development/python-modules/cppe/default.nix
@@ -33,6 +33,8 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
+  format = "setuptools";
+
   buildInputs = [ pybind11 ]
     ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
diff --git a/pkgs/development/python-modules/cppy/default.nix b/pkgs/development/python-modules/cppy/default.nix
index 025da89686303..230925a213e9b 100644
--- a/pkgs/development/python-modules/cppy/default.nix
+++ b/pkgs/development/python-modules/cppy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "cppy";
   version = "1.2.1";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix
index c451288f0006b..4006c4f28ef3c 100644
--- a/pkgs/development/python-modules/cram/default.nix
+++ b/pkgs/development/python-modules/cram/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.7";
+  format = "setuptools";
   pname = "cram";
 
   nativeCheckInputs = [ which ];
diff --git a/pkgs/development/python-modules/crashtest/default.nix b/pkgs/development/python-modules/crashtest/default.nix
index 4b03e38b74f76..296c80eae54af 100644
--- a/pkgs/development/python-modules/crashtest/default.nix
+++ b/pkgs/development/python-modules/crashtest/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "crashtest";
   version = "0.4.1";
+  format = "setuptools";
   disabled = !(pythonAtLeast "3.6");
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/crayons/default.nix b/pkgs/development/python-modules/crayons/default.nix
index 53caec6659647..c52cede171a24 100644
--- a/pkgs/development/python-modules/crayons/default.nix
+++ b/pkgs/development/python-modules/crayons/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "crayons";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/crc16/default.nix b/pkgs/development/python-modules/crc16/default.nix
index ebf86a3571c61..eda1987a5b076 100644
--- a/pkgs/development/python-modules/crc16/default.nix
+++ b/pkgs/development/python-modules/crc16/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "crc16";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/crcmod/default.nix b/pkgs/development/python-modules/crcmod/default.nix
index 70053eb16713f..9bc2c6ac70e11 100644
--- a/pkgs/development/python-modules/crcmod/default.nix
+++ b/pkgs/development/python-modules/crcmod/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "crcmod";
   version = "1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/credstash/default.nix b/pkgs/development/python-modules/credstash/default.nix
index 0267aee761008..76859ec88ff82 100644
--- a/pkgs/development/python-modules/credstash/default.nix
+++ b/pkgs/development/python-modules/credstash/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "credstash";
   version = "1.17.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cryptacular/default.nix b/pkgs/development/python-modules/cryptacular/default.nix
index 31c0ebace475b..977de2396f2c0 100644
--- a/pkgs/development/python-modules/cryptacular/default.nix
+++ b/pkgs/development/python-modules/cryptacular/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "cryptacular";
   version = "1.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cryptolyzer/default.nix b/pkgs/development/python-modules/cryptolyzer/default.nix
index c8cdc1c6d3d3e..ba89ff24621ae 100644
--- a/pkgs/development/python-modules/cryptolyzer/default.nix
+++ b/pkgs/development/python-modules/cryptolyzer/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cryptolyzer";
-  version = "0.10.3";
+  version = "0.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "CryptoLyzer";
     inherit version;
-    hash = "sha256-8jpWDd/+eEaAp8L4ySpNK91fma005cPMLgzAsSAIpKg=";
+    hash = "sha256-XiMkZeIjTAv8F84eutZoezZl4bJ2xqh4uwroDU24jjg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cryptoparser/default.nix b/pkgs/development/python-modules/cryptoparser/default.nix
index 54be9191a2590..54c5faf307d28 100644
--- a/pkgs/development/python-modules/cryptoparser/default.nix
+++ b/pkgs/development/python-modules/cryptoparser/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "cryptoparser";
-  version = "0.11.0";
+  version = "0.12.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "CryptoParser";
     inherit version;
-    hash = "sha256-fgPmgZxv/UpaoeBO08xcUbPxmjVV4AUEgivNOvWxd04=";
+    hash = "sha256-E32fHcuICUMCH5NYT+oFYU7M73bvXb/g1UoJSChzOiA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cson/default.nix b/pkgs/development/python-modules/cson/default.nix
index 4c1b63946ad22..b16ee0202b2db 100644
--- a/pkgs/development/python-modules/cson/default.nix
+++ b/pkgs/development/python-modules/cson/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cson";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/csrmesh/default.nix b/pkgs/development/python-modules/csrmesh/default.nix
index 1427563415670..81f3a25b34e51 100644
--- a/pkgs/development/python-modules/csrmesh/default.nix
+++ b/pkgs/development/python-modules/csrmesh/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "csrmesh";
   version = "0.10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/css-html-js-minify/default.nix b/pkgs/development/python-modules/css-html-js-minify/default.nix
index d05941e1cfbed..304624a90ca05 100644
--- a/pkgs/development/python-modules/css-html-js-minify/default.nix
+++ b/pkgs/development/python-modules/css-html-js-minify/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "css-html-js-minify";
   version = "2.5.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/csscompressor/default.nix b/pkgs/development/python-modules/csscompressor/default.nix
index b3d08c12e62fc..01c649f222c1e 100644
--- a/pkgs/development/python-modules/csscompressor/default.nix
+++ b/pkgs/development/python-modules/csscompressor/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "csscompressor";
   version = "0.9.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cssmin/default.nix b/pkgs/development/python-modules/cssmin/default.nix
index 929640a7c1e84..c9daf5d45827c 100644
--- a/pkgs/development/python-modules/cssmin/default.nix
+++ b/pkgs/development/python-modules/cssmin/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "cssmin";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ctap-keyring-device/default.nix b/pkgs/development/python-modules/ctap-keyring-device/default.nix
index 2c6597aeb7f03..0721167693669 100644
--- a/pkgs/development/python-modules/ctap-keyring-device/default.nix
+++ b/pkgs/development/python-modules/ctap-keyring-device/default.nix
@@ -25,6 +25,7 @@ in
 buildPythonPackage rec {
   pname = "ctap-keyring-device";
   version = "1.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version pname;
diff --git a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
index b0cdc10735b90..e67704be7898a 100644
--- a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
+++ b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "cucumber-tag-expressions";
   version = "4.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix
index cc9f4ac69b4e9..4884c2e584bc2 100644
--- a/pkgs/development/python-modules/cufflinks/default.nix
+++ b/pkgs/development/python-modules/cufflinks/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "cufflinks";
   version = "0.17.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index e5de149fca14a..923ef7d126db7 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -11,13 +11,37 @@
 , cudaPackages
 , addOpenGLRunpath
 , pythonOlder
+, symlinkJoin
 }:
 
 let
-  inherit (cudaPackages) cudatoolkit cudnn cutensor nccl;
-in buildPythonPackage rec {
+  inherit (cudaPackages) cudnn cutensor nccl;
+  cudatoolkit-joined = symlinkJoin {
+    name = "cudatoolkit-joined-${cudaPackages.cudaVersion}";
+    paths = with cudaPackages; [
+      cuda_cccl # <nv/target>
+      cuda_cccl.dev
+      cuda_cudart
+      cuda_nvcc.dev # <crt/host_defines.h>
+      cuda_nvprof
+      cuda_nvrtc
+      cuda_nvtx
+      cuda_profiler_api
+      libcublas
+      libcufft
+      libcurand
+      libcusolver
+      libcusparse
+
+      # Missing:
+      # cusparselt
+    ];
+  };
+in
+buildPythonPackage rec {
   pname = "cupy";
   version = "12.2.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -32,27 +56,32 @@ in buildPythonPackage rec {
   # very short builds and a few extremely long ones, so setting both ends up
   # working nicely in practice.
   preConfigure = ''
-    export CUDA_PATH=${cudatoolkit}
     export CUPY_NUM_BUILD_JOBS="$NIX_BUILD_CORES"
     export CUPY_NUM_NVCC_THREADS="$NIX_BUILD_CORES"
   '';
 
   nativeBuildInputs = [
+    setuptools
+    wheel
     addOpenGLRunpath
     cython
+    cudaPackages.cuda_nvcc
   ];
 
-  LDFLAGS = "-L${cudatoolkit}/lib/stubs";
-
-  propagatedBuildInputs = [
-    cudatoolkit
+  buildInputs = [
+    cudatoolkit-joined
     cudnn
     cutensor
     nccl
+  ];
+
+  NVCC = "${lib.getExe cudaPackages.cuda_nvcc}"; # FIXME: splicing/buildPackages
+  CUDA_PATH = "${cudatoolkit-joined}";
+  LDFLAGS = "-L${cudaPackages.cuda_cudart}/lib/stubs";
+
+  propagatedBuildInputs = [
     fastrlock
     numpy
-    setuptools
-    wheel
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/curve25519-donna/default.nix b/pkgs/development/python-modules/curve25519-donna/default.nix
index ea96efb91843b..d098d47e71902 100644
--- a/pkgs/development/python-modules/curve25519-donna/default.nix
+++ b/pkgs/development/python-modules/curve25519-donna/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "curve25519-donna";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cvxopt/default.nix b/pkgs/development/python-modules/cvxopt/default.nix
index 3e94238709d56..0ba23e1510604 100644
--- a/pkgs/development/python-modules/cvxopt/default.nix
+++ b/pkgs/development/python-modules/cvxopt/default.nix
@@ -21,6 +21,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 buildPythonPackage rec {
   pname = "cvxopt";
   version = "1.3.2";
+  format = "setuptools";
 
   disabled = isPyPy; # hangs at [translation:info]
 
diff --git a/pkgs/development/python-modules/cx-freeze/default.nix b/pkgs/development/python-modules/cx-freeze/default.nix
index e8b27794ae466..ef2dd6073da0d 100644
--- a/pkgs/development/python-modules/cx-freeze/default.nix
+++ b/pkgs/development/python-modules/cx-freeze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "cx-freeze";
-  version = "6.15.10";
+  version = "6.15.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "cx_Freeze";
     inherit version;
-    hash = "sha256-Bc0md1lpL1EYYdIoYNNeKgW/v3OPliwVdhi7jHcdIyA=";
+    hash = "sha256-xf5Ez5eC+qXAaMoc1d6RPv4PmY1ry82oQ9aGod+W7lY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cxxfilt/default.nix b/pkgs/development/python-modules/cxxfilt/default.nix
index 8b9c8f979c210..2bf02c5642569 100644
--- a/pkgs/development/python-modules/cxxfilt/default.nix
+++ b/pkgs/development/python-modules/cxxfilt/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "cxxfilt";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cycler/default.nix b/pkgs/development/python-modules/cycler/default.nix
index 9df0592512418..07be526f659b9 100644
--- a/pkgs/development/python-modules/cycler/default.nix
+++ b/pkgs/development/python-modules/cycler/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "cycler";
   version = "0.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cypari2/default.nix b/pkgs/development/python-modules/cypari2/default.nix
index c2bdca1bfe69a..5b5ca31e4d028 100644
--- a/pkgs/development/python-modules/cypari2/default.nix
+++ b/pkgs/development/python-modules/cypari2/default.nix
@@ -13,6 +13,7 @@ buildPythonPackage rec {
   pname = "cypari2";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
   version = "2.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
index d03e3ba501ec0..dc6d412f24593 100644
--- a/pkgs/development/python-modules/cysignals/default.nix
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -11,6 +11,7 @@ assert pariSupport -> pari != null;
 buildPythonPackage rec {
   pname = "cysignals";
   version = "1.11.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index fafc31d65882c..e46d0816577d9 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "cytoolz";
   version = "0.12.2";
+  format = "setuptools";
   disabled = isPy27 || isPyPy;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/daemonize/default.nix b/pkgs/development/python-modules/daemonize/default.nix
index 26f23b7156ddf..bdff79e29aa7a 100644
--- a/pkgs/development/python-modules/daemonize/default.nix
+++ b/pkgs/development/python-modules/daemonize/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "daemonize";
   version = "2.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/daemonocle/default.nix b/pkgs/development/python-modules/daemonocle/default.nix
index e673dd1adf5d8..5acec6393632e 100644
--- a/pkgs/development/python-modules/daemonocle/default.nix
+++ b/pkgs/development/python-modules/daemonocle/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "daemonocle";
   version = "1.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jnrbsn";
diff --git a/pkgs/development/python-modules/dash-core-components/default.nix b/pkgs/development/python-modules/dash-core-components/default.nix
index c6103d5e5ee7f..109facaff4e5e 100644
--- a/pkgs/development/python-modules/dash-core-components/default.nix
+++ b/pkgs/development/python-modules/dash-core-components/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dash-core-components";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "dash_core_components";
diff --git a/pkgs/development/python-modules/dash-html-components/default.nix b/pkgs/development/python-modules/dash-html-components/default.nix
index ae5496ec50433..9d7f7d4a54ba6 100644
--- a/pkgs/development/python-modules/dash-html-components/default.nix
+++ b/pkgs/development/python-modules/dash-html-components/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dash-html-components";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "dash_html_components";
diff --git a/pkgs/development/python-modules/dash-table/default.nix b/pkgs/development/python-modules/dash-table/default.nix
index 2463e50fb32c5..b40602585ae5b 100644
--- a/pkgs/development/python-modules/dash-table/default.nix
+++ b/pkgs/development/python-modules/dash-table/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dash-table";
   version = "5.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "dash_table";
diff --git a/pkgs/development/python-modules/dask-glm/default.nix b/pkgs/development/python-modules/dask-glm/default.nix
index 4e0357ddd8233..dd5cfe0d29811 100644
--- a/pkgs/development/python-modules/dask-glm/default.nix
+++ b/pkgs/development/python-modules/dask-glm/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "dask-glm";
-  version = "0.3.0";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ddaYNBUlvsMzrku7fKrlozRmjshVbQ9yrYIlaRBQCp4=";
+    hash = "sha256-yUelZoZmmKAdeZeK5zIzy16DitXq1ghRQ1gsXpMLmko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/datapoint/default.nix b/pkgs/development/python-modules/datapoint/default.nix
index 4b68fe24b4270..e93651be16254 100644
--- a/pkgs/development/python-modules/datapoint/default.nix
+++ b/pkgs/development/python-modules/datapoint/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "datapoint";
   version = "0.9.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ejep";
diff --git a/pkgs/development/python-modules/dataprep-ml/default.nix b/pkgs/development/python-modules/dataprep-ml/default.nix
index 3eeac2e85b9bb..3253ff91c096d 100644
--- a/pkgs/development/python-modules/dataprep-ml/default.nix
+++ b/pkgs/development/python-modules/dataprep-ml/default.nix
@@ -23,7 +23,7 @@ let
 in
 buildPythonPackage rec {
   pname = "dataprep-ml";
-  version = "0.0.18";
+  version = "0.0.20";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "dataprep_ml";
     inherit version;
-    hash = "sha256-nIqyRwv62j8x5Fy7ILMLWxw6yJmkkNRE1zyUlfvRYTI=";
+    hash = "sha256-X6mTTj4hfnqiCPMFrc8ESFp2E7bRNELLR1uL/dGzsPg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index b110ba702daf8..cb0fb38ab9b7c 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "datashader";
-  version = "0.15.2";
+  version = "0.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lTlSk3kofWnBDpq04LKQDhoWAE1v8G3g2EqmLEgzsbs=";
+    hash = "sha256-7UwRGVdXjcs/z/ly2VT3dYba/XGnNF/VzQadn7BQ0NE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datashape/default.nix b/pkgs/development/python-modules/datashape/default.nix
index a7964914d079e..6736483a8ba46 100644
--- a/pkgs/development/python-modules/datashape/default.nix
+++ b/pkgs/development/python-modules/datashape/default.nix
@@ -22,6 +22,7 @@ let
 in buildPythonPackage rec {
   pname = "datashape";
   version = "0.5.4";
+  format = "setuptools";
 
   src = fetcher {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dateutils/default.nix b/pkgs/development/python-modules/dateutils/default.nix
index ba9996bbed73b..f9efbb47eb053 100644
--- a/pkgs/development/python-modules/dateutils/default.nix
+++ b/pkgs/development/python-modules/dateutils/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "dateutils";
   version = "0.6.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dawg-python/default.nix b/pkgs/development/python-modules/dawg-python/default.nix
index f8da613d98bcf..015e6a1d5c348 100644
--- a/pkgs/development/python-modules/dawg-python/default.nix
+++ b/pkgs/development/python-modules/dawg-python/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dawg-python";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/dbfread/default.nix b/pkgs/development/python-modules/dbfread/default.nix
index 1708a75fc10e2..2e7f12e0f061c 100644
--- a/pkgs/development/python-modules/dbfread/default.nix
+++ b/pkgs/development/python-modules/dbfread/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
     pname = "dbfread";
     version = "2.0.7";
+    format = "setuptools";
 
     src = fetchPypi {
       inherit pname version;
diff --git a/pkgs/development/python-modules/dbt-redshift/default.nix b/pkgs/development/python-modules/dbt-redshift/default.nix
index 46f62dcafd7ea..9758f5c2f7df7 100644
--- a/pkgs/development/python-modules/dbt-redshift/default.nix
+++ b/pkgs/development/python-modules/dbt-redshift/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-redshift";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5sgge55BwvC00Gj3UvLS/uzCgNSi4j4YdVlg/LuJI+s=";
+    hash = "sha256-wonwDrRvfX5/0yQXL05SDLutXFAAyLmhtpI0rm01AOg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dbus-client-gen/default.nix b/pkgs/development/python-modules/dbus-client-gen/default.nix
index 811ec6e0d3dbe..fdc173258e50e 100644
--- a/pkgs/development/python-modules/dbus-client-gen/default.nix
+++ b/pkgs/development/python-modules/dbus-client-gen/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dbus-client-gen";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index 233067fbbce31..fd935fabb0a60 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.15.0";
+  version = "2.20.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-TgkOE6gOFbrbHsllpAZuNNQm3EqCrWW5WSMKqW8bOuI=";
+    hash = "sha256-dvgexjzA/1/0p2xgjTWBQeaEKWEv/7XdhtSkyT/DN6I=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/pkgs/development/python-modules/dbus-next/default.nix b/pkgs/development/python-modules/dbus-next/default.nix
index f1b32b6a3bc0d..0ce5b2f903948 100644
--- a/pkgs/development/python-modules/dbus-next/default.nix
+++ b/pkgs/development/python-modules/dbus-next/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "dbus-next";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "altdesktop";
diff --git a/pkgs/development/python-modules/dbus-signature-pyparsing/default.nix b/pkgs/development/python-modules/dbus-signature-pyparsing/default.nix
index 2b00b34be19ca..083a4d7dc7dc3 100644
--- a/pkgs/development/python-modules/dbus-signature-pyparsing/default.nix
+++ b/pkgs/development/python-modules/dbus-signature-pyparsing/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "dbus-signature-pyparsing";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
diff --git a/pkgs/development/python-modules/dcmstack/default.nix b/pkgs/development/python-modules/dcmstack/default.nix
index 08dcbb796acb8..8e7b74fc8dd38 100644
--- a/pkgs/development/python-modules/dcmstack/default.nix
+++ b/pkgs/development/python-modules/dcmstack/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "dcmstack";
   version = "0.9";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ddt/default.nix b/pkgs/development/python-modules/ddt/default.nix
index 4c0d90575c691..6e1f2b154a53f 100644
--- a/pkgs/development/python-modules/ddt/default.nix
+++ b/pkgs/development/python-modules/ddt/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "ddt";
   version = "1.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/deap/default.nix b/pkgs/development/python-modules/deap/default.nix
index ad69642a4f7bb..aa581062c5f9d 100644
--- a/pkgs/development/python-modules/deap/default.nix
+++ b/pkgs/development/python-modules/deap/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "deap";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/debtcollector/default.nix b/pkgs/development/python-modules/debtcollector/default.nix
index b7617af15ff1a..620f615b6e512 100644
--- a/pkgs/development/python-modules/debtcollector/default.nix
+++ b/pkgs/development/python-modules/debtcollector/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "debtcollector";
   version = "2.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/debts/default.nix b/pkgs/development/python-modules/debts/default.nix
index 7055a3736b22d..3128f71288322 100644
--- a/pkgs/development/python-modules/debts/default.nix
+++ b/pkgs/development/python-modules/debts/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "debts";
   version = "0.5";
+  format = "setuptools";
 
   # pypi does not ship tests
   src = fetchFromGitLab {
diff --git a/pkgs/development/python-modules/deep-chainmap/default.nix b/pkgs/development/python-modules/deep-chainmap/default.nix
index 9a9bada8c2a59..9a6d7eaee693c 100644
--- a/pkgs/development/python-modules/deep-chainmap/default.nix
+++ b/pkgs/development/python-modules/deep-chainmap/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "deep-chainmap";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "deep_chainmap";
diff --git a/pkgs/development/python-modules/deepdish/default.nix b/pkgs/development/python-modules/deepdish/default.nix
index 0b04c2cc44185..da73114835f82 100644
--- a/pkgs/development/python-modules/deepdish/default.nix
+++ b/pkgs/development/python-modules/deepdish/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "deepdish";
   version = "0.3.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/deeptoolsintervals/default.nix b/pkgs/development/python-modules/deeptoolsintervals/default.nix
index 89cebb91ab39e..7f78a92877a7d 100644
--- a/pkgs/development/python-modules/deeptoolsintervals/default.nix
+++ b/pkgs/development/python-modules/deeptoolsintervals/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "deeptoolsintervals";
   version = "0.1.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/deezer-py/default.nix b/pkgs/development/python-modules/deezer-py/default.nix
index f06c9b0d29448..109f873138c66 100644
--- a/pkgs/development/python-modules/deezer-py/default.nix
+++ b/pkgs/development/python-modules/deezer-py/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "deezer-py";
   version = "1.3.7";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix
index 3e5ad6939e9dd..b094b46c663af 100644
--- a/pkgs/development/python-modules/deform/default.nix
+++ b/pkgs/development/python-modules/deform/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "deform";
   version = "2.0.15";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/defusedxml/default.nix b/pkgs/development/python-modules/defusedxml/default.nix
index 6ac1bab0845eb..e2e7de205c8ce 100644
--- a/pkgs/development/python-modules/defusedxml/default.nix
+++ b/pkgs/development/python-modules/defusedxml/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "defusedxml";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dehinter/default.nix b/pkgs/development/python-modules/dehinter/default.nix
new file mode 100644
index 0000000000000..1775e01fa8c9e
--- /dev/null
+++ b/pkgs/development/python-modules/dehinter/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fonttools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dehinter";
+  version = "4.0.0";
+  format = "setuptools";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "dehinter";
+    rev = "v${version}";
+    hash = "sha256-l988SW6OWKXzJK0WGAJZR/QDFvgnSir+5TwMMvFcOxg=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Utility for removing hinting data from TrueType and OpenType fonts";
+    homepage = "https://github.com/source-foundry/dehinter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/deluge-client/default.nix b/pkgs/development/python-modules/deluge-client/default.nix
index 4426fe65bf5e0..3b812d671c9d6 100644
--- a/pkgs/development/python-modules/deluge-client/default.nix
+++ b/pkgs/development/python-modules/deluge-client/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "deluge-client";
   version = "1.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/deprecated/default.nix b/pkgs/development/python-modules/deprecated/default.nix
index ed2cf8a011710..09664f977a051 100644
--- a/pkgs/development/python-modules/deprecated/default.nix
+++ b/pkgs/development/python-modules/deprecated/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "deprecated";
   version = "1.2.14";
+  format = "setuptools";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/deprecation/default.nix b/pkgs/development/python-modules/deprecation/default.nix
index 9ea6e5c2c6dd6..3fccbde6e8b65 100644
--- a/pkgs/development/python-modules/deprecation/default.nix
+++ b/pkgs/development/python-modules/deprecation/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "deprecation";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/devialet/default.nix b/pkgs/development/python-modules/devialet/default.nix
new file mode 100644
index 0000000000000..086f27e421443
--- /dev/null
+++ b/pkgs/development/python-modules/devialet/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "devialet";
+  version = "1.4.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "fwestenberg";
+    repo = "devialet";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DVwf1zQXwPe8W2SzL9CnYE+gwLgPEnI+tQTfR+ijwF4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "devialet"
+  ];
+
+  meta = with lib; {
+    description = "Library to interact with the Devialet API";
+    homepage = "https://github.com/fwestenberg/devialet";
+    changelog = "https://github.com/fwestenberg/devialet/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index 2782789e957ad..e614f206f3285 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
   version = "0.18.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/dicom2nifti/default.nix b/pkgs/development/python-modules/dicom2nifti/default.nix
index dd683b4d1bfdb..8c716135a104f 100644
--- a/pkgs/development/python-modules/dicom2nifti/default.nix
+++ b/pkgs/development/python-modules/dicom2nifti/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "dicom2nifti";
   version = "2.4.8";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   # no tests in PyPI dist
diff --git a/pkgs/development/python-modules/dictionaries/default.nix b/pkgs/development/python-modules/dictionaries/default.nix
index 2a3e752c20625..0395c7796d9f4 100644
--- a/pkgs/development/python-modules/dictionaries/default.nix
+++ b/pkgs/development/python-modules/dictionaries/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "dictionaries";
   version = "0.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dicttoxml/default.nix b/pkgs/development/python-modules/dicttoxml/default.nix
index c96f37c177c9e..d205aa0cd4714 100644
--- a/pkgs/development/python-modules/dicttoxml/default.nix
+++ b/pkgs/development/python-modules/dicttoxml/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dicttoxml";
   version = "1.7.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/digi-xbee/default.nix b/pkgs/development/python-modules/digi-xbee/default.nix
index 52bfaee7911b5..7514ba8609d00 100644
--- a/pkgs/development/python-modules/digi-xbee/default.nix
+++ b/pkgs/development/python-modules/digi-xbee/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "digi-xbee";
   version = "1.4.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/directv/default.nix b/pkgs/development/python-modules/directv/default.nix
index 34202a4b1c545..d8aaa9b7df677 100644
--- a/pkgs/development/python-modules/directv/default.nix
+++ b/pkgs/development/python-modules/directv/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "directv";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ctalkington";
diff --git a/pkgs/development/python-modules/discid/default.nix b/pkgs/development/python-modules/discid/default.nix
index 1c24402926f37..ec921be17ddb3 100644
--- a/pkgs/development/python-modules/discid/default.nix
+++ b/pkgs/development/python-modules/discid/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "discid";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dissononce/default.nix b/pkgs/development/python-modules/dissononce/default.nix
index f3d903f91c99e..da783408efd81 100644
--- a/pkgs/development/python-modules/dissononce/default.nix
+++ b/pkgs/development/python-modules/dissononce/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "dissononce";
   version = "0.34.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tgalal";
diff --git a/pkgs/development/python-modules/distorm3/default.nix b/pkgs/development/python-modules/distorm3/default.nix
index 5748effd390d1..0471855b79d34 100644
--- a/pkgs/development/python-modules/distorm3/default.nix
+++ b/pkgs/development/python-modules/distorm3/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "distorm3";
   version = "3.5.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/dj-rest-auth/default.nix b/pkgs/development/python-modules/dj-rest-auth/default.nix
index 116e3085d9085..5e1e1a57928d4 100644
--- a/pkgs/development/python-modules/dj-rest-auth/default.nix
+++ b/pkgs/development/python-modules/dj-rest-auth/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "dj-rest-auth";
   version = "5.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "iMerica";
diff --git a/pkgs/development/python-modules/dj-search-url/default.nix b/pkgs/development/python-modules/dj-search-url/default.nix
index 410ed08d9478e..057d2c6acdaca 100644
--- a/pkgs/development/python-modules/dj-search-url/default.nix
+++ b/pkgs/development/python-modules/dj-search-url/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.1";
+  format = "setuptools";
   pname = "dj-search-url";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/django-annoying/default.nix b/pkgs/development/python-modules/django-annoying/default.nix
index 9772df000bcab..5259a974d6483 100644
--- a/pkgs/development/python-modules/django-annoying/default.nix
+++ b/pkgs/development/python-modules/django-annoying/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "django-annoying";
   version = "0.10.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "skorokithakis";
diff --git a/pkgs/development/python-modules/django-anymail/default.nix b/pkgs/development/python-modules/django-anymail/default.nix
index 50b86d7fb90a5..a4944b830d23d 100644
--- a/pkgs/development/python-modules/django-anymail/default.nix
+++ b/pkgs/development/python-modules/django-anymail/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "django-anymail";
   version = "10.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "anymail";
diff --git a/pkgs/development/python-modules/django-autocomplete-light/default.nix b/pkgs/development/python-modules/django-autocomplete-light/default.nix
index 774bcda4ba833..08390b00efd0e 100644
--- a/pkgs/development/python-modules/django-autocomplete-light/default.nix
+++ b/pkgs/development/python-modules/django-autocomplete-light/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "django-autocomplete-light";
   version = "3.9.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "yourlabs";
diff --git a/pkgs/development/python-modules/django-cache-url/default.nix b/pkgs/development/python-modules/django-cache-url/default.nix
index 01cccaf8c50d6..d2167350874c7 100644
--- a/pkgs/development/python-modules/django-cache-url/default.nix
+++ b/pkgs/development/python-modules/django-cache-url/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "3.2.2";
+  format = "setuptools";
   pname = "django-cache-url";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/django-celery-email/default.nix b/pkgs/development/python-modules/django-celery-email/default.nix
index d94760baf6359..d403ee8d41037 100644
--- a/pkgs/development/python-modules/django-celery-email/default.nix
+++ b/pkgs/development/python-modules/django-celery-email/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "django-celery-email";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pmclanahan";
diff --git a/pkgs/development/python-modules/django-colorful/default.nix b/pkgs/development/python-modules/django-colorful/default.nix
index 5de127a972211..093be1ab607ea 100644
--- a/pkgs/development/python-modules/django-colorful/default.nix
+++ b/pkgs/development/python-modules/django-colorful/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "django-colorful";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-contrib-comments/default.nix b/pkgs/development/python-modules/django-contrib-comments/default.nix
index 66189a88d0d6a..fe0ce82b52a0e 100644
--- a/pkgs/development/python-modules/django-contrib-comments/default.nix
+++ b/pkgs/development/python-modules/django-contrib-comments/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "django-contrib-comments";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-cors-headers/default.nix b/pkgs/development/python-modules/django-cors-headers/default.nix
index 0c13c0b021004..a3b79ca10a3f6 100644
--- a/pkgs/development/python-modules/django-cors-headers/default.nix
+++ b/pkgs/development/python-modules/django-cors-headers/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "django-cors-headers";
   version = "3.13.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "adamchainz";
diff --git a/pkgs/development/python-modules/django-csp/default.nix b/pkgs/development/python-modules/django-csp/default.nix
index c54583447671a..ed3add9a5cd05 100644
--- a/pkgs/development/python-modules/django-csp/default.nix
+++ b/pkgs/development/python-modules/django-csp/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-csp";
   version = "3.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/django-environ/default.nix b/pkgs/development/python-modules/django-environ/default.nix
index b0e3f6eb0c40b..c9c6b99717443 100644
--- a/pkgs/development/python-modules/django-environ/default.nix
+++ b/pkgs/development/python-modules/django-environ/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "django-environ";
   version = "0.11.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix
index eb46b6b869206..474ede58b770f 100644
--- a/pkgs/development/python-modules/django-extensions/default.nix
+++ b/pkgs/development/python-modules/django-extensions/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "django-extensions";
   version = "3.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/django-filter/default.nix b/pkgs/development/python-modules/django-filter/default.nix
index dcbcede305631..9cfb6493e577c 100644
--- a/pkgs/development/python-modules/django-filter/default.nix
+++ b/pkgs/development/python-modules/django-filter/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "django-filter";
-  version = "23.3";
+  version = "23.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AV/hVVguGAW0Bik0Tkps88xARQgn0pTQQLS4wXSan6Y=";
+    hash = "sha256-vtBws4NZ3OfS2+BXsWXVl3MFeYY1bLgJ3tmDs2x3qXY=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/pkgs/development/python-modules/django-gravatar2/default.nix b/pkgs/development/python-modules/django-gravatar2/default.nix
index 458723601dd7f..d43748448c51d 100644
--- a/pkgs/development/python-modules/django-gravatar2/default.nix
+++ b/pkgs/development/python-modules/django-gravatar2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-gravatar2";
   version = "1.4.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-guardian/default.nix b/pkgs/development/python-modules/django-guardian/default.nix
index 0ae0eac3ecb86..968e82b5849db 100644
--- a/pkgs/development/python-modules/django-guardian/default.nix
+++ b/pkgs/development/python-modules/django-guardian/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "django-guardian";
   version = "2.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-hcaptcha/default.nix b/pkgs/development/python-modules/django-hcaptcha/default.nix
index 52cf7ffb7ea50..9daf8330331c7 100644
--- a/pkgs/development/python-modules/django-hcaptcha/default.nix
+++ b/pkgs/development/python-modules/django-hcaptcha/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "django-hcaptcha";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/django-health-check/default.nix b/pkgs/development/python-modules/django-health-check/default.nix
index f4bb2db23c17b..8d8e266014cb7 100644
--- a/pkgs/development/python-modules/django-health-check/default.nix
+++ b/pkgs/development/python-modules/django-health-check/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "django-health-check";
   version = "3.17.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "KristianOellegaard";
diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix
index 5832d9a069338..60e04b184e9fa 100644
--- a/pkgs/development/python-modules/django-hijack/default.nix
+++ b/pkgs/development/python-modules/django-hijack/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "django-hijack";
-  version = "3.4.2";
+  version = "3.4.3";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "django-hijack";
     repo = "django-hijack";
     rev = "refs/tags/${version}";
-    hash = "sha256-E5gM/5MIB65gdyv/I+Kuw8rbjPvtUnbCPXpasaIDzyo=";
+    hash = "sha256-D9IyuM+ZsvFZL0nhMt1VQ1DYcKg4CS8FPAgSWLtsXeE=";
   };
 
   postPatch = ''
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-4ZVb+V/oYfflIZdme6hbpoSBFVV7lk5wLfEzzBqZv/Y=";
+    hash = "sha256-X3bJ6STFq6zGIzXHSd2C67d4kSOVJJR5aBSM3o5T850=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/django-js-reverse/default.nix b/pkgs/development/python-modules/django-js-reverse/default.nix
index a6f31a05c8f32..a30330fcd9e49 100644
--- a/pkgs/development/python-modules/django-js-reverse/default.nix
+++ b/pkgs/development/python-modules/django-js-reverse/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "django-js-reverse";
   version = "0.10.1-b1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "BITSOLVER";
diff --git a/pkgs/development/python-modules/django-logentry-admin/default.nix b/pkgs/development/python-modules/django-logentry-admin/default.nix
index b3287b6f52231..af208427a63a4 100644
--- a/pkgs/development/python-modules/django-logentry-admin/default.nix
+++ b/pkgs/development/python-modules/django-logentry-admin/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-logentry-admin";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "yprez";
diff --git a/pkgs/development/python-modules/django-multiselectfield/default.nix b/pkgs/development/python-modules/django-multiselectfield/default.nix
index 046c60989a74d..6864d0c8f9f19 100644
--- a/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "django-multiselectfield";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-nose/default.nix b/pkgs/development/python-modules/django-nose/default.nix
index 2506f6aba44a9..86aa7b3a4e4a5 100644
--- a/pkgs/development/python-modules/django-nose/default.nix
+++ b/pkgs/development/python-modules/django-nose/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "django-nose";
   version = "1.4.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-otp/default.nix b/pkgs/development/python-modules/django-otp/default.nix
index b2417303133b9..216b24e3c0c02 100644
--- a/pkgs/development/python-modules/django-otp/default.nix
+++ b/pkgs/development/python-modules/django-otp/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "django-otp";
   version = "1.1.3";
+  format = "setuptools";
   disabled = pythonOlder "3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/django-paintstore/default.nix b/pkgs/development/python-modules/django-paintstore/default.nix
index 28a773a5c01b1..edafdf1649116 100644
--- a/pkgs/development/python-modules/django-paintstore/default.nix
+++ b/pkgs/development/python-modules/django-paintstore/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-paintstore";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-pglocks/default.nix b/pkgs/development/python-modules/django-pglocks/default.nix
index a84850a1fda97..dae4fd2ad0ecd 100644
--- a/pkgs/development/python-modules/django-pglocks/default.nix
+++ b/pkgs/development/python-modules/django-pglocks/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-pglocks";
   version = "1.0.4";
+  format = "setuptools";
 
   meta = {
     description = "PostgreSQL locking context managers and functions for Django.";
diff --git a/pkgs/development/python-modules/django-polymorphic/default.nix b/pkgs/development/python-modules/django-polymorphic/default.nix
index 6db31decd2874..4df2a1406ef72 100644
--- a/pkgs/development/python-modules/django-polymorphic/default.nix
+++ b/pkgs/development/python-modules/django-polymorphic/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-polymorphic";
   version = "3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "django-polymorphic";
diff --git a/pkgs/development/python-modules/django-ranged-response/default.nix b/pkgs/development/python-modules/django-ranged-response/default.nix
index 5fb0545f1fee5..35f4bb2a7e836 100644
--- a/pkgs/development/python-modules/django-ranged-response/default.nix
+++ b/pkgs/development/python-modules/django-ranged-response/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-ranged-response";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-raster/default.nix b/pkgs/development/python-modules/django-raster/default.nix
index 673a867972666..d5a01cd195dae 100644
--- a/pkgs/development/python-modules/django-raster/default.nix
+++ b/pkgs/development/python-modules/django-raster/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.8.1";
+  format = "setuptools";
   pname = "django-raster";
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/django-rest-auth/default.nix b/pkgs/development/python-modules/django-rest-auth/default.nix
index 5b8937fb048c9..eb14a6a3c316e 100644
--- a/pkgs/development/python-modules/django-rest-auth/default.nix
+++ b/pkgs/development/python-modules/django-rest-auth/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "django-rest-auth";
   version = "0.9.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Tivix";
diff --git a/pkgs/development/python-modules/django-rest-polymorphic/default.nix b/pkgs/development/python-modules/django-rest-polymorphic/default.nix
index 730d05d445ede..5cf6f84ad5546 100644
--- a/pkgs/development/python-modules/django-rest-polymorphic/default.nix
+++ b/pkgs/development/python-modules/django-rest-polymorphic/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "django-rest-polymorphic";
   version = "0.1.10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "apirobot";
diff --git a/pkgs/development/python-modules/django-reversion/default.nix b/pkgs/development/python-modules/django-reversion/default.nix
index 2559cc1fbf5cb..cb0119bb7d504 100644
--- a/pkgs/development/python-modules/django-reversion/default.nix
+++ b/pkgs/development/python-modules/django-reversion/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "5.0.6";
+  version = "5.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
 src = fetchPypi {
     inherit pname version;
-    hash = "sha256-buJalwcN2hTz4IK4uZm/vstKnwgv8fhR40TQVqGMk0w=";
+    hash = "sha256-RdN4vG5gbfayrQB3rsiwoA418Yx0yioa6cwmLOsy+5o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-scopes/default.nix b/pkgs/development/python-modules/django-scopes/default.nix
index 5f3fdecc64bac..df4cd3599fac5 100644
--- a/pkgs/development/python-modules/django-scopes/default.nix
+++ b/pkgs/development/python-modules/django-scopes/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "django-scopes";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "raphaelm";
diff --git a/pkgs/development/python-modules/django-sekizai/default.nix b/pkgs/development/python-modules/django-sekizai/default.nix
index 0c28ee283a1d5..5c040ee026bac 100644
--- a/pkgs/development/python-modules/django-sekizai/default.nix
+++ b/pkgs/development/python-modules/django-sekizai/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "django-sekizai";
   version = "4.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-simple-captcha/default.nix b/pkgs/development/python-modules/django-simple-captcha/default.nix
index 4b61d523a5ab8..d43892cb04d33 100644
--- a/pkgs/development/python-modules/django-simple-captcha/default.nix
+++ b/pkgs/development/python-modules/django-simple-captcha/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "django-simple-captcha";
   version = "0.5.20";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-sites/default.nix b/pkgs/development/python-modules/django-sites/default.nix
index 3a9255daecdf2..52c78b8f5e3db 100644
--- a/pkgs/development/python-modules/django-sites/default.nix
+++ b/pkgs/development/python-modules/django-sites/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "django-sites";
   version = "0.11";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "niwinz";
diff --git a/pkgs/development/python-modules/django-sr/default.nix b/pkgs/development/python-modules/django-sr/default.nix
index 39b3832185d3f..d14935d414bdf 100644
--- a/pkgs/development/python-modules/django-sr/default.nix
+++ b/pkgs/development/python-modules/django-sr/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-sr";
   version = "0.0.4";
+  format = "setuptools";
 
   meta = {
     description = "Django settings resolver";
diff --git a/pkgs/development/python-modules/django-stubs-ext/default.nix b/pkgs/development/python-modules/django-stubs-ext/default.nix
index a3bbfd91b0d8c..6cc31a06b7c30 100644
--- a/pkgs/development/python-modules/django-stubs-ext/default.nix
+++ b/pkgs/development/python-modules/django-stubs-ext/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-stubs-ext";
-  version = "4.2.2";
+  version = "4.2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xp0cxG8cTDt4lLaFpQIsKbKjbHz7UuI3YurzV+v8LJg=";
+    hash = "sha256-jE0ftfaEGbOyR0xlloGhiYA+J9al5av1qg2ldgG1hjM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-stubs/default.nix b/pkgs/development/python-modules/django-stubs/default.nix
index 6dcc875884e0b..d404177a43c7d 100644
--- a/pkgs/development/python-modules/django-stubs/default.nix
+++ b/pkgs/development/python-modules/django-stubs/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "django-stubs";
-  version = "4.2.4";
+  version = "4.2.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fUoTLDgVGYFehlwnqJ7KQby9BgVoMlByJIFqQ9dcYBw=";
+    hash = "sha256-5gtD3mYqGZ20sVyAPAZmngrFA1YUrykcvTuRWR99zJQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-tagging/default.nix b/pkgs/development/python-modules/django-tagging/default.nix
index 4bcaa549a12f8..ba62d65825e37 100644
--- a/pkgs/development/python-modules/django-tagging/default.nix
+++ b/pkgs/development/python-modules/django-tagging/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "django-tagging";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django-taggit/default.nix b/pkgs/development/python-modules/django-taggit/default.nix
index 81326d195a2d2..eb1f4a994e12e 100644
--- a/pkgs/development/python-modules/django-taggit/default.nix
+++ b/pkgs/development/python-modules/django-taggit/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "4.0.0";
+  version = "5.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TVLenTckWpufmMDscf3M8dIoPjjohm1Ap65qO2eHoWE=";
+    hash = "sha256-7c19seDzXDBOCCovYx3awuFu9SlgKVJOt5KvdDDKtMw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-versatileimagefield/default.nix b/pkgs/development/python-modules/django-versatileimagefield/default.nix
index a03a8a282d9cd..bd0e45dee75f7 100644
--- a/pkgs/development/python-modules/django-versatileimagefield/default.nix
+++ b/pkgs/development/python-modules/django-versatileimagefield/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "django-versatileimagefield";
   version = "3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/django/5.nix b/pkgs/development/python-modules/django/5.nix
index 0ea8de9a4c7c0..bedc53cb3d1a2 100644
--- a/pkgs/development/python-modules/django/5.nix
+++ b/pkgs/development/python-modules/django/5.nix
@@ -42,14 +42,14 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "5.0b1";
+  version = "5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yIY15zPwoO9GwhljXiHI9ZeOsqFMORgiRlRUG8XVcDA=";
+    hash = "sha256-fSnhTfvBnLapWkvWae294R9dTGpx/apCwtQLaEboB/c=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/djangoql/default.nix b/pkgs/development/python-modules/djangoql/default.nix
index 55da45f463700..ac6e94c4f9d59 100644
--- a/pkgs/development/python-modules/djangoql/default.nix
+++ b/pkgs/development/python-modules/djangoql/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "djangoql";
   version = "0.17.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/djangorestframework-camel-case/default.nix b/pkgs/development/python-modules/djangorestframework-camel-case/default.nix
index d5b388f5f5e34..c9bfc512b7386 100644
--- a/pkgs/development/python-modules/djangorestframework-camel-case/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-camel-case/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "djangorestframework-camel-case";
   version = "1.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/djangorestframework-guardian/default.nix b/pkgs/development/python-modules/djangorestframework-guardian/default.nix
index 4358a61b3452a..4e8a941d411f1 100644
--- a/pkgs/development/python-modules/djangorestframework-guardian/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-guardian/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "djangorestframework-guardian";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rpkilby";
diff --git a/pkgs/development/python-modules/djangorestframework-guardian2/default.nix b/pkgs/development/python-modules/djangorestframework-guardian2/default.nix
index 786a401d80b60..d2e7ea08af8ae 100644
--- a/pkgs/development/python-modules/djangorestframework-guardian2/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-guardian2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "djangorestframework-guardian2";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "johnthagen";
diff --git a/pkgs/development/python-modules/djangorestframework-recursive/default.nix b/pkgs/development/python-modules/djangorestframework-recursive/default.nix
index d4a96d679522b..e51fa173a8036 100644
--- a/pkgs/development/python-modules/djangorestframework-recursive/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-recursive/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "djangorestframework-recursive";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "heywbj";
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index ced22d54803af..e2dc4ce148878 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "djangorestframework";
   version = "3.14.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/djmail/default.nix b/pkgs/development/python-modules/djmail/default.nix
index 8efb9788e1274..28e9b88d3c32b 100644
--- a/pkgs/development/python-modules/djmail/default.nix
+++ b/pkgs/development/python-modules/djmail/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "djmail";
   version = "2.0.0";
+  format = "setuptools";
 
   meta = {
     description = "Simple, powerfull and nonobstructive django email middleware";
diff --git a/pkgs/development/python-modules/dkimpy/default.nix b/pkgs/development/python-modules/dkimpy/default.nix
index aa3e06bd92578..6b639f8cc8c3e 100644
--- a/pkgs/development/python-modules/dkimpy/default.nix
+++ b/pkgs/development/python-modules/dkimpy/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "dkimpy";
   version = "1.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix
index 0a52d78c824fd..224c8ccd4e15c 100644
--- a/pkgs/development/python-modules/dlib/default.nix
+++ b/pkgs/development/python-modules/dlib/default.nix
@@ -6,6 +6,8 @@
 buildPythonPackage {
   inherit (dlib) pname version src nativeBuildInputs buildInputs meta;
 
+  format = "setuptools";
+
   patches = [
     ./build-cores.patch
   ];
diff --git a/pkgs/development/python-modules/dlx/default.nix b/pkgs/development/python-modules/dlx/default.nix
index 81ae3deda624d..c8f89b7db7c1b 100644
--- a/pkgs/development/python-modules/dlx/default.nix
+++ b/pkgs/development/python-modules/dlx/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "dlx";
   version = "1.0.4";
+  format = "setuptools";
 
   # untagged releases
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/dm-haiku/default.nix b/pkgs/development/python-modules/dm-haiku/default.nix
index 7e2a3b3573cd2..08c1716867a7e 100644
--- a/pkgs/development/python-modules/dm-haiku/default.nix
+++ b/pkgs/development/python-modules/dm-haiku/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "dm-haiku";
   version = "0.0.10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "deepmind";
diff --git a/pkgs/development/python-modules/dm-tree/default.nix b/pkgs/development/python-modules/dm-tree/default.nix
index de1a5f6646480..071a0fee432e6 100644
--- a/pkgs/development/python-modules/dm-tree/default.nix
+++ b/pkgs/development/python-modules/dm-tree/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "dm-tree";
   version = "0.1.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "deepmind";
diff --git a/pkgs/development/python-modules/dnf4/default.nix b/pkgs/development/python-modules/dnf4/default.nix
new file mode 100644
index 0000000000000..2638b29c15bf6
--- /dev/null
+++ b/pkgs/development/python-modules/dnf4/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, buildPythonPackage
+, cmake
+, fetchFromGitHub
+, gettext
+, libcomps
+, libdnf
+, python
+, rpm
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "dnf4";
+  version = "4.18.2";
+  format = "other";
+
+  outputs = [ "out" "man" ];
+
+  src = fetchFromGitHub {
+    owner = "rpm-software-management";
+    repo = "dnf";
+    rev = version;
+    hash = "sha256-WOLVKsrHp0V0wMXXRf1hrxsxuVv2bFOKIw8Aitz0cac=";
+  };
+
+  patches = [
+    ./fix-python-install-dir.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}" \
+      --replace "SYSCONFDIR /etc" "SYSCONFDIR $out/etc" \
+      --replace "SYSTEMD_DIR /usr/lib/systemd/system" "SYSTEMD_DIR $out/lib/systemd/system"
+    substituteInPlace etc/tmpfiles.d/CMakeLists.txt \
+      --replace "DESTINATION /usr/lib/tmpfiles.d" "DESTINATION $out/usr/lib/tmpfiles.d"
+    substituteInPlace dnf/const.py.in \
+      --replace "/etc" "$out/etc"
+    substituteInPlace doc/CMakeLists.txt \
+      --replace 'SPHINX_BUILD_NAME "sphinx-build-3"' 'SPHINX_BUILD_NAME "${sphinx}/bin/sphinx-build"'
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    gettext
+    sphinx
+  ];
+
+  propagatedBuildInputs = [
+    libcomps
+    libdnf
+    rpm
+  ];
+
+  cmakeFlags = [
+    "-DPYTHON_DESIRED=${lib.head (lib.splitString ["."] python.version)}"
+  ];
+
+  postBuild = ''
+    make doc-man
+  '';
+
+  postInstall = ''
+    # See https://github.com/rpm-software-management/dnf/blob/41a287e2bd60b4d1100c329a274776ff32ba8740/dnf.spec#L218-L220
+    ln -s dnf-3 $out/bin/dnf
+    ln -s dnf-3 $out/bin/dnf4
+    mv $out/bin/dnf-automatic-3 $out/bin/dnf-automatic
+    # See https://github.com/rpm-software-management/dnf/blob/41a287e2bd60b4d1100c329a274776ff32ba8740/dnf.spec#L231-L232
+    ln -s $out/etc/dnf/dnf.conf $out/etc/yum.conf
+    ln -s dnf-3 $out/bin/yum
+  '';
+
+  meta = with lib; {
+    description = "Package manager based on libdnf and libsolv. Replaces YUM";
+    homepage = "https://github.com/rpm-software-management/dnf";
+    changelog = "https://github.com/rpm-software-management/dnf/releases/tag/${version}";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ katexochen ];
+    mainProgram = "dnf";
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/dnf4/fix-python-install-dir.patch b/pkgs/development/python-modules/dnf4/fix-python-install-dir.patch
new file mode 100644
index 0000000000000..07b68242d8fc3
--- /dev/null
+++ b/pkgs/development/python-modules/dnf4/fix-python-install-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4aee99fb..0bb28897 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,7 +19,7 @@ ELSE ()
+     MESSAGE (FATAL_ERROR "Invalid PYTHON_DESIRED value: " ${PYTHON_DESIRED})
+ ENDIF()
+
+-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('purelib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@")
+ MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
+
+ ADD_SUBDIRECTORY (dnf)
diff --git a/pkgs/development/python-modules/docker-py/default.nix b/pkgs/development/python-modules/docker-py/default.nix
index 2d88f64d36a58..b5ab643d6ebc6 100644
--- a/pkgs/development/python-modules/docker-py/default.nix
+++ b/pkgs/development/python-modules/docker-py/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "1.10.6";
+  format = "setuptools";
   pname = "docker-py";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/docker-pycreds/default.nix b/pkgs/development/python-modules/docker-pycreds/default.nix
index c022d62bfa848..2c6c0ad2038d8 100644
--- a/pkgs/development/python-modules/docker-pycreds/default.nix
+++ b/pkgs/development/python-modules/docker-pycreds/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "docker-pycreds";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dockerpty/default.nix b/pkgs/development/python-modules/dockerpty/default.nix
index 775767e6fecfe..1dc5ff6a83165 100644
--- a/pkgs/development/python-modules/dockerpty/default.nix
+++ b/pkgs/development/python-modules/dockerpty/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "dockerpty";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dockerspawner/default.nix b/pkgs/development/python-modules/dockerspawner/default.nix
index bd8af6391a438..7023af73f1dfe 100644
--- a/pkgs/development/python-modules/dockerspawner/default.nix
+++ b/pkgs/development/python-modules/dockerspawner/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "dockerspawner";
   version = "12.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/docloud/default.nix b/pkgs/development/python-modules/docloud/default.nix
index 2c92b32c748cd..9e30ea3899549 100644
--- a/pkgs/development/python-modules/docloud/default.nix
+++ b/pkgs/development/python-modules/docloud/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "docloud";
   version = "1.0.375";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/docopt/default.nix b/pkgs/development/python-modules/docopt/default.nix
index 68df40a3cbf24..d909162d7f188 100644
--- a/pkgs/development/python-modules/docopt/default.nix
+++ b/pkgs/development/python-modules/docopt/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "docopt";
   version = "0.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/docplex/default.nix b/pkgs/development/python-modules/docplex/default.nix
index 46018acec3b3f..2f5c485cf631d 100644
--- a/pkgs/development/python-modules/docplex/default.nix
+++ b/pkgs/development/python-modules/docplex/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "docplex";
   version = "2.25.236";
+  format = "setuptools";
 
   # No source available from official repo
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/docrep/default.nix b/pkgs/development/python-modules/docrep/default.nix
index 78bbba8a790be..e507b8d022b46 100644
--- a/pkgs/development/python-modules/docrep/default.nix
+++ b/pkgs/development/python-modules/docrep/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "docrep";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/doctest-ignore-unicode/default.nix b/pkgs/development/python-modules/doctest-ignore-unicode/default.nix
index 533dbed29b342..0ca439d9dcb64 100644
--- a/pkgs/development/python-modules/doctest-ignore-unicode/default.nix
+++ b/pkgs/development/python-modules/doctest-ignore-unicode/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "doctest-ignore-unicode";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dodgy/default.nix b/pkgs/development/python-modules/dodgy/default.nix
index 4437beb760ce3..161e23f648a59 100644
--- a/pkgs/development/python-modules/dodgy/default.nix
+++ b/pkgs/development/python-modules/dodgy/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "dodgy";
   version = "0.2.1";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/dogtag-pki/default.nix b/pkgs/development/python-modules/dogtag-pki/default.nix
index db41cf80847b5..53e49e7d7608d 100644
--- a/pkgs/development/python-modules/dogtag-pki/default.nix
+++ b/pkgs/development/python-modules/dogtag-pki/default.nix
@@ -4,6 +4,7 @@ python-ldap, requests, six }:
 buildPythonPackage rec {
   pname = "dogtag-pki";
   version = "11.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dogtail/default.nix b/pkgs/development/python-modules/dogtail/default.nix
index e25bc5d23ae70..d0b7e983a0994 100644
--- a/pkgs/development/python-modules/dogtail/default.nix
+++ b/pkgs/development/python-modules/dogtail/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage {
   pname = "dogtail";
   version = "0.9.11";
+  format = "setuptools";
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/python-modules/doit-py/default.nix b/pkgs/development/python-modules/doit-py/default.nix
index ed8666a034906..ee10af6396e70 100644
--- a/pkgs/development/python-modules/doit-py/default.nix
+++ b/pkgs/development/python-modules/doit-py/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "doit-py";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pydoit";
diff --git a/pkgs/development/python-modules/doit/default.nix b/pkgs/development/python-modules/doit/default.nix
index d3cc29c775aed..190219cf1c0c0 100644
--- a/pkgs/development/python-modules/doit/default.nix
+++ b/pkgs/development/python-modules/doit/default.nix
@@ -19,6 +19,7 @@
 let doit = buildPythonPackage rec {
   pname = "doit";
   version = "0.36.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/dopy/default.nix b/pkgs/development/python-modules/dopy/default.nix
index 9bd32d1ba4a1e..036a7658fa387 100644
--- a/pkgs/development/python-modules/dopy/default.nix
+++ b/pkgs/development/python-modules/dopy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage {
   pname = "dopy";
   version = "2016-01-04";
+  format = "setuptools";
 
   src = pkgs.fetchFromGitHub {
     owner = "Wiredcraft";
diff --git a/pkgs/development/python-modules/downloader-cli/default.nix b/pkgs/development/python-modules/downloader-cli/default.nix
index 40cfd888a5d41..e6334daff641e 100644
--- a/pkgs/development/python-modules/downloader-cli/default.nix
+++ b/pkgs/development/python-modules/downloader-cli/default.nix
@@ -7,16 +7,16 @@
 
 buildPythonPackage rec {
   pname = "downloader-cli";
-  version = "0.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "deepjyoti30";
-    repo = pname;
-    rev = version;
-    hash = "sha256-Dl5XIvdZInz+edL9uQv7V6Kc6FB+7hFAGe/nybnqvQU=";
+    repo = "downloader-cli";
+    rev = "refs/tags/${version}";
+    hash = "sha256-E2K3n9qCQofm4gXu1l7/0iMoJsniuzhsBUplr4aZ39s=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Downloader with an awesome customizable progressbar";
     homepage = "https://github.com/deepjyoti30/downloader-cli";
+    changelog = "https://github.com/deepjyoti30/downloader-cli/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ j0hax ];
   };
diff --git a/pkgs/development/python-modules/dpkt/default.nix b/pkgs/development/python-modules/dpkt/default.nix
index f2046d106b91c..0e339ac00c9f9 100644
--- a/pkgs/development/python-modules/dpkt/default.nix
+++ b/pkgs/development/python-modules/dpkt/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "dpkt";
   version = "1.9.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/draftjs-exporter/default.nix b/pkgs/development/python-modules/draftjs-exporter/default.nix
index ef94901e9aac1..dd03080277b53 100644
--- a/pkgs/development/python-modules/draftjs-exporter/default.nix
+++ b/pkgs/development/python-modules/draftjs-exporter/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "draftjs-exporter";
   version = "5.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "draftjs_exporter";
diff --git a/pkgs/development/python-modules/dragonfly/default.nix b/pkgs/development/python-modules/dragonfly/default.nix
index d4c96ba3b5cd9..57b10f4a7c9de 100644
--- a/pkgs/development/python-modules/dragonfly/default.nix
+++ b/pkgs/development/python-modules/dragonfly/default.nix
@@ -25,6 +25,7 @@
 buildPythonPackage rec {
   pname = "dragonfly";
   version = "0.35.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dictation-toolbox";
diff --git a/pkgs/development/python-modules/drf-jwt/default.nix b/pkgs/development/python-modules/drf-jwt/default.nix
index 6ae583c98e068..f4d70949c67aa 100644
--- a/pkgs/development/python-modules/drf-jwt/default.nix
+++ b/pkgs/development/python-modules/drf-jwt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "drf-jwt";
   version = "1.19.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Styria-Digital";
diff --git a/pkgs/development/python-modules/drf-spectacular/default.nix b/pkgs/development/python-modules/drf-spectacular/default.nix
index 253604370cbc8..53c4d5053e622 100644
--- a/pkgs/development/python-modules/drf-spectacular/default.nix
+++ b/pkgs/development/python-modules/drf-spectacular/default.nix
@@ -30,6 +30,7 @@
 buildPythonPackage rec {
   pname = "drf-spectacular";
   version = "0.26.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tfranzel";
diff --git a/pkgs/development/python-modules/drf-writable-nested/default.nix b/pkgs/development/python-modules/drf-writable-nested/default.nix
index 603f94426bc56..2368c584a457c 100644
--- a/pkgs/development/python-modules/drf-writable-nested/default.nix
+++ b/pkgs/development/python-modules/drf-writable-nested/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "drf-writable-nested";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "beda-software";
diff --git a/pkgs/development/python-modules/drf-yasg/default.nix b/pkgs/development/python-modules/drf-yasg/default.nix
index 8c6692d7c8f4a..a8665ecc126f0 100644
--- a/pkgs/development/python-modules/drf-yasg/default.nix
+++ b/pkgs/development/python-modules/drf-yasg/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "drf-yasg";
   version = "1.21.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/drivelib/default.nix b/pkgs/development/python-modules/drivelib/default.nix
index 7b0a629e8a89b..5125be5a418da 100644
--- a/pkgs/development/python-modules/drivelib/default.nix
+++ b/pkgs/development/python-modules/drivelib/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "drivelib";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ds4drv/default.nix b/pkgs/development/python-modules/ds4drv/default.nix
index 05f54c2f90641..a28c2d8608852 100644
--- a/pkgs/development/python-modules/ds4drv/default.nix
+++ b/pkgs/development/python-modules/ds4drv/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ds4drv";
   version = "0.5.1";
+  format = "setuptools";
 
   # PyPi only carries py3 wheel
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ducc0/default.nix b/pkgs/development/python-modules/ducc0/default.nix
index f75d326887389..eee41de63bd4e 100644
--- a/pkgs/development/python-modules/ducc0/default.nix
+++ b/pkgs/development/python-modules/ducc0/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ducc0";
   version = "0.32.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/duecredit/default.nix b/pkgs/development/python-modules/duecredit/default.nix
index 053fd6504e416..1e24f91129208 100644
--- a/pkgs/development/python-modules/duecredit/default.nix
+++ b/pkgs/development/python-modules/duecredit/default.nix
@@ -7,23 +7,22 @@
 , vcrpy
 , citeproc-py
 , requests
-, six
 }:
 
 buildPythonPackage rec {
   pname = "duecredit";
-  version = "0.9.2";
+  version = "0.9.3";
   pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Dg/Yfp5GzmyUMI6feAwgP+g22JYoQE+L9a+Wp0V77Rw=";
+    hash = "sha256-+DeOqQ0R+XUlkuSHySFj2oDZqf85mT64PAi/LtTso3I=";
   };
 
   nativeBuildInputs = [ setuptools ];
-  propagatedBuildInputs = [ citeproc-py requests six ];
+  propagatedBuildInputs = [ citeproc-py requests ];
 
   nativeCheckInputs = [ pytestCheckHook vcrpy ];
   disabledTests = [ "test_import_doi" ];  # tries to access network
diff --git a/pkgs/development/python-modules/duet/default.nix b/pkgs/development/python-modules/duet/default.nix
index 4741414ca5416..1bde4c0f65fce 100644
--- a/pkgs/development/python-modules/duet/default.nix
+++ b/pkgs/development/python-modules/duet/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "duet";
   version = "0.2.7";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "google";
diff --git a/pkgs/development/python-modules/dugong/default.nix b/pkgs/development/python-modules/dugong/default.nix
index 6c87d50ccfd4c..7cfc29c9ff813 100644
--- a/pkgs/development/python-modules/dugong/default.nix
+++ b/pkgs/development/python-modules/dugong/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "dugong";
   version = "3.8.1";
+  format = "setuptools";
   disabled = pythonOlder "3.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/dungeon-eos/default.nix b/pkgs/development/python-modules/dungeon-eos/default.nix
index c8525c3fcb992..ace614bcaeb4c 100644
--- a/pkgs/development/python-modules/dungeon-eos/default.nix
+++ b/pkgs/development/python-modules/dungeon-eos/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "dungeon-eos";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix
index 3c054f1ccb0ca..edfad3b6c247d 100644
--- a/pkgs/development/python-modules/dvc-data/default.nix
+++ b/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.22.3";
+  version = "2.22.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = "dvc-data";
     rev = "refs/tags/${version}";
-    hash = "sha256-5x+I6Ds7x3JqaZ1oyddrsaX0kbMM8pO+rF3ckpRdcgc=";
+    hash = "sha256-oHW80TqQe7LCvBpdB0kW8+vKCZ36/zXEssp7+kHUrTA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index 217782a34e6c6..0458828812d36 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -8,6 +8,7 @@
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
+, reflink
 , setuptools-scm
 , shortuuid
 , tqdm
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "1.2.0";
+  version = "1.4.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kTp0CowXtnLXetcnoCeqlXoadgaQhL5mTYTfq9QLIl8=";
+    hash = "sha256-9fuxlZDy83nl+rnVEFdAza1NHun8PdewgowMl3G5wZU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -47,12 +48,18 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-mock
     pytestCheckHook
+    reflink
   ];
 
   pythonImportsCheck = [
     "dvc_objects"
   ];
 
+  disabledTestPaths = [
+    # Disable benchmarking
+    "tests/benchmarks/"
+  ];
+
   meta = with lib; {
     description = "Library for DVC objects";
     homepage = "https://github.com/iterative/dvc-objects";
diff --git a/pkgs/development/python-modules/dvc-render/default.nix b/pkgs/development/python-modules/dvc-render/default.nix
index c0ab18a4d17c7..1d7de80cf6612 100644
--- a/pkgs/development/python-modules/dvc-render/default.nix
+++ b/pkgs/development/python-modules/dvc-render/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-render";
-  version = "0.6.0";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-seL96aOJ554pD7lgzXZFDCXqY/3TAQugWMA7MtqKoAE=";
+    hash = "sha256-OrfepQuLBNa5m3Sy4NzFOArtFFvaNtNNVJ8DNN3yT6s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index f7ee2eccd3df1..cf925f030944e 100644
--- a/pkgs/development/python-modules/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -55,14 +55,14 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.30.3";
+  version = "3.33.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-efj2p5Tj3VWJC7o8/nLpNrkM0eZodLMsFZRcZQpLFws=";
+    hash = "sha256-S6RHRY0G6YYcLa7CBFNxi1fVSJH7ZdgyqAo3wmLUNbE=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/dvc/dvc-daemon.patch b/pkgs/development/python-modules/dvc/dvc-daemon.patch
deleted file mode 100644
index 65ba630f3b80d..0000000000000
--- a/pkgs/development/python-modules/dvc/dvc-daemon.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/dvc/daemon.py b/dvc/daemon.py
-index 9854a0e1..fefdd613 100644
---- a/dvc/daemon.py
-+++ b/dvc/daemon.py
-@@ -103,11 +103,8 @@ def daemon(args):
-         logger.debug("skipping launching a new daemon.")
-         return
- 
--    cmd = ["daemon", "-q"] + args
--
--    env = fix_env()
--    file_path = os.path.abspath(inspect.stack()[0][1])
--    env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
-+    cmd = [ "@dvc@" , "daemon", "-q"] + args
-+    env = os.environ.copy()
-     env[DVC_DAEMON] = "1"
- 
-     _spawn(cmd, env)
diff --git a/pkgs/development/python-modules/dyn/default.nix b/pkgs/development/python-modules/dyn/default.nix
index 39e6ff6ed760a..b058fe34411c7 100644
--- a/pkgs/development/python-modules/dyn/default.nix
+++ b/pkgs/development/python-modules/dyn/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "dyn";
   version = "1.8.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/dynd/default.nix b/pkgs/development/python-modules/dynd/default.nix
index 61c29fbff49ba..fa09ff17cfdec 100644
--- a/pkgs/development/python-modules/dynd/default.nix
+++ b/pkgs/development/python-modules/dynd/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "0.7.2";
+  format = "setuptools";
   pname = "dynd";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/easyenergy/default.nix b/pkgs/development/python-modules/easyenergy/default.nix
index 8b6092e13c40d..91031fd567aac 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 = "1.0.0";
+  version = "2.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-easyenergy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HdCrbEk1b+FZzDoMoLcNaPFEHQfDoQsePKmESM9Qhds=";
+    hash = "sha256-WnDyGkF1JI0Yu4p+znBdtCRvzrmGl9DH7QygKDuhEZo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/easygui/default.nix b/pkgs/development/python-modules/easygui/default.nix
index cfcd2ed77ad71..96b1dbb16a24f 100644
--- a/pkgs/development/python-modules/easygui/default.nix
+++ b/pkgs/development/python-modules/easygui/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "easygui";
   version = "0.98.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/easyprocess/default.nix b/pkgs/development/python-modules/easyprocess/default.nix
index b1818665f8791..7a82d78a1dbd8 100644
--- a/pkgs/development/python-modules/easyprocess/default.nix
+++ b/pkgs/development/python-modules/easyprocess/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "easyprocess";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "EasyProcess";
diff --git a/pkgs/development/python-modules/easywatch/default.nix b/pkgs/development/python-modules/easywatch/default.nix
index 36f3ea0de6efa..ecc7cc068ff7a 100644
--- a/pkgs/development/python-modules/easywatch/default.nix
+++ b/pkgs/development/python-modules/easywatch/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "easywatch";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ebaysdk/default.nix b/pkgs/development/python-modules/ebaysdk/default.nix
index bd4b736b720bf..27b3f8a29fbb3 100644
--- a/pkgs/development/python-modules/ebaysdk/default.nix
+++ b/pkgs/development/python-modules/ebaysdk/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ebaysdk";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ecdsa/default.nix b/pkgs/development/python-modules/ecdsa/default.nix
index ba5fa836c21b1..2ce07e5b6b2b8 100644
--- a/pkgs/development/python-modules/ecdsa/default.nix
+++ b/pkgs/development/python-modules/ecdsa/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ecdsa";
   version = "0.18.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/echo/default.nix b/pkgs/development/python-modules/echo/default.nix
index af3a3d43a6d7b..a025eb3873084 100644
--- a/pkgs/development/python-modules/echo/default.nix
+++ b/pkgs/development/python-modules/echo/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "echo";
   version = "0.8.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/ecoaliface/default.nix b/pkgs/development/python-modules/ecoaliface/default.nix
index f37a85da7d01e..1764eceeaf461 100644
--- a/pkgs/development/python-modules/ecoaliface/default.nix
+++ b/pkgs/development/python-modules/ecoaliface/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "ecoaliface";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ed25519-blake2b/default.nix b/pkgs/development/python-modules/ed25519-blake2b/default.nix
index 64061551e2daf..2fca4287a348b 100644
--- a/pkgs/development/python-modules/ed25519-blake2b/default.nix
+++ b/pkgs/development/python-modules/ed25519-blake2b/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ed25519-blake2b";
   version = "1.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/ed25519/default.nix b/pkgs/development/python-modules/ed25519/default.nix
index 47692075d3bc8..1ebfdcfc844d5 100644
--- a/pkgs/development/python-modules/ed25519/default.nix
+++ b/pkgs/development/python-modules/ed25519/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ed25519";
   version = "1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/editdistance-s/default.nix b/pkgs/development/python-modules/editdistance-s/default.nix
index 6dd37739302fd..b6eca2e0242c9 100644
--- a/pkgs/development/python-modules/editdistance-s/default.nix
+++ b/pkgs/development/python-modules/editdistance-s/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "editdistance-s";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "asottile";
diff --git a/pkgs/development/python-modules/editorconfig/default.nix b/pkgs/development/python-modules/editorconfig/default.nix
index 4796ab99623ac..eaca751784749 100644
--- a/pkgs/development/python-modules/editorconfig/default.nix
+++ b/pkgs/development/python-modules/editorconfig/default.nix
@@ -15,6 +15,7 @@ in
 buildPythonPackage rec {
   pname = "editorconfig";
   version = "0.12.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "editorconfig";
diff --git a/pkgs/development/python-modules/edlib/default.nix b/pkgs/development/python-modules/edlib/default.nix
index 357db8d2b8e8d..b451480d3be10 100644
--- a/pkgs/development/python-modules/edlib/default.nix
+++ b/pkgs/development/python-modules/edlib/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage {
   inherit (edlib) pname src meta;
   version = "1.3.9";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/edward/default.nix b/pkgs/development/python-modules/edward/default.nix
index 05171c22d18e1..1343bbc51d739 100644
--- a/pkgs/development/python-modules/edward/default.nix
+++ b/pkgs/development/python-modules/edward/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "edward";
   version = "1.3.5";
+  format = "setuptools";
 
   disabled = !(isPy27 || pythonAtLeast "3.4");
 
diff --git a/pkgs/development/python-modules/eggdeps/default.nix b/pkgs/development/python-modules/eggdeps/default.nix
index 9f17306b7bdc1..57c73ec20ba01 100644
--- a/pkgs/development/python-modules/eggdeps/default.nix
+++ b/pkgs/development/python-modules/eggdeps/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , zope_interface
-, zope_testing
+, zope-testing
 }:
 
 buildPythonPackage rec {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     sha256 = "a094ed7961a3dd38fcaaa69cf7a58670038acdff186360166d9e3d964b7a7323";
   };
 
-  propagatedBuildInputs = [ zope_interface zope_testing ];
+  propagatedBuildInputs = [ zope_interface zope-testing ];
 
   # tests fail, see https://hydra.nixos.org/build/4316603/log/raw
   doCheck = false;
diff --git a/pkgs/development/python-modules/elasticsearch-dsl/default.nix b/pkgs/development/python-modules/elasticsearch-dsl/default.nix
index e5bdc6571cc9c..dfee78a41408b 100644
--- a/pkgs/development/python-modules/elasticsearch-dsl/default.nix
+++ b/pkgs/development/python-modules/elasticsearch-dsl/default.nix
@@ -8,11 +8,12 @@
 
 buildPythonPackage rec {
   pname = "elasticsearch-dsl";
-  version = "8.9.0";
+  version = "8.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZkEK34gfArigMuilsqPuCT/e7eS4FPvwTA9s4EmbdHI=";
+    sha256 = "sha256-RK9P1/YgCbsZGTtV4cIUO2kyUX5MDsMBB+f/TZaKEn4=";
   };
 
   propagatedBuildInputs = [ elasticsearch python-dateutil six ];
diff --git a/pkgs/development/python-modules/elasticsearch/default.nix b/pkgs/development/python-modules/elasticsearch/default.nix
index a07ba8c6d1880..e93388a1bbcc9 100644
--- a/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/pkgs/development/python-modules/elasticsearch/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage (rec {
   pname = "elasticsearch";
   version = "8.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/elevate/default.nix b/pkgs/development/python-modules/elevate/default.nix
index cfb1dbf068dc1..4a8bf40e30fc8 100644
--- a/pkgs/development/python-modules/elevate/default.nix
+++ b/pkgs/development/python-modules/elevate/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "elevate";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/emailthreads/default.nix b/pkgs/development/python-modules/emailthreads/default.nix
index 0f13e877e596d..236ab931f939d 100644
--- a/pkgs/development/python-modules/emailthreads/default.nix
+++ b/pkgs/development/python-modules/emailthreads/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "emailthreads";
   version = "0.1.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   # pypi is missing files for tests
diff --git a/pkgs/development/python-modules/embedding-reader/default.nix b/pkgs/development/python-modules/embedding-reader/default.nix
index 59015f3fa4bac..0686f9a0092ec 100644
--- a/pkgs/development/python-modules/embedding-reader/default.nix
+++ b/pkgs/development/python-modules/embedding-reader/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "embedding-reader";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rom1504";
diff --git a/pkgs/development/python-modules/emborg/default.nix b/pkgs/development/python-modules/emborg/default.nix
index b4b0b9b2106a5..d20a7ea6e246b 100644
--- a/pkgs/development/python-modules/emborg/default.nix
+++ b/pkgs/development/python-modules/emborg/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "emborg";
-  version = "1.37";
+  version = "1.38";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "KenKundert";
     repo = "emborg";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bHYs+vlNku/T5Hb9u77Xml9/FNj5vgqPeXSzcilsS+I=";
+    hash = "sha256-dK/6y1cjegomiy3fta2grUm4T0ZrylmstXfkJo4mDCE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/empty-files/default.nix b/pkgs/development/python-modules/empty-files/default.nix
index 1028b3f567c51..264e4543a20f6 100644
--- a/pkgs/development/python-modules/empty-files/default.nix
+++ b/pkgs/development/python-modules/empty-files/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "empty-files";
   version = "0.0.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "approvals";
diff --git a/pkgs/development/python-modules/empy/default.nix b/pkgs/development/python-modules/empy/default.nix
index 544506efb0d44..1765fd4ff60b7 100644
--- a/pkgs/development/python-modules/empy/default.nix
+++ b/pkgs/development/python-modules/empy/default.nix
@@ -2,10 +2,11 @@
 
 buildPythonPackage rec {
   pname = "empy";
-  version = "3.3.4";
+  version = "4.0";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6xJeFtgFHnfTqGKfHm8EwSop8NMArlHLPEgauiPAbM=";
+    sha256 = "sha256-JNmmKyN+G1+c7Lqw6Ta/9zVAJS0R6sb95/62OxSHuOM=";
   };
   pythonImportsCheck = [ "em" ];
   meta = with lib; {
diff --git a/pkgs/development/python-modules/emulated-roku/default.nix b/pkgs/development/python-modules/emulated-roku/default.nix
index 3a9da2ba8e372..e3d01c21e9914 100644
--- a/pkgs/development/python-modules/emulated-roku/default.nix
+++ b/pkgs/development/python-modules/emulated-roku/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "emulated-roku";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mindigmarton";
diff --git a/pkgs/development/python-modules/enaml/default.nix b/pkgs/development/python-modules/enaml/default.nix
index 542c4907a1d4f..fb192e100c5a9 100644
--- a/pkgs/development/python-modules/enaml/default.nix
+++ b/pkgs/development/python-modules/enaml/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "enaml";
-  version = "0.16.1";
+  version = "0.17.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "nucleic";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bXbexHd/SJjfAAREhQ8V4PekI9mle3GcUPjMn0zDAyw=";
+    hash = "sha256-DYLDQ9QwdK/a8eY0bFX31UNgxm8FUOaeNAnisFcyFNI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/enamlx/default.nix b/pkgs/development/python-modules/enamlx/default.nix
index 82ddd9726dd02..db16d913cbdbf 100644
--- a/pkgs/development/python-modules/enamlx/default.nix
+++ b/pkgs/development/python-modules/enamlx/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "enamlx";
   version = "0.6.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "frmdstryr";
diff --git a/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch b/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch
deleted file mode 100644
index 52df6e9a50e68..0000000000000
--- a/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 16df11227b8cee724624541d274e481802ea67e3 Mon Sep 17 00:00:00 2001
-From: frmdstryr <frmdstryr@protonmail.com>
-Date: Tue, 3 Nov 2020 21:41:52 -0500
-Subject: [PATCH] Replace Unicode with Str
-
----
- enamlx/widgets/abstract_item.py      |  4 ++--
- enamlx/widgets/console.py            |  4 ++--
- enamlx/widgets/graphics_view.py      |  8 ++++----
- enamlx/widgets/plot_area.py          | 14 +++++++-------
- examples/occ_viewer/advanced.enaml   | 12 ++++++------
- examples/occ_viewer/occ/part.py      |  6 +++---
- examples/plot_area/plot_area.enaml   |  2 +-
- examples/table_view/table_view.enaml |  6 +++---
- examples/tree_view/tree_view.enaml   |  6 +++---
- setup.py                             |  2 +-
- 10 files changed, 32 insertions(+), 32 deletions(-)
-
-diff --git a/enamlx/widgets/abstract_item.py b/enamlx/widgets/abstract_item.py
-index 29a3d87..67a5c6e 100644
---- a/enamlx/widgets/abstract_item.py
-+++ b/enamlx/widgets/abstract_item.py
-@@ -6,7 +6,7 @@
- Created on Aug 24, 2015
- """
- from atom.api import (
--    Int, Enum, Bool, Unicode, Typed, 
-+    Int, Enum, Bool, Str, Typed, 
-     Coerced, Event, Property, ForwardInstance, observe
- )
- from enaml.icon import Icon
-@@ -96,7 +96,7 @@ class AbstractWidgetItem(AbstractWidgetItemGroup):
-     column = d_(Int(), writable=False)
-     
-     #: Text to display within the cell
--    text = d_(Unicode())
-+    text = d_(Str())
-     
-     #: Text alignment within the cell
-     text_alignment = d_(Enum(*[(h, v)
-diff --git a/enamlx/widgets/console.py b/enamlx/widgets/console.py
-index bc61e90..2f1e981 100644
---- a/enamlx/widgets/console.py
-+++ b/enamlx/widgets/console.py
-@@ -7,7 +7,7 @@
- """
- 
- from atom.api import (
--    Instance, Coerced, Int, Enum, Unicode, Dict, Bool,
-+    Instance, Coerced, Int, Enum, Str, Dict, Bool,
-     Typed, ForwardTyped, observe
- )
- from enaml.core.api import d_
-@@ -47,7 +47,7 @@ class Console(Container):
-     proxy = Typed(ProxyConsole)
-     
-     #: Font family, leave blank for default
--    font_family = d_(Unicode())
-+    font_family = d_(Str())
-     
-     #: Font size, leave 0 for default
-     font_size = d_(Int(0))
-diff --git a/enamlx/widgets/graphics_view.py b/enamlx/widgets/graphics_view.py
-index f7e3e47..e672c63 100644
---- a/enamlx/widgets/graphics_view.py
-+++ b/enamlx/widgets/graphics_view.py
-@@ -7,7 +7,7 @@
- import sys
- from atom.api import (
-     Atom, Float, Int, Typed, Bool, Coerced, ForwardTyped, Enum, List, IntEnum,
--    Instance, Unicode, Value, Event, Property, observe, set_default
-+    Instance, Str, Value, Event, Property, observe, set_default
- )
- from enaml.colors import ColorMember
- from enaml.core.declarative import d_, d_func
-@@ -419,10 +419,10 @@ class GraphicsItem(ToolkitObject, ConstrainableMixin):
-     visible = d_(Bool(True))
-     
-     #: Tool tip
--    tool_tip = d_(Unicode())
-+    tool_tip = d_(Str())
-     
-     #: Status tip
--    status_tip = d_(Unicode())
-+    status_tip = d_(Str())
-     
-     # --------------------------------------------------------------------------
-     # Item interaction
-@@ -919,7 +919,7 @@ class GraphicsTextItem(AbstractGraphicsShapeItem):
-     proxy = Typed(ProxyGraphicsTextItem)
-     
-     #: Text
--    text = d_(Unicode())
-+    text = d_(Str())
-     
-     #: Font
-     font = d_(FontMember())
-diff --git a/enamlx/widgets/plot_area.py b/enamlx/widgets/plot_area.py
-index 5136693..383957b 100644
---- a/enamlx/widgets/plot_area.py
-+++ b/enamlx/widgets/plot_area.py
-@@ -8,7 +8,7 @@
- import sys
- from atom.atom import set_default
- from atom.api import (Callable, Int, Tuple, Instance, Enum, Float,
--                      ContainerList, Bool, FloatRange, Unicode, Dict, Typed,
-+                      ContainerList, Bool, FloatRange, Str, Dict, Typed,
-                       ForwardTyped, observe)
- from enaml.core.declarative import d_
- from enaml.widgets.api import Container
-@@ -41,10 +41,10 @@ class PlotArea(Container):
- 
- class PlotItem(Control):
-     #: Title of data series
--    title = d_(Unicode())
-+    title = d_(Str())
- 
-     #: Name
--    name = d_(Unicode())
-+    name = d_(Str())
- 
-     #: Row in plot area
-     row = d_(Int(0))
-@@ -89,10 +89,10 @@ class PlotItem(Control):
-     #: Show legend
-     show_legend = d_(Bool(False))
- 
--    label_left = d_(Unicode())
--    label_right = d_(Unicode())
--    label_top = d_(Unicode())
--    label_bottom = d_(Unicode())
-+    label_left = d_(Str())
-+    label_right = d_(Str())
-+    label_top = d_(Str())
-+    label_bottom = d_(Str())
- 
-     # H, V
-     grid = d_(Tuple(bool, default=(False, False)))
-diff --git a/examples/occ_viewer/advanced.enaml b/examples/occ_viewer/advanced.enaml
-index 872d44d..f1c48d5 100644
---- a/examples/occ_viewer/advanced.enaml
-+++ b/examples/occ_viewer/advanced.enaml
-@@ -15,7 +15,7 @@ is then used to unroll a list of these controls into the body of a form.
- 
- << autodoc-me >>
- """
--from atom.api import Atom, Bool, Enum, Event, Float, Int, Str, Unicode
-+from atom.api import Atom, Bool, Enum, Event, Float, Int, Str, Str
- 
- from enaml.core.api import DynamicTemplate
- from enaml.stdlib.fields import FloatField
-@@ -73,8 +73,8 @@ template FormControl(Attr, MemberType: Str):
-         text :: setattr(model, Attr, str(text))
- 
- 
--template FormControl(Attr, MemberType: Unicode):
--    """ A form control template specialization for Unicode members.
-+template FormControl(Attr, MemberType: Str):
-+    """ A form control template specialization for Str members.
- 
-     This control uses a Field to represent the value.
- 
-@@ -174,7 +174,7 @@ def form_spec(obtype, model):
-     
-     typemap = {int:Int,
-                float:Float,
--               unicode:Unicode,
-+               unicode:Str,
-                str:Str}
-     for name, member in obtype.members().iteritems():
-         if (not name.startswith('_') 
-@@ -263,14 +263,14 @@ class FooModel(Atom):
-     ham = Int(42)
-     first = Str('first')
-     last = Str('last')
--    owner = Unicode('owner')
-+    owner = Str('owner')
-     time = Float(42.56)
-     click = Bool()
-     clack = Bool()
- 
- 
- class BarModel(Atom):
--    name = Unicode('name')
-+    name = Str('name')
-     trigger = Event()
-     choices = Enum('first', 'second', 'third')
-     def _observe_trigger(self, change):
-diff --git a/examples/occ_viewer/occ/part.py b/examples/occ_viewer/occ/part.py
-index 1fe2b85..144354f 100644
---- a/examples/occ_viewer/occ/part.py
-+++ b/examples/occ_viewer/occ/part.py
-@@ -5,7 +5,7 @@
- '''
- 
- from atom.api import (
--    Typed, ForwardTyped, Unicode
-+    Typed, ForwardTyped, Str
- )
- from enaml.core.declarative import d_
- 
-@@ -26,10 +26,10 @@ class Part(ToolkitObject):
-     proxy = Typed(ProxyPart)
-     
-     #: Optional name of the part
--    name = d_(Unicode())
-+    name = d_(Str())
-     
-     #: Optional description of the part
--    description = d_(Unicode())
-+    description = d_(Str())
-     
-     @property
-     def shapes(self):
-diff --git a/examples/plot_area/plot_area.enaml b/examples/plot_area/plot_area.enaml
-index 2085c8f..b5cd3c4 100644
---- a/examples/plot_area/plot_area.enaml
-+++ b/examples/plot_area/plot_area.enaml
-@@ -2,7 +2,7 @@
- Demonstrating the examples from pyqtgraph
- """
- 
--from atom.api import (Atom, Unicode, Range, List, Bool)
-+from atom.api import (Atom, Str, Range, List, Bool)
- 
- from enaml.widgets.api import (
-     Window, Container, DockArea,DockItem,PushButton, CheckBox, RadioButton
-diff --git a/examples/table_view/table_view.enaml b/examples/table_view/table_view.enaml
-index 6d7a35e..6fef544 100644
---- a/examples/table_view/table_view.enaml
-+++ b/examples/table_view/table_view.enaml
-@@ -2,7 +2,7 @@ import os
- import time
- import random
- from threading import Thread
--from atom.api import (Atom, Unicode, Range, ContainerList, Bool)
-+from atom.api import (Atom, Str, Range, ContainerList, Bool)
- 
- from enamlx.widgets.table_view import (
-     TableView, TableViewRow, TableViewItem
-@@ -38,9 +38,9 @@ class Person(Atom):
-     """ A simple class representing a person object.
- 
-     """
--    last_name = Unicode()
-+    last_name = Str()
- 
--    first_name = Unicode()
-+    first_name = Str()
- 
-     age = Range(low=0)
- 
-diff --git a/examples/tree_view/tree_view.enaml b/examples/tree_view/tree_view.enaml
-index 37f991f..e88e1fd 100644
---- a/examples/tree_view/tree_view.enaml
-+++ b/examples/tree_view/tree_view.enaml
-@@ -1,5 +1,5 @@
- import os
--from atom.api import (Atom, Unicode, Range, List, Bool, ForwardInstance)
-+from atom.api import (Atom, Str, Range, List, Bool, ForwardInstance)
- 
- from enamlx.widgets.api import (
-     TreeView, TreeViewItem, TreeViewColumn, 
-@@ -33,9 +33,9 @@ class Person(Atom):
-     """ A simple class representing a person object.
- 
-     """
--    last_name = Unicode()
-+    last_name = Str()
- 
--    first_name = Unicode()
-+    first_name = Str()
-     
-     children = List(ForwardInstance(lambda:Person))
diff --git a/pkgs/development/python-modules/energyzero/default.nix b/pkgs/development/python-modules/energyzero/default.nix
index 0b0acc5dab06a..0c99ced94a138 100644
--- a/pkgs/development/python-modules/energyzero/default.nix
+++ b/pkgs/development/python-modules/energyzero/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "energyzero";
-  version = "1.0.0";
+  version = "2.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-energyzero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EsZYEc4Hf99PoP5X9LEgcGftI7597P4l1LTepTabGqU=";
+    hash = "sha256-NZbCiLCZC+hTcV0twOeCoKKD3eZ0/ZzPTnVpFyMLSfw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/enocean/default.nix b/pkgs/development/python-modules/enocean/default.nix
index 162e39aebffe5..48fc882a1b723 100644
--- a/pkgs/development/python-modules/enocean/default.nix
+++ b/pkgs/development/python-modules/enocean/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "enocean";
   version = "0.60.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kipe";
diff --git a/pkgs/development/python-modules/enrich/default.nix b/pkgs/development/python-modules/enrich/default.nix
index abaa47ec07dc4..71e1cd1b2e59f 100644
--- a/pkgs/development/python-modules/enrich/default.nix
+++ b/pkgs/development/python-modules/enrich/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "enrich";
   version = "1.2.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/entrance/default.nix b/pkgs/development/python-modules/entrance/default.nix
index 97ac60fa5083f..aa6c06e5bf5e7 100644
--- a/pkgs/development/python-modules/entrance/default.nix
+++ b/pkgs/development/python-modules/entrance/default.nix
@@ -19,6 +19,7 @@ in
 buildPythonPackage rec {
   pname = "entrance";
   version = "1.1.20";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/enum-compat/default.nix b/pkgs/development/python-modules/enum-compat/default.nix
index 42a4b63479ca6..a8409353d4897 100644
--- a/pkgs/development/python-modules/enum-compat/default.nix
+++ b/pkgs/development/python-modules/enum-compat/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "enum-compat";
   version = "0.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/environmental-override/default.nix b/pkgs/development/python-modules/environmental-override/default.nix
index 235401153136a..3418f4169666f 100644
--- a/pkgs/development/python-modules/environmental-override/default.nix
+++ b/pkgs/development/python-modules/environmental-override/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "environmental-override";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/envoy-utils/default.nix b/pkgs/development/python-modules/envoy-utils/default.nix
index 6f04704a8b5f3..ff795aa62e3de 100644
--- a/pkgs/development/python-modules/envoy-utils/default.nix
+++ b/pkgs/development/python-modules/envoy-utils/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "envoy-utils";
   version = "0.0.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/enzyme/default.nix b/pkgs/development/python-modules/enzyme/default.nix
index ee547ad9b7bc6..9e043782585fc 100644
--- a/pkgs/development/python-modules/enzyme/default.nix
+++ b/pkgs/development/python-modules/enzyme/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "enzyme";
   version = "0.4.1";
+  format = "setuptools";
 
   # Tests rely on files obtained over the network
   doCheck = false;
diff --git a/pkgs/development/python-modules/epc/default.nix b/pkgs/development/python-modules/epc/default.nix
index 3950afa578e97..b9d96558bb6f5 100644
--- a/pkgs/development/python-modules/epc/default.nix
+++ b/pkgs/development/python-modules/epc/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "epc";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/epson-projector/default.nix b/pkgs/development/python-modules/epson-projector/default.nix
index 66fb7964e53e9..30e021842e76f 100644
--- a/pkgs/development/python-modules/epson-projector/default.nix
+++ b/pkgs/development/python-modules/epson-projector/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "epson-projector";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "epson_projector";
diff --git a/pkgs/development/python-modules/es-client/default.nix b/pkgs/development/python-modules/es-client/default.nix
index e0a88d607c5b4..7c72732f7499b 100644
--- a/pkgs/development/python-modules/es-client/default.nix
+++ b/pkgs/development/python-modules/es-client/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "es-client";
-  version = "8.10.3";
+  version = "8.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "untergeek";
     repo = "es_client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EvE40HLNKYl38PZ2bShAhFCsX3DMYsMmusUTcAql9b4=";
+    hash = "sha256-VsHpWe37/CZvGm3PqVq4mJCBA9juvOD9FLmDeW8OjiM=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/escapism/default.nix b/pkgs/development/python-modules/escapism/default.nix
index 6093e16d4b500..484a608ba910f 100644
--- a/pkgs/development/python-modules/escapism/default.nix
+++ b/pkgs/development/python-modules/escapism/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "escapism";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/etcd/default.nix b/pkgs/development/python-modules/etcd/default.nix
index d4931696916a2..3cc989636f1b2 100644
--- a/pkgs/development/python-modules/etcd/default.nix
+++ b/pkgs/development/python-modules/etcd/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "etcd";
   version = "2.0.8";
+  format = "setuptools";
 
   # PyPI package is incomplete
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ete3/default.nix b/pkgs/development/python-modules/ete3/default.nix
index 48ec3ca623860..4cc241430c474 100644
--- a/pkgs/development/python-modules/ete3/default.nix
+++ b/pkgs/development/python-modules/ete3/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "ete3";
   version = "3.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/etelemetry/default.nix b/pkgs/development/python-modules/etelemetry/default.nix
index ed093f182e327..24777c4e9cf8b 100644
--- a/pkgs/development/python-modules/etelemetry/default.nix
+++ b/pkgs/development/python-modules/etelemetry/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.2.1";
+  format = "setuptools";
   pname = "etelemetry";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/etesync/default.nix b/pkgs/development/python-modules/etesync/default.nix
index a50f8e7c093a4..d65698c07ad66 100644
--- a/pkgs/development/python-modules/etesync/default.nix
+++ b/pkgs/development/python-modules/etesync/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "etesync";
   version = "0.12.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/eth-abi/default.nix b/pkgs/development/python-modules/eth-abi/default.nix
index 3a7d12b410d9b..8e45e945218fd 100644
--- a/pkgs/development/python-modules/eth-abi/default.nix
+++ b/pkgs/development/python-modules/eth-abi/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "eth-abi";
   version = "4.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-account/default.nix b/pkgs/development/python-modules/eth-account/default.nix
index 319db87011150..a56ad36be6398 100644
--- a/pkgs/development/python-modules/eth-account/default.nix
+++ b/pkgs/development/python-modules/eth-account/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "eth-account";
   version = "0.9.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-hash/default.nix b/pkgs/development/python-modules/eth-hash/default.nix
index c26914f36006c..991bd28aff18a 100644
--- a/pkgs/development/python-modules/eth-hash/default.nix
+++ b/pkgs/development/python-modules/eth-hash/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "eth-hash";
   version = "0.5.2";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-keyfile/default.nix b/pkgs/development/python-modules/eth-keyfile/default.nix
index e4320e8e035c8..b52dde5df2d4c 100644
--- a/pkgs/development/python-modules/eth-keyfile/default.nix
+++ b/pkgs/development/python-modules/eth-keyfile/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "eth-keyfile";
   version = "0.6.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-keys/default.nix b/pkgs/development/python-modules/eth-keys/default.nix
index 8cc904bb4029b..3f6c633c6487a 100644
--- a/pkgs/development/python-modules/eth-keys/default.nix
+++ b/pkgs/development/python-modules/eth-keys/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "eth-keys";
   version = "0.4.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-rlp/default.nix b/pkgs/development/python-modules/eth-rlp/default.nix
index 0b2e9468c2aa2..0a54bef3a2c18 100644
--- a/pkgs/development/python-modules/eth-rlp/default.nix
+++ b/pkgs/development/python-modules/eth-rlp/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "eth-rlp";
   version = "0.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/eth-utils/default.nix b/pkgs/development/python-modules/eth-utils/default.nix
index 73a287b49aa55..6d4cbf930f566 100644
--- a/pkgs/development/python-modules/eth-utils/default.nix
+++ b/pkgs/development/python-modules/eth-utils/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "eth-utils";
   version = "2.1.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/etils/default.nix b/pkgs/development/python-modules/etils/default.nix
index b6a3eed265df4..4eb12d98386e8 100644
--- a/pkgs/development/python-modules/etils/default.nix
+++ b/pkgs/development/python-modules/etils/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "etils";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tTDA0bLtG42hrzZ9S5eJHmgKakZY1BkBgyELu7jPH7k=";
+    hash = "sha256-umo+Gv+Vx2kTB3aqF2wRVAY39d2IHzt5FypRSbaxxEY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/evernote/default.nix b/pkgs/development/python-modules/evernote/default.nix
index 8c6e4b6c7c275..aac789909199e 100644
--- a/pkgs/development/python-modules/evernote/default.nix
+++ b/pkgs/development/python-modules/evernote/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "evernote";
   version = "1.25.3";
+  format = "setuptools";
   disabled = ! isPy27; #some dependencies do not work with py3
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/evohome-async/default.nix b/pkgs/development/python-modules/evohome-async/default.nix
index 17d4a688130bd..3f8372c0c898d 100644
--- a/pkgs/development/python-modules/evohome-async/default.nix
+++ b/pkgs/development/python-modules/evohome-async/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "evohome-async";
-  version = "0.4.11";
+  version = "0.4.15";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "zxdavb";
     repo = "evohome-async";
     rev = "refs/tags/${version}";
-    hash = "sha256-mx4nBEgXeBxcN1pYZfTKPGbNhvSz8l38MyRRpL82lf0=";
+    hash = "sha256-ulkLl3K62MFUzFWUdsog4Q+jJ9uZjxNvDQTaWDhkhjo=";
   };
 
   nativeBuildInputs = [
@@ -44,5 +44,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/zxdavb/evohome-async";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "evo-client";
   };
 }
diff --git a/pkgs/development/python-modules/ewmh/default.nix b/pkgs/development/python-modules/ewmh/default.nix
index c9ac68ae74d81..c1fc19e13d1bc 100644
--- a/pkgs/development/python-modules/ewmh/default.nix
+++ b/pkgs/development/python-modules/ewmh/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ewmh";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/expects/default.nix b/pkgs/development/python-modules/expects/default.nix
index 093bdc27bf840..df9b06590981f 100644
--- a/pkgs/development/python-modules/expects/default.nix
+++ b/pkgs/development/python-modules/expects/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "expects";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jaimegildesagredo";
diff --git a/pkgs/development/python-modules/experiment-utilities/default.nix b/pkgs/development/python-modules/experiment-utilities/default.nix
index a236a2405918c..a984a95de8258 100644
--- a/pkgs/development/python-modules/experiment-utilities/default.nix
+++ b/pkgs/development/python-modules/experiment-utilities/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "experiment-utilities";
   version = "0.3.6";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "creinke";
diff --git a/pkgs/development/python-modules/explorerscript/default.nix b/pkgs/development/python-modules/explorerscript/default.nix
index 476c0cc433fd6..41521f096290d 100644
--- a/pkgs/development/python-modules/explorerscript/default.nix
+++ b/pkgs/development/python-modules/explorerscript/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "explorerscript";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
diff --git a/pkgs/development/python-modules/exrex/default.nix b/pkgs/development/python-modules/exrex/default.nix
index 2ef58acc9093d..fd7982ee778c3 100644
--- a/pkgs/development/python-modules/exrex/default.nix
+++ b/pkgs/development/python-modules/exrex/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "exrex";
   version = "0.11.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -24,6 +25,12 @@ buildPythonPackage rec {
       --replace "version=about['__version__']," "version='${version}',"
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  dontWrapPythonPrograms = true;
+
   # Projec thas no released tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/extras/default.nix b/pkgs/development/python-modules/extras/default.nix
index ff8432ab2d274..db076ea95d9cf 100644
--- a/pkgs/development/python-modules/extras/default.nix
+++ b/pkgs/development/python-modules/extras/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "extras";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/extruct/default.nix b/pkgs/development/python-modules/extruct/default.nix
index 7752421236c0f..c2156965d08b8 100644
--- a/pkgs/development/python-modules/extruct/default.nix
+++ b/pkgs/development/python-modules/extruct/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "extruct";
   version = "0.13.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "scrapinghub";
diff --git a/pkgs/development/python-modules/ezyrb/default.nix b/pkgs/development/python-modules/ezyrb/default.nix
index 642f9c6f86457..c1bee4d060df8 100644
--- a/pkgs/development/python-modules/ezyrb/default.nix
+++ b/pkgs/development/python-modules/ezyrb/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "ezyrb";
-  version = "1.3.0.post2311";
+  version = "1.3.0.post2312";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mathLab";
     repo = "EZyRB";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qIH/cn+QdcjfNwvokbkC+euo6RD75DrqJ5Oj6Ji/9cY=";
+    hash = "sha256-uS0/Y4luCzJ2zJ0dQ84n4AsQXGWxUv/m5/xiJGPTGDI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/f90nml/default.nix b/pkgs/development/python-modules/f90nml/default.nix
index de9d56e75edc8..2e9610bb353ed 100644
--- a/pkgs/development/python-modules/f90nml/default.nix
+++ b/pkgs/development/python-modules/f90nml/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "f90nml";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "marshallward";
diff --git a/pkgs/development/python-modules/fabric/default.nix b/pkgs/development/python-modules/fabric/default.nix
index e3da624934542..04cc53f28b7d8 100644
--- a/pkgs/development/python-modules/fabric/default.nix
+++ b/pkgs/development/python-modules/fabric/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "fabric";
   version = "3.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fabulous/default.nix b/pkgs/development/python-modules/fabulous/default.nix
index 26329cc73b83a..eba74ab121bee 100644
--- a/pkgs/development/python-modules/fabulous/default.nix
+++ b/pkgs/development/python-modules/fabulous/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fabulous";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jart";
diff --git a/pkgs/development/python-modules/facebook-sdk/default.nix b/pkgs/development/python-modules/facebook-sdk/default.nix
index 6ab228baf5477..2789829da57a4 100644
--- a/pkgs/development/python-modules/facebook-sdk/default.nix
+++ b/pkgs/development/python-modules/facebook-sdk/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "facebook-sdk";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/facedancer/default.nix b/pkgs/development/python-modules/facedancer/default.nix
index 0aabe704f040f..1db882a86bb65 100644
--- a/pkgs/development/python-modules/facedancer/default.nix
+++ b/pkgs/development/python-modules/facedancer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "facedancer";
   version = "2019.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fake-useragent/default.nix b/pkgs/development/python-modules/fake-useragent/default.nix
index 50c4f5e968378..0cdcd90cbe87e 100644
--- a/pkgs/development/python-modules/fake-useragent/default.nix
+++ b/pkgs/development/python-modules/fake-useragent/default.nix
@@ -10,8 +10,8 @@
 
 buildPythonPackage rec {
   pname = "fake-useragent";
-  version = "1.3.0";
-  format = "pyproject";
+  version = "1.4.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fake-useragent";
     repo = "fake-useragent";
     rev = "refs/tags/${version}";
-    hash = "sha256-erGX52ipM0scn3snICf6ipjgVbV8/H5xT4GP3AtvOwo=";
+    hash = "sha256-Jmzq0yIM373bg2T6t0YFymBiH9vSpiCw+UAMfxsMJvY=";
   };
 
   postPatch = ''
@@ -41,6 +41,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "fake_useragent"
+  ];
+
   meta = with lib; {
     description = "Up to date simple useragent faker with real world database";
     homepage = "https://github.com/hellysmile/fake-useragent";
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 4f0a1e7013527..7f414741b39eb 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "faker";
   version = "19.6.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Faker";
diff --git a/pkgs/development/python-modules/farm-haystack/default.nix b/pkgs/development/python-modules/farm-haystack/default.nix
index afee9c60f8945..0e4b29f16054e 100644
--- a/pkgs/development/python-modules/farm-haystack/default.nix
+++ b/pkgs/development/python-modules/farm-haystack/default.nix
@@ -91,14 +91,14 @@
 
 buildPythonPackage rec {
   pname = "farm-haystack";
-  version = "1.22.0";
+  version = "1.22.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deepset-ai";
     repo = "haystack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0tRgZqySM9vPhs5lar89Gz/G7/YgRuFZosgTdKuGBH0=";
+    hash = "sha256-zzDcGfyBI4wcny8Bw893zOuAFYgz4tUY8QbwlGfQQ7o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fast-histogram/default.nix b/pkgs/development/python-modules/fast-histogram/default.nix
index fd00ff5df8e20..7eb3944d690af 100644
--- a/pkgs/development/python-modules/fast-histogram/default.nix
+++ b/pkgs/development/python-modules/fast-histogram/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "fast-histogram";
   version = "0.12";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/fastcache/default.nix b/pkgs/development/python-modules/fastcache/default.nix
index 37a8b1f1a67e7..b29b45e87821f 100644
--- a/pkgs/development/python-modules/fastcache/default.nix
+++ b/pkgs/development/python-modules/fastcache/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fastcache";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fastdiff/default.nix b/pkgs/development/python-modules/fastdiff/default.nix
index a2b4b9c76be09..42418076ba356 100644
--- a/pkgs/development/python-modules/fastdiff/default.nix
+++ b/pkgs/development/python-modules/fastdiff/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "fastdiff";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fastdtw/default.nix b/pkgs/development/python-modules/fastdtw/default.nix
index 1ceaf3b875a3a..ce973d218417a 100644
--- a/pkgs/development/python-modules/fastdtw/default.nix
+++ b/pkgs/development/python-modules/fastdtw/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "fastdtw";
   version = "0.3.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "slaypni";
diff --git a/pkgs/development/python-modules/fastentrypoints/default.nix b/pkgs/development/python-modules/fastentrypoints/default.nix
index 7671feb359f8f..83c1fcaee8663 100644
--- a/pkgs/development/python-modules/fastentrypoints/default.nix
+++ b/pkgs/development/python-modules/fastentrypoints/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fastentrypoints";
   version = "0.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/faster-whisper/default.nix b/pkgs/development/python-modules/faster-whisper/default.nix
index 30f2174ff7da8..84761c3bfa067 100644
--- a/pkgs/development/python-modules/faster-whisper/default.nix
+++ b/pkgs/development/python-modules/faster-whisper/default.nix
@@ -15,21 +15,16 @@
 
 buildPythonPackage rec {
   pname = "faster-whisper";
-  version = "0.9.0";
+  version = "0.10.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "guillaumekln";
     repo = "faster-whisper";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-kHXX5Z4r7+lFRBtTCsPy9DILwsk3T1mcBzmJnCrKTdk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-qcpPQv5WoUkT92/TZ+MMq452FgPNcm3ZZ+ZNc0btOGE=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "onnxruntime>=1.14,<2" "onnxruntime"
-  '';
-
   propagatedBuildInputs = [
     av
     ctranslate2
@@ -54,7 +49,7 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    changelog = "https://github.com/guillaumekln/faster-whisper/releases/tag/v${version}";
+    changelog = "https://github.com/guillaumekln/faster-whisper/releases/tag/${version}";
     description = "Faster Whisper transcription with CTranslate2";
     homepage = "https://github.com/guillaumekln/faster-whisper";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/fastimport/default.nix b/pkgs/development/python-modules/fastimport/default.nix
index 9f7219925a7f5..904aac3069c65 100644
--- a/pkgs/development/python-modules/fastimport/default.nix
+++ b/pkgs/development/python-modules/fastimport/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fastimport";
   version = "0.9.14";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/fastpbkdf2/default.nix b/pkgs/development/python-modules/fastpbkdf2/default.nix
index ef6e0462c3531..99ad26f0e7352 100644
--- a/pkgs/development/python-modules/fastpbkdf2/default.nix
+++ b/pkgs/development/python-modules/fastpbkdf2/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "fastpbkdf2";
   version = "0.2";
+  format = "setuptools";
 
   # Fetching from GitHub as tests are missing in PyPI
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix
index 6ea456bac53af..3a1dc5a30c43c 100644
--- a/pkgs/development/python-modules/fastprogress/default.nix
+++ b/pkgs/development/python-modules/fastprogress/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fastprogress";
   version = "1.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/fasttext/default.nix b/pkgs/development/python-modules/fasttext/default.nix
index c360c364d8b9f..71db9277ab2c8 100644
--- a/pkgs/development/python-modules/fasttext/default.nix
+++ b/pkgs/development/python-modules/fasttext/default.nix
@@ -3,6 +3,8 @@
 buildPythonPackage rec {
   inherit (pkgs.fasttext) pname version src;
 
+  format = "setuptools";
+
   buildInputs = [ pybind11 ];
 
   pythonImportsCheck = [ "fasttext" ];
diff --git a/pkgs/development/python-modules/faulthandler/disable-env-test.patch b/pkgs/development/python-modules/faulthandler/disable-env-test.patch
deleted file mode 100644
index 5824652f6175e..0000000000000
--- a/pkgs/development/python-modules/faulthandler/disable-env-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests.py b/tests.py
-index e5a2811..16e7a0f 100644
---- a/tests.py
-+++ b/tests.py
-@@ -394,7 +394,7 @@ class FaultHandlerTests(unittest.TestCase):
-             print(faulthandler.is_enabled())
-             """,
-             env=dict(os.environ, PYTHONFAULTHANDLER='x'))
--        self.assertEqual(output, ["True"])
-+        #self.assertEqual(output, ["True"])
-         self.assertEqual(exitcode, 0)
- 
-         output, exitcode = self.get_output("""
diff --git a/pkgs/development/python-modules/fb-re2/default.nix b/pkgs/development/python-modules/fb-re2/default.nix
index df494068c4445..e5f41003495be 100644
--- a/pkgs/development/python-modules/fb-re2/default.nix
+++ b/pkgs/development/python-modules/fb-re2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fb-re2";
   version = "1.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/feedgen/default.nix b/pkgs/development/python-modules/feedgen/default.nix
index 9ca3627e74cab..b430b1a200a2d 100644
--- a/pkgs/development/python-modules/feedgen/default.nix
+++ b/pkgs/development/python-modules/feedgen/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "feedgen";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/feedgenerator/default.nix b/pkgs/development/python-modules/feedgenerator/default.nix
index 550e82cb8ccc2..4fd5808aa236f 100644
--- a/pkgs/development/python-modules/feedgenerator/default.nix
+++ b/pkgs/development/python-modules/feedgenerator/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "feedgenerator";
   version = "2.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix
index 861f2d0201901..a3dd531c1285f 100644
--- a/pkgs/development/python-modules/ffcv/default.nix
+++ b/pkgs/development/python-modules/ffcv/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "ffcv";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "libffcv";
diff --git a/pkgs/development/python-modules/fiblary3-fork/default.nix b/pkgs/development/python-modules/fiblary3-fork/default.nix
index eeab77847c910..99413e54d6342 100644
--- a/pkgs/development/python-modules/fiblary3-fork/default.nix
+++ b/pkgs/development/python-modules/fiblary3-fork/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "fiblary3-fork";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fields/default.nix b/pkgs/development/python-modules/fields/default.nix
index 25b567c9c875f..bbe14dd638d76 100644
--- a/pkgs/development/python-modules/fields/default.nix
+++ b/pkgs/development/python-modules/fields/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fields";
   version = "5.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/file-read-backwards/default.nix b/pkgs/development/python-modules/file-read-backwards/default.nix
index f83963e1e5aeb..9317021f45069 100644
--- a/pkgs/development/python-modules/file-read-backwards/default.nix
+++ b/pkgs/development/python-modules/file-read-backwards/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "file-read-backwards";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "file_read_backwards";
diff --git a/pkgs/development/python-modules/filebytes/default.nix b/pkgs/development/python-modules/filebytes/default.nix
index 5b6d6284ced5e..9dd04c3c4cb70 100644
--- a/pkgs/development/python-modules/filebytes/default.nix
+++ b/pkgs/development/python-modules/filebytes/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "filebytes";
   version = "0.10.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/finalfusion/default.nix b/pkgs/development/python-modules/finalfusion/default.nix
index f079dbe77bc88..14b13d7184be8 100644
--- a/pkgs/development/python-modules/finalfusion/default.nix
+++ b/pkgs/development/python-modules/finalfusion/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "finalfusion";
   version = "0.7.1";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/fingerprints/default.nix b/pkgs/development/python-modules/fingerprints/default.nix
index ecda4d7959b8b..00c2efe7e3f31 100644
--- a/pkgs/development/python-modules/fingerprints/default.nix
+++ b/pkgs/development/python-modules/fingerprints/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "fingerprints";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alephdata";
diff --git a/pkgs/development/python-modules/firetv/default.nix b/pkgs/development/python-modules/firetv/default.nix
index 8cbcc354c8347..652f69033dde6 100644
--- a/pkgs/development/python-modules/firetv/default.nix
+++ b/pkgs/development/python-modules/firetv/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "firetv";
   version = "1.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fixerio/default.nix b/pkgs/development/python-modules/fixerio/default.nix
index eacd4f472affb..56ba061b42331 100644
--- a/pkgs/development/python-modules/fixerio/default.nix
+++ b/pkgs/development/python-modules/fixerio/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "fixerio";
   version = "1.0.0-alpha";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "amatellanes";
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
index f2455cf2161f0..6cf0cd7097abf 100644
--- a/pkgs/development/python-modules/flake8-bugbear/default.nix
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "flake8-bugbear";
-  version = "23.9.16";
+  version = "23.11.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-fGrefEoyEgJE3danv9hG+Os79ixPzurEzLc3Dnj2M3k=";
+    hash = "sha256-9mVCJZmjYECi62wYRmyipAl3B1wqyDU/nTSNcA7oc04=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flake8-future-import/default.nix b/pkgs/development/python-modules/flake8-future-import/default.nix
index 017dd74fcede0..7b58dddb853a5 100644
--- a/pkgs/development/python-modules/flake8-future-import/default.nix
+++ b/pkgs/development/python-modules/flake8-future-import/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "flake8-future-import";
   version = "0.4.7";
+  format = "setuptools";
 
   # PyPI tarball doesn't include the test suite
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/flake8-polyfill/default.nix b/pkgs/development/python-modules/flake8-polyfill/default.nix
index 1db1438827369..aef7cab9d1fc9 100644
--- a/pkgs/development/python-modules/flake8-polyfill/default.nix
+++ b/pkgs/development/python-modules/flake8-polyfill/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "flake8-polyfill";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/flametree/default.nix b/pkgs/development/python-modules/flametree/default.nix
index a6d3ebbd0c4f8..2a3ff69235c39 100644
--- a/pkgs/development/python-modules/flametree/default.nix
+++ b/pkgs/development/python-modules/flametree/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "flametree";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Edinburgh-Genome-Foundry";
diff --git a/pkgs/development/python-modules/flashtext/default.nix b/pkgs/development/python-modules/flashtext/default.nix
index b0623bd18d598..e4aa3a60c7eb5 100644
--- a/pkgs/development/python-modules/flashtext/default.nix
+++ b/pkgs/development/python-modules/flashtext/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "flashtext";
   version = "2.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch b/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch
deleted file mode 100644
index f2bf072b7f0ae..0000000000000
--- a/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/flask_appbuilder/security/api.py b/flask_appbuilder/security/api.py
-index 2e2dfd612..df1bd5a25 100644
---- a/flask_appbuilder/security/api.py
-+++ b/flask_appbuilder/security/api.py
-@@ -3,7 +3,7 @@
-     create_access_token,
-     create_refresh_token,
-     get_jwt_identity,
--    jwt_refresh_token_required,
-+    jwt_required,
- )
- 
- from ..api import BaseApi, safe
-@@ -118,7 +118,7 @@ def login(self):
-         return self.response(200, **resp)
- 
-     @expose("/refresh", methods=["POST"])
--    @jwt_refresh_token_required
-+    @jwt_required(refresh=True)
-     @safe
-     def refresh(self):
-         """
-diff --git a/flask_appbuilder/security/manager.py b/flask_appbuilder/security/manager.py
-index fe7697007..3b22ab255 100644
---- a/flask_appbuilder/security/manager.py
-+++ b/flask_appbuilder/security/manager.py
-@@ -297,7 +297,7 @@ def create_jwt_manager(self, app) -> JWTManager:
-         """
-         jwt_manager = JWTManager()
-         jwt_manager.init_app(app)
--        jwt_manager.user_loader_callback_loader(self.load_user_jwt)
-+        jwt_manager.user_lookup_loader(self.load_user_jwt)
-         return jwt_manager
- 
-     def create_builtin_roles(self):
-@@ -1944,7 +1944,8 @@ def del_permission_role(self, role, perm_view):
-     def load_user(self, pk):
-         return self.get_user_by_id(int(pk))
- 
--    def load_user_jwt(self, pk):
-+    def load_user_jwt(self, _jwt_header, jwt_data):
-+        pk = jwt_data["sub"]
-         user = self.load_user(pk)
-         # Set flask g.user to JWT user, we can't do it on before request
-         g.user = user
diff --git a/pkgs/development/python-modules/flask-assets/default.nix b/pkgs/development/python-modules/flask-assets/default.nix
index 07c384d1c6aee..33caa223ea3bc 100644
--- a/pkgs/development/python-modules/flask-assets/default.nix
+++ b/pkgs/development/python-modules/flask-assets/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "flask-assets";
   version = "2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Assets";
diff --git a/pkgs/development/python-modules/flask-basicauth/default.nix b/pkgs/development/python-modules/flask-basicauth/default.nix
index 51fe449bc90b7..97a214744457b 100644
--- a/pkgs/development/python-modules/flask-basicauth/default.nix
+++ b/pkgs/development/python-modules/flask-basicauth/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flask-basicauth";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jpvanhal";
diff --git a/pkgs/development/python-modules/flask-bcrypt/default.nix b/pkgs/development/python-modules/flask-bcrypt/default.nix
index 856c7f010bb05..1d9db3cb22f24 100644
--- a/pkgs/development/python-modules/flask-bcrypt/default.nix
+++ b/pkgs/development/python-modules/flask-bcrypt/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flask-bcrypt";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "maxcountryman";
diff --git a/pkgs/development/python-modules/flask-elastic/default.nix b/pkgs/development/python-modules/flask-elastic/default.nix
index c3ea512f803ad..ea7bcb557b98a 100644
--- a/pkgs/development/python-modules/flask-elastic/default.nix
+++ b/pkgs/development/python-modules/flask-elastic/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "flask-elastic";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Elastic";
diff --git a/pkgs/development/python-modules/flask-gravatar/default.nix b/pkgs/development/python-modules/flask-gravatar/default.nix
index f96390211c1ff..a52feb8aecbf7 100644
--- a/pkgs/development/python-modules/flask-gravatar/default.nix
+++ b/pkgs/development/python-modules/flask-gravatar/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flask-gravatar";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Gravatar";
diff --git a/pkgs/development/python-modules/flask-mail/default.nix b/pkgs/development/python-modules/flask-mail/default.nix
index 8e4c58db75c11..16e02683495f3 100644
--- a/pkgs/development/python-modules/flask-mail/default.nix
+++ b/pkgs/development/python-modules/flask-mail/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "flask-mail";
   version = "0.9.1";
+  format = "setuptools";
 
   meta = {
     description = "Flask-Mail is a Flask extension providing simple email sending capabilities.";
diff --git a/pkgs/development/python-modules/flask-mailman/default.nix b/pkgs/development/python-modules/flask-mailman/default.nix
index f0cd2e5e147ba..035005545ec45 100644
--- a/pkgs/development/python-modules/flask-mailman/default.nix
+++ b/pkgs/development/python-modules/flask-mailman/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "flask-mailman";
-  version = "0.3.0";
+  version = "1.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "waynerv";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-cfLtif+48M6fqOkBbi4PJRFpf9FRXCPesktFQky34eU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-wfbMz9k9cy9m95mc0Y0lqmpJczrfjhmumO31gRQy704=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix
index 748e2fbe2bd93..9d65a5cab26e0 100644
--- a/pkgs/development/python-modules/flask-openid/default.nix
+++ b/pkgs/development/python-modules/flask-openid/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flask-openid";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-OpenID";
diff --git a/pkgs/development/python-modules/flask-paranoid/default.nix b/pkgs/development/python-modules/flask-paranoid/default.nix
index 77949730c6901..5e200137941bb 100644
--- a/pkgs/development/python-modules/flask-paranoid/default.nix
+++ b/pkgs/development/python-modules/flask-paranoid/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "flask-paranoid";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
diff --git a/pkgs/development/python-modules/flask-principal/default.nix b/pkgs/development/python-modules/flask-principal/default.nix
index 8bf06c87d3563..7343a15398dbb 100644
--- a/pkgs/development/python-modules/flask-principal/default.nix
+++ b/pkgs/development/python-modules/flask-principal/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "flask-principal";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Principal";
diff --git a/pkgs/development/python-modules/flask-script/default.nix b/pkgs/development/python-modules/flask-script/default.nix
index cd71228132277..afd56302a562c 100644
--- a/pkgs/development/python-modules/flask-script/default.nix
+++ b/pkgs/development/python-modules/flask-script/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "flask-script";
   version = "2.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Flask-Script";
diff --git a/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
new file mode 100644
index 0000000000000..c12c85e0de254
--- /dev/null
+++ b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
@@ -0,0 +1,257 @@
+From 001549503eed364d4baaa5804242f67c6236f6c2 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:55:05 +0100
+Subject: [PATCH] Fix with new dependency versions
+
+- cookie_jar is private in werkzeug 2.3, so recreate the client instead
+- set_cookie does not take a hostname argument anymore, use domain instead
+- Headers need to specify a content type
+---
+ test_seasurf.py | 63 ++++++++++++++++++++++++-------------------------
+ 1 file changed, 31 insertions(+), 32 deletions(-)
+
+diff --git a/test_seasurf.py b/test_seasurf.py
+index 517b2d7..501f82d 100644
+--- a/test_seasurf.py
++++ b/test_seasurf.py
+@@ -71,18 +71,18 @@ class SeaSurfTestCase(BaseTestCase):
+         self.assertEqual(type(token), str)
+ 
+     def test_exempt_view(self):
+-        rv = self.app.test_client().post('/foo')
++        rv = self.app.test_client().post('/foo', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/foo/\xf8')
++        rv = self.app.test_client().post(u'/foo/\xf8', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/bar/\xf8')
++        rv = self.app.test_client().post(u'/bar/\xf8', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_json_token_validation_bad(self):
+@@ -107,7 +107,7 @@ class SeaSurfTestCase(BaseTestCase):
+         data = {'_csrf_token': token}
+         with self.app.test_client() as client:
+             with client.session_transaction() as sess:
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             rv = client.post('/bar', data=data)
+@@ -121,7 +121,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -144,7 +144,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -167,7 +167,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             rv = client.post('/bar',
+@@ -187,10 +187,10 @@ class SeaSurfTestCase(BaseTestCase):
+                 self.csrf._csrf_header_name: token,
+             }
+ 
+-            rv = client.post('/bar', headers=headers)
++            rv = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(rv.status_code, 200, rv)
+ 
+-            rv = client.post(u'/bar/\xf8', headers=headers)
++            rv = client.post(u'/bar/\xf8', headers=headers, content_type='application/json')
+             self.assertEqual(rv.status_code, 200, rv)
+ 
+     def test_token_in_form_data(self):
+@@ -280,14 +280,14 @@ class SeaSurfTestCaseExemptViews(BaseTestCase):
+ 
+     def test_exempt_view(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/foo')
++            rv = c.post('/foo', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+ 
+@@ -319,18 +319,18 @@ class SeaSurfTestCaseIncludeViews(BaseTestCase):
+             return 'foo'
+ 
+     def test_include_view(self):
+-        rv = self.app.test_client().post('/foo')
++        rv = self.app.test_client().post('/foo', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/foo/\xf8')
++        rv = self.app.test_client().post(u'/foo/\xf8', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('foo'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/bar/\xf8')
++        rv = self.app.test_client().post(u'/bar/\xf8', content_type='application/json')
+         self.assertIn(b('foo'), rv.data)
+ 
+ 
+@@ -363,10 +363,10 @@ class SeaSurfTestCaseExemptUrls(BaseTestCase):
+             return 'foo'
+ 
+     def test_exempt_view(self):
+-        rv = self.app.test_client().post('/foo/baz')
++        rv = self.app.test_client().post('/foo/baz', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+         with self.app.test_client() as c:
+-            rv = c.post('/foo/quz')
++            rv = c.post('/foo/quz', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+@@ -374,7 +374,7 @@ class SeaSurfTestCaseExemptUrls(BaseTestCase):
+     def test_token_validation(self):
+         with self.app.test_client() as c:
+             # should produce a logger warning
+-            rv = c.post('/bar')
++            rv = c.post('/bar', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -434,7 +434,7 @@ class SeaSurfTestCaseDisableCookie(unittest.TestCase):
+ 
+     def test_no_csrf_cookie_even_after_manually_validated(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+@@ -474,14 +474,14 @@ class SeaSurfTestCaseEnableCookie(unittest.TestCase):
+ 
+     def test_has_csrf_cookie(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/exempt_with_cookie')
++            rv = c.post('/exempt_with_cookie', content_type='application/json')
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+             self.assertEqual(cookie, token)
+ 
+     def test_has_csrf_cookie_but_doesnt_validate(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/exempt_with_cookie')
++            rv = c.post('/exempt_with_cookie', content_type='application/json')
+             self.assertIn(b('exempt_with_cookie'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -530,7 +530,7 @@ class SeaSurfTestCaseSkipValidation(unittest.TestCase):
+ 
+     def test_skips_validation(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/foo/quz')
++            rv = c.post('/foo/quz', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -538,20 +538,20 @@ class SeaSurfTestCaseSkipValidation(unittest.TestCase):
+ 
+     def test_enforces_validation_reject(self):
+         with self.app.test_client() as c:
+-            rv = c.delete('/foo/baz')
++            rv = c.delete('/foo/baz', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_enforces_validation_accept(self):
+         with self.app.test_client() as c:
+             # GET generates CSRF token
+             c.get('/foo/baz')
+-            rv = c.delete('/foo/baz',
++            rv = c.delete('/foo/baz', content_type='application/json',
+                           headers={'X-CSRFToken': self.csrf._get_token()})
+             self.assertIn(b('bar'), rv.data)
+ 
+     def test_manual_validation(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+ 
+ 
+@@ -578,7 +578,7 @@ class SeaSurfTestManualValidation(unittest.TestCase):
+ 
+     def test_can_manually_validate_exempt_views(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -651,7 +651,7 @@ class SeaSurfTestCaseReferer(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -728,8 +728,7 @@ class SeaSurfTestCaseSetCookie(BaseTestCase):
+                           res3.headers.get('Set-Cookie', ''),
+                           'CSRF cookie always be re-set if a token is requested by the template')
+ 
+-            client.cookie_jar.clear()
+-
++        with self.app.test_client() as client:
+             res4 = client.get('/foo')
+ 
+             self.assertIn(self.csrf._csrf_name,
+@@ -739,14 +738,14 @@ class SeaSurfTestCaseSetCookie(BaseTestCase):
+     def test_header_set_on_post(self):
+         with self.app.test_client() as client:
+             headers = {}
+-            res1 = client.post('/bar', headers=headers)
++            res1 = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(res1.status_code, 403)
+ 
+             for cookie in client.cookie_jar:
+                 if cookie.name == self.csrf._csrf_name:
+                     headers[self.csrf._csrf_header_name] = cookie.value
+ 
+-            res2 = client.post('/bar', headers=headers)
++            res2 = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(res2.status_code, 200)
+ 
+     def test_header_set_cookie_samesite(self):
+-- 
+2.42.0
+
diff --git a/pkgs/development/python-modules/flask-seasurf/default.nix b/pkgs/development/python-modules/flask-seasurf/default.nix
index 79d024f5b34f0..26dd2d7f5e085 100644
--- a/pkgs/development/python-modules/flask-seasurf/default.nix
+++ b/pkgs/development/python-modules/flask-seasurf/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildPythonPackage, isPy3k, flask, mock, unittestCheckHook }:
+{ lib, fetchFromGitHub, fetchpatch, buildPythonPackage, isPy3k, flask, mock, unittestCheckHook }:
 
 buildPythonPackage rec {
   pname = "Flask-SeaSurf";
@@ -12,6 +12,20 @@ buildPythonPackage rec {
     hash = "sha256-L/ZUEqqHmsyXG5eShcITII36ttwQlZN5GBngo+GcCdw=";
   };
 
+  patches = [
+    # Remove usage of deprecated flask._app_ctx_stack
+    (fetchpatch {
+      url = "https://github.com/maxcountryman/flask-seasurf/commit/9039764a4e44aeb1acb6ae7747deb438bee0826b.patch";
+      hash = "sha256-bVYzJN6MXzH3fNMknd2bh+04JlPJRkU0cLcWv+Rigqc=";
+    })
+    ./0001-Fix-with-new-dependency-versions.patch
+  ];
+
+  postPatch = ''
+    # Disable some tests, pytest is not supported
+    sed -i "s#\(\(test_header_set_on_post\|test_https_good_referer\|test_https_referer_check_disabled\)(self):\)#\1\n        return#g" test_seasurf.py
+  '';
+
   propagatedBuildInputs = [ flask ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/flask-swagger-ui/default.nix b/pkgs/development/python-modules/flask-swagger-ui/default.nix
index f7c045432af2a..8fa18aecc924d 100644
--- a/pkgs/development/python-modules/flask-swagger-ui/default.nix
+++ b/pkgs/development/python-modules/flask-swagger-ui/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "flask-swagger-ui";
   version = "4.11.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/flask-swagger/default.nix b/pkgs/development/python-modules/flask-swagger/default.nix
index 66c45b855223c..45afea65a4a50 100644
--- a/pkgs/development/python-modules/flask-swagger/default.nix
+++ b/pkgs/development/python-modules/flask-swagger/default.nix
@@ -3,6 +3,7 @@
 
 buildPythonPackage rec {
   version = "0.2.14";
+  format = "setuptools";
   pname = "flask-swagger";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/flask-talisman/default.nix b/pkgs/development/python-modules/flask-talisman/default.nix
index a719e453dabad..76a79e5f09111 100644
--- a/pkgs/development/python-modules/flask-talisman/default.nix
+++ b/pkgs/development/python-modules/flask-talisman/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flask-talisman";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/flask-themes2/default.nix b/pkgs/development/python-modules/flask-themes2/default.nix
index 56c03ca39e0cb..b4cd08bdcf09b 100644
--- a/pkgs/development/python-modules/flask-themes2/default.nix
+++ b/pkgs/development/python-modules/flask-themes2/default.nix
@@ -1,20 +1,36 @@
-{ lib, fetchPypi, buildPythonPackage, flask, pythonOlder, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, flask
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "flask-themes2";
-  version = "1.0.0";
-  format = "setuptools";
+  version = "1.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "Flask-Themes2";
     inherit version;
-    hash = "sha256-0U0cSdBddb9+IG3CU6zUPlxaJhQlxOV6OLgxnNDChy8=";
+    hash = "sha256-gsMgQQXjhDfQRhm7H0kBy8jKxd75WY+PhHR6Rk/PUPs=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
-  propagatedBuildInputs = [ flask ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Easily theme your Flask app";
diff --git a/pkgs/development/python-modules/flatbuffers/default.nix b/pkgs/development/python-modules/flatbuffers/default.nix
index ae5c7e309cd10..74719b2415865 100644
--- a/pkgs/development/python-modules/flatbuffers/default.nix
+++ b/pkgs/development/python-modules/flatbuffers/default.nix
@@ -6,6 +6,8 @@
 buildPythonPackage rec {
   inherit (flatbuffers) pname version src;
 
+  format = "setuptools";
+
   sourceRoot = "${src.name}/python";
 
   # flatbuffers needs VERSION environment variable for setting the correct
diff --git a/pkgs/development/python-modules/flatdict/default.nix b/pkgs/development/python-modules/flatdict/default.nix
index bed9647af8445..c96d905860269 100644
--- a/pkgs/development/python-modules/flatdict/default.nix
+++ b/pkgs/development/python-modules/flatdict/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "flatdict";
   version = "4.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gmr";
diff --git a/pkgs/development/python-modules/fleep/default.nix b/pkgs/development/python-modules/fleep/default.nix
index ae8522955ce5d..f41cb01094029 100644
--- a/pkgs/development/python-modules/fleep/default.nix
+++ b/pkgs/development/python-modules/fleep/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "fleep";
   version = "1.0.1";
+  format = "setuptools";
 
   # Pypi version does not have tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/fluent-logger/default.nix b/pkgs/development/python-modules/fluent-logger/default.nix
index 00cc8bf58a3f5..2afef24b9b1c3 100644
--- a/pkgs/development/python-modules/fluent-logger/default.nix
+++ b/pkgs/development/python-modules/fluent-logger/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fluent-logger";
   version = "0.10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/flynt/default.nix b/pkgs/development/python-modules/flynt/default.nix
index 75465b4a9288c..ab513e09c63a1 100644
--- a/pkgs/development/python-modules/flynt/default.nix
+++ b/pkgs/development/python-modules/flynt/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "flynt";
   version = "0.66";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/fn/default.nix b/pkgs/development/python-modules/fn/default.nix
index e7a0d4c0416d8..71608387b4faa 100644
--- a/pkgs/development/python-modules/fn/default.nix
+++ b/pkgs/development/python-modules/fn/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fn";
   version = "0.4.3";
+  format = "setuptools";
 
   # Python 3.11 changed the API of the `inspect` module and fn was never
   # updated to adapt; last commit was in 2014.
diff --git a/pkgs/development/python-modules/fnvhash/default.nix b/pkgs/development/python-modules/fnvhash/default.nix
index e54b49ddc8eab..ac80ac564fa17 100644
--- a/pkgs/development/python-modules/fnvhash/default.nix
+++ b/pkgs/development/python-modules/fnvhash/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "fnvhash";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "znerol";
diff --git a/pkgs/development/python-modules/font-v/default.nix b/pkgs/development/python-modules/font-v/default.nix
new file mode 100644
index 0000000000000..9ff5bc1c351b1
--- /dev/null
+++ b/pkgs/development/python-modules/font-v/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fonttools
+, git
+, gitpython
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "font-v";
+  version = "2.1.0";
+  format = "setuptools";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "font-v";
+    rev = "v${version}";
+    hash = "sha256-ceASyYcNul5aWPAPGajCQrqsQ3bN1sE+nMbCbj7f35w=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    gitpython
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    git
+    pytestCheckHook
+  ];
+  preCheck = ''
+    # Many tests assume they are running from a git checkout, although they
+    # don't care which one. Create a dummy git repo to satisfy the tests:
+    git init -b main
+    git config user.email test@example.invalid
+    git config user.name Test
+    git commit --allow-empty --message 'Dummy commit for tests'
+  '';
+  disabledTests = [
+    # These tests assume they are actually running from a font-v git checkout,
+    # so just skip them:
+    "test_utilities_get_gitrootpath_function"
+  ];
+
+  meta = with lib; {
+    description = "Python utility for manipulating font version headers";
+    homepage = "https://github.com/source-foundry/font-v";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/fontawesomefree/default.nix b/pkgs/development/python-modules/fontawesomefree/default.nix
index 437259ff6d3e2..dea884ab0b30b 100644
--- a/pkgs/development/python-modules/fontawesomefree/default.nix
+++ b/pkgs/development/python-modules/fontawesomefree/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "fontawesomefree";
-  version = "6.4.2";
+  version = "6.5.1";
   format = "wheel";
 
   # they only provide a wheel
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-zq/378T8Odrf88P/cpinoQlUAxENNz8iRWuxw0q22wI=";
+    hash = "sha256-jexKLuN7+OUzeeu/DTjO/sTgbHySJ/Wa8527exYygXs=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/fontbakery/default.nix b/pkgs/development/python-modules/fontbakery/default.nix
new file mode 100644
index 0000000000000..3d1a2331e5e86
--- /dev/null
+++ b/pkgs/development/python-modules/fontbakery/default.nix
@@ -0,0 +1,147 @@
+{ lib
+, buildPythonPackage
+, callPackage
+, fetchpatch
+, fetchPypi
+, axisregistry
+, babelfont
+, beautifulsoup4
+, beziers
+, cmarkgfm
+, collidoscope
+, defcon
+, dehinter
+, fonttools
+, font-v
+, freetype-py
+, gflanguages
+, git
+, glyphsets
+, lxml
+, installShellFiles
+, munkres
+, opentypespec
+, ots-python
+, packaging
+, pip-api
+, protobuf
+, pytestCheckHook
+, pytest-xdist
+, pythonRelaxDepsHook
+, pyyaml
+, requests
+, requests-mock
+, rich
+, setuptools-scm
+, shaperglot
+, stringbrewer
+, toml
+, unicodedata2
+, ufo2ft
+, ufolint
+, vharfbuzz
+}:
+
+buildPythonPackage rec {
+  pname = "fontbakery";
+  version = "0.10.4";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Ye/TMGvURxSU2yoohwYbSo5RvrmbHKdMnFNj2lUvtMk=";
+  };
+
+  patches = [
+    # Mock HTTP requests in tests (note we still have to skip some below)
+    # https://github.com/googlefonts/fontbakery/pull/4124
+    (fetchpatch {
+      url = "https://github.com/fonttools/fontbakery/pull/4124.patch";
+      hash = "sha256-NXuC2+TtxpHYMdd0t+cF0FJ3lrh4exP5yxspEasKKd0=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    axisregistry
+    babelfont
+    beautifulsoup4
+    beziers
+    cmarkgfm
+    collidoscope
+    defcon
+    dehinter
+    fonttools
+    font-v
+    freetype-py
+    gflanguages
+    glyphsets
+    lxml
+    munkres
+    ots-python
+    opentypespec
+    packaging
+    pip-api
+    protobuf
+    pyyaml
+    requests
+    rich
+    shaperglot
+    stringbrewer
+    toml
+    ufolint
+    unicodedata2
+    vharfbuzz
+    ufo2ft
+  ];
+  nativeBuildInputs = [
+    installShellFiles
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  pythonRelaxDeps = [
+    "collidoscope"
+    "protobuf"
+    "vharfbuzz"
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    git
+    pytestCheckHook
+    pytest-xdist
+    requests-mock
+    ufolint
+  ];
+  preCheck = ''
+    # Let the tests invoke 'fontbakery' command.
+    export PATH="$out/bin:$PATH"
+    # font-v tests assume they are running from a git checkout, although they
+    # don't care which one. Create a dummy git repo to satisfy the tests:
+    git init -b main
+    git config user.email test@example.invalid
+    git config user.name Test
+    git commit --allow-empty --message 'Dummy commit for tests'
+  '';
+  disabledTests = [
+    # These require network access:
+    "test_check_vertical_metrics_regressions"
+    "test_check_cjk_vertical_metrics_regressions"
+    "test_check_fontbakery_version_live_apis"
+  ];
+
+  postInstall = ''
+    installShellCompletion --bash --name fontbakery \
+      snippets/fontbakery.bash-completion
+  '';
+
+  passthru.tests.simple = callPackage ./tests.nix { };
+
+  meta = with lib; {
+    description = "Tool for checking the quality of font projects";
+    homepage = "https://github.com/googlefonts/fontbakery";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/fontbakery/tests.nix b/pkgs/development/python-modules/fontbakery/tests.nix
new file mode 100644
index 0000000000000..4725b1fee3e31
--- /dev/null
+++ b/pkgs/development/python-modules/fontbakery/tests.nix
@@ -0,0 +1,22 @@
+{ runCommand
+, fontbakery
+}:
+
+let
+  inherit (fontbakery) pname version src;
+in
+
+runCommand "${pname}-tests" { meta.timeout = 5; } ''
+  # Check the version matches what we packaged.
+  ${fontbakery}/bin/fontbakery --version | grep -q "${version}"
+
+  # Can it list its own subcommands?
+  ${fontbakery}/bin/fontbakery --list-subcommands >>$out
+
+  # Unpack src to get some test fonts.
+  tar -xzf ${src} --strip-components=1 ${pname}-${version}/data/test
+
+  # Run some font checks.
+  ${fontbakery}/bin/fontbakery check-ufo-sources --no-progress --no-colors data/test/test.ufo >>$out
+  # TODO add more
+''
diff --git a/pkgs/development/python-modules/fontfeatures/default.nix b/pkgs/development/python-modules/fontfeatures/default.nix
new file mode 100644
index 0000000000000..17ea4ec4813cd
--- /dev/null
+++ b/pkgs/development/python-modules/fontfeatures/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, beziers
+, fonttools
+, fs
+, glyphtools
+, lxml
+, pytestCheckHook
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "fontfeatures";
+  version = "1.8.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "fontFeatures";
+    inherit version;
+    hash = "sha256-XLJD91IyUUjeSqdhWFfIqv9yISPcbU4bgRvXETSHOiY=";
+  };
+
+  propagatedBuildInputs = [
+    beziers
+    fonttools
+    fs
+    glyphtools
+    lxml
+    youseedee
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  disabledTestPaths = [
+    # These tests require babelfont but we have to leave it out and skip them
+    # to break the cyclic dependency with babelfont.
+    "tests/test_shaping_generic.py"
+    "tests/test_shaping_harfbuzz.py"
+  ];
+
+  meta = with lib; {
+    description = "Python library for compiling OpenType font features";
+    homepage = "https://github.com/simoncozens/fontFeatures";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/fontmake/default.nix b/pkgs/development/python-modules/fontmake/default.nix
index a6bd37c0153e3..2269e18c32a93 100644
--- a/pkgs/development/python-modules/fontmake/default.nix
+++ b/pkgs/development/python-modules/fontmake/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "fontmake";
   version = "3.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/foobot-async/default.nix b/pkgs/development/python-modules/foobot-async/default.nix
index bf011e0ccf732..50029f232a1c2 100644
--- a/pkgs/development/python-modules/foobot-async/default.nix
+++ b/pkgs/development/python-modules/foobot-async/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "foobot-async";
   version = "1.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/forbiddenfruit/default.nix b/pkgs/development/python-modules/forbiddenfruit/default.nix
index 519d5a14028a2..838dc60d0db0a 100644
--- a/pkgs/development/python-modules/forbiddenfruit/default.nix
+++ b/pkgs/development/python-modules/forbiddenfruit/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.1.4";
+  format = "setuptools";
   pname = "forbiddenfruit";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/fordpass/default.nix b/pkgs/development/python-modules/fordpass/default.nix
index d3120e7bb6fcd..f5a4ea3b0d43e 100644
--- a/pkgs/development/python-modules/fordpass/default.nix
+++ b/pkgs/development/python-modules/fordpass/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fordpass";
   version = "0.0.4";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/formencode/default.nix b/pkgs/development/python-modules/formencode/default.nix
index 1b7dd1fc2ef05..9cccd8d9f39bb 100644
--- a/pkgs/development/python-modules/formencode/default.nix
+++ b/pkgs/development/python-modules/formencode/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "formencode";
   version = "2.1.0";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/fpdf/default.nix b/pkgs/development/python-modules/fpdf/default.nix
index ca05660feb340..091757160e163 100644
--- a/pkgs/development/python-modules/fpdf/default.nix
+++ b/pkgs/development/python-modules/fpdf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fpdf";
   version = "1.7.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fpdf2/default.nix b/pkgs/development/python-modules/fpdf2/default.nix
new file mode 100644
index 0000000000000..dd24dc35972ef
--- /dev/null
+++ b/pkgs/development/python-modules/fpdf2/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+, setuptools
+
+, defusedxml
+, pillow
+, fonttools
+
+, pytestCheckHook
+, qrcode
+, camelot
+, uharfbuzz
+}:
+
+buildPythonPackage rec {
+  pname = "fpdf2";
+  version = "2.7.6";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "py-pdf";
+    repo = "fpdf2";
+    rev = version;
+    hash = "sha256-wiCKmS+GlrYV2/6TEdXUbmWIMWU4hyzswFJZR9EOWxc=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=fpdf --cov-report=xml" ""
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    defusedxml
+    pillow
+    fonttools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    qrcode
+    camelot
+    uharfbuzz
+  ];
+
+  disabledTestPaths = [
+    "test/table/test_table_extraction.py" # tabula-py not packaged yet
+    "test/signing/test_sign.py" # endesive not packaged yet
+  ];
+
+  disabledTests = [
+    "test_png_url" # tries to download file
+    "test_page_background" # tries to download file
+    "test_share_images_cache" # uses timing functions
+  ];
+
+  meta = {
+    homepage = "https://github.com/py-pdf/fpdf2";
+    description = "Simple PDF generation for Python";
+    changelog = "https://github.com/py-pdf/fpdf2/blob/${version}/CHANGELOG.md";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ jfvillablanca ];
+  };
+}
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
index 230f83a8e4b2a..8450d4b78c01e 100644
--- a/pkgs/development/python-modules/fpylll/default.nix
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "fpylll";
   version = "0.5.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fplll";
diff --git a/pkgs/development/python-modules/freetype-py/default.nix b/pkgs/development/python-modules/freetype-py/default.nix
index ccc048c1fccb6..172225968218a 100644
--- a/pkgs/development/python-modules/freetype-py/default.nix
+++ b/pkgs/development/python-modules/freetype-py/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "freetype-py";
   version = "2.1.0.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/frida-python/default.nix b/pkgs/development/python-modules/frida-python/default.nix
index 11be528b4055b..144d88cc80b82 100644
--- a/pkgs/development/python-modules/frida-python/default.nix
+++ b/pkgs/development/python-modules/frida-python/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, fetchPypi, buildPythonPackage, typing-extensions }:
 let
   version = "16.0.19";
+  format = "setuptools";
   devkit = fetchurl {
     url = "https://github.com/frida/frida/releases/download/${version}/frida-core-devkit-${version}-linux-x86_64.tar.xz";
     hash = "sha256-yNXNqv8eCbpdQKFShpAh6rUCEuItrOSNNLOjESimPdk=";
diff --git a/pkgs/development/python-modules/frilouz/default.nix b/pkgs/development/python-modules/frilouz/default.nix
index b19687f5fe03c..3f5ea414129fd 100644
--- a/pkgs/development/python-modules/frilouz/default.nix
+++ b/pkgs/development/python-modules/frilouz/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "frilouz";
   version = "0.0.2";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index 6bd1622fa44d4..7b746f364c982 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.3.9";
+  version = "2.3.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Marco-Sulla";
     repo = "python-frozendict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wVsTsUK6TES6YLGZGcHcGufrdVQrODyXrqczae8iTJ0=";
+    hash = "sha256-GUpCN5CsCJGuIfdsmgZHQvByA145RLI1l7aVEueqjDM=";
   };
 
   # build C version if it exists
diff --git a/pkgs/development/python-modules/fs-s3fs/default.nix b/pkgs/development/python-modules/fs-s3fs/default.nix
index 8c05c9e73f8d1..9310e46e82d45 100644
--- a/pkgs/development/python-modules/fs-s3fs/default.nix
+++ b/pkgs/development/python-modules/fs-s3fs/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fs-s3fs";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix
index 0b2d80e70d41d..da03c963bd754 100644
--- a/pkgs/development/python-modules/fs/default.nix
+++ b/pkgs/development/python-modules/fs/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "fs";
   version = "2.4.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fschat/default.nix b/pkgs/development/python-modules/fschat/default.nix
index 573009b2a5ea3..44420ae6c61fb 100644
--- a/pkgs/development/python-modules/fschat/default.nix
+++ b/pkgs/development/python-modules/fschat/default.nix
@@ -29,7 +29,7 @@
 , protobuf
 }:
 let
-  version = "0.2.32";
+  version = "0.2.33";
 in
 buildPythonPackage {
   pname = "fschat";
@@ -40,7 +40,7 @@ buildPythonPackage {
     owner = "lm-sys";
     repo = "FastChat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3IJcqVULOK0Nf72sgv80q9U8QZ3pNHLYaNwCQohdBB8=";
+    hash = "sha256-tfFgiYJBuVt71qHOmkDoSrZ2tvXStjubmkw7sexkGZg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index 058eca5600512..14a356e21e224 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ftfy";
   version = "6.1.1";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/func-timeout/default.nix b/pkgs/development/python-modules/func-timeout/default.nix
index 61204104a96a2..654b950b48d89 100644
--- a/pkgs/development/python-modules/func-timeout/default.nix
+++ b/pkgs/development/python-modules/func-timeout/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "func-timeout";
   version = "4.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "func_timeout";
diff --git a/pkgs/development/python-modules/funcsigs/default.nix b/pkgs/development/python-modules/funcsigs/default.nix
index a59b6f33b5f69..4def50699d840 100644
--- a/pkgs/development/python-modules/funcsigs/default.nix
+++ b/pkgs/development/python-modules/funcsigs/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "funcsigs";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/funsor/default.nix b/pkgs/development/python-modules/funsor/default.nix
index a08e2a6e4ebc7..dcd3c67a394bb 100644
--- a/pkgs/development/python-modules/funsor/default.nix
+++ b/pkgs/development/python-modules/funsor/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "funsor";
   version = "0.4.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/furl/default.nix b/pkgs/development/python-modules/furl/default.nix
index 3c9592c37d0d4..062ab8aebe081 100644
--- a/pkgs/development/python-modules/furl/default.nix
+++ b/pkgs/development/python-modules/furl/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "furl";
   version = "2.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fuse-python/default.nix b/pkgs/development/python-modules/fuse-python/default.nix
index 4003b54af6084..87f075460caf0 100644
--- a/pkgs/development/python-modules/fuse-python/default.nix
+++ b/pkgs/development/python-modules/fuse-python/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fuse-python";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fusepy/default.nix b/pkgs/development/python-modules/fusepy/default.nix
index 03a5248e8e1a1..8c51fcebe559d 100644
--- a/pkgs/development/python-modules/fusepy/default.nix
+++ b/pkgs/development/python-modules/fusepy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "fusepy";
   version = "3.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/future-fstrings/default.nix b/pkgs/development/python-modules/future-fstrings/default.nix
index c4ef6adaf455c..389c3b3f12787 100644
--- a/pkgs/development/python-modules/future-fstrings/default.nix
+++ b/pkgs/development/python-modules/future-fstrings/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "future-fstrings";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/future-typing/default.nix b/pkgs/development/python-modules/future-typing/default.nix
index 61a87e02253da..e2c9a76c69209 100644
--- a/pkgs/development/python-modules/future-typing/default.nix
+++ b/pkgs/development/python-modules/future-typing/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "future-typing";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "future_typing";
diff --git a/pkgs/development/python-modules/fuzzyfinder/default.nix b/pkgs/development/python-modules/fuzzyfinder/default.nix
index 2107dd7b2d622..76f7e977cc32e 100644
--- a/pkgs/development/python-modules/fuzzyfinder/default.nix
+++ b/pkgs/development/python-modules/fuzzyfinder/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "fuzzyfinder";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fuzzywuzzy/default.nix b/pkgs/development/python-modules/fuzzywuzzy/default.nix
index fd0473b998241..79754a30a078b 100644
--- a/pkgs/development/python-modules/fuzzywuzzy/default.nix
+++ b/pkgs/development/python-modules/fuzzywuzzy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fuzzywuzzy";
   version = "0.18.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fvs/default.nix b/pkgs/development/python-modules/fvs/default.nix
index 6183c18b50315..2f075f4be8f06 100644
--- a/pkgs/development/python-modules/fvs/default.nix
+++ b/pkgs/development/python-modules/fvs/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "fvs";
   version = "0.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/fx2/default.nix b/pkgs/development/python-modules/fx2/default.nix
index a691f3723d5ae..f89334f8f60e8 100644
--- a/pkgs/development/python-modules/fx2/default.nix
+++ b/pkgs/development/python-modules/fx2/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "fx2";
   version = "unstable-2023-09-20";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "whitequark";
diff --git a/pkgs/development/python-modules/fypp/default.nix b/pkgs/development/python-modules/fypp/default.nix
index a75e141361a86..0303f517cad5b 100644
--- a/pkgs/development/python-modules/fypp/default.nix
+++ b/pkgs/development/python-modules/fypp/default.nix
@@ -3,6 +3,7 @@
 buildPythonApplication rec {
   pname = "fypp";
   version = "3.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "aradi";
diff --git a/pkgs/development/python-modules/galois/default.nix b/pkgs/development/python-modules/galois/default.nix
index e6a12ba415df8..2273e6bd6eff1 100644
--- a/pkgs/development/python-modules/galois/default.nix
+++ b/pkgs/development/python-modules/galois/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "galois";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mhostetter";
     repo = "galois";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lt55HUTBmrg0IX9oWUdh5zyxccViKq0X+9bhDEgUZjQ=";
+    hash = "sha256-dWYnD+Byh0orRg20/nhu8ILooFBeHysxQ403boDVqYk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix
index 423cfd34a70f8..90b70e8906c86 100644
--- a/pkgs/development/python-modules/garminconnect/default.nix
+++ b/pkgs/development/python-modules/garminconnect/default.nix
@@ -10,8 +10,8 @@
 
 buildPythonPackage rec {
   pname = "garminconnect";
-  version = "0.2.9";
-  format = "pyproject";
+  version = "0.2.11";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cyberjunky";
     repo = "python-garminconnect";
     rev = "refs/tags/${version}";
-    hash = "sha256-wQWOksI0nfzIMdxgZehMmNytuXWD22GLUNoI7Ki0C3s=";
+    hash = "sha256-T8flktIBRhtXpxd17bqrocncgpIfinMDvVwvaoltZAs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gatt/default.nix b/pkgs/development/python-modules/gatt/default.nix
index 3adaf2d70b820..ae43ba4c52152 100644
--- a/pkgs/development/python-modules/gatt/default.nix
+++ b/pkgs/development/python-modules/gatt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "gatt";
   version = "0.2.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "getsenic";
diff --git a/pkgs/development/python-modules/gb-io/default.nix b/pkgs/development/python-modules/gb-io/default.nix
index 46c98cfc78c82..ab12d42d77c4a 100644
--- a/pkgs/development/python-modules/gb-io/default.nix
+++ b/pkgs/development/python-modules/gb-io/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "gb-io";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "althonos";
diff --git a/pkgs/development/python-modules/gbinder-python/default.nix b/pkgs/development/python-modules/gbinder-python/default.nix
index c481c2be6de4f..6608cf305063a 100644
--- a/pkgs/development/python-modules/gbinder-python/default.nix
+++ b/pkgs/development/python-modules/gbinder-python/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "gbinder-python";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "erfanoabdi";
diff --git a/pkgs/development/python-modules/gbulb/default.nix b/pkgs/development/python-modules/gbulb/default.nix
index 2aa73d10db464..d36d1182f55ff 100644
--- a/pkgs/development/python-modules/gbulb/default.nix
+++ b/pkgs/development/python-modules/gbulb/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "gbulb";
   version = "0.6.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "beeware";
diff --git a/pkgs/development/python-modules/gdata/default.nix b/pkgs/development/python-modules/gdata/default.nix
index 94430d0d94110..bb334d63435b7 100644
--- a/pkgs/development/python-modules/gdata/default.nix
+++ b/pkgs/development/python-modules/gdata/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "gdata";
   version = "2.0.18";
+  format = "setuptools";
 
   src = fetchurl {
     url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gdata-python-client/${pname}-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/geeknote/default.nix b/pkgs/development/python-modules/geeknote/default.nix
index 813adfb0dbf3c..a0ee274beabb5 100644
--- a/pkgs/development/python-modules/geeknote/default.nix
+++ b/pkgs/development/python-modules/geeknote/default.nix
@@ -12,6 +12,7 @@
 
 buildPythonPackage {
   version = "2015-05-11";
+  format = "setuptools";
   pname = "geeknote";
   disabled = ! isPy27;
 
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index 7e1d88cde5085..93ef732273102 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.5.23";
+  version = "0.5.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6Xk7wAF0bZrHriSyDMnPfaPRBiVinHawj3nEqpwbUmo=";
+    hash = "sha256-VQSefwzw4zA9ycO8723kBlMbtrOJxmKgZ8tfXZmtyQc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gemfileparser/default.nix b/pkgs/development/python-modules/gemfileparser/default.nix
index a87073e82a91b..5a6f76d720bc6 100644
--- a/pkgs/development/python-modules/gemfileparser/default.nix
+++ b/pkgs/development/python-modules/gemfileparser/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "gemfileparser";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/genpy/default.nix b/pkgs/development/python-modules/genpy/default.nix
index 7bb7458b0ccc8..d89efc6b4b405 100644
--- a/pkgs/development/python-modules/genpy/default.nix
+++ b/pkgs/development/python-modules/genpy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "genpy";
   version = "2022.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/genzshcomp/default.nix b/pkgs/development/python-modules/genzshcomp/default.nix
index a848eff41a658..b7a2cc1d64a72 100644
--- a/pkgs/development/python-modules/genzshcomp/default.nix
+++ b/pkgs/development/python-modules/genzshcomp/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "genzshcomp";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/geographiclib/default.nix b/pkgs/development/python-modules/geographiclib/default.nix
index fcdf7a015e7a9..d9f7211a820d8 100644
--- a/pkgs/development/python-modules/geographiclib/default.nix
+++ b/pkgs/development/python-modules/geographiclib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "geographiclib";
   version = "2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/geoip/default.nix b/pkgs/development/python-modules/geoip/default.nix
index 0db8cb1e4a98d..f1e84bd8c3be3 100644
--- a/pkgs/development/python-modules/geoip/default.nix
+++ b/pkgs/development/python-modules/geoip/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "geoip";
   version = "1.3.2";
+  format = "setuptools";
 
   nativeCheckInputs = [ nose ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/geometric/default.nix b/pkgs/development/python-modules/geometric/default.nix
index 6d9e33df805b5..0693e209b4571 100644
--- a/pkgs/development/python-modules/geometric/default.nix
+++ b/pkgs/development/python-modules/geometric/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "geometric";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "leeping";
diff --git a/pkgs/development/python-modules/geopy/default.nix b/pkgs/development/python-modules/geopy/default.nix
index 3a25b434c301c..52adbbe07eed2 100644
--- a/pkgs/development/python-modules/geopy/default.nix
+++ b/pkgs/development/python-modules/geopy/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "geopy";
-  version = "2.4.0";
+  version = "2.4.1";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3Sq76DcnoG0Uv/KPF/B3oep0MO96vemKiANjgR7/k/I=";
+    hash = "sha256-mlOXDEtYry1IUAZWrP2FuY/CGliUnCPYLULnLNN0n4Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/georss-generic-client/default.nix b/pkgs/development/python-modules/georss-generic-client/default.nix
index 7e3cb77588937..73cafe77bb901 100644
--- a/pkgs/development/python-modules/georss-generic-client/default.nix
+++ b/pkgs/development/python-modules/georss-generic-client/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "georss-generic-client";
   version = "0.7";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/get-video-properties/default.nix b/pkgs/development/python-modules/get-video-properties/default.nix
index 63b9515cf7919..98fe8e9b1d424 100644
--- a/pkgs/development/python-modules/get-video-properties/default.nix
+++ b/pkgs/development/python-modules/get-video-properties/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "get-video-properties";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mvasilkov";
diff --git a/pkgs/development/python-modules/getkey/default.nix b/pkgs/development/python-modules/getkey/default.nix
index 563ee64644120..a5adb534e3e77 100644
--- a/pkgs/development/python-modules/getkey/default.nix
+++ b/pkgs/development/python-modules/getkey/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "getkey";
   version = "0.6.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/gflanguages/default.nix b/pkgs/development/python-modules/gflanguages/default.nix
new file mode 100644
index 0000000000000..5a4f3d4472903
--- /dev/null
+++ b/pkgs/development/python-modules/gflanguages/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, protobuf
+, setuptools-scm
+, pythonRelaxDepsHook
+, pytestCheckHook
+, uharfbuzz
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "gflanguages";
+  version = "0.5.10";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-JVeI7TlJjbKCa+gGmjylbNiEhX3qmpbLXiH3VpFqgXc=";
+  };
+
+  propagatedBuildInputs = [
+    protobuf
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pythonRelaxDepsHook
+    pytestCheckHook
+    uharfbuzz
+    youseedee
+  ];
+
+  # Relax the dependency on protobuf 3. Other packages in the Google Fonts
+  # ecosystem have begun upgrading from protobuf 3 to protobuf 4,
+  # so we need to use protobuf 4 here as well to avoid a conflict
+  # in the closure of fontbakery. It seems to be compatible enough.
+  pythonRelaxDeps = [ "protobuf" ];
+
+  meta = with lib; {
+    description = "Python library for Google Fonts language metadata";
+    homepage = "https://github.com/googlefonts/lang";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/ghdiff/default.nix b/pkgs/development/python-modules/ghdiff/default.nix
index 213f7fdd30087..67d6d0000140a 100644
--- a/pkgs/development/python-modules/ghdiff/default.nix
+++ b/pkgs/development/python-modules/ghdiff/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "ghdiff";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/gibberish-detector/default.nix b/pkgs/development/python-modules/gibberish-detector/default.nix
index 274e8f9355d33..c1ac1a5148b81 100644
--- a/pkgs/development/python-modules/gibberish-detector/default.nix
+++ b/pkgs/development/python-modules/gibberish-detector/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "gibberish-detector";
   version = "0.1.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/gin-config/default.nix b/pkgs/development/python-modules/gin-config/default.nix
index 1c6c4fabaa37b..1f3105a8a8820 100644
--- a/pkgs/development/python-modules/gin-config/default.nix
+++ b/pkgs/development/python-modules/gin-config/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "gin-config";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/gistyc/default.nix b/pkgs/development/python-modules/gistyc/default.nix
index 51003101abde3..923f2069d052d 100644
--- a/pkgs/development/python-modules/gistyc/default.nix
+++ b/pkgs/development/python-modules/gistyc/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "gistyc";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index 649c2aa2bc512..1279be5e9d3f5 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "git-annex-adapter";
   version = "0.2.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/git-revise/default.nix b/pkgs/development/python-modules/git-revise/default.nix
index 726805edbaf11..5f1879638d1c1 100644
--- a/pkgs/development/python-modules/git-revise/default.nix
+++ b/pkgs/development/python-modules/git-revise/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "git-revise";
   version = "0.7.0";
+  format = "setuptools";
 
   # Missing tests on PyPI
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/github-to-sqlite/default.nix b/pkgs/development/python-modules/github-to-sqlite/default.nix
index ed262841773e2..4b791bb5915f3 100644
--- a/pkgs/development/python-modules/github-to-sqlite/default.nix
+++ b/pkgs/development/python-modules/github-to-sqlite/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "github-to-sqlite";
   version = "2.8.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/github-webhook/default.nix b/pkgs/development/python-modules/github-webhook/default.nix
index 32b86896fdd11..9f05b74a2202a 100644
--- a/pkgs/development/python-modules/github-webhook/default.nix
+++ b/pkgs/development/python-modules/github-webhook/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "github-webhook";
   version = "1.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/githubkit/default.nix b/pkgs/development/python-modules/githubkit/default.nix
new file mode 100644
index 0000000000000..85509528bf35b
--- /dev/null
+++ b/pkgs/development/python-modules/githubkit/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, httpx
+, pydantic
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "githubkit";
+  version = "0.10.7";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-sKikL+761mBP7j+qugHKDQ0hVXT51FV8FYbB3ZJtweA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+    pydantic
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "githubkit" ];
+
+  meta = {
+    description = "GitHub SDK for Python";
+    homepage = "https://github.com/yanyongyu/githubkit";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/development/python-modules/glad/default.nix b/pkgs/development/python-modules/glad/default.nix
index ba738b3572124..889012b648ab9 100644
--- a/pkgs/development/python-modules/glad/default.nix
+++ b/pkgs/development/python-modules/glad/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "glad";
   version = "0.1.36";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/glcontext/default.nix b/pkgs/development/python-modules/glcontext/default.nix
index b74775a321970..4014de18e12b5 100644
--- a/pkgs/development/python-modules/glcontext/default.nix
+++ b/pkgs/development/python-modules/glcontext/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "glcontext";
   version = "2.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "moderngl";
diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix
index 7ab2855d8d730..d85a0771a8093 100644
--- a/pkgs/development/python-modules/glean-parser/default.nix
+++ b/pkgs/development/python-modules/glean-parser/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "glean-parser";
-  version = "9.0.0";
+  version = "10.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "glean_parser";
     inherit version;
-    hash = "sha256-dwBKds89CaanZA4b5I6u01Q2s23joQp5SOCjdTXn/Xc=";
+    hash = "sha256-1XNZYp0pX57lcAaKKEaWaJLj/ttyIlnsvNjMN20pm1E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/glean-sdk/default.nix b/pkgs/development/python-modules/glean-sdk/default.nix
index 22ac0e96ea9a3..54ea8c5f8ce0f 100644
--- a/pkgs/development/python-modules/glean-sdk/default.nix
+++ b/pkgs/development/python-modules/glean-sdk/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "glean-sdk";
   version = "52.7.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/glfw/default.nix b/pkgs/development/python-modules/glfw/default.nix
index db9f369a3497a..d39daf9e9dc26 100644
--- a/pkgs/development/python-modules/glfw/default.nix
+++ b/pkgs/development/python-modules/glfw/default.nix
@@ -20,10 +20,8 @@ buildPythonPackage rec {
   };
 
   # Patch path to GLFW shared object
-  patches = [ ./search-path.patch ];
-
   postPatch = ''
-    substituteInPlace glfw/library.py --replace "@GLFW@" '${glfw3}/lib'
+    substituteInPlace glfw/library.py --replace "_get_library_search_paths()," "[ '${glfw3}/lib' ],"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/glfw/search-path.patch b/pkgs/development/python-modules/glfw/search-path.patch
deleted file mode 100644
index 0c4a42ceb3621..0000000000000
--- a/pkgs/development/python-modules/glfw/search-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/glfw/library.py b/glfw/library.py
-index 20387e1..9bdd62a 100644
---- a/glfw/library.py
-+++ b/glfw/library.py
-@@ -189,5 +189,4 @@ elif sys.platform == 'win32':
-         except OSError:
-             pass
- else:
--    glfw = _load_library(['glfw', 'glfw3'], ['.so', '.dylib'],
--                          _get_library_search_paths(), _glfw_get_version)
-+    glfw = _load_library(['glfw', 'glfw3'], ['.so', '.dylib'], ['@GLFW@'], _glfw_get_version)
diff --git a/pkgs/development/python-modules/glob2/default.nix b/pkgs/development/python-modules/glob2/default.nix
index 83d6aa13cfa2b..5d75da953ed59 100644
--- a/pkgs/development/python-modules/glob2/default.nix
+++ b/pkgs/development/python-modules/glob2/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "glob2";
   version = "0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/globre/default.nix b/pkgs/development/python-modules/globre/default.nix
index c7c77b35c342a..a270a2b4c430c 100644
--- a/pkgs/development/python-modules/globre/default.nix
+++ b/pkgs/development/python-modules/globre/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "globre";
   version = "0.1.5";
+  format = "setuptools";
   # https://github.com/metagriffin/globre/issues/7
   disabled = pythonAtLeast "3.7";
 
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index f497821e07d63..6ad0646401a08 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.31.0";
+  version = "3.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-MJW0B3AXDYSVgNkv8iBA2+pOKrlI7pZeJfunMMxABx8=";
+    hash = "sha256-otf1A8onfi6u3Vv7IxBtziLEy2UqVeJxw1u+XIfSchA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/glom/default.nix b/pkgs/development/python-modules/glom/default.nix
index 35d0b36a1bb18..05c6110ae7c9a 100644
--- a/pkgs/development/python-modules/glom/default.nix
+++ b/pkgs/development/python-modules/glom/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "glom";
-  version = "23.3.0";
+  version = "23.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AxaZKA+kZmBI5D0uq2i+EET/zUh6t0rLeS3i7rC8JRU=";
+    hash = "sha256-Bq9eNIaqzFk4K6NOU+vqvXqTRdePfby+4m8DuqS4O6w=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/glueviz/default.nix b/pkgs/development/python-modules/glueviz/default.nix
index 2d0e927c1acc4..a972c9310de68 100644
--- a/pkgs/development/python-modules/glueviz/default.nix
+++ b/pkgs/development/python-modules/glueviz/default.nix
@@ -30,6 +30,7 @@
 buildPythonPackage rec {
   pname = "glueviz";
   version = "1.16.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch b/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch
new file mode 100644
index 0000000000000..96a4047c5cedf
--- /dev/null
+++ b/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch
@@ -0,0 +1,22 @@
+From de2e02a41b11a708d58dfd1e24d335b8882dd7bd Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 12:15:47 +1000
+Subject: [PATCH] relax setuptools-scm dep
+
+
+diff --git a/setup.py b/setup.py
+index 2c122a7..42f9b61 100644
+--- a/setup.py
++++ b/setup.py
+@@ -55,7 +55,7 @@
+         'Programming Language :: Python :: 3'
+     ],
+     python_requires=">=3.7",
+-    setup_requires=['setuptools_scm>=4,<6.1'],
++    setup_requires=['setuptools_scm'],
+     install_requires=[
+         'setuptools',
+         'FontTools[ufo]',
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/glyphsets/default.nix b/pkgs/development/python-modules/glyphsets/default.nix
new file mode 100644
index 0000000000000..d154f3e3b3f66
--- /dev/null
+++ b/pkgs/development/python-modules/glyphsets/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, defcon
+, fonttools
+, glyphslib
+, pytestCheckHook
+, setuptools
+, setuptools-scm
+, unicodedata2
+}:
+
+buildPythonPackage rec {
+  pname = "glyphsets";
+  version = "0.6.5";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Zp4VLJ9h6lkz7KOM7LWKAj7UX1KziLobzeT9Dosv5UU=";
+  };
+
+  patches = [
+    # Upstream has a needlessly strict version range for setuptools_scm, our
+    # setuptools-scm is newer. We can't use pythonRelaxDepsHook for this
+    # because it's in setup_requires which means we'll fail the requirement
+    # before pythonRelaxDepsHook can run.
+    ./0001-relax-setuptools-scm-dep.patch
+  ];
+
+  propagatedBuildInputs = [
+    defcon
+    fonttools
+    glyphslib
+    setuptools
+    unicodedata2
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  preCheck = ''
+    export PATH="$out/bin:$PATH"
+  '';
+
+  meta = with lib; {
+    description = "Google Fonts glyph set metadata";
+    homepage = "https://github.com/googlefonts/glyphsets";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
index 2a0276a3c7e3a..65cbc5b3b2059 100644
--- a/pkgs/development/python-modules/glyphslib/default.nix
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "glyphslib";
-  version = "6.4.1";
+  version = "6.6.0";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "googlefonts";
     repo = "glyphsLib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pDFPn1KDiZ5yw1UzPgi0+Syv3h606bsOOzLbdOiag8s=";
+    hash = "sha256-2Y7JhaZJXKERQXEI9cDCx7m95El6AicU0t+X3Gntbxk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/glyphtools/default.nix b/pkgs/development/python-modules/glyphtools/default.nix
new file mode 100644
index 0000000000000..0f1f2066c02b4
--- /dev/null
+++ b/pkgs/development/python-modules/glyphtools/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, beziers
+, glyphslib
+, numpy
+, setuptoolsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "glyphtools";
+  version = "0.8.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-PXwXHWMJbsi6ZtN+daaXAnlw3gV5DFAhyRxdBa7UP+M=";
+  };
+
+  propagatedBuildInputs = [
+    beziers
+    glyphslib
+    numpy
+  ];
+
+  # A unit test suite does exist, but it only contains a dummy test that
+  # doesn't test anything. It does import the module though so we still run it.
+  doCheck = true;
+  nativeCheckInputs = [
+    # Upstream apparently prefers the deprecated setuptools 'test' command.
+    setuptoolsCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library for extracting information from font glyphs";
+    homepage = "https://github.com/simoncozens/glyphtools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gmpy/default.nix b/pkgs/development/python-modules/gmpy/default.nix
index 9a2957fa23d76..072ef985dc01c 100644
--- a/pkgs/development/python-modules/gmpy/default.nix
+++ b/pkgs/development/python-modules/gmpy/default.nix
@@ -3,6 +3,7 @@
 let
   pname = "gmpy";
   version = "1.17";
+  format = "setuptools";
 in
 
 buildPythonPackage {
diff --git a/pkgs/development/python-modules/gmpy2/default.nix b/pkgs/development/python-modules/gmpy2/default.nix
index 6f5d7be0021df..b5a602d4f222f 100644
--- a/pkgs/development/python-modules/gmpy2/default.nix
+++ b/pkgs/development/python-modules/gmpy2/default.nix
@@ -10,6 +10,7 @@
 let
   pname = "gmpy2";
   version = "2.1.2";
+  format = "setuptools";
 in
 
 buildPythonPackage {
diff --git a/pkgs/development/python-modules/gntp/default.nix b/pkgs/development/python-modules/gntp/default.nix
index 364a59732e11f..c334ebe5ce377 100644
--- a/pkgs/development/python-modules/gntp/default.nix
+++ b/pkgs/development/python-modules/gntp/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "gntp";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/gnureadline/default.nix b/pkgs/development/python-modules/gnureadline/default.nix
index e2d853c32bf6e..c3a2434eeea68 100644
--- a/pkgs/development/python-modules/gnureadline/default.nix
+++ b/pkgs/development/python-modules/gnureadline/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "8.1.2";
+  format = "setuptools";
   pname = "gnureadline";
   disabled = isPyPy;
 
diff --git a/pkgs/development/python-modules/gocardless-pro/default.nix b/pkgs/development/python-modules/gocardless-pro/default.nix
index 4e5e919323ad8..04f97a879f8a4 100644
--- a/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "1.48.0";
+  version = "1.49.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-9229lwCtVu4Pfru6e9JdbP3KUUYojBLuNQ+volP6OX0=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-jhZfbJLf/gMXfErVbO2erBxgULmKyp1C0+t0k1d0o54=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index c430d23c32f6b..94b608e4264d2 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.20.0";
+  version = "3.20.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lJLC1igiY0OYLu3eyuOvJ2KmFr9n4su8T7LPgWlUtCk=";
+    hash = "sha256-Q6PcdzQ4iCB/dM0YKCUMdfZ1e6oEfG6d40gsUfMLhOQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
index ce91fa6c6c058..cbda1f2f254e9 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-storage";
-  version = "2.22.0";
+  version = "2.23.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9tjHs6ubV0xml3/O6dM24zStGjhDpyK+GRI2QOeAjqM=";
+    hash = "sha256-hJbG0wV177IkwYlAVm+awAbTsSCudZACkYaXw0B5l+Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index c955aafda5017..76ee8d8fa4b26 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.33.0";
+  version = "2.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dpJmSe7NjmmDqd0GrLxm1e/VFvo64+ECNRVwuRpjrmI=";
+    hash = "sha256-d8ASZS2Zp6d/0d4t52w/ZGLXXQdTkUZrA0DGWKCamZY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index 81a5bb08599c4..c7c79ef0af87d 100644
--- a/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "5.6.0";
+  version = "5.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-X6nfuIQzwtDBOLfrtq3hdBA743YszQObJNU8dEjjdg0=";
+    hash = "sha256-CGIpoPmHRIu5ICnhZiEqzvhdTo5dlPKCKt0hs4K/HAQ=";
   };
 
   propagatedBuildInputs = [
@@ -50,7 +50,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Google Cloud Dataproc API client library";
-    homepage = "https://github.com/googleapis/python-dataproc";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-dataproc";
     changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-dataproc-v${version}/packages/google-cloud-dataproc/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix b/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
index 67d050c2e722d..781218fa7a206 100644
--- a/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
+++ b/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-runtimeconfig";
-  version = "0.33.2";
+  version = "0.33.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MPmyvm2FSrUzb1y5i4xl5Cqea6sxixLoZ7V1hxNi7hw=";
+    hash = "sha256-4sv5wua03gLd9YqwdD8P/VaKv4LcacB42fK5hUAt2vQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-crc32c/default.nix b/pkgs/development/python-modules/google-crc32c/default.nix
index b1dc31da87336..38c6eea798fa5 100644
--- a/pkgs/development/python-modules/google-crc32c/default.nix
+++ b/pkgs/development/python-modules/google-crc32c/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "google-crc32c";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "googleapis";
diff --git a/pkgs/development/python-modules/google-pasta/default.nix b/pkgs/development/python-modules/google-pasta/default.nix
index 608ab9ccd1bc6..912b444541ad9 100644
--- a/pkgs/development/python-modules/google-pasta/default.nix
+++ b/pkgs/development/python-modules/google-pasta/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "google-pasta";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/googleapis-common-protos/default.nix b/pkgs/development/python-modules/googleapis-common-protos/default.nix
index 64dc4d2c71822..60233f91fbbcb 100644
--- a/pkgs/development/python-modules/googleapis-common-protos/default.nix
+++ b/pkgs/development/python-modules/googleapis-common-protos/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
   version = "1.60.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/googletrans/default.nix b/pkgs/development/python-modules/googletrans/default.nix
index 32b839ab11c22..d1dd1de8e82f6 100644
--- a/pkgs/development/python-modules/googletrans/default.nix
+++ b/pkgs/development/python-modules/googletrans/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "googletrans";
   version = "2.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ssut";
diff --git a/pkgs/development/python-modules/gorilla/default.nix b/pkgs/development/python-modules/gorilla/default.nix
index 22e71df324514..3603e1961e1da 100644
--- a/pkgs/development/python-modules/gorilla/default.nix
+++ b/pkgs/development/python-modules/gorilla/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "gorilla";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/govee-led-wez/default.nix b/pkgs/development/python-modules/govee-led-wez/default.nix
new file mode 100644
index 0000000000000..727be405b2163
--- /dev/null
+++ b/pkgs/development/python-modules/govee-led-wez/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, aiohttp
+, bleak
+, bleak-retry-connector
+, buildPythonPackage
+, certifi
+, fetchFromGitHub
+, hatchling
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage {
+  pname = "govee-led-wez";
+  version = "0.0.15";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "wez";
+    repo = "govee-py";
+    # https://github.com/wez/govee-py/issues/2
+    rev = "931273e3689838613d63bc1bcc65ee744fa999f4";
+    hash = "sha256-VMH7sot9e2SYMyBNutyW6oCCjp2N+EKukxn1Dla3AlY=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    bleak
+    bleak-retry-connector
+    certifi
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "govee_led_wez"
+  ];
+
+  meta = with lib; {
+    description = "Control Govee Lights from Python";
+    homepage = "https://github.com/wez/govee-py";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
index 6c2454dbbfeb5..307e8dfb63b80 100644
--- a/pkgs/development/python-modules/gpapi/default.nix
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "0.4.4";
+  format = "setuptools";
   pname = "gpapi";
   disabled = pythonOlder "3.3"; # uses shutil.which(), added in 3.3
 
diff --git a/pkgs/development/python-modules/gpaw/default.nix b/pkgs/development/python-modules/gpaw/default.nix
index e359c78c66f86..e415c192511cf 100644
--- a/pkgs/development/python-modules/gpaw/default.nix
+++ b/pkgs/development/python-modules/gpaw/default.nix
@@ -75,6 +75,7 @@ let
 in buildPythonPackage rec {
   pname = "gpaw";
   version = "23.9.1";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "gpaw";
diff --git a/pkgs/development/python-modules/gps3/default.nix b/pkgs/development/python-modules/gps3/default.nix
index 95e1c136031e1..4d4182063b404 100644
--- a/pkgs/development/python-modules/gps3/default.nix
+++ b/pkgs/development/python-modules/gps3/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "gps3";
   version = "unstable-2017-11-01";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wadda";
diff --git a/pkgs/development/python-modules/gpsoauth/default.nix b/pkgs/development/python-modules/gpsoauth/default.nix
index 3a1707a4676fc..80b8350410f1d 100644
--- a/pkgs/development/python-modules/gpsoauth/default.nix
+++ b/pkgs/development/python-modules/gpsoauth/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "1.0.2";
+  format = "setuptools";
   pname = "gpsoauth";
 
   disabled = pythonOlder "3.8";
diff --git a/pkgs/development/python-modules/gpt-2-simple/default.nix b/pkgs/development/python-modules/gpt-2-simple/default.nix
index f627ead49d0a5..aae6dfbfbc400 100644
--- a/pkgs/development/python-modules/gpt-2-simple/default.nix
+++ b/pkgs/development/python-modules/gpt-2-simple/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "gpt-2-simple";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "minimaxir";
diff --git a/pkgs/development/python-modules/gptcache/default.nix b/pkgs/development/python-modules/gptcache/default.nix
index ea2c09eed4a3e..ce04d7df22737 100644
--- a/pkgs/development/python-modules/gptcache/default.nix
+++ b/pkgs/development/python-modules/gptcache/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "gptcache";
-  version = "0.1.42";
+  version = "0.1.43";
   format = "setuptools";
 
   disabled = pythonOlder "3.8.1";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "zilliztech";
     repo = "GPTCache";
     rev = "refs/tags/${version}";
-    hash = "sha256-rrPs5ZwBooltVcvrs4AHObx69xmZ8F+IP/lJGPVTNXY=";
+    hash = "sha256-EDsHzl55j4sehbKk0/be+WOl83f1/7zPLvPyzKnTBP4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gpxpy/default.nix b/pkgs/development/python-modules/gpxpy/default.nix
index 96c969c520bf2..17632c72a3971 100644
--- a/pkgs/development/python-modules/gpxpy/default.nix
+++ b/pkgs/development/python-modules/gpxpy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "gpxpy";
   version = "1.5.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/grammalecte/default.nix b/pkgs/development/python-modules/grammalecte/default.nix
index 9aa3c4ffd0317..395f97a62d370 100644
--- a/pkgs/development/python-modules/grammalecte/default.nix
+++ b/pkgs/development/python-modules/grammalecte/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "grammalecte";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchurl {
     url = "https://grammalecte.net/grammalecte/zip/Grammalecte-fr-v${version}.zip";
diff --git a/pkgs/development/python-modules/graphql-server-core/default.nix b/pkgs/development/python-modules/graphql-server-core/default.nix
index 16217cd23a516..a098f9c85e704 100644
--- a/pkgs/development/python-modules/graphql-server-core/default.nix
+++ b/pkgs/development/python-modules/graphql-server-core/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "graphql-server-core";
   version = "2.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/graphqlclient/default.nix b/pkgs/development/python-modules/graphqlclient/default.nix
index 2f09897d4f57a..81bdddf00ee41 100644
--- a/pkgs/development/python-modules/graphqlclient/default.nix
+++ b/pkgs/development/python-modules/graphqlclient/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "graphqlclient";
   version = "0.2.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/graphtage/default.nix b/pkgs/development/python-modules/graphtage/default.nix
index 8b5e27a241348..fa5026a52a2ee 100644
--- a/pkgs/development/python-modules/graphtage/default.nix
+++ b/pkgs/development/python-modules/graphtage/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "graphtage";
   version = "0.3.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index e83a90729f2cc..6af54cbb6d6da 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "graphviz";
   version = "0.20.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/graspologic/default.nix b/pkgs/development/python-modules/graspologic/default.nix
index afc5b2edad2e8..513a60bd432e9 100644
--- a/pkgs/development/python-modules/graspologic/default.nix
+++ b/pkgs/development/python-modules/graspologic/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "graspologic";
   version = "3.2.0";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/grequests/default.nix b/pkgs/development/python-modules/grequests/default.nix
index e1dfe77d577e7..40ff7ab61d413 100644
--- a/pkgs/development/python-modules/grequests/default.nix
+++ b/pkgs/development/python-modules/grequests/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "grequests";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index 63d985326efcf..98c9b5bf302fc 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.38.0";
+  version = "0.38.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GhohFO5tHb9ByISPUf4U2MrDATE4WjuekcC9QZaP2Ls=";
+    hash = "sha256-j0j13bJtHlPc00pjmfpg/QJKzYQQcyA+jE7q538Uu08=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/grip/default.nix b/pkgs/development/python-modules/grip/default.nix
index ef1ad0512c951..0236886af98dd 100644
--- a/pkgs/development/python-modules/grip/default.nix
+++ b/pkgs/development/python-modules/grip/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "grip";
   version = "4.6.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joeyespo";
diff --git a/pkgs/development/python-modules/grpc-google-iam-v1/default.nix b/pkgs/development/python-modules/grpc-google-iam-v1/default.nix
index f5a25339def2f..96be86458422a 100644
--- a/pkgs/development/python-modules/grpc-google-iam-v1/default.nix
+++ b/pkgs/development/python-modules/grpc-google-iam-v1/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "grpc-google-iam-v1";
   version = "0.12.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix
index f827c85081220..1063dfdb5d9dd 100644
--- a/pkgs/development/python-modules/grpcio-channelz/default.nix
+++ b/pkgs/development/python-modules/grpcio-channelz/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-channelz";
-  version = "1.59.2";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-apOnMd8EDU+ocj6fL/dkl3tqh6en/Q8H9K/lgvkqFN8=";
+    hash = "sha256-R2rk/4yQ0ldy6yZeauVtEpmmF0Jnx61NMw98y3D5kq4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-gcp/default.nix b/pkgs/development/python-modules/grpcio-gcp/default.nix
index c45423ed95e03..60706fba8ee68 100644
--- a/pkgs/development/python-modules/grpcio-gcp/default.nix
+++ b/pkgs/development/python-modules/grpcio-gcp/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "grpcio-gcp";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/grpcio-health-checking/default.nix b/pkgs/development/python-modules/grpcio-health-checking/default.nix
index 4c028e4ec71c1..f758a8bf25046 100644
--- a/pkgs/development/python-modules/grpcio-health-checking/default.nix
+++ b/pkgs/development/python-modules/grpcio-health-checking/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-health-checking";
-  version = "1.59.0";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4CIcpupsITlhQXmAi4+LMjA30LG977D8TN2agUmZVx4=";
+    hash = "sha256-AVAXzkFk/H3Ogdo6FxiksxUyMOSBss3r85JGi2E/B2Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-reflection/default.nix b/pkgs/development/python-modules/grpcio-reflection/default.nix
index cd0506870a27f..7ed24e849ccdf 100644
--- a/pkgs/development/python-modules/grpcio-reflection/default.nix
+++ b/pkgs/development/python-modules/grpcio-reflection/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-reflection";
-  version = "1.59.2";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l5bcvFnc+59tVGXVnn+mKld3o+TVqolPRIVciWpG+os=";
+    hash = "sha256-VAPFpzjG7sS7QIDad+RQMS2s5BqG4pKsN8/QB7JlfU4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/grpclib/default.nix b/pkgs/development/python-modules/grpclib/default.nix
index 11692e59ef236..be31ef9c78c01 100644
--- a/pkgs/development/python-modules/grpclib/default.nix
+++ b/pkgs/development/python-modules/grpclib/default.nix
@@ -14,6 +14,7 @@
 let
   pname = "grpclib";
   version = "0.4.4";
+  format = "setuptools";
 in
 buildPythonPackage {
   inherit pname version;
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
index f71690c877e22..0e56dd26cb8d4 100644
--- a/pkgs/development/python-modules/gspread/default.nix
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gspread";
-  version = "5.12.0";
+  version = "5.12.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "burnash";
     repo = "gspread";
     rev = "refs/tags/v${version}";
-    hash = "sha256-v6kpje5rw3/OfcoMWdSCZdkmETyIJ08cly8lLUt9j64=";
+    hash = "sha256-cuSR5QWURHSL1o2R4rc/m3KETz3X+78TC8LuuzZghbs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index 56b79e8c08b61..8ca5f8ebc6f7c 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "gssapi";
   version = "1.8.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix
index 0d00eaa22dd2f..6d6accc642a8b 100644
--- a/pkgs/development/python-modules/gtimelog/default.nix
+++ b/pkgs/development/python-modules/gtimelog/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "gtimelog";
   version = "unstable-2020-05-16";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/gtts-token/default.nix b/pkgs/development/python-modules/gtts-token/default.nix
index 7785a449d4e89..da46799ec7809 100644
--- a/pkgs/development/python-modules/gtts-token/default.nix
+++ b/pkgs/development/python-modules/gtts-token/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "gtts-token";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "boudewijn26";
diff --git a/pkgs/development/python-modules/gudhi/default.nix b/pkgs/development/python-modules/gudhi/default.nix
index 1e0932e62867d..c58872ca5bdda 100644
--- a/pkgs/development/python-modules/gudhi/default.nix
+++ b/pkgs/development/python-modules/gudhi/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "gudhi";
   version = "3.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "GUDHI";
diff --git a/pkgs/development/python-modules/guestfs/default.nix b/pkgs/development/python-modules/guestfs/default.nix
index 68401e9ea4d97..ddc456171eb4b 100644
--- a/pkgs/development/python-modules/guestfs/default.nix
+++ b/pkgs/development/python-modules/guestfs/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "guestfs";
   version = "1.40.1";
+  format = "setuptools";
 
   src = fetchurl {
     url = "http://download.libguestfs.org/python/guestfs-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/guppy3/default.nix b/pkgs/development/python-modules/guppy3/default.nix
index 65d7c2622a8ef..80b4a19019a32 100644
--- a/pkgs/development/python-modules/guppy3/default.nix
+++ b/pkgs/development/python-modules/guppy3/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "guppy3";
   version = "3.1.4";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/gym-notices/default.nix b/pkgs/development/python-modules/gym-notices/default.nix
index 6c6d97a459aca..5b48ea524347d 100644
--- a/pkgs/development/python-modules/gym-notices/default.nix
+++ b/pkgs/development/python-modules/gym-notices/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "gym-notices";
   version = "0.0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 56bbe2b9e80b8..e7d4c9f4a4119 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "gym";
   version = "0.26.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openai";
diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix
index 385f28b4615ad..81726be3ca6cf 100644
--- a/pkgs/development/python-modules/gyp/default.nix
+++ b/pkgs/development/python-modules/gyp/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "gyp";
   version = "unstable-2022-04-01";
+  format = "setuptools";
 
   src = fetchFromGitiles {
     url = "https://chromium.googlesource.com/external/gyp";
diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix
index 872ef1ab4358c..a03c7b0ea4778 100644
--- a/pkgs/development/python-modules/h11/default.nix
+++ b/pkgs/development/python-modules/h11/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "h11";
   version = "0.14.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix
index eb9af29bbb0c9..f512d7c08cc5d 100644
--- a/pkgs/development/python-modules/h3/default.nix
+++ b/pkgs/development/python-modules/h3/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "h3";
   version = "3.7.6";
+  format = "setuptools";
 
   # pypi version does not include tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/habitipy/default.nix b/pkgs/development/python-modules/habitipy/default.nix
index db4e84d136155..7462624b93d40 100644
--- a/pkgs/development/python-modules/habitipy/default.nix
+++ b/pkgs/development/python-modules/habitipy/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "habitipy";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ASMfreaK";
diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix
new file mode 100644
index 0000000000000..237379c600fb7
--- /dev/null
+++ b/pkgs/development/python-modules/habluetooth/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, poetry-core
+, setuptools
+, wheel
+, bleak
+, pytestCheckHook
+, bleak-retry-connector
+, bluetooth-adapters
+, bluetooth-auto-recovery
+, bluetooth-data-tools
+, home-assistant-bluetooth
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "habluetooth";
+  version = "0.9.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Bluetooth-Devices";
+    repo = "habluetooth";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jAv3ygKsd2leHTR6FAIxaq+PtQbjauzyA+wvxTfTe2g=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=habluetooth --cov-report=term-missing:skip-covered" ""
+  '';
+
+  nativeBuildInputs = [
+    cython
+    poetry-core
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    bleak
+    bleak-retry-connector
+    bluetooth-adapters
+    bluetooth-auto-recovery
+    bluetooth-data-tools
+    home-assistant-bluetooth
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "habluetooth"
+  ];
+
+  meta = with lib; {
+    description = "Library for high availability Bluetooth";
+    homepage = "https://github.com/Bluetooth-Devices/habluetooth";
+    changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/hacking/default.nix b/pkgs/development/python-modules/hacking/default.nix
index bd92a27122282..5a01f5246f85b 100644
--- a/pkgs/development/python-modules/hacking/default.nix
+++ b/pkgs/development/python-modules/hacking/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "hacking";
   version = "6.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/halo/default.nix b/pkgs/development/python-modules/halo/default.nix
index bd1d5f7263637..cc1d3022fcb83 100644
--- a/pkgs/development/python-modules/halo/default.nix
+++ b/pkgs/development/python-modules/halo/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "halo";
   version = "0.0.31";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/handout/default.nix b/pkgs/development/python-modules/handout/default.nix
index 316c9a6edcac4..b42a8f018a302 100644
--- a/pkgs/development/python-modules/handout/default.nix
+++ b/pkgs/development/python-modules/handout/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "handout";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hawkauthlib/default.nix b/pkgs/development/python-modules/hawkauthlib/default.nix
index 7afb4eefa060e..9df850b788297 100644
--- a/pkgs/development/python-modules/hawkauthlib/default.nix
+++ b/pkgs/development/python-modules/hawkauthlib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hawkauthlib";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mozilla-services";
diff --git a/pkgs/development/python-modules/hcs_utils/default.nix b/pkgs/development/python-modules/hcs_utils/default.nix
index 4e6931f0e339f..5deb7c35acdeb 100644
--- a/pkgs/development/python-modules/hcs_utils/default.nix
+++ b/pkgs/development/python-modules/hcs_utils/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "hcs_utils";
   version = "2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix
index 50218663c43bf..0c6acf729f692 100644
--- a/pkgs/development/python-modules/hdbscan/default.nix
+++ b/pkgs/development/python-modules/hdbscan/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "hdbscan";
   version = "0.8.33";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hdfs/default.nix b/pkgs/development/python-modules/hdfs/default.nix
index 9b9268c13eac9..2217ee5567cfc 100644
--- a/pkgs/development/python-modules/hdfs/default.nix
+++ b/pkgs/development/python-modules/hdfs/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "hdfs";
   version = "2.7.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mtth";
diff --git a/pkgs/development/python-modules/hdmedians/default.nix b/pkgs/development/python-modules/hdmedians/default.nix
index 59ca3e5b61172..f2342aebfe011 100644
--- a/pkgs/development/python-modules/hdmedians/default.nix
+++ b/pkgs/development/python-modules/hdmedians/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.14.2";
+  format = "setuptools";
   pname = "hdmedians";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/helpdev/default.nix b/pkgs/development/python-modules/helpdev/default.nix
index 34b4d6974478c..b03b3320153ca 100644
--- a/pkgs/development/python-modules/helpdev/default.nix
+++ b/pkgs/development/python-modules/helpdev/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "helpdev";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/helper/default.nix b/pkgs/development/python-modules/helper/default.nix
index d1e38dfbab9e0..7d55d498d5d47 100644
--- a/pkgs/development/python-modules/helper/default.nix
+++ b/pkgs/development/python-modules/helper/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "helper";
   version = "2.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gmr";
diff --git a/pkgs/development/python-modules/hetzner/default.nix b/pkgs/development/python-modules/hetzner/default.nix
index 4264183e5f531..ea29c27563d84 100644
--- a/pkgs/development/python-modules/hetzner/default.nix
+++ b/pkgs/development/python-modules/hetzner/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "hetzner";
   version = "0.8.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "hetzner";
diff --git a/pkgs/development/python-modules/hexdump/default.nix b/pkgs/development/python-modules/hexdump/default.nix
index c00d7d5b4680b..7ebf919038b25 100644
--- a/pkgs/development/python-modules/hexdump/default.nix
+++ b/pkgs/development/python-modules/hexdump/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "hexdump";
   version = "3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hfst/default.nix b/pkgs/development/python-modules/hfst/default.nix
index b865c4c84d63b..8b720c12a9a94 100644
--- a/pkgs/development/python-modules/hfst/default.nix
+++ b/pkgs/development/python-modules/hfst/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage rec {
   pname = "hfst";
+  format = "setuptools";
   inherit (pkgs.hfst) version src;
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/hg-evolve/default.nix b/pkgs/development/python-modules/hg-evolve/default.nix
index cfb79f88b72ae..a9d5fb12596e2 100644
--- a/pkgs/development/python-modules/hg-evolve/default.nix
+++ b/pkgs/development/python-modules/hg-evolve/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "hg-evolve";
   version = "11.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index 26f04edbc0242..e2b8420911539 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WoQOh6cKFcnB4GGWvD7VlV53LxHpsYA+iMDJ9VrwNBY=";
+    hash = "sha256-HuFwRW/SuGrzMX9bttdqztFRB19dZZNF5Y8+e9gAQWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hid/default.nix b/pkgs/development/python-modules/hid/default.nix
index eeade4606c8bd..c87d63feb1bb4 100644
--- a/pkgs/development/python-modules/hid/default.nix
+++ b/pkgs/development/python-modules/hid/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hid";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hidapi/default.nix b/pkgs/development/python-modules/hidapi/default.nix
index 6805afc7c77c4..9b4e76186f262 100644
--- a/pkgs/development/python-modules/hidapi/default.nix
+++ b/pkgs/development/python-modules/hidapi/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "hidapi";
   version = "0.14.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hieroglyph/default.nix b/pkgs/development/python-modules/hieroglyph/default.nix
index d7fa9af5efaef..d2f3168a76a1d 100644
--- a/pkgs/development/python-modules/hieroglyph/default.nix
+++ b/pkgs/development/python-modules/hieroglyph/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "hieroglyph";
   version = "2.1.0";
+  format = "setuptools";
   disabled = isPy27; # python2 compatible sphinx is too low
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/hikvision/default.nix b/pkgs/development/python-modules/hikvision/default.nix
index 07224c6274215..23f6387853a82 100644
--- a/pkgs/development/python-modules/hikvision/default.nix
+++ b/pkgs/development/python-modules/hikvision/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hikvision";
   version = "2.0.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fbradyirl";
diff --git a/pkgs/development/python-modules/hiro/default.nix b/pkgs/development/python-modules/hiro/default.nix
index 9eefc61dbfb99..2656c13274ba4 100644
--- a/pkgs/development/python-modules/hiro/default.nix
+++ b/pkgs/development/python-modules/hiro/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "hiro";
   version = "1.1.1";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
 
diff --git a/pkgs/development/python-modules/hiyapyco/default.nix b/pkgs/development/python-modules/hiyapyco/default.nix
index fa55f03d46698..72b206e297c8f 100644
--- a/pkgs/development/python-modules/hiyapyco/default.nix
+++ b/pkgs/development/python-modules/hiyapyco/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hiyapyco";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zerwes";
diff --git a/pkgs/development/python-modules/hjson/default.nix b/pkgs/development/python-modules/hjson/default.nix
index cd48fcd6187e3..b43d51afaa4e8 100644
--- a/pkgs/development/python-modules/hjson/default.nix
+++ b/pkgs/development/python-modules/hjson/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "hjson";
   version = "3.0.2";
+  format = "setuptools";
 
   # N.B. pypi src tarball does not have tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/hkdf/default.nix b/pkgs/development/python-modules/hkdf/default.nix
index c972104f2c3d4..e82489fd12fd0 100644
--- a/pkgs/development/python-modules/hkdf/default.nix
+++ b/pkgs/development/python-modules/hkdf/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "hkdf";
   version = "0.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hlk-sw16/default.nix b/pkgs/development/python-modules/hlk-sw16/default.nix
index d013664ad25fb..0674829a7af6e 100644
--- a/pkgs/development/python-modules/hlk-sw16/default.nix
+++ b/pkgs/development/python-modules/hlk-sw16/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "hlk-sw16";
   version = "0.0.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jameshilliard";
diff --git a/pkgs/development/python-modules/hocr-tools/default.nix b/pkgs/development/python-modules/hocr-tools/default.nix
index cfbf63a5869d0..d5886a8893db6 100644
--- a/pkgs/development/python-modules/hocr-tools/default.nix
+++ b/pkgs/development/python-modules/hocr-tools/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hocr-tools";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tmbdev";
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 47f30ce2fc208..132d01fa355cd 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.18.0";
+  version = "1.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-urcpYat6GHlNsmk1HZBVI/Kq3K1ZOzIVEpJ86T3J35E=";
+    hash = "sha256-gFxzU65S6XdT5/BmiwUaCGQQ4tLBPI/ilOu0zdArIyQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/homepluscontrol/default.nix b/pkgs/development/python-modules/homepluscontrol/default.nix
index dfb255661eb99..1e33118b191e7 100644
--- a/pkgs/development/python-modules/homepluscontrol/default.nix
+++ b/pkgs/development/python-modules/homepluscontrol/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "homepluscontrol";
   version = "0.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/hopcroftkarp/default.nix b/pkgs/development/python-modules/hopcroftkarp/default.nix
index ae09ccfdf9f2f..9386bdd861fc2 100644
--- a/pkgs/development/python-modules/hopcroftkarp/default.nix
+++ b/pkgs/development/python-modules/hopcroftkarp/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "hopcroftkarp";
   version = "1.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hpack/default.nix b/pkgs/development/python-modules/hpack/default.nix
index ba819ba3882cd..1b45fc67d62ee 100644
--- a/pkgs/development/python-modules/hpack/default.nix
+++ b/pkgs/development/python-modules/hpack/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "hpack";
   version = "4.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/hpccm/default.nix b/pkgs/development/python-modules/hpccm/default.nix
index 29f3234faadfc..99a0c42b8fa85 100644
--- a/pkgs/development/python-modules/hpccm/default.nix
+++ b/pkgs/development/python-modules/hpccm/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "hpccm";
   version = "22.10.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
diff --git a/pkgs/development/python-modules/hs-dbus-signature/default.nix b/pkgs/development/python-modules/hs-dbus-signature/default.nix
index ebf8de2f56682..9b96788589517 100644
--- a/pkgs/development/python-modules/hs-dbus-signature/default.nix
+++ b/pkgs/development/python-modules/hs-dbus-signature/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hs-dbus-signature";
   version = "0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hsaudiotag3k/default.nix b/pkgs/development/python-modules/hsaudiotag3k/default.nix
index 66ea895960c97..8fd245d17868d 100644
--- a/pkgs/development/python-modules/hsaudiotag3k/default.nix
+++ b/pkgs/development/python-modules/hsaudiotag3k/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "hsaudiotag3k";
   version = "1.1.3.post1";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/hsluv/default.nix b/pkgs/development/python-modules/hsluv/default.nix
index 27701da88914c..9ddf64330770d 100644
--- a/pkgs/development/python-modules/hsluv/default.nix
+++ b/pkgs/development/python-modules/hsluv/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "hsluv";
   version = "5.0.4";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/html-text/default.nix b/pkgs/development/python-modules/html-text/default.nix
index c7b4ec2366024..00d2fb426d381 100644
--- a/pkgs/development/python-modules/html-text/default.nix
+++ b/pkgs/development/python-modules/html-text/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "html-text";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TeamHG-Memex";
diff --git a/pkgs/development/python-modules/html2image/default.nix b/pkgs/development/python-modules/html2image/default.nix
new file mode 100644
index 0000000000000..2b99f6bffeee6
--- /dev/null
+++ b/pkgs/development/python-modules/html2image/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, requests
+, websocket-client
+}:
+
+buildPythonPackage rec {
+  pname = "html2image";
+  version = "2.0.4.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "vgalin";
+    repo = "html2image";
+    rev = version;
+    hash = "sha256-BDl2Kibp1WOAOYNlXa2aaEgQTitk+OZu72OgytciZYI=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    websocket-client
+  ];
+
+  pythonImportsCheck = [ "html2image" ];
+
+  meta = with lib; {
+    description = "A package acting as a wrapper around the headless mode of existing web browsers to generate images from URLs and from HTML+CSS strings or files";
+    homepage = "https://github.com/vgalin/html2image";
+    changelog = "https://github.com/vgalin/html2image/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/html2text/default.nix b/pkgs/development/python-modules/html2text/default.nix
index 95698872a08fe..37843196c9cbe 100644
--- a/pkgs/development/python-modules/html2text/default.nix
+++ b/pkgs/development/python-modules/html2text/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "html2text";
   version = "2020.1.16";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/html5lib/default.nix b/pkgs/development/python-modules/html5lib/default.nix
index f069aee87666b..b35cfee63dad7 100644
--- a/pkgs/development/python-modules/html5lib/default.nix
+++ b/pkgs/development/python-modules/html5lib/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "html5lib";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/htmllaundry/default.nix b/pkgs/development/python-modules/htmllaundry/default.nix
index e844c99693a29..0c7a3b8df81ab 100644
--- a/pkgs/development/python-modules/htmllaundry/default.nix
+++ b/pkgs/development/python-modules/htmllaundry/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "htmllaundry";
   version = "2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/htmlmin/default.nix b/pkgs/development/python-modules/htmlmin/default.nix
index e91aedc6cdb15..9be7dd90abd6d 100644
--- a/pkgs/development/python-modules/htmlmin/default.nix
+++ b/pkgs/development/python-modules/htmlmin/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "htmlmin";
   version = "0.1.12";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     sha256 = "50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178";
diff --git a/pkgs/development/python-modules/htseq/default.nix b/pkgs/development/python-modules/htseq/default.nix
index 5c369d7f06a82..9d69a8bfef542 100644
--- a/pkgs/development/python-modules/htseq/default.nix
+++ b/pkgs/development/python-modules/htseq/default.nix
@@ -1,6 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, cython, numpy, pysam, matplotlib, python, isPy27, isPy3k }:
 buildPythonPackage rec {
   version = "0.12.4";
+  format = "setuptools";
   pname = "htseq";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/httmock/default.nix b/pkgs/development/python-modules/httmock/default.nix
index f48cdbd1ff456..a305ec1f7baf5 100644
--- a/pkgs/development/python-modules/httmock/default.nix
+++ b/pkgs/development/python-modules/httmock/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "httmock";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "patrys";
diff --git a/pkgs/development/python-modules/httpauth/default.nix b/pkgs/development/python-modules/httpauth/default.nix
index a7d4240db1439..032830d539651 100644
--- a/pkgs/development/python-modules/httpauth/default.nix
+++ b/pkgs/development/python-modules/httpauth/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.3";
+  format = "setuptools";
   pname = "httpauth";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/httpretty/default.nix b/pkgs/development/python-modules/httpretty/default.nix
index aeab2d9e00a6f..ecde40353f316 100644
--- a/pkgs/development/python-modules/httpretty/default.nix
+++ b/pkgs/development/python-modules/httpretty/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "httpretty";
   version = "1.1.4";
+  format = "setuptools";
 
   # drop this for version > 0.9.7
   # Flaky tests: https://github.com/gabrielfalcao/HTTPretty/pull/394
diff --git a/pkgs/development/python-modules/httpserver/default.nix b/pkgs/development/python-modules/httpserver/default.nix
index 830e0c9b1bf2d..58d6c48c4e8a8 100644
--- a/pkgs/development/python-modules/httpserver/default.nix
+++ b/pkgs/development/python-modules/httpserver/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "httpserver";
   version = "1.1.0";
+  format = "setuptools";
 
   buildInputs = [ docopt ];
 
diff --git a/pkgs/development/python-modules/httpsig/default.nix b/pkgs/development/python-modules/httpsig/default.nix
index accc731eeadf8..f1529bf212da2 100644
--- a/pkgs/development/python-modules/httpsig/default.nix
+++ b/pkgs/development/python-modules/httpsig/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "httpsig";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hug/default.nix b/pkgs/development/python-modules/hug/default.nix
index afeb128e2048e..46dfab1cd52c4 100644
--- a/pkgs/development/python-modules/hug/default.nix
+++ b/pkgs/development/python-modules/hug/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "hug";
   version = "2.6.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/huisbaasje-client/default.nix b/pkgs/development/python-modules/huisbaasje-client/default.nix
index 56e44209676c0..1a9cfddd8661c 100644
--- a/pkgs/development/python-modules/huisbaasje-client/default.nix
+++ b/pkgs/development/python-modules/huisbaasje-client/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "huisbaasje-client";
   version = "0.1.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/human-readable/default.nix b/pkgs/development/python-modules/human-readable/default.nix
new file mode 100644
index 0000000000000..3c67a04b143a0
--- /dev/null
+++ b/pkgs/development/python-modules/human-readable/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, hatchling
+, hatch-vcs
+}:
+
+buildPythonPackage rec {
+  pname = "human-readable";
+  version = "1.3.4";
+
+  src = fetchPypi {
+    pname = "human_readable";
+    inherit version;
+    hash = "sha256-VybqyJBm7CXRREehc+ZFqFUYRkXQJOswZwXiv7tg8MA=";
+  };
+
+  pyproject = true;
+
+  nativeBuildInputs = [
+    hatchling
+    hatch-vcs
+  ];
+
+  meta = with lib; {
+    description = "Library to make data intended for machines, readable to humans";
+    homepage = "https://github.com/staticdev/human-readable";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      mkg20001
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/humanfriendly/default.nix b/pkgs/development/python-modules/humanfriendly/default.nix
index 77f0c75e01039..5d0dbd1763da4 100644
--- a/pkgs/development/python-modules/humanfriendly/default.nix
+++ b/pkgs/development/python-modules/humanfriendly/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "humanfriendly";
   version = "10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/humblewx/default.nix b/pkgs/development/python-modules/humblewx/default.nix
index a134981485c65..1cb4a7a1686ae 100644
--- a/pkgs/development/python-modules/humblewx/default.nix
+++ b/pkgs/development/python-modules/humblewx/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "humblewx";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "thetimelineproj";
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 11f37dcac28e7..b0650310cc14f 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "hupper";
   version = "1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hvac/default.nix b/pkgs/development/python-modules/hvac/default.nix
index 6fe3968971148..5f15e359f35e2 100644
--- a/pkgs/development/python-modules/hvac/default.nix
+++ b/pkgs/development/python-modules/hvac/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "1.2.1";
+  version = "2.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-x4bj36HzUjmBDlMXzMrb41j0m4yQAaHy9ot5olC5+KE=";
+    hash = "sha256-alHLmg0i/hPoJMsLChzi7qy5zmr2i30bZoniXsG+yvU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hydrawiser/default.nix b/pkgs/development/python-modules/hydrawiser/default.nix
index 76239f7876c61..f04509d0854cf 100644
--- a/pkgs/development/python-modules/hydrawiser/default.nix
+++ b/pkgs/development/python-modules/hydrawiser/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "hydrawiser";
   version = "0.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/hypchat/default.nix b/pkgs/development/python-modules/hypchat/default.nix
index 1f69dfe21062a..58a1c3dffdc82 100644
--- a/pkgs/development/python-modules/hypchat/default.nix
+++ b/pkgs/development/python-modules/hypchat/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "hypchat";
   version = "0.21";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hyperframe/default.nix b/pkgs/development/python-modules/hyperframe/default.nix
index d4d45fa2e7754..e42ee0a46f684 100644
--- a/pkgs/development/python-modules/hyperframe/default.nix
+++ b/pkgs/development/python-modules/hyperframe/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "hyperframe";
   version = "6.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix
index 21927683b18b9..1b617cf1b7c9e 100644
--- a/pkgs/development/python-modules/hyperlink/default.nix
+++ b/pkgs/development/python-modules/hyperlink/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "hyperlink";
   version = "21.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/hyppo/default.nix b/pkgs/development/python-modules/hyppo/default.nix
index 709c7180f004e..8b2d73f68c5af 100644
--- a/pkgs/development/python-modules/hyppo/default.nix
+++ b/pkgs/development/python-modules/hyppo/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "hyppo";
   version = "0.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/i-pi/default.nix b/pkgs/development/python-modules/i-pi/default.nix
index 6c6e7983b7c33..046823d23c43f 100644
--- a/pkgs/development/python-modules/i-pi/default.nix
+++ b/pkgs/development/python-modules/i-pi/default.nix
@@ -4,13 +4,14 @@
 
 buildPythonPackage rec {
   pname = "i-pi";
-  version = "2.4.0";
+  version = "2.6.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "i-pi";
     repo = "i-pi";
-    rev = "v${version}";
-    sha256 = "0d0ag57aa0fsqjwya27fyj8alimjvlxzgh6hxjqy1k4ap9h3n1cy";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-c1bs8ZI/dfDwKx5Df8ndtsDxESQrdbMkvrjfI6b9JTg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/i2c-tools/default.nix b/pkgs/development/python-modules/i2c-tools/default.nix
index 60af11e241984..fd2fdaba347ca 100644
--- a/pkgs/development/python-modules/i2c-tools/default.nix
+++ b/pkgs/development/python-modules/i2c-tools/default.nix
@@ -6,6 +6,8 @@
 buildPythonPackage rec {
   inherit (i2c-tools) pname version src;
 
+  format = "setuptools";
+
   buildInputs = [ i2c-tools ];
 
   preConfigure = "cd py-smbus";
diff --git a/pkgs/development/python-modules/i2csense/default.nix b/pkgs/development/python-modules/i2csense/default.nix
index 475e77c218410..064a1e792f423 100644
--- a/pkgs/development/python-modules/i2csense/default.nix
+++ b/pkgs/development/python-modules/i2csense/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "i2csense";
   version = "0.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/i3-py/default.nix b/pkgs/development/python-modules/i3-py/default.nix
index 312c1bb45c70d..83a0dd8d2700e 100644
--- a/pkgs/development/python-modules/i3-py/default.nix
+++ b/pkgs/development/python-modules/i3-py/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.6.4";
+  format = "setuptools";
   pname = "i3-py";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/i3ipc/default.nix b/pkgs/development/python-modules/i3ipc/default.nix
index ee3b4252296ca..5aca692cbe058 100644
--- a/pkgs/development/python-modules/i3ipc/default.nix
+++ b/pkgs/development/python-modules/i3ipc/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "i3ipc";
   version = "2.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner  = "acrisci";
diff --git a/pkgs/development/python-modules/iapws/default.nix b/pkgs/development/python-modules/iapws/default.nix
index 33c3b5073fd75..8e2e3fd07a81d 100644
--- a/pkgs/development/python-modules/iapws/default.nix
+++ b/pkgs/development/python-modules/iapws/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "iapws";
   version = "1.5.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/icecream/default.nix b/pkgs/development/python-modules/icecream/default.nix
index a12b4c4c0a85f..601a55e80f6e9 100644
--- a/pkgs/development/python-modules/icecream/default.nix
+++ b/pkgs/development/python-modules/icecream/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "icecream";
   version = "2.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix
index 5e963bd82e55f..0d42526c8ca98 100644
--- a/pkgs/development/python-modules/icmplib/default.nix
+++ b/pkgs/development/python-modules/icmplib/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "icmplib";
   version = "3.0.4";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/icoextract/default.nix b/pkgs/development/python-modules/icoextract/default.nix
index e050dd9b9406c..beb39a32aa393 100644
--- a/pkgs/development/python-modules/icoextract/default.nix
+++ b/pkgs/development/python-modules/icoextract/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "icoextract";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/icontract/default.nix b/pkgs/development/python-modules/icontract/default.nix
index 76e1814dddddb..e525cf89cca2e 100644
--- a/pkgs/development/python-modules/icontract/default.nix
+++ b/pkgs/development/python-modules/icontract/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "icontract";
-  version = "2.6.4";
+  version = "2.6.6";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Parquery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-zuaS9mmq47hUIBObYRuzEYQQdTArFXR3TpK9nfZt/yk=";
+    hash = "sha256-R5/FBfuTvXItfTlNZMSnO18Q+etnHbQyXFWpaOpOLes=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/ics/default.nix b/pkgs/development/python-modules/ics/default.nix
index 9f2665b59f194..7b732d589fc00 100644
--- a/pkgs/development/python-modules/ics/default.nix
+++ b/pkgs/development/python-modules/ics/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "ics";
   version = "0.7.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index d754f90318cfb..f2ce179d65bd0 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.5.32";
+  version = "2.5.33";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-fKcxK11IxC0wmpPdyGzYQViSW2rx1v9Bvc+uBvGT8kE=";
+    hash = "sha256-v0k+N/E1xzhL2iWM0HQzYCxHfzuP8Za4eupkofN7bAA=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/idna-ssl/default.nix b/pkgs/development/python-modules/idna-ssl/default.nix
index ba11a39f5d9c3..a26aecb49d047 100644
--- a/pkgs/development/python-modules/idna-ssl/default.nix
+++ b/pkgs/development/python-modules/idna-ssl/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "idna-ssl";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ifaddr/default.nix b/pkgs/development/python-modules/ifaddr/default.nix
index 77f6283e4be34..2f5d8e202dba1 100644
--- a/pkgs/development/python-modules/ifaddr/default.nix
+++ b/pkgs/development/python-modules/ifaddr/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.2.0";
+  format = "setuptools";
   pname = "ifaddr";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ifconfig-parser/default.nix b/pkgs/development/python-modules/ifconfig-parser/default.nix
index be4e2026bf10a..0a7013066b603 100644
--- a/pkgs/development/python-modules/ifconfig-parser/default.nix
+++ b/pkgs/development/python-modules/ifconfig-parser/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ifconfig-parser";
   version = "0.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "KnightWhoSayNi";
diff --git a/pkgs/development/python-modules/ignite/default.nix b/pkgs/development/python-modules/ignite/default.nix
index 853405d0476ff..09ebca60e5de5 100644
--- a/pkgs/development/python-modules/ignite/default.nix
+++ b/pkgs/development/python-modules/ignite/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "ignite";
   version = "0.4.13";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pytorch";
diff --git a/pkgs/development/python-modules/ihm/default.nix b/pkgs/development/python-modules/ihm/default.nix
index b56459317f34c..387b093f8a611 100644
--- a/pkgs/development/python-modules/ihm/default.nix
+++ b/pkgs/development/python-modules/ihm/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ihm";
-  version = "0.41";
+  version = "0.42";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihmwg";
     repo = "python-ihm";
     rev = "refs/tags/${version}";
-    hash = "sha256-weeOizVWFcOxD45QsvEaoknTofZjglCvidyvXpyRKwc=";
+    hash = "sha256-BIw+ytk4IvtMkm8FZdKQ7hvYdJLdNo6SY100WVawgF8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ijson/default.nix b/pkgs/development/python-modules/ijson/default.nix
index 99184c0467191..121e38c08be40 100644
--- a/pkgs/development/python-modules/ijson/default.nix
+++ b/pkgs/development/python-modules/ijson/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ijson";
   version = "3.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/image-go-nord/default.nix b/pkgs/development/python-modules/image-go-nord/default.nix
index ff7c654c9ea3a..4daa574e79e75 100644
--- a/pkgs/development/python-modules/image-go-nord/default.nix
+++ b/pkgs/development/python-modules/image-go-nord/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "image-go-nord";
   version = "0.1.7";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/imagecodecs-lite/default.nix b/pkgs/development/python-modules/imagecodecs-lite/default.nix
index a9cec8bb50c1e..cef23d308f4b5 100644
--- a/pkgs/development/python-modules/imagecodecs-lite/default.nix
+++ b/pkgs/development/python-modules/imagecodecs-lite/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "imagecodecs-lite";
   version = "2019.12.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/imagecorruptions/default.nix b/pkgs/development/python-modules/imagecorruptions/default.nix
index 64da1392047d9..5642812f80401 100644
--- a/pkgs/development/python-modules/imagecorruptions/default.nix
+++ b/pkgs/development/python-modules/imagecorruptions/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "imagecorruptions";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/imagehash/default.nix b/pkgs/development/python-modules/imagehash/default.nix
index b65053c56ead0..e2e20b4f6c276 100644
--- a/pkgs/development/python-modules/imagehash/default.nix
+++ b/pkgs/development/python-modules/imagehash/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "imagehash";
   version = "4.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "JohannesBuchner";
diff --git a/pkgs/development/python-modules/imagesize/default.nix b/pkgs/development/python-modules/imagesize/default.nix
index e1d390a8c1fc4..ab41410b7ad84 100644
--- a/pkgs/development/python-modules/imagesize/default.nix
+++ b/pkgs/development/python-modules/imagesize/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "imagesize";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/imantics/default.nix b/pkgs/development/python-modules/imantics/default.nix
index 2e10ca6cb3305..d6815f2a26ae3 100644
--- a/pkgs/development/python-modules/imantics/default.nix
+++ b/pkgs/development/python-modules/imantics/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "imantics";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jsbroks";
diff --git a/pkgs/development/python-modules/imapclient/default.nix b/pkgs/development/python-modules/imapclient/default.nix
index 58c45f9922361..6301970392ac9 100644
--- a/pkgs/development/python-modules/imapclient/default.nix
+++ b/pkgs/development/python-modules/imapclient/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imapclient";
-  version = "3.0.0";
+  version = "3.0.1";
 
   format = "setuptools";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "mjs";
     repo = "imapclient";
     rev = "refs/tags/${version}";
-    hash = "sha256-ylYGh+78I+6pdvHuQPw8Gks9TLkXQL5HQiaZDnJK3DA=";
+    hash = "sha256-WY3OLPUwixrL2NSLfNBSSNMXJEoYBL+O6KoglU3Cz9g=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/imaplib2/default.nix b/pkgs/development/python-modules/imaplib2/default.nix
index e6379c0af1dd0..7c4c215bfabbc 100644
--- a/pkgs/development/python-modules/imaplib2/default.nix
+++ b/pkgs/development/python-modules/imaplib2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "imaplib2";
   version = "3.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index b93c304a5c7ee..1ef8fea6a1004 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "imbalanced-learn";
   version = "0.11.0";
+  format = "setuptools";
   disabled = isPy27; # scikit-learn>=0.21 doesn't work on python2
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/imgsize/default.nix b/pkgs/development/python-modules/imgsize/default.nix
index a8f50cd8f326e..fe08f4f7288fe 100644
--- a/pkgs/development/python-modules/imgsize/default.nix
+++ b/pkgs/development/python-modules/imgsize/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "imgsize";
   version = "2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ojii";
diff --git a/pkgs/development/python-modules/importlab/default.nix b/pkgs/development/python-modules/importlab/default.nix
index 8fd01ca7008e7..2d7fddb9e5db1 100644
--- a/pkgs/development/python-modules/importlab/default.nix
+++ b/pkgs/development/python-modules/importlab/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "importlab";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/importmagic/default.nix b/pkgs/development/python-modules/importmagic/default.nix
index 6e4c00c286e4a..a94b104094199 100644
--- a/pkgs/development/python-modules/importmagic/default.nix
+++ b/pkgs/development/python-modules/importmagic/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "importmagic";
   version = "0.1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/imutils/default.nix b/pkgs/development/python-modules/imutils/default.nix
index b655ddc470145..e9103831363bd 100644
--- a/pkgs/development/python-modules/imutils/default.nix
+++ b/pkgs/development/python-modules/imutils/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.5.4";
+  format = "setuptools";
   pname = "imutils";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/incremental/default.nix b/pkgs/development/python-modules/incremental/default.nix
index 3498b4935ce85..3b10dff45ca06 100644
--- a/pkgs/development/python-modules/incremental/default.nix
+++ b/pkgs/development/python-modules/incremental/default.nix
@@ -8,6 +8,7 @@
 let incremental = buildPythonPackage rec {
   pname = "incremental";
   version = "22.10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/infinity/default.nix b/pkgs/development/python-modules/infinity/default.nix
index 366572cedacba..8cf05e8111df8 100644
--- a/pkgs/development/python-modules/infinity/default.nix
+++ b/pkgs/development/python-modules/infinity/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "infinity";
   version = "1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/inflection/default.nix b/pkgs/development/python-modules/inflection/default.nix
index 01dd785e4184a..c09114e386e6d 100644
--- a/pkgs/development/python-modules/inflection/default.nix
+++ b/pkgs/development/python-modules/inflection/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "inflection";
   version = "0.5.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/influxdb/default.nix b/pkgs/development/python-modules/influxdb/default.nix
index e270df9746d20..991dcb3203140 100644
--- a/pkgs/development/python-modules/influxdb/default.nix
+++ b/pkgs/development/python-modules/influxdb/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "influxdb";
   version = "5.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/inifile/default.nix b/pkgs/development/python-modules/inifile/default.nix
index 0e9cb91ded9eb..c3b1edfb89d0d 100644
--- a/pkgs/development/python-modules/inifile/default.nix
+++ b/pkgs/development/python-modules/inifile/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "inifile";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/iniparse/default.nix b/pkgs/development/python-modules/iniparse/default.nix
index e4473c0bd1c17..16324612b2af6 100644
--- a/pkgs/development/python-modules/iniparse/default.nix
+++ b/pkgs/development/python-modules/iniparse/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "iniparse";
   version = "0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/inotify-simple/default.nix b/pkgs/development/python-modules/inotify-simple/default.nix
index 8fdc7c4926c97..2d2100ddf7057 100644
--- a/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/pkgs/development/python-modules/inotify-simple/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "inotify-simple";
   version = "1.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "inotify_simple";
diff --git a/pkgs/development/python-modules/inotify/default.nix b/pkgs/development/python-modules/inotify/default.nix
index 64737035193bf..04ca13d5ec4f2 100644
--- a/pkgs/development/python-modules/inotify/default.nix
+++ b/pkgs/development/python-modules/inotify/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "inotify";
   version = "unstable-2020-08-27";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dsoprea";
diff --git a/pkgs/development/python-modules/inotifyrecursive/default.nix b/pkgs/development/python-modules/inotifyrecursive/default.nix
index d0f81abaa47f7..63ff4ede039ae 100644
--- a/pkgs/development/python-modules/inotifyrecursive/default.nix
+++ b/pkgs/development/python-modules/inotifyrecursive/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "inotifyrecursive";
   version = "0.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/inquirer/default.nix b/pkgs/development/python-modules/inquirer/default.nix
index 1d13d50804af0..8ca4ed136fe98 100644
--- a/pkgs/development/python-modules/inquirer/default.nix
+++ b/pkgs/development/python-modules/inquirer/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "inquirer";
-  version = "3.1.3";
+  version = "3.1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "magmax";
     repo = "python-inquirer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7GfHsCQgnDUdiM1z9YNdDuwMNy6rLjR1UTnZMgpQ5k4=";
+    hash = "sha256-1xaxLIk4GFRpcodhBX+Co9TgpYkWhB/D4OE4Nny4ijM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/insegel/default.nix b/pkgs/development/python-modules/insegel/default.nix
index 499d380675398..9fb9d9296ec2c 100644
--- a/pkgs/development/python-modules/insegel/default.nix
+++ b/pkgs/development/python-modules/insegel/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "insegel";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/intake-parquet/default.nix b/pkgs/development/python-modules/intake-parquet/default.nix
index c43db08d9fc9e..9ef6affb5119e 100644
--- a/pkgs/development/python-modules/intake-parquet/default.nix
+++ b/pkgs/development/python-modules/intake-parquet/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "intake-parquet";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "intake";
diff --git a/pkgs/development/python-modules/intelhex/default.nix b/pkgs/development/python-modules/intelhex/default.nix
index 57b8fe75d404b..4e25fa8793b19 100644
--- a/pkgs/development/python-modules/intelhex/default.nix
+++ b/pkgs/development/python-modules/intelhex/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "intelhex";
   version = "2.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index ff7dad6f0be0a..8c7a9f69d50e9 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "3.1.30";
+  version = "3.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CIcudKyRPVJX6QvWk6dBbYnO5EULREDhaflJTAfJEvc=";
+    hash = "sha256-lbBQbcVhozca7gYkeUFClS+5WaPaTajQMdfqDL07xdk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/interruptingcow/default.nix b/pkgs/development/python-modules/interruptingcow/default.nix
index 62e021afdbbb0..41744b690fd96 100644
--- a/pkgs/development/python-modules/interruptingcow/default.nix
+++ b/pkgs/development/python-modules/interruptingcow/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "interruptingcow";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/intervaltree/default.nix b/pkgs/development/python-modules/intervaltree/default.nix
index dca73a93e8f4c..8e80be209b23c 100644
--- a/pkgs/development/python-modules/intervaltree/default.nix
+++ b/pkgs/development/python-modules/intervaltree/default.nix
@@ -3,6 +3,7 @@
 
 buildPythonPackage rec {
   version = "3.1.0";
+  format = "setuptools";
   pname = "intervaltree";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/into-dbus-python/default.nix b/pkgs/development/python-modules/into-dbus-python/default.nix
index ff5da5e459267..b7ea90b26f9d0 100644
--- a/pkgs/development/python-modules/into-dbus-python/default.nix
+++ b/pkgs/development/python-modules/into-dbus-python/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "into-dbus-python";
   version = "0.8.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
diff --git a/pkgs/development/python-modules/iocapture/default.nix b/pkgs/development/python-modules/iocapture/default.nix
index e3bee127b7b70..b47c18874a922 100644
--- a/pkgs/development/python-modules/iocapture/default.nix
+++ b/pkgs/development/python-modules/iocapture/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "iocapture";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/iodata/default.nix b/pkgs/development/python-modules/iodata/default.nix
index b81d7981a280c..748b7a14570c5 100644
--- a/pkgs/development/python-modules/iodata/default.nix
+++ b/pkgs/development/python-modules/iodata/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "iodata";
   version = "0.1.7";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "theochem";
diff --git a/pkgs/development/python-modules/ionhash/default.nix b/pkgs/development/python-modules/ionhash/default.nix
index 1b9455dbe821f..0eca4e663331a 100644
--- a/pkgs/development/python-modules/ionhash/default.nix
+++ b/pkgs/development/python-modules/ionhash/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ionhash";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "amzn";
diff --git a/pkgs/development/python-modules/iowait/default.nix b/pkgs/development/python-modules/iowait/default.nix
index dc8a1265f7a58..fe0a6a5f709a0 100644
--- a/pkgs/development/python-modules/iowait/default.nix
+++ b/pkgs/development/python-modules/iowait/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "iowait";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ipaddr/default.nix b/pkgs/development/python-modules/ipaddr/default.nix
index 41ef6faa7c37d..959d5c878f07d 100644
--- a/pkgs/development/python-modules/ipaddr/default.nix
+++ b/pkgs/development/python-modules/ipaddr/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ipaddr";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ipdbplugin/default.nix b/pkgs/development/python-modules/ipdbplugin/default.nix
index c4e9e17988bf4..1dd69b112f560 100644
--- a/pkgs/development/python-modules/ipdbplugin/default.nix
+++ b/pkgs/development/python-modules/ipdbplugin/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ipdbplugin";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/iptools/default.nix b/pkgs/development/python-modules/iptools/default.nix
index 3f2b854b6e7fe..fe400465382bc 100644
--- a/pkgs/development/python-modules/iptools/default.nix
+++ b/pkgs/development/python-modules/iptools/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.7.0";
+  format = "setuptools";
   pname = "iptools";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ipydatawidgets/default.nix b/pkgs/development/python-modules/ipydatawidgets/default.nix
index df7fe7ac3fc26..e6f68a111ba8c 100644
--- a/pkgs/development/python-modules/ipydatawidgets/default.nix
+++ b/pkgs/development/python-modules/ipydatawidgets/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "ipydatawidgets";
   version = "4.3.5";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 74cb52629af53..d1b970c34a2eb 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.25.2";
-  format = "pyproject";
+  version = "6.27.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9Gjd0fF6y0jIzmf8+km6bUbU+awEOMH0Qb58PRNyIws=";
+    hash = "sha256-fV1ZS2aQZUtNKZ7bpehy3Be7c5ao0GCcl8t7ihxgXeY=";
   };
 
   # debugpy is optional, see https://github.com/ipython/ipykernel/pull/767
@@ -55,6 +55,6 @@ buildPythonPackage rec {
     description = "IPython Kernel for Jupyter";
     homepage = "https://ipython.org/";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    maintainers = with lib.maintainers; [ fridh ] ++ lib.teams.jupyter.members;
   };
 }
diff --git a/pkgs/development/python-modules/ipykernel/tests.nix b/pkgs/development/python-modules/ipykernel/tests.nix
index edbb13912ad95..0de6d2feb4aef 100644
--- a/pkgs/development/python-modules/ipykernel/tests.nix
+++ b/pkgs/development/python-modules/ipykernel/tests.nix
@@ -5,9 +5,10 @@
 , flaky
 , ipykernel
 , ipyparallel
-, nose
+, pre-commit
 , pytestCheckHook
-
+, pytest-asyncio
+, pytest-timeout
 }:
 
 buildPythonPackage {
@@ -22,15 +23,26 @@ buildPythonPackage {
     flaky
     ipykernel
     ipyparallel
-    nose
+    pre-commit
     pytestCheckHook
+    pytest-asyncio
+    pytest-timeout
   ];
 
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
-  disabledTests = lib.optionals stdenv.isDarwin ([
+  disabledTests = [ # The follwing three tests fail for unclear reasons.
+    # pytest.PytestUnhandledThreadExceptionWarning: Exception in thread Thread-8
+    "test_asyncio_interrupt"
+
+    # DeprecationWarning: Passing unrecognized arguments to super(IPythonKernel)
+    "test_embed_kernel_func"
+
+    # traitlets.config.configurable.MultipleInstanceError: An incompatible siblin...
+    "test_install_kernelspec"
+  ] ++ lib.optionals stdenv.isDarwin ([
     # see https://github.com/NixOS/nixpkgs/issues/76197
     "test_subprocess_print"
     "test_subprocess_error"
diff --git a/pkgs/development/python-modules/ipython-sql/default.nix b/pkgs/development/python-modules/ipython-sql/default.nix
index 2fc59859ab2a6..0aa7fa388c4f3 100644
--- a/pkgs/development/python-modules/ipython-sql/default.nix
+++ b/pkgs/development/python-modules/ipython-sql/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "ipython-sql";
   version = "0.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/ipyvue/default.nix b/pkgs/development/python-modules/ipyvue/default.nix
index 1fbb4e10805b7..2507e7e5fc585 100644
--- a/pkgs/development/python-modules/ipyvue/default.nix
+++ b/pkgs/development/python-modules/ipyvue/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ipyvue";
   version = "1.10.1";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/ipyvuetify/default.nix b/pkgs/development/python-modules/ipyvuetify/default.nix
index 074d8a4522ee6..28b39f74c4b9a 100644
--- a/pkgs/development/python-modules/ipyvuetify/default.nix
+++ b/pkgs/development/python-modules/ipyvuetify/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ipyvuetify";
   version = "1.8.10";
+  format = "setuptools";
 
   # GitHub version tries to run npm (Node JS)
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ipyxact/default.nix b/pkgs/development/python-modules/ipyxact/default.nix
index 7ddaf432d1284..28652d156a87f 100644
--- a/pkgs/development/python-modules/ipyxact/default.nix
+++ b/pkgs/development/python-modules/ipyxact/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ipyxact";
   version = "0.3.2";
+  format = "setuptools";
 
   propagatedBuildInputs = [ pyyaml ];
   checkInputs = [ six lxml ];
diff --git a/pkgs/development/python-modules/ircrobots/default.nix b/pkgs/development/python-modules/ircrobots/default.nix
index ef09e41c23613..76fe922fa0c6c 100644
--- a/pkgs/development/python-modules/ircrobots/default.nix
+++ b/pkgs/development/python-modules/ircrobots/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "ircrobots";
   version = "0.6.6";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ircstates/default.nix b/pkgs/development/python-modules/ircstates/default.nix
index 4ccaea6e6f247..d6d72166c80f5 100644
--- a/pkgs/development/python-modules/ircstates/default.nix
+++ b/pkgs/development/python-modules/ircstates/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "ircstates";
   version = "0.12.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/irctokens/default.nix b/pkgs/development/python-modules/irctokens/default.nix
index b2b35a7a926bd..68b8bb1535e8a 100644
--- a/pkgs/development/python-modules/irctokens/default.nix
+++ b/pkgs/development/python-modules/irctokens/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "irctokens";
   version = "2.0.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix
index 149aa4c9c14ae..c91e44f7825f0 100644
--- a/pkgs/development/python-modules/islpy/default.nix
+++ b/pkgs/development/python-modules/islpy/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "islpy";
   version = "2023.1.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/iso-639/default.nix b/pkgs/development/python-modules/iso-639/default.nix
index 7a510598dca31..e9226d4aaee51 100644
--- a/pkgs/development/python-modules/iso-639/default.nix
+++ b/pkgs/development/python-modules/iso-639/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "iso-639";
   version = "0.4.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/isodate/default.nix b/pkgs/development/python-modules/isodate/default.nix
index 81f030e4830b4..0697f17c01f03 100644
--- a/pkgs/development/python-modules/isodate/default.nix
+++ b/pkgs/development/python-modules/isodate/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "isodate";
   version = "0.6.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/isosurfaces/default.nix b/pkgs/development/python-modules/isosurfaces/default.nix
index 49f3fb90b2967..96227ed0aa75d 100644
--- a/pkgs/development/python-modules/isosurfaces/default.nix
+++ b/pkgs/development/python-modules/isosurfaces/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "isosurfaces";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/isounidecode/default.nix b/pkgs/development/python-modules/isounidecode/default.nix
index 860b237c3de54..70736a54a1fe6 100644
--- a/pkgs/development/python-modules/isounidecode/default.nix
+++ b/pkgs/development/python-modules/isounidecode/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "isounidecode";
   version = "0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/isoweek/default.nix b/pkgs/development/python-modules/isoweek/default.nix
index 65de70b20b5e5..e16d27c47bcff 100644
--- a/pkgs/development/python-modules/isoweek/default.nix
+++ b/pkgs/development/python-modules/isoweek/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "isoweek";
   version = "1.3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/itemdb/default.nix b/pkgs/development/python-modules/itemdb/default.nix
index 68fb6d5dc5542..4cc0cf6374845 100644
--- a/pkgs/development/python-modules/itemdb/default.nix
+++ b/pkgs/development/python-modules/itemdb/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "itemdb";
   version = "1.1.2";
+  format = "setuptools";
 
   # PyPI tarball doesn't include tests directory
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/iterm2/default.nix b/pkgs/development/python-modules/iterm2/default.nix
index 2016e492acf5c..6d12086851c6c 100644
--- a/pkgs/development/python-modules/iterm2/default.nix
+++ b/pkgs/development/python-modules/iterm2/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "iterm2";
   version = "2.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/itsdangerous/default.nix b/pkgs/development/python-modules/itsdangerous/default.nix
index 4121be315f5d2..3810eabf46c71 100644
--- a/pkgs/development/python-modules/itsdangerous/default.nix
+++ b/pkgs/development/python-modules/itsdangerous/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "itsdangerous";
   version = "2.1.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/itunespy/default.nix b/pkgs/development/python-modules/itunespy/default.nix
index 3bb0bb677bad6..cd1f174c24b8a 100644
--- a/pkgs/development/python-modules/itunespy/default.nix
+++ b/pkgs/development/python-modules/itunespy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "itunespy";
   version = "1.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sleepyfran";
diff --git a/pkgs/development/python-modules/itypes/default.nix b/pkgs/development/python-modules/itypes/default.nix
index 14f0214397882..771f91a461acf 100644
--- a/pkgs/development/python-modules/itypes/default.nix
+++ b/pkgs/development/python-modules/itypes/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "itypes";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = pname;
diff --git a/pkgs/development/python-modules/iwlib/default.nix b/pkgs/development/python-modules/iwlib/default.nix
index 2f556e1717d26..0a881ef1f370c 100644
--- a/pkgs/development/python-modules/iwlib/default.nix
+++ b/pkgs/development/python-modules/iwlib/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "iwlib";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/j2cli/default.nix b/pkgs/development/python-modules/j2cli/default.nix
index c83b1c77e2ccc..cf66d9be21bd5 100644
--- a/pkgs/development/python-modules/j2cli/default.nix
+++ b/pkgs/development/python-modules/j2cli/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "j2cli";
   version = "0.3.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jaeger-client/default.nix b/pkgs/development/python-modules/jaeger-client/default.nix
index a601fd9ce799e..c7130c8afc9dc 100644
--- a/pkgs/development/python-modules/jaeger-client/default.nix
+++ b/pkgs/development/python-modules/jaeger-client/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "jaeger-client";
   version = "4.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/janus/default.nix b/pkgs/development/python-modules/janus/default.nix
index a31d17b1fe7da..15b75bc2aa3b2 100644
--- a/pkgs/development/python-modules/janus/default.nix
+++ b/pkgs/development/python-modules/janus/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "janus";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jaraco-stream/default.nix b/pkgs/development/python-modules/jaraco-stream/default.nix
index b7befef927578..1c926b831ffb8 100644
--- a/pkgs/development/python-modules/jaraco-stream/default.nix
+++ b/pkgs/development/python-modules/jaraco-stream/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "jaraco-stream";
   version = "3.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "jaraco.stream";
diff --git a/pkgs/development/python-modules/javaobj-py3/default.nix b/pkgs/development/python-modules/javaobj-py3/default.nix
index ecdc0b82a7430..1d8566a6f3261 100644
--- a/pkgs/development/python-modules/javaobj-py3/default.nix
+++ b/pkgs/development/python-modules/javaobj-py3/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "javaobj-py3";
   version = "0.4.3";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index 203aa49db8fb6..d2052cccecb05 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -27,7 +27,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.20";
+  version = "0.4.21";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     repo = "jax";
     # google/jax contains tags for jax and jaxlib. Only use jax tags!
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-WLYXUtchOaA6SGnKuVhN9CmV06xMCLQTEuEtL13ttZU=";
+    hash = "sha256-CMsW/t4/itJxN4pST8EKkN0ooHWdjRnLs073FwbXRJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index 4030bd5e4041d..139cb881e5911 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -29,17 +29,13 @@
 , stdenv
   # Options:
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 }:
 
 let
-  inherit (cudaPackages) cudatoolkit cudnn;
-in
-
-assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
+  inherit (cudaPackagesGoogle) cudatoolkit cudnn;
 
-let
-  version = "0.4.20";
+  version = "0.4.21";
 
   inherit (python) pythonVersion;
 
@@ -60,65 +56,65 @@ let
       "3.9-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp39";
-        hash = "sha256-eIE+rz5x5BEkO85zncIWE8p/wDPxV8bnVJdHiknS998=";
+        hash = "sha256-mFA/ZSlluDy96Dy7Ez5MyV/onyXOXfwr+v4YBJ8YAKM=";
       };
       "3.9-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp39";
-        hash = "sha256-dxInv8/aQiHsN7DpScuZao2ZyHDjF0AaTqUDA0qqg/M=";
+        hash = "sha256-pxFJPKl7LqwRpL0u53zAmp1XvFKPXv0tT/ioQ3EF/Cs=";
       };
       "3.9-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp39";
-        hash = "sha256-wva6LkSokEHN+WQLCancVC7YBIxfImPsQpB1LzFcyqM=";
+        hash = "sha256-m8VBotK4tvrEgi8Ub5diHjTv8KU5C384srlSIRcX50o=";
       };
 
       "3.10-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp310";
-        hash = "sha256-Yo2TYnkIelyy4vb5+nC/yY8SjV34i/jJvCe/VRQppmo=";
+        hash = "sha256-jd4+HWPtGt4xLCabVWg99MP+F2bwrhMAJ/BAXfRmIZE=";
       };
       "3.10-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp310";
-        hash = "sha256-ufA/ACE4s4R/Fiq5SN7T44SVEN1Z5OfkJ/98lKxRFmo=";
+        hash = "sha256-/zEl2jm9A5iwELPPaSeLlubaFyIkgwdNFzCMKaLvK2A=";
       };
       "3.10-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp310";
-        hash = "sha256-hBSrYQyOGMn0BexRWQKYnJdEYYlzHUWuWGHmjVT10TE=";
+        hash = "sha256-BaMQQHdIGtRKDDvjacYLhD7lB058Q8ZYVo6JckVjyxE=";
       };
 
       "3.11-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp311";
-        hash = "sha256-5N0nghTBrsa7d8kt8hZC2ghqlxCNC7U8ApD0PG7DHn8=";
+        hash = "sha256-/N41pyv1AOFegCXUH/XmOUiaAfH5/k/ydT8JaFGq+bM=";
       };
       "3.11-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp311";
-        hash = "sha256-j13Br64cKe0hFh/cMBbOMuTXqauAvSKE+KzEmN7U6RA=";
+        hash = "sha256-gYN77bddkBWYQIzPWXusN+xwpga47zSAFdQ4php+AZM=";
       };
       "3.11-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp311";
-        hash = "sha256-nTnyawU4Ngq9VTE6oDuEfR6iJPRy+E/VLt98cU6eW4M=";
+        hash = "sha256-GaneuQIfERYAcHQtQ6OwL87098QS+h8GrZOfmef0a70=";
       };
 
       "3.12-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp312";
-        hash = "sha256-qPMoa7cso7DRBWuCJQoiOEzLPL3m76MPZZMYmZUj400=";
+        hash = "sha256-AkyF07UGTfkQHJ/qN2lHe0ki1Fh1uJZkkGQYRkiTIis=";
       };
       "3.12-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp312";
-        hash = "sha256-VqTC5egDHaDIvwVa3sAc9Sdtd0CwEFcXjDU/i54h844=";
+        hash = "sha256-qGxiVdHNChS5WObW8j9E6G/oEa9FOLRY0/xowQNns0Y=";
       };
       "3.12-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp312";
-        hash = "sha256-1F98Je2rMJJKrksI/EVAsX9n+dOpmDehUeAaMq/BY7o=";
+        hash = "sha256-eYDUrenaHxlCvBYbt12r2VMLBpBBU6o/3ekyj9Ll+AE=";
       };
     };
 
@@ -128,19 +124,19 @@ let
   gpuSrcs = {
     "3.9" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp39-cp39-manylinux2014_x86_64.whl";
-      hash = "sha256-VM2HuyMnG+hzrsTQEB5KJpqpBXyyp+eV1LVxmY1ZCGU=";
+      hash = "sha256-VKWX2pTgHWXzbUYXkshmPRxiBs6YDw1WeK72TY1koLc=";
     };
     "3.10" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl";
-      hash = "sha256-TLq3z3T2fjTcO3ESahboKG33mrOpjtj9C92f4d4nJKo=";
+      hash = "sha256-/4wNdMHNT1izYfyX58KH9CAgnQPcv1/GjNlKhFM4X/U=";
     };
     "3.11" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp311-cp311-manylinux2014_x86_64.whl";
-      hash = "sha256-CUXwyJq0HOo2j3Sw+NguBCnFkDuJpc3wfZUc90yyhOY=";
+      hash = "sha256-xAITc/5KbAiaKp6020OWFD7SL3FQGvE0jQcHckIjb7s=";
     };
     "3.12" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp312-cp312-manylinux2014_x86_64.whl";
-      hash = "sha256-bAR8FLtiqufU+rL2a1q9c61CjH1eXxGTNGnDUkHlDBA=";
+      hash = "sha256-tTbpoF/YINx2Vw1JNKsh3PqUbHqQ1XnQLGFczGmimCw=";
     };
   };
 
@@ -213,5 +209,9 @@ buildPythonPackage {
     license = licenses.asl20;
     maintainers = with maintainers; [ samuela ];
     platforms = [ "aarch64-darwin" "x86_64-linux" "x86_64-darwin" ];
+    broken =
+      !(cudaSupport -> (cudaPackagesGoogle ? cudatoolkit) && lib.versionAtLeast cudatoolkit.version "11.1")
+      || !(cudaSupport -> (cudaPackagesGoogle ? cudnn) && lib.versionAtLeast cudnn.version "8.2")
+      || !(cudaSupport -> stdenv.isLinux);
   };
 }
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index c70ab0ac2b327..4293cc781cb89 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -44,17 +44,17 @@
 , config
   # CUDA flags:
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 
   # MKL:
 , mklSupport ? true
 }:
 
 let
-  inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
+  inherit (cudaPackagesGoogle) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.20";
+  version = "0.4.21";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -150,7 +150,7 @@ let
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-WLYXUtchOaA6SGnKuVhN9CmV06xMCLQTEuEtL13ttZU=";
+      hash = "sha256-CMsW/t4/itJxN4pST8EKkN0ooHWdjRnLs073FwbXRJM=";
     };
 
     nativeBuildInputs = [
@@ -263,10 +263,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-QczClHxHElLZCqIZlHc3z3DXJ7rZQJaMs2XIb+lxarI=";
+        x86_64-linux = "sha256-TgIH7r1IXNkbOFSXvaKVbU9kL+TuQqxVrBge7iv2ykQ=";
       } else {
-        x86_64-linux = "sha256-mqiJe4u0NYh1PKCbQfbo0U2e9/kYiBqj98d+BPHFSxQ=";
-        aarch64-linux = "sha256-EuLqamVBJ+qoVMCFIYUT846AghltZolfLGdtO9UeXSM=";
+        x86_64-linux = "sha256-on14CAolJ3mvJmKxX2PE21BsYOJJFUSQuUOnOuVR2GQ=";
+        aarch64-linux = "sha256-2tcIiQlMUKMc+juCy+dt37s+lFqr2pcVizCyYkkQtOM=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/pkgs/development/python-modules/jaydebeapi/default.nix b/pkgs/development/python-modules/jaydebeapi/default.nix
index 378da83759b61..3aa26ca020f79 100644
--- a/pkgs/development/python-modules/jaydebeapi/default.nix
+++ b/pkgs/development/python-modules/jaydebeapi/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "jaydebeapi";
   version = "1.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "JayDeBeApi";
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 39bc43bc41946..ebcfbeee72f49 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "jc";
   version = "1.23.6";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/jdcal/default.nix b/pkgs/development/python-modules/jdcal/default.nix
index abf5880e80f02..6278be96e10ca 100644
--- a/pkgs/development/python-modules/jdcal/default.nix
+++ b/pkgs/development/python-modules/jdcal/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "jdcal";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 05f857641b666..863a7af192e78 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
   version = "5.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jieba/default.nix b/pkgs/development/python-modules/jieba/default.nix
index a0fd5acf440ae..99803de03c5b8 100644
--- a/pkgs/development/python-modules/jieba/default.nix
+++ b/pkgs/development/python-modules/jieba/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "jieba";
   version = "0.42.1";
+  format = "setuptools";
 
   # no tests in PyPI tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/jinja2-ansible-filters/default.nix b/pkgs/development/python-modules/jinja2-ansible-filters/default.nix
index 79af7744a8664..4125a574db2b9 100644
--- a/pkgs/development/python-modules/jinja2-ansible-filters/default.nix
+++ b/pkgs/development/python-modules/jinja2-ansible-filters/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "jinja2-ansible-filters";
   version = "1.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jinja2-pluralize/default.nix b/pkgs/development/python-modules/jinja2-pluralize/default.nix
index 2187c1a24147b..79416be375645 100644
--- a/pkgs/development/python-modules/jinja2-pluralize/default.nix
+++ b/pkgs/development/python-modules/jinja2-pluralize/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "jinja2-pluralize";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "jinja2_pluralize";
diff --git a/pkgs/development/python-modules/jinja2-time/default.nix b/pkgs/development/python-modules/jinja2-time/default.nix
index 3daf84fa69d7d..611bc19df8243 100644
--- a/pkgs/development/python-modules/jinja2-time/default.nix
+++ b/pkgs/development/python-modules/jinja2-time/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "jinja2-time";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jmp/default.nix b/pkgs/development/python-modules/jmp/default.nix
index 2435d90accaf6..945e99310366a 100644
--- a/pkgs/development/python-modules/jmp/default.nix
+++ b/pkgs/development/python-modules/jmp/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "jmp";
   version = "0.0.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "deepmind";
diff --git a/pkgs/development/python-modules/jplephem/default.nix b/pkgs/development/python-modules/jplephem/default.nix
index d945d9c11c560..5a1a8ab3cb70c 100644
--- a/pkgs/development/python-modules/jplephem/default.nix
+++ b/pkgs/development/python-modules/jplephem/default.nix
@@ -2,11 +2,12 @@
 
 buildPythonPackage rec {
   pname = "jplephem";
-  version = "2.20";
+  version = "2.21";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-u5htUI6kbGiTaomWiaZE21+grznJpQRCIImgA+yg4fo=";
+    hash = "sha256-NBlLYQaV8huJIXuYUrjautvOgISMs2nZVn7xLcSCjVU=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/jpylyzer/default.nix b/pkgs/development/python-modules/jpylyzer/default.nix
index 81f3c11b1b1ca..9a33ecf46d4ba 100644
--- a/pkgs/development/python-modules/jpylyzer/default.nix
+++ b/pkgs/development/python-modules/jpylyzer/default.nix
@@ -25,6 +25,7 @@ let
 in buildPythonPackage rec {
   pname = "jpylyzer";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openpreserve";
diff --git a/pkgs/development/python-modules/jpype1/default.nix b/pkgs/development/python-modules/jpype1/default.nix
index dc16012391877..06cea885076e5 100644
--- a/pkgs/development/python-modules/jpype1/default.nix
+++ b/pkgs/development/python-modules/jpype1/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "jpype1";
   version = "1.4.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/js2py/default.nix b/pkgs/development/python-modules/js2py/default.nix
index 9bbfe091c8920..e0769f4ffa191 100644
--- a/pkgs/development/python-modules/js2py/default.nix
+++ b/pkgs/development/python-modules/js2py/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "js2py";
   version = "0.74";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Js2Py";
diff --git a/pkgs/development/python-modules/jschema-to-python/default.nix b/pkgs/development/python-modules/jschema-to-python/default.nix
index e217592e99b0a..fcd80c652d413 100644
--- a/pkgs/development/python-modules/jschema-to-python/default.nix
+++ b/pkgs/development/python-modules/jschema-to-python/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jschema-to-python";
   version = "1.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "jschema_to_python";
diff --git a/pkgs/development/python-modules/json-home-client/default.nix b/pkgs/development/python-modules/json-home-client/default.nix
index 6b63733505c80..5f2fa9eaeb6ee 100644
--- a/pkgs/development/python-modules/json-home-client/default.nix
+++ b/pkgs/development/python-modules/json-home-client/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "json-home-client";
   version = "1.1.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/json-merge-patch/default.nix b/pkgs/development/python-modules/json-merge-patch/default.nix
index 582248ca32ffc..5b8c0a2fa4bef 100644
--- a/pkgs/development/python-modules/json-merge-patch/default.nix
+++ b/pkgs/development/python-modules/json-merge-patch/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "json-merge-patch";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/json-rpc/default.nix b/pkgs/development/python-modules/json-rpc/default.nix
index a1037f573dbdf..458f2edd9d9e0 100644
--- a/pkgs/development/python-modules/json-rpc/default.nix
+++ b/pkgs/development/python-modules/json-rpc/default.nix
@@ -5,6 +5,7 @@ let
 in buildPythonPackage rec {
   pname = "json-rpc";
   version = "1.15.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/json5/default.nix b/pkgs/development/python-modules/json5/default.nix
index b6a54dccc73d5..786f33b385dcc 100644
--- a/pkgs/development/python-modules/json5/default.nix
+++ b/pkgs/development/python-modules/json5/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "json5";
   version = "0.9.14";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dpranke";
diff --git a/pkgs/development/python-modules/jsonable/default.nix b/pkgs/development/python-modules/jsonable/default.nix
index 705087674adbb..075930f645e54 100644
--- a/pkgs/development/python-modules/jsonable/default.nix
+++ b/pkgs/development/python-modules/jsonable/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jsonable";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "halfak";
diff --git a/pkgs/development/python-modules/jsonconversion/default.nix b/pkgs/development/python-modules/jsonconversion/default.nix
index a98798f05fb8e..d9f6d5556fb54 100644
--- a/pkgs/development/python-modules/jsonconversion/default.nix
+++ b/pkgs/development/python-modules/jsonconversion/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "jsonconversion";
   version = "0.2.13";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsondate/default.nix b/pkgs/development/python-modules/jsondate/default.nix
index 7888a6df23cc9..f3b99b259b285 100644
--- a/pkgs/development/python-modules/jsondate/default.nix
+++ b/pkgs/development/python-modules/jsondate/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.1.3";
+  format = "setuptools";
   pname = "jsondate";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/jsondiff/default.nix b/pkgs/development/python-modules/jsondiff/default.nix
index df2e883825c51..6985a6edba3ac 100644
--- a/pkgs/development/python-modules/jsondiff/default.nix
+++ b/pkgs/development/python-modules/jsondiff/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "jsondiff";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsonfield/default.nix b/pkgs/development/python-modules/jsonfield/default.nix
index 37e280b2a1847..5e36636c84090 100644
--- a/pkgs/development/python-modules/jsonfield/default.nix
+++ b/pkgs/development/python-modules/jsonfield/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "jsonfield";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsonpickle/default.nix b/pkgs/development/python-modules/jsonpickle/default.nix
index 4fc2f49119dcd..7b925777b2d71 100644
--- a/pkgs/development/python-modules/jsonpickle/default.nix
+++ b/pkgs/development/python-modules/jsonpickle/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "jsonpickle";
   version = "3.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsonpointer/default.nix b/pkgs/development/python-modules/jsonpointer/default.nix
index f05b886cfb126..455acd5311469 100644
--- a/pkgs/development/python-modules/jsonpointer/default.nix
+++ b/pkgs/development/python-modules/jsonpointer/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "jsonpointer";
   version = "2.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
index 31bb0fe3137eb..0ad585b3e2dc2 100644
--- a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
+++ b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "jsonrpclib-pelix";
   version = "0.4.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jsonstreams/default.nix b/pkgs/development/python-modules/jsonstreams/default.nix
index 197e372edf16d..6fcd075c8445a 100644
--- a/pkgs/development/python-modules/jsonstreams/default.nix
+++ b/pkgs/development/python-modules/jsonstreams/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "jsonstreams";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dcbaker";
diff --git a/pkgs/development/python-modules/jstyleson/default.nix b/pkgs/development/python-modules/jstyleson/default.nix
index 757a8ef8bf29a..9c2008d1f7f7f 100644
--- a/pkgs/development/python-modules/jstyleson/default.nix
+++ b/pkgs/development/python-modules/jstyleson/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "jstyleson";
   version = "0.0.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "linjackson78";
diff --git a/pkgs/development/python-modules/junit-xml/default.nix b/pkgs/development/python-modules/junit-xml/default.nix
index a6475188405b0..1de05ff7e0678 100644
--- a/pkgs/development/python-modules/junit-xml/default.nix
+++ b/pkgs/development/python-modules/junit-xml/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "junit-xml";
   version = "1.9";
+  format = "setuptools";
 
   # Only a wheel on PyPI
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/junitparser/default.nix b/pkgs/development/python-modules/junitparser/default.nix
index 2dbd902efeefa..988fde1f44082 100644
--- a/pkgs/development/python-modules/junitparser/default.nix
+++ b/pkgs/development/python-modules/junitparser/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "junitparser";
   version = "2.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "weiwei";
diff --git a/pkgs/development/python-modules/jupyter-c-kernel/default.nix b/pkgs/development/python-modules/jupyter-c-kernel/default.nix
index a6fe574a9bac1..7b03afc86af76 100644
--- a/pkgs/development/python-modules/jupyter-c-kernel/default.nix
+++ b/pkgs/development/python-modules/jupyter-c-kernel/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jupyter-c-kernel";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "jupyter_c_kernel";
diff --git a/pkgs/development/python-modules/jupyter-contrib-core/default.nix b/pkgs/development/python-modules/jupyter-contrib-core/default.nix
index a81c354974307..7bd1c29eb6ea9 100644
--- a/pkgs/development/python-modules/jupyter-contrib-core/default.nix
+++ b/pkgs/development/python-modules/jupyter-contrib-core/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "jupyter-contrib-core";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jupyter-contrib";
diff --git a/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix b/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
index 5656043625f31..c509a0972bed4 100644
--- a/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
+++ b/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "jupyter-contrib-nbextensions";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ipython-contrib";
diff --git a/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix b/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
index 64cbe33ae8bad..06d7247ed3489 100644
--- a/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
+++ b/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "jupyter-highlight-selected-word";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jcb91";
diff --git a/pkgs/development/python-modules/jupyter-lsp/default.nix b/pkgs/development/python-modules/jupyter-lsp/default.nix
index f098330666cd8..fd8820bcb1d45 100644
--- a/pkgs/development/python-modules/jupyter-lsp/default.nix
+++ b/pkgs/development/python-modules/jupyter-lsp/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jupyter-lsp";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix b/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
index 61c235877f4a1..5fc0a95fc7bf2 100644
--- a/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
+++ b/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "jupyter-nbextensions-configurator";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jupyter-contrib";
diff --git a/pkgs/development/python-modules/jupyter-sphinx/default.nix b/pkgs/development/python-modules/jupyter-sphinx/default.nix
index 13758cb07c13a..3c41db14e7a79 100644
--- a/pkgs/development/python-modules/jupyter-sphinx/default.nix
+++ b/pkgs/development/python-modules/jupyter-sphinx/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "jupyter-sphinx";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/jupyter/default.nix b/pkgs/development/python-modules/jupyter/default.nix
index b795dc9c91019..51108eaa7a8f4 100644
--- a/pkgs/development/python-modules/jupyter/default.nix
+++ b/pkgs/development/python-modules/jupyter/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage rec {
   version = "1.0.0";
+  format = "setuptools";
   pname = "jupyter";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
index 7283eaed4434a..0c61557c26b63 100644
--- a/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
+++ b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jupyterhub-ldapauthenticator";
   version = "1.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
index 5f298922cfe6f..ac8fc028f25e9 100644
--- a/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -207,6 +207,6 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = teams.jupyter.members;
     # darwin: E   OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/jupyterlab-lsp/default.nix b/pkgs/development/python-modules/jupyterlab-lsp/default.nix
index 6d57bc519646a..82d912923895f 100644
--- a/pkgs/development/python-modules/jupyterlab-lsp/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-lsp/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jupyterlab-lsp";
   version = "5.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jupyterlab-widgets/default.nix b/pkgs/development/python-modules/jupyterlab-widgets/default.nix
index 4d668da9bde6b..747556206a19e 100644
--- a/pkgs/development/python-modules/jupyterlab-widgets/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-widgets/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "jupyterlab-widgets";
   version = "3.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "jupyterlab_widgets";
diff --git a/pkgs/development/python-modules/justbases/default.nix b/pkgs/development/python-modules/justbases/default.nix
index dfa4d254654cb..3b24726087be1 100644
--- a/pkgs/development/python-modules/justbases/default.nix
+++ b/pkgs/development/python-modules/justbases/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "justbases";
   version = "0.15.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mulkieran";
diff --git a/pkgs/development/python-modules/justbytes/default.nix b/pkgs/development/python-modules/justbytes/default.nix
index f517c30c01b31..834ced10ab4b9 100644
--- a/pkgs/development/python-modules/justbytes/default.nix
+++ b/pkgs/development/python-modules/justbytes/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "justbytes";
   version = "0.15.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mulkieran";
diff --git a/pkgs/development/python-modules/jwt/default.nix b/pkgs/development/python-modules/jwt/default.nix
index 7e21b4f45a214..95c01cb64bc1c 100644
--- a/pkgs/development/python-modules/jwt/default.nix
+++ b/pkgs/development/python-modules/jwt/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "jwt";
   version = "1.3.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/jxmlease/default.nix b/pkgs/development/python-modules/jxmlease/default.nix
index a9782ef2d40fc..f561d256e1c3e 100644
--- a/pkgs/development/python-modules/jxmlease/default.nix
+++ b/pkgs/development/python-modules/jxmlease/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "jxmlease";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/k5test/default.nix b/pkgs/development/python-modules/k5test/default.nix
index a4620c14882d7..aa7d1c172c678 100644
--- a/pkgs/development/python-modules/k5test/default.nix
+++ b/pkgs/development/python-modules/k5test/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "k5test";
   version = "0.10.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/kaa-base/default.nix b/pkgs/development/python-modules/kaa-base/default.nix
index 5b789f5eda8c3..96c83a4ac81dc 100644
--- a/pkgs/development/python-modules/kaa-base/default.nix
+++ b/pkgs/development/python-modules/kaa-base/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.99.2dev-384-2b73caca";
+  format = "setuptools";
   pname = "kaa-base";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/kaa-metadata/default.nix b/pkgs/development/python-modules/kaa-metadata/default.nix
index 5a50d9e9c0a6a..de71d207b8768 100644
--- a/pkgs/development/python-modules/kaa-metadata/default.nix
+++ b/pkgs/development/python-modules/kaa-metadata/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "0.7.8dev-r4569-20111003";
+  format = "setuptools";
   pname = "kaa-metadata";
   disabled = isPyPy || isPy3k;
 
diff --git a/pkgs/development/python-modules/kafka-python/default.nix b/pkgs/development/python-modules/kafka-python/default.nix
index 089c4a8ffc0ad..9e73dbe9bd198 100644
--- a/pkgs/development/python-modules/kafka-python/default.nix
+++ b/pkgs/development/python-modules/kafka-python/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "2.0.2";
+  format = "setuptools";
   pname = "kafka-python";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/kaggle/default.nix b/pkgs/development/python-modules/kaggle/default.nix
index ce68748ac7e29..acb26d76933de 100644
--- a/pkgs/development/python-modules/kaggle/default.nix
+++ b/pkgs/development/python-modules/kaggle/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "kaggle";
   version = "1.5.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/kaitaistruct/default.nix b/pkgs/development/python-modules/kaitaistruct/default.nix
index c6f8ebf7eaf01..71ad13fadb550 100644
--- a/pkgs/development/python-modules/kaitaistruct/default.nix
+++ b/pkgs/development/python-modules/kaitaistruct/default.nix
@@ -17,6 +17,7 @@ in
 buildPythonPackage rec {
   pname = "kaitaistruct";
   version = "0.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/default.nix b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
index a1ef7e314656e..10d819bf8c52a 100644
--- a/pkgs/development/python-modules/kaldi-active-grammar/default.nix
+++ b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
@@ -24,6 +24,7 @@ in
 buildPythonPackage rec {
   pname = "kaldi-active-grammar";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "daanzu";
diff --git a/pkgs/development/python-modules/kazoo/default.nix b/pkgs/development/python-modules/kazoo/default.nix
index 4799e1503e600..fe11b2538cce4 100644
--- a/pkgs/development/python-modules/kazoo/default.nix
+++ b/pkgs/development/python-modules/kazoo/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "kazoo";
   version = "2.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/kconfiglib/default.nix b/pkgs/development/python-modules/kconfiglib/default.nix
index ba8fecc470b74..4e133e40df011 100644
--- a/pkgs/development/python-modules/kconfiglib/default.nix
+++ b/pkgs/development/python-modules/kconfiglib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "kconfiglib";
   version = "14.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/keep/default.nix b/pkgs/development/python-modules/keep/default.nix
index 176924b5fd1bf..e381feb6dd4ef 100644
--- a/pkgs/development/python-modules/keep/default.nix
+++ b/pkgs/development/python-modules/keep/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "keep";
   version = "2.10.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/keepkey/default.nix b/pkgs/development/python-modules/keepkey/default.nix
index ca4f3c863e67d..a651165246335 100644
--- a/pkgs/development/python-modules/keepkey/default.nix
+++ b/pkgs/development/python-modules/keepkey/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "keepkey";
   version = "7.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "keepkey";
diff --git a/pkgs/development/python-modules/keepkey_agent/default.nix b/pkgs/development/python-modules/keepkey_agent/default.nix
index fc00b23ce5096..cfd70967ee2ef 100644
--- a/pkgs/development/python-modules/keepkey_agent/default.nix
+++ b/pkgs/development/python-modules/keepkey_agent/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "keepkey_agent";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/kerberos/default.nix b/pkgs/development/python-modules/kerberos/default.nix
index a584e38810fc5..4c5a8027e22dd 100644
--- a/pkgs/development/python-modules/kerberos/default.nix
+++ b/pkgs/development/python-modules/kerberos/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "kerberos";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/keyboard/default.nix b/pkgs/development/python-modules/keyboard/default.nix
index c54f8f5fcd7f1..20b3453dab0d1 100644
--- a/pkgs/development/python-modules/keyboard/default.nix
+++ b/pkgs/development/python-modules/keyboard/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "keyboard";
   version = "0.13.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "boppreh";
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index 1905434759a2b..28df79fb99985 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -3,7 +3,9 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, installShellFiles
 , setuptools-scm
+, shtab
 , importlib-metadata
 , dbus-python
 , jaraco-classes
@@ -14,17 +16,19 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "24.2.0";
-  format = "pyproject";
+  version = "24.3.0";
+  pyproject = true;
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ygdGoZ7EISGfTXE/hI+il6ZhqKjBUEhn5Vv7XgkJFQk=";
+    hash = "sha256-5zDs/9MJZYoI7oJTWjtexLTIZpqb4R77ZiSdjgrrmiU=";
   };
 
   nativeBuildInputs = [
+    installShellFiles
     setuptools-scm
+    shtab
   ];
 
   propagatedBuildInputs = [
@@ -36,6 +40,12 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
+  postInstall = ''
+    installShellCompletion --cmd keyring \
+      --bash <($out/bin/keyring --print-completion bash) \
+      --zsh <($out/bin/keyring --print-completion zsh)
+  '';
+
   pythonImportsCheck = [
     "keyring"
     "keyring.backend"
@@ -56,6 +66,7 @@ buildPythonPackage rec {
     homepage    = "https://github.com/jaraco/keyring";
     changelog   = "https://github.com/jaraco/keyring/blob/v${version}/NEWS.rst";
     license     = licenses.mit;
+    mainProgram = "keyring";
     maintainers = with maintainers; [ lovek323 dotlambda ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/python-modules/keystone-engine/default.nix b/pkgs/development/python-modules/keystone-engine/default.nix
index 7c3cf2e70d838..5b392186c9526 100644
--- a/pkgs/development/python-modules/keystone-engine/default.nix
+++ b/pkgs/development/python-modules/keystone-engine/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "keystone-engine";
   version = "0.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
    inherit pname version;
diff --git a/pkgs/development/python-modules/keystoneauth1/default.nix b/pkgs/development/python-modules/keystoneauth1/default.nix
index 134f5af0632f9..815ef3aa3104f 100644
--- a/pkgs/development/python-modules/keystoneauth1/default.nix
+++ b/pkgs/development/python-modules/keystoneauth1/default.nix
@@ -25,6 +25,7 @@
 buildPythonPackage rec {
   pname = "keystoneauth1";
   version = "5.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/keyutils/default.nix b/pkgs/development/python-modules/keyutils/default.nix
index c387c10ebc34e..3782a3b23626d 100644
--- a/pkgs/development/python-modules/keyutils/default.nix
+++ b/pkgs/development/python-modules/keyutils/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "keyutils";
   version = "0.6";
+  format = "setuptools";
 
   # github version comes bundled with tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/kinparse/default.nix b/pkgs/development/python-modules/kinparse/default.nix
index 95632f9ce9f2d..3352d25a3c078 100644
--- a/pkgs/development/python-modules/kinparse/default.nix
+++ b/pkgs/development/python-modules/kinparse/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "kinparse";
   version = "unstable-2019-12-18";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xesscorp";
diff --git a/pkgs/development/python-modules/klaus/default.nix b/pkgs/development/python-modules/klaus/default.nix
index 0d393d0e8ae5e..b46c2c65eee37 100644
--- a/pkgs/development/python-modules/klaus/default.nix
+++ b/pkgs/development/python-modules/klaus/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "klaus";
   version = "2.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
diff --git a/pkgs/development/python-modules/kmapper/default.nix b/pkgs/development/python-modules/kmapper/default.nix
index 86d9f2b5f7987..c4f99ca613f51 100644
--- a/pkgs/development/python-modules/kmapper/default.nix
+++ b/pkgs/development/python-modules/kmapper/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "kmapper";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "scikit-tda";
diff --git a/pkgs/development/python-modules/konnected/default.nix b/pkgs/development/python-modules/konnected/default.nix
index b2117aab2d5db..c279223a52685 100644
--- a/pkgs/development/python-modules/konnected/default.nix
+++ b/pkgs/development/python-modules/konnected/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "konnected";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/korean-lunar-calendar/default.nix b/pkgs/development/python-modules/korean-lunar-calendar/default.nix
index 3a172d73a393d..e9c7431b47df7 100644
--- a/pkgs/development/python-modules/korean-lunar-calendar/default.nix
+++ b/pkgs/development/python-modules/korean-lunar-calendar/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "korean-lunar-calendar";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/krakenex/default.nix b/pkgs/development/python-modules/krakenex/default.nix
index bf907eb847dee..04b114194f68b 100644
--- a/pkgs/development/python-modules/krakenex/default.nix
+++ b/pkgs/development/python-modules/krakenex/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "krakenex";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "veox";
diff --git a/pkgs/development/python-modules/kurbopy/default.nix b/pkgs/development/python-modules/kurbopy/default.nix
new file mode 100644
index 0000000000000..e4665998534d3
--- /dev/null
+++ b/pkgs/development/python-modules/kurbopy/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, pytestCheckHook
+, python
+, rustPlatform
+, unzip
+}:
+
+buildPythonPackage rec {
+  pname = "kurbopy";
+  version = "0.10.40";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-dhpcDi20Na6SDbRxrC8N3SWdN1J/CWJgCUI3scJX/6s=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+  ];
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-V3LeT0dqkfft1ftc+azwvuSzzdUJ7/wAp31fN7te9RQ=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  preCheck = ''
+    # pytestCheckHook puts . at the front of Python's sys.path, due to:
+    # https://github.com/NixOS/nixpkgs/issues/255262
+    # So we need to prevent pytest from trying to import kurbopy from
+    # ./kurbopy, which contains the sources but not the newly built module.
+    # We want it to import kurbopy from the nix store via $PYTHONPATH instead.
+    rm -r kurbopy
+  '';
+
+  meta = with lib; {
+    description = "Python wrapper around the Rust kurbo library for 2D curve manipulation";
+    homepage = "https://github.com/simoncozens/kurbopy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/l18n/default.nix b/pkgs/development/python-modules/l18n/default.nix
index cab48d4376f8e..29c4164097f96 100644
--- a/pkgs/development/python-modules/l18n/default.nix
+++ b/pkgs/development/python-modules/l18n/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "l18n";
   version = "2021.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix
index aa4b10d49d5f7..4a66ff5a364ac 100644
--- a/pkgs/development/python-modules/labgrid/default.nix
+++ b/pkgs/development/python-modules/labgrid/default.nix
@@ -25,13 +25,13 @@
 
 buildPythonPackage rec {
   pname = "labgrid";
-  version = "23.0.3";
+  version = "23.0.4";
 
   src = fetchFromGitHub {
     owner = "labgrid-project";
     repo = "labgrid";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-yhlBqqCLOt6liw4iv8itG6E4QfIa7cW76QJqefUM5dw=";
+    sha256 = "sha256-EEPQSIHKAmLPudv7LLm9ol3Kukgz8edYKfDi+wvERpk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/langdetect/default.nix b/pkgs/development/python-modules/langdetect/default.nix
index 5d3dae1580603..a50cbe73a32dc 100644
--- a/pkgs/development/python-modules/langdetect/default.nix
+++ b/pkgs/development/python-modules/langdetect/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "langdetect";
   version = "1.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index 3b81c6128887f..78337124ca8f5 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.63";
+  version = "0.0.69";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KE+WMnuWAq1stZuuwZkOPOKQ2lZNKtxzNbZMRoOdmz0=";
+    hash = "sha256-LP97bGCmLw2uFcFdFcDWM7hSuki7r7T6WFHI6i3rF34=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/language-tags/default.nix b/pkgs/development/python-modules/language-tags/default.nix
index 2d3f68f82cea6..24cd835b14d6f 100644
--- a/pkgs/development/python-modules/language-tags/default.nix
+++ b/pkgs/development/python-modules/language-tags/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "language-tags";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "OnroerendErfgoed";
diff --git a/pkgs/development/python-modules/latexcodec/default.nix b/pkgs/development/python-modules/latexcodec/default.nix
index be38086592202..ef677b82e03d2 100644
--- a/pkgs/development/python-modules/latexcodec/default.nix
+++ b/pkgs/development/python-modules/latexcodec/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "latexcodec";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/latexify-py/default.nix b/pkgs/development/python-modules/latexify-py/default.nix
index f56055e55fd78..ccda72eb03d7f 100644
--- a/pkgs/development/python-modules/latexify-py/default.nix
+++ b/pkgs/development/python-modules/latexify-py/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "latexify-py";
-  version = "0.4.1";
+  version = "0.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "latexify_py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sxXfm4zJJT+94jcSsYH7Ky3XwFOniSNxvcVUAsgz8u0=";
+    hash = "sha256-bBtAtBJfpStNYWhOJoypDI9hhE4g1ZFHBU8p6S1yCgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
index a3367cc9bd4fc..2eec2c6e2827a 100644
--- a/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
   version = "1.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lazy/default.nix b/pkgs/development/python-modules/lazy/default.nix
index 1e5f72ff803c9..0403b47f53244 100644
--- a/pkgs/development/python-modules/lazy/default.nix
+++ b/pkgs/development/python-modules/lazy/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "lazy";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lazy_import/default.nix b/pkgs/development/python-modules/lazy_import/default.nix
index f3812f0723d02..1fd6ed4426886 100644
--- a/pkgs/development/python-modules/lazy_import/default.nix
+++ b/pkgs/development/python-modules/lazy_import/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "lazy_import";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lcd-i2c/default.nix b/pkgs/development/python-modules/lcd-i2c/default.nix
new file mode 100644
index 0000000000000..7ba9be221dde1
--- /dev/null
+++ b/pkgs/development/python-modules/lcd-i2c/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, python3
+, fetchPypi
+, buildPythonPackage
+, smbus2
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "lcd-i2c";
+  version = "0.2.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-NYBaCXBmuTziT0WYEqrW10HRmRy3jpjH3YWQh5Y/TdQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    smbus2
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with an I2C LCD screen through Python";
+    homepage = "https://pypi.org/project/lcd-i2c/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oliver-koss ];
+    mainProgram = "lcd-i2c";
+  };
+}
diff --git a/pkgs/development/python-modules/lcov_cobertura/default.nix b/pkgs/development/python-modules/lcov_cobertura/default.nix
index a40265c76c882..07be936d7aa6d 100644
--- a/pkgs/development/python-modules/lcov_cobertura/default.nix
+++ b/pkgs/development/python-modules/lcov_cobertura/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "lcov_cobertura";
   version = "2.0.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
index 530a8d7ec0dd0..c04ec4e49c4cb 100644
--- a/pkgs/development/python-modules/ldap3/default.nix
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ldap3";
   version = "2.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ldappool/default.nix b/pkgs/development/python-modules/ldappool/default.nix
index a95db86509800..2cb2155bfed4e 100644
--- a/pkgs/development/python-modules/ldappool/default.nix
+++ b/pkgs/development/python-modules/ldappool/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "ldappool";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "ldappool";
diff --git a/pkgs/development/python-modules/ldaptor/default.nix b/pkgs/development/python-modules/ldaptor/default.nix
index e100690e6b7ad..633e7aa967a24 100644
--- a/pkgs/development/python-modules/ldaptor/default.nix
+++ b/pkgs/development/python-modules/ldaptor/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "ldaptor";
   version = "21.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/leather/default.nix b/pkgs/development/python-modules/leather/default.nix
index 99977e7c6a2f2..e51f5f4588683 100644
--- a/pkgs/development/python-modules/leather/default.nix
+++ b/pkgs/development/python-modules/leather/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "leather";
   version = "0.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/leb128/default.nix b/pkgs/development/python-modules/leb128/default.nix
index b206de136219c..4247a4ff75495 100644
--- a/pkgs/development/python-modules/leb128/default.nix
+++ b/pkgs/development/python-modules/leb128/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "leb128";
   version = "1.0.5";
+  format = "setuptools";
 
   # fetchPypi doesn't include files required for tests
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ledger_agent/default.nix b/pkgs/development/python-modules/ledger_agent/default.nix
index 8a0ace1264580..3ac9e167a0387 100644
--- a/pkgs/development/python-modules/ledger_agent/default.nix
+++ b/pkgs/development/python-modules/ledger_agent/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "ledger_agent";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/leveldb/default.nix b/pkgs/development/python-modules/leveldb/default.nix
index 212f13d00cf8a..e275d41f89158 100644
--- a/pkgs/development/python-modules/leveldb/default.nix
+++ b/pkgs/development/python-modules/leveldb/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "leveldb";
   version = "0.201";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lexid/default.nix b/pkgs/development/python-modules/lexid/default.nix
index 5ab5953aef62b..788cb1e2056be 100644
--- a/pkgs/development/python-modules/lexid/default.nix
+++ b/pkgs/development/python-modules/lexid/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "lexid";
   version = "2021.1006";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix
index 61d58ea468c1c..5b537f0c00842 100644
--- a/pkgs/development/python-modules/libagent/default.nix
+++ b/pkgs/development/python-modules/libagent/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "libagent";
   version = "0.14.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "romanz";
diff --git a/pkgs/development/python-modules/libevdev/default.nix b/pkgs/development/python-modules/libevdev/default.nix
index 5f63653e3c43c..44213cdd14cf3 100644
--- a/pkgs/development/python-modules/libevdev/default.nix
+++ b/pkgs/development/python-modules/libevdev/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "libevdev";
   version = "0.11";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix
index 699bbabdfc763..710ef3dd1398c 100644
--- a/pkgs/development/python-modules/libgpuarray/default.nix
+++ b/pkgs/development/python-modules/libgpuarray/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "libgpuarray";
   version = "0.7.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Theano";
diff --git a/pkgs/development/python-modules/libkeepass/default.nix b/pkgs/development/python-modules/libkeepass/default.nix
index aa922db9c1024..14bbdb1ec0092 100644
--- a/pkgs/development/python-modules/libkeepass/default.nix
+++ b/pkgs/development/python-modules/libkeepass/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "libkeepass";
   version = "0.3.1.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/liblarch/default.nix b/pkgs/development/python-modules/liblarch/default.nix
index 45c020b537204..a133b5382441b 100644
--- a/pkgs/development/python-modules/liblarch/default.nix
+++ b/pkgs/development/python-modules/liblarch/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage rec {
   version = "3.2.0";
+  format = "setuptools";
   pname = "liblarch";
   disabled = pythonOlder "3.5.0";
 
diff --git a/pkgs/development/python-modules/libmr/default.nix b/pkgs/development/python-modules/libmr/default.nix
index d775cc7b245b0..c852ce160cd3e 100644
--- a/pkgs/development/python-modules/libmr/default.nix
+++ b/pkgs/development/python-modules/libmr/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "libmr";
   version = "0.1.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/libpurecool/default.nix b/pkgs/development/python-modules/libpurecool/default.nix
index aa523d9a98bf3..3e29ea73e2c9d 100644
--- a/pkgs/development/python-modules/libpurecool/default.nix
+++ b/pkgs/development/python-modules/libpurecool/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "libpurecool";
   version = "0.6.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/libsass/default.nix b/pkgs/development/python-modules/libsass/default.nix
index 8a6bc51066367..4996dfc1169e6 100644
--- a/pkgs/development/python-modules/libsass/default.nix
+++ b/pkgs/development/python-modules/libsass/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "libsass";
   version = "0.22.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sass";
diff --git a/pkgs/development/python-modules/libsixel/default.nix b/pkgs/development/python-modules/libsixel/default.nix
index c061b51ab849f..37bf32f31fd61 100644
--- a/pkgs/development/python-modules/libsixel/default.nix
+++ b/pkgs/development/python-modules/libsixel/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = libsixel.version;
+  format = "setuptools";
   pname = "libsixel";
 
   src = libsixel.src;
diff --git a/pkgs/development/python-modules/libsoundtouch/default.nix b/pkgs/development/python-modules/libsoundtouch/default.nix
index 2abd187d0476e..0ca972c8bade8 100644
--- a/pkgs/development/python-modules/libsoundtouch/default.nix
+++ b/pkgs/development/python-modules/libsoundtouch/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname   = "libsoundtouch";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "CharlesBlonde";
diff --git a/pkgs/development/python-modules/libusb1/default.nix b/pkgs/development/python-modules/libusb1/default.nix
index bdafac9426363..b61b78a86321a 100644
--- a/pkgs/development/python-modules/libusb1/default.nix
+++ b/pkgs/development/python-modules/libusb1/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "libusb1";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/libusbsio/default.nix b/pkgs/development/python-modules/libusbsio/default.nix
index b6cab59570b92..918bb71726665 100644
--- a/pkgs/development/python-modules/libusbsio/default.nix
+++ b/pkgs/development/python-modules/libusbsio/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   pname = "libusbsio";
+  format = "setuptools";
   inherit (libusbsio) version;
 
   src = "${libusbsio.src}/python";
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index 3e5d6af48afaf..3ed1abee42c92 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "libvirt";
   version = "9.9.0";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "libvirt";
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index bd95899398f8e..71443bb0144a1 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "30.1.1";
-  format = "setuptools";
+  version = "30.2.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5pRfFRQLxWmhEKoJZiC7gZbmW8BbqBNBWbdwFL0MtpM=";
+    hash = "sha256-vsQsHi2jdB0OiV6stm1APjQvr+238UoKgaaeXVx/isI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/lightparam/default.nix b/pkgs/development/python-modules/lightparam/default.nix
index 936cc9a06269b..0d1e232bb195b 100644
--- a/pkgs/development/python-modules/lightparam/default.nix
+++ b/pkgs/development/python-modules/lightparam/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "lightparam";
   version = "0.4.6";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/lima/default.nix b/pkgs/development/python-modules/lima/default.nix
index 6174a4d764108..462c104c25f24 100644
--- a/pkgs/development/python-modules/lima/default.nix
+++ b/pkgs/development/python-modules/lima/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "lima";
   version = "0.5";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/limitlessled/default.nix b/pkgs/development/python-modules/limitlessled/default.nix
index 6d12f6d51496d..79a8c1136ce5a 100644
--- a/pkgs/development/python-modules/limitlessled/default.nix
+++ b/pkgs/development/python-modules/limitlessled/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "limitlessled";
   version = "1.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/linecache2/default.nix b/pkgs/development/python-modules/linecache2/default.nix
index 4231ed43ad5b6..1c4b2032f0d1b 100644
--- a/pkgs/development/python-modules/linecache2/default.nix
+++ b/pkgs/development/python-modules/linecache2/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "linecache2";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lineedit/default.nix b/pkgs/development/python-modules/lineedit/default.nix
index 5631054627646..9f7bc9f2e371f 100644
--- a/pkgs/development/python-modules/lineedit/default.nix
+++ b/pkgs/development/python-modules/lineedit/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "lineedit";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "randy3k";
diff --git a/pkgs/development/python-modules/linien-client/default.nix b/pkgs/development/python-modules/linien-client/default.nix
new file mode 100644
index 0000000000000..0cbd9b2d9adb0
--- /dev/null
+++ b/pkgs/development/python-modules/linien-client/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, linien-common
+, setuptools
+, fabric
+, typing-extensions
+, numpy
+, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "linien-client";
+  pyproject = true;
+
+  inherit (linien-common) src version;
+
+  sourceRoot = "source/linien-client";
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    fabric
+    typing-extensions
+    numpy
+    scipy
+    linien-common
+  ];
+
+  pythonImportsCheck = [ "linien_client" ];
+
+  meta = with lib; {
+    description = "Client components of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-client";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/linien-common/default.nix b/pkgs/development/python-modules/linien-common/default.nix
new file mode 100644
index 0000000000000..23d49ba3605fe
--- /dev/null
+++ b/pkgs/development/python-modules/linien-common/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, importlib-metadata
+, numpy
+, rpyc
+, scipy
+, appdirs
+, callPackage
+}:
+
+buildPythonPackage rec {
+  pname = "linien-common";
+  version = "1.0.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "linien-org";
+    repo = "linien";
+    rev = "v${version}";
+    hash = "sha256-BMYFi1HsNKWHmYdrnX/mAehke7UxQZlruFmpaAvxWvQ=";
+  };
+
+  sourceRoot = "source/linien-common";
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    importlib-metadata
+    numpy
+    rpyc
+    scipy
+    appdirs
+  ];
+
+  pythonImportsCheck = [ "linien_common" ];
+
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
+
+  meta = with lib; {
+    description = "Shared components of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-common";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/linien-common/tests.nix b/pkgs/development/python-modules/linien-common/tests.nix
new file mode 100644
index 0000000000000..7237548f2da36
--- /dev/null
+++ b/pkgs/development/python-modules/linien-common/tests.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, linien-common
+, linien-client
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "linien-tests";
+  inherit (linien-common) version src;
+  format = "other";
+  pyproject = false;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  nativeCheckInputs = [
+    linien-common
+    linien-client
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+}
diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix
index 4c1b77bf86a9b..0f210be88119f 100644
--- a/pkgs/development/python-modules/linode-api/default.nix
+++ b/pkgs/development/python-modules/linode-api/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "linode-api";
   version = "5.7.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   # Sources from Pypi exclude test fixtures
diff --git a/pkgs/development/python-modules/linode/default.nix b/pkgs/development/python-modules/linode/default.nix
index c7a60201ee883..7f4d9b0dbd838 100644
--- a/pkgs/development/python-modules/linode/default.nix
+++ b/pkgs/development/python-modules/linode/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "linode";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/linuxfd/default.nix b/pkgs/development/python-modules/linuxfd/default.nix
index 7d968c1914414..e9904d8d454eb 100644
--- a/pkgs/development/python-modules/linuxfd/default.nix
+++ b/pkgs/development/python-modules/linuxfd/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "linuxfd";
   version = "1.5";
+  format = "setuptools";
 
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/lit/default.nix b/pkgs/development/python-modules/lit/default.nix
index 1467dfaa1f6dc..695a23d90ac58 100644
--- a/pkgs/development/python-modules/lit/default.nix
+++ b/pkgs/development/python-modules/lit/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "lit";
   version = "17.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index ef70a50f70d1c..d25adcdf65c09 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -6,9 +6,16 @@
 , openai
 , python-dotenv
 , tiktoken
+, tokenizers
+, click
+, jinja2
+, certifi
+, appdirs
+, aiohttp
+, httpx
 }:
 let
-  version = "0.11.1";
+  version = "1.7.11";
 in
 buildPythonPackage rec {
   pname = "litellm";
@@ -19,7 +26,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5Zk1lc7G0dU/AoLE5V+p30wE/gRfYRPsVS3sNgwWzCU=";
+    hash = "sha256-B2LGaA6A+pU2aDzPS2d5stY+Z8Wxq3BkXB1CLY6vBiY=";
   };
 
   postPatch = ''
@@ -31,10 +38,16 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    importlib-metadata
     openai
     python-dotenv
     tiktoken
+    importlib-metadata
+    tokenizers
+    click
+    jinja2
+    certifi
+    appdirs
+    aiohttp
   ];
 
   # the import check phase fails trying to do a network request to openai
diff --git a/pkgs/development/python-modules/livelossplot/default.nix b/pkgs/development/python-modules/livelossplot/default.nix
index dd7a19c22484f..2218c01d64243 100644
--- a/pkgs/development/python-modules/livelossplot/default.nix
+++ b/pkgs/development/python-modules/livelossplot/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "livelossplot";
   version = "0.5.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/livereload/default.nix b/pkgs/development/python-modules/livereload/default.nix
index de2064538047e..2b99995f91ccd 100644
--- a/pkgs/development/python-modules/livereload/default.nix
+++ b/pkgs/development/python-modules/livereload/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "livereload";
   version = "2.6.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lepture";
diff --git a/pkgs/development/python-modules/livestreamer-curses/default.nix b/pkgs/development/python-modules/livestreamer-curses/default.nix
deleted file mode 100644
index 213caaf4fb30e..0000000000000
--- a/pkgs/development/python-modules/livestreamer-curses/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, isPyPy
-, livestreamer
-}:
-
-buildPythonPackage rec {
-  pname = "livestreamer-curses";
-  version = "1.5.2";
-  disabled = isPyPy;
-
-  src = fetchFromGitHub {
-    owner = "gapato";
-    repo = "livestreamer-curses";
-    rev = "v${version}";
-    hash = "sha256-Pi0PIOUhMMAWft9ackB04IgF6DyPrXppNqyVjozIjN4=";
-  };
-
-  propagatedBuildInputs = [ livestreamer ];
-
-  meta = with lib; {
-    homepage = "https://github.com/gapato/livestreamer-curses";
-    description = "Curses frontend for livestreamer";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
deleted file mode 100644
index c7c4b06a97465..0000000000000
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, isPyPy
-, makeWrapper
-, rtmpdump
-, pycrypto
-, requests
-}:
-
-buildPythonPackage rec {
-  pname = "livestreamer";
-  version = "1.12.2";
-  disabled = isPyPy;
-
-  src = fetchFromGitHub {
-    owner = "chrippa";
-    repo = "livestreamer";
-    rev = "v${version}";
-    hash = "sha256-PqqyBh+oMmu7Ynly3fqx/+6mQYX+6SpI0Okj2O+YLz0=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  propagatedBuildInputs = [ rtmpdump pycrypto requests ];
-
-  postInstall = ''
-    wrapProgram $out/bin/livestreamer --prefix PATH : ${lib.makeBinPath [ rtmpdump ]}
-  '';
-
-  meta = with lib; {
-    homepage = "http://livestreamer.tanuki.se";
-    description = "Livestreamer is CLI program that extracts streams from various services and pipes them into a video player of choice";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/lizard/default.nix b/pkgs/development/python-modules/lizard/default.nix
index b54e910cac456..39b35e3306a9b 100644
--- a/pkgs/development/python-modules/lizard/default.nix
+++ b/pkgs/development/python-modules/lizard/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "lizard";
   version = "1.17.10";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index e3afe80624fb0..925c449ae9988 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -17,6 +17,7 @@ buildPythonPackage rec {
   # requires at least this version of llvmlite (also not yet officially
   # released, but at least tagged).
   version = "0.41.0dev0";
+  format = "setuptools";
 
   disabled = isPyPy || !isPy3k;
 
diff --git a/pkgs/development/python-modules/lml/default.nix b/pkgs/development/python-modules/lml/default.nix
index e1d900ba65746..4ad69e15a4292 100644
--- a/pkgs/development/python-modules/lml/default.nix
+++ b/pkgs/development/python-modules/lml/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "lml";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lmtpd/default.nix b/pkgs/development/python-modules/lmtpd/default.nix
index bb27c29173b1e..1924c93a3ea99 100644
--- a/pkgs/development/python-modules/lmtpd/default.nix
+++ b/pkgs/development/python-modules/lmtpd/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "lmtpd";
   version = "6.2.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/localimport/default.nix b/pkgs/development/python-modules/localimport/default.nix
index c5bc45aae4f26..9cb001af86a2f 100644
--- a/pkgs/development/python-modules/localimport/default.nix
+++ b/pkgs/development/python-modules/localimport/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "localimport";
   version = "1.7.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/localstack-client/default.nix b/pkgs/development/python-modules/localstack-client/default.nix
index 65744f35d075f..b78cc3da7633c 100644
--- a/pkgs/development/python-modules/localstack-client/default.nix
+++ b/pkgs/development/python-modules/localstack-client/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "localstack-client";
   version = "1.39";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "localstack";
diff --git a/pkgs/development/python-modules/localstack-ext/default.nix b/pkgs/development/python-modules/localstack-ext/default.nix
index f312371afe9d6..90e743f839e72 100644
--- a/pkgs/development/python-modules/localstack-ext/default.nix
+++ b/pkgs/development/python-modules/localstack-ext/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "localstack-ext";
   version = "2.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/localstack/default.nix b/pkgs/development/python-modules/localstack/default.nix
index 663b20e5355f6..6a408c9359205 100644
--- a/pkgs/development/python-modules/localstack/default.nix
+++ b/pkgs/development/python-modules/localstack/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "localstack";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "localstack";
diff --git a/pkgs/development/python-modules/localzone/default.nix b/pkgs/development/python-modules/localzone/default.nix
index c84cd1c893b2c..84c5acd276901 100644
--- a/pkgs/development/python-modules/localzone/default.nix
+++ b/pkgs/development/python-modules/localzone/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "localzone";
   version = "0.9.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ags-slc";
diff --git a/pkgs/development/python-modules/lockfile/default.nix b/pkgs/development/python-modules/lockfile/default.nix
index 2368c4415ba40..0fb64ad0baf9f 100644
--- a/pkgs/development/python-modules/lockfile/default.nix
+++ b/pkgs/development/python-modules/lockfile/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "lockfile";
   version = "0.12.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/logical-unification/default.nix b/pkgs/development/python-modules/logical-unification/default.nix
index 6e78dc850ed03..c129202dbf168 100644
--- a/pkgs/development/python-modules/logical-unification/default.nix
+++ b/pkgs/development/python-modules/logical-unification/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "logical-unification";
   version = "0.4.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pythological";
diff --git a/pkgs/development/python-modules/logster/default.nix b/pkgs/development/python-modules/logster/default.nix
index 7f3a4eeb83b84..d0603fcdf0b36 100644
--- a/pkgs/development/python-modules/logster/default.nix
+++ b/pkgs/development/python-modules/logster/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "logster";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "etsy";
diff --git a/pkgs/development/python-modules/logzero/default.nix b/pkgs/development/python-modules/logzero/default.nix
index 5e6b45fa7f465..fa35ca73b51ec 100644
--- a/pkgs/development/python-modules/logzero/default.nix
+++ b/pkgs/development/python-modules/logzero/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "logzero";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/lomond/default.nix b/pkgs/development/python-modules/lomond/default.nix
index 4fbdf5a2f8231..f8389fc46fcdc 100644
--- a/pkgs/development/python-modules/lomond/default.nix
+++ b/pkgs/development/python-modules/lomond/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "lomond";
   version = "0.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wildfoundry";
diff --git a/pkgs/development/python-modules/lrcalc-python/default.nix b/pkgs/development/python-modules/lrcalc-python/default.nix
index 66c0ad46e5b70..f425ec23775a0 100644
--- a/pkgs/development/python-modules/lrcalc-python/default.nix
+++ b/pkgs/development/python-modules/lrcalc-python/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "lrcalc-python";
   version = "2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/luddite/default.nix b/pkgs/development/python-modules/luddite/default.nix
index 26570a1540b69..9996e3574ce37 100644
--- a/pkgs/development/python-modules/luddite/default.nix
+++ b/pkgs/development/python-modules/luddite/default.nix
@@ -1,31 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
+, packaging
 , pytestCheckHook
-, pytest-socket
 , pytest-mock
 }:
 
 buildPythonPackage rec {
   pname = "luddite";
-  version = "1.0.2";
+  version = "1.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jumptrading";
     repo = pname;
     rev = "v${version}";
-    sha256 = "8/7uwO5HLhyXYt+T6VUO/O7TN9+FfRlT8y0r5+CJ/l4=";
+    hash = "sha256-JXIM7/5LO95oabM16GwAt3v3a8uldGpGXDWmVic8Ins=";
   };
 
   postPatch = ''
     substituteInPlace pytest.ini \
-      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" ""
+      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" "" \
+      --replace "--disable-socket" ""
   '';
 
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [ packaging ];
 
-  nativeCheckInputs = [ pytestCheckHook pytest-socket pytest-mock ];
+  nativeCheckInputs = [ pytestCheckHook pytest-mock ];
   pythonImportsCheck = [ "luddite" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/luhn/default.nix b/pkgs/development/python-modules/luhn/default.nix
index 95d1cad3b807b..e0e0393ff1d38 100644
--- a/pkgs/development/python-modules/luhn/default.nix
+++ b/pkgs/development/python-modules/luhn/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "luhn";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mmcloughlin";
diff --git a/pkgs/development/python-modules/luqum/default.nix b/pkgs/development/python-modules/luqum/default.nix
index 2c9f78fc583cb..afad9262c7b3b 100644
--- a/pkgs/development/python-modules/luqum/default.nix
+++ b/pkgs/development/python-modules/luqum/default.nix
@@ -1,40 +1,61 @@
 { lib
 , buildPythonPackage
+, elastic-transport
+, elasticsearch-dsl
 , fetchFromGitHub
-, pythonOlder
-# dependencies
 , ply
-# test dependencies
-, elasticsearch-dsl
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
-let
+
+buildPythonPackage rec {
   pname = "luqum";
   version = "0.13.0";
-in
-buildPythonPackage {
-  inherit pname version;
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jurismarches";
-    repo = pname;
-    rev = version;
+    repo = "luqum";
+    rev = "refs/tags/${version}";
     hash = "sha256-lcJCLl0crCl3Y5UlWBMZJR2UtVP96gaJNRxwY9Xn7TM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '--doctest-modules --doctest-glob="test_*.rst" --cov=luqum --cov-branch --cov-report html --no-cov-on-fail' ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     ply
   ];
 
   nativeCheckInputs = [
+    elastic-transport
     elasticsearch-dsl
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "luqum"
+  ];
+
+  disabledTestPaths = [
+    # Tests require an Elasticsearch instance
+    "tests/test_elasticsearch/test_es_integration.py"
+    "tests/test_elasticsearch/test_es_naming.py"
   ];
 
   meta = with lib; {
-    description = "A lucene query parser generating ElasticSearch queries and more !";
+    description = "A lucene query parser generating ElasticSearch queries";
     homepage = "https://github.com/jurismarches/luqum";
+    changelog = "https://github.com/jurismarches/luqum/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ happysalada ];
   };
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index db531a65778f2..f6016ae3a9ed6 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "lxml";
   version = "4.9.3-3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/lzstring/default.nix b/pkgs/development/python-modules/lzstring/default.nix
index 499c720d53fb6..02602f1f8c20c 100644
--- a/pkgs/development/python-modules/lzstring/default.nix
+++ b/pkgs/development/python-modules/lzstring/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname   = "lzstring";
   version = "1.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/m2r/default.nix b/pkgs/development/python-modules/m2r/default.nix
index 02dd3c540ac4b..ab94a0b5e262d 100644
--- a/pkgs/development/python-modules/m2r/default.nix
+++ b/pkgs/development/python-modules/m2r/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "m2r";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/macropy/default.nix b/pkgs/development/python-modules/macropy/default.nix
index d7b122396e0e1..051ce068b3179 100644
--- a/pkgs/development/python-modules/macropy/default.nix
+++ b/pkgs/development/python-modules/macropy/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   # https://github.com/lihaoyi/macropy/issues/94
   version = "1.1.0b2";
+  format = "setuptools";
   pname = "macropy";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
index 76eaca6be65b1..463b3560457d2 100644
--- a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "magic-wormhole-transit-relay";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix
index 2f234cc635425..6926cc0e6958f 100644
--- a/pkgs/development/python-modules/mahotas/default.nix
+++ b/pkgs/development/python-modules/mahotas/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "mahotas";
   version = "1.4.13";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "luispedro";
diff --git a/pkgs/development/python-modules/mail-parser/default.nix b/pkgs/development/python-modules/mail-parser/default.nix
index 42123445fc53a..4ecb12642ccd3 100644
--- a/pkgs/development/python-modules/mail-parser/default.nix
+++ b/pkgs/development/python-modules/mail-parser/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mail-parser";
   version = "3.15.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SpamScope";
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 4701b456e09af..62b97f53b1e87 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -2,20 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "5.0.9";
-  format = "setuptools";
+  version = "6.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iwg5B9pC2qRI2T6xnwyXjd4uhWVhel52Jxs1pfcoXM0=";
+    hash = "sha256-PXo6dfiAqC1WD/z5NBI6UZVUl/cwlvoqKDyfZI4fn2s=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Module has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/mailchimp/default.nix b/pkgs/development/python-modules/mailchimp/default.nix
index 787ecb0316f72..6308e7e8e6bba 100644
--- a/pkgs/development/python-modules/mailchimp/default.nix
+++ b/pkgs/development/python-modules/mailchimp/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "2.0.10";
+  format = "setuptools";
   pname = "mailchimp";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/maison/default.nix b/pkgs/development/python-modules/maison/default.nix
index 03d4c5c05d879..fc868ffefd2c4 100644
--- a/pkgs/development/python-modules/maison/default.nix
+++ b/pkgs/development/python-modules/maison/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "maison";
-  version = "1.4.1";
+  version = "1.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "dbatten5";
     repo = "maison";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uJW+7+cIt+jnbiC+HvT7KzyNk1enEtELTxtfc4eXAPU=";
+    hash = "sha256-XNo7QS8BCYzkDozLW0T+KMQPI667lDTCFtOqKq9q3hw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/makefun/default.nix b/pkgs/development/python-modules/makefun/default.nix
index 9eb72a8910454..03d6e587eafe7 100644
--- a/pkgs/development/python-modules/makefun/default.nix
+++ b/pkgs/development/python-modules/makefun/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "makefun";
   version = "1.15.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mako/default.nix b/pkgs/development/python-modules/mako/default.nix
index cdfb682b5a65b..d9b3ecefc9ed5 100644
--- a/pkgs/development/python-modules/mako/default.nix
+++ b/pkgs/development/python-modules/mako/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "mako";
   version = "1.2.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/managesieve/default.nix b/pkgs/development/python-modules/managesieve/default.nix
index 9e2515b0e7b56..74a12d9a58664 100644
--- a/pkgs/development/python-modules/managesieve/default.nix
+++ b/pkgs/development/python-modules/managesieve/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "managesieve";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/manhole/default.nix b/pkgs/development/python-modules/manhole/default.nix
index 1480a002d0e26..26c76cbb16592 100644
--- a/pkgs/development/python-modules/manhole/default.nix
+++ b/pkgs/development/python-modules/manhole/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "manhole";
   version = "1.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/manuel/default.nix b/pkgs/development/python-modules/manuel/default.nix
index c0040947488f7..8d87e6240982a 100644
--- a/pkgs/development/python-modules/manuel/default.nix
+++ b/pkgs/development/python-modules/manuel/default.nix
@@ -5,12 +5,13 @@
 , python
 , isPy27
 , six
-, zope_testing
+, zope-testing
 }:
 
 buildPythonPackage rec {
   pname = "manuel";
   version = "1.12.4";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
@@ -29,7 +30,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [ six ];
-  nativeCheckInputs = [ zope_testing ];
+  nativeCheckInputs = [ zope-testing ];
 
   meta = with lib; {
     description = "A documentation builder";
diff --git a/pkgs/development/python-modules/mapbox/default.nix b/pkgs/development/python-modules/mapbox/default.nix
index 721a2ece39fdd..52d3eb2efbbc2 100644
--- a/pkgs/development/python-modules/mapbox/default.nix
+++ b/pkgs/development/python-modules/mapbox/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "mapbox";
   version = "0.18.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mapbox";
diff --git a/pkgs/development/python-modules/mariadb/default.nix b/pkgs/development/python-modules/mariadb/default.nix
index 54e31065a0895..cad6afb3cd52d 100644
--- a/pkgs/development/python-modules/mariadb/default.nix
+++ b/pkgs/development/python-modules/mariadb/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mariadb";
   version = "1.1.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/marisa/default.nix b/pkgs/development/python-modules/marisa/default.nix
index 21a457b5b34e4..6ed3d6f4bf390 100644
--- a/pkgs/development/python-modules/marisa/default.nix
+++ b/pkgs/development/python-modules/marisa/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   pname = "marisa";
+  format = "setuptools";
   inherit (marisa) src version;
 
   nativeBuildInputs = [ swig ];
diff --git a/pkgs/development/python-modules/markdown-macros/default.nix b/pkgs/development/python-modules/markdown-macros/default.nix
index e0e41bf3d0a0e..2a15b4edb1c65 100644
--- a/pkgs/development/python-modules/markdown-macros/default.nix
+++ b/pkgs/development/python-modules/markdown-macros/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "markdown-macros";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix
index ac5e880886cf8..91c10116e1bde 100644
--- a/pkgs/development/python-modules/markdown2/default.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "markdown2";
   version = "2.4.10";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/markdownify/default.nix b/pkgs/development/python-modules/markdownify/default.nix
index 8b5942d61fa35..00af58297b92e 100644
--- a/pkgs/development/python-modules/markdownify/default.nix
+++ b/pkgs/development/python-modules/markdownify/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "markdownify";
   version = "0.11.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/markuppy/default.nix b/pkgs/development/python-modules/markuppy/default.nix
index 14661a84b6231..fde9ae4ceec94 100644
--- a/pkgs/development/python-modules/markuppy/default.nix
+++ b/pkgs/development/python-modules/markuppy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "markuppy";
   version = "1.14";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "MarkupPy";
diff --git a/pkgs/development/python-modules/marshmallow-enum/default.nix b/pkgs/development/python-modules/marshmallow-enum/default.nix
index 1d108b36867b0..d375901a0f3fd 100644
--- a/pkgs/development/python-modules/marshmallow-enum/default.nix
+++ b/pkgs/development/python-modules/marshmallow-enum/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "marshmallow-enum";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "justanr";
diff --git a/pkgs/development/python-modules/marshmallow-polyfield/default.nix b/pkgs/development/python-modules/marshmallow-polyfield/default.nix
index d54b070fbf14e..24d117eb322e9 100644
--- a/pkgs/development/python-modules/marshmallow-polyfield/default.nix
+++ b/pkgs/development/python-modules/marshmallow-polyfield/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "marshmallow-polyfield";
   version = "5.10";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/matchpy/default.nix b/pkgs/development/python-modules/matchpy/default.nix
index 57e7728b1aa3d..5b880cfb5b09b 100644
--- a/pkgs/development/python-modules/matchpy/default.nix
+++ b/pkgs/development/python-modules/matchpy/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "matchpy";
   version = "0.5.5"; # Don't upgrade to 4.3.1, this tag is very old
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/matlink-gpapi/default.nix b/pkgs/development/python-modules/matlink-gpapi/default.nix
index 1f8533748965f..3c3cda1bf8db0 100644
--- a/pkgs/development/python-modules/matlink-gpapi/default.nix
+++ b/pkgs/development/python-modules/matlink-gpapi/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "0.4.4.5";
+  format = "setuptools";
   pname = "matlink-gpapi";
   disabled = pythonOlder "3.3"; # uses shutil.which(), added in 3.3
 
diff --git a/pkgs/development/python-modules/matplotlib-inline/default.nix b/pkgs/development/python-modules/matplotlib-inline/default.nix
index f960882b1617c..90cbd00dc4d14 100644
--- a/pkgs/development/python-modules/matplotlib-inline/default.nix
+++ b/pkgs/development/python-modules/matplotlib-inline/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "matplotlib-inline";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/matplotlib-sixel/default.nix b/pkgs/development/python-modules/matplotlib-sixel/default.nix
index 451f2a1a3dbea..e1d2e80f84c45 100644
--- a/pkgs/development/python-modules/matplotlib-sixel/default.nix
+++ b/pkgs/development/python-modules/matplotlib-sixel/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "matplotlib-sixel";
   version = "0.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/matrix-client/default.nix b/pkgs/development/python-modules/matrix-client/default.nix
index 9816f9470c64d..c8975718b57c6 100644
--- a/pkgs/development/python-modules/matrix-client/default.nix
+++ b/pkgs/development/python-modules/matrix-client/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "matrix-client";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "matrix_client";
diff --git a/pkgs/development/python-modules/mattermostdriver/default.nix b/pkgs/development/python-modules/mattermostdriver/default.nix
index 629960797b037..2089569f9b77e 100644
--- a/pkgs/development/python-modules/mattermostdriver/default.nix
+++ b/pkgs/development/python-modules/mattermostdriver/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mattermostdriver";
   version = "7.3.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/mccabe/default.nix b/pkgs/development/python-modules/mccabe/default.nix
index 2a7d2d396f370..5de63b1888acd 100644
--- a/pkgs/development/python-modules/mccabe/default.nix
+++ b/pkgs/development/python-modules/mccabe/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "mccabe";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/md2gemini/default.nix b/pkgs/development/python-modules/md2gemini/default.nix
index c0b6eec7f8389..a8843f25b3cd5 100644
--- a/pkgs/development/python-modules/md2gemini/default.nix
+++ b/pkgs/development/python-modules/md2gemini/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "md2gemini";
   version = "1.9.1";
+  format = "setuptools";
 
   propagatedBuildInputs = [ mistune cjkwrap wcwidth ];
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/mdutils/default.nix b/pkgs/development/python-modules/mdutils/default.nix
index 53589394c4aad..7d8249547a834 100644
--- a/pkgs/development/python-modules/mdutils/default.nix
+++ b/pkgs/development/python-modules/mdutils/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mdutils";
   version = "1.6.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "didix21";
diff --git a/pkgs/development/python-modules/mediafire-dl/default.nix b/pkgs/development/python-modules/mediafire-dl/default.nix
new file mode 100644
index 0000000000000..6eb3968d3636e
--- /dev/null
+++ b/pkgs/development/python-modules/mediafire-dl/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, requests
+, six
+, tqdm
+}:
+
+buildPythonPackage {
+  pname = "mediafire-dl";
+  version = "unstable-2023-09-07";
+
+  src = fetchFromGitHub {
+    owner = "Juvenal-Yescas";
+    repo = "mediafire-dl";
+    rev = "bf9d461f43c5d5dc2900e08bcd4202a597a07ca0";
+    hash = "sha256-9qACTNMkO/CH/qB6WiggIKwSiFIccgU7CH0UeGUaFb4=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    six
+    tqdm
+  ];
+
+  pythonImportCheck = [
+    "mediafire_dl"
+  ];
+
+  meta = with lib; {
+    description = "Simple command-line script to download files from mediafire based on gdown";
+    homepage = "https://github.com/Juvenal-Yescas/mediafire-dl";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pacien ];
+    mainProgram = "mediafire-dl";
+  };
+}
diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix
index 1e0dbb1668395..d99b5c3e2e0c8 100644
--- a/pkgs/development/python-modules/meep/default.nix
+++ b/pkgs/development/python-modules/meep/default.nix
@@ -33,13 +33,13 @@ assert !lapack.isILP64;
 
 buildPythonPackage rec {
   pname = "meep";
-  version = "1.27.0";
+  version = "1.28.0";
 
   src = fetchFromGitHub {
     owner = "NanoComp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9ha6YPlvq2HUTuEqngFOAJUqCahBi7L7O8qsIMMfbrY=";
+    hash = "sha256-o/Xrd/Gn1RsbB+ZfggGH6/ugdsGtfTe2RgaHdpY5AyE=";
   };
 
   format = "other";
diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix
index c33aae4d20c44..f84df9eef46fa 100644
--- a/pkgs/development/python-modules/meinheld/default.nix
+++ b/pkgs/development/python-modules/meinheld/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "meinheld";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/meld3/default.nix b/pkgs/development/python-modules/meld3/default.nix
index a751dbeac3fc4..039b22358d4dc 100644
--- a/pkgs/development/python-modules/meld3/default.nix
+++ b/pkgs/development/python-modules/meld3/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "meld3";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/memestra/default.nix b/pkgs/development/python-modules/memestra/default.nix
index 3bcae8336a895..db7d4e254a738 100644
--- a/pkgs/development/python-modules/memestra/default.nix
+++ b/pkgs/development/python-modules/memestra/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "memestra";
   version = "0.2.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.4";
 
diff --git a/pkgs/development/python-modules/memory-allocator/default.nix b/pkgs/development/python-modules/memory-allocator/default.nix
index b42544963a195..bb9b7dd475099 100644
--- a/pkgs/development/python-modules/memory-allocator/default.nix
+++ b/pkgs/development/python-modules/memory-allocator/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "memory-allocator";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/memory-profiler/default.nix b/pkgs/development/python-modules/memory-profiler/default.nix
index 218772a1527ec..2176b652597ff 100644
--- a/pkgs/development/python-modules/memory-profiler/default.nix
+++ b/pkgs/development/python-modules/memory-profiler/default.nix
@@ -6,6 +6,7 @@
 python.pkgs.buildPythonPackage rec {
   pname = "memory-profiler";
   version = "0.61.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "memory_profiler";
diff --git a/pkgs/development/python-modules/mercantile/default.nix b/pkgs/development/python-modules/mercantile/default.nix
index b79bac0633d50..1523eaf4c8e3b 100644
--- a/pkgs/development/python-modules/mercantile/default.nix
+++ b/pkgs/development/python-modules/mercantile/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mercantile";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mapbox";
diff --git a/pkgs/development/python-modules/mergedeep/default.nix b/pkgs/development/python-modules/mergedeep/default.nix
index 8b348120c235d..7d812ceb1e4d5 100644
--- a/pkgs/development/python-modules/mergedeep/default.nix
+++ b/pkgs/development/python-modules/mergedeep/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mergedeep";
   version = "1.3.4";
+  format = "setuptools";
   disabled = isPy27;
 
   # PyPI tarball doesn't include tests directory
diff --git a/pkgs/development/python-modules/mergedict/default.nix b/pkgs/development/python-modules/mergedict/default.nix
index 32b91aea2e89a..3cfb674a9b295 100644
--- a/pkgs/development/python-modules/mergedict/default.nix
+++ b/pkgs/development/python-modules/mergedict/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mergedict";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/meshcat/default.nix b/pkgs/development/python-modules/meshcat/default.nix
index 932d9a2390a3f..8f79a1477451f 100644
--- a/pkgs/development/python-modules/meshcat/default.nix
+++ b/pkgs/development/python-modules/meshcat/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "meshcat";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/meteoalertapi/default.nix b/pkgs/development/python-modules/meteoalertapi/default.nix
index 87a3b2b8fdf09..15d14934c5aa4 100644
--- a/pkgs/development/python-modules/meteoalertapi/default.nix
+++ b/pkgs/development/python-modules/meteoalertapi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "meteoalertapi";
   version = "0.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mf2py/default.nix b/pkgs/development/python-modules/mf2py/default.nix
index b39989bf322e9..cd72dc7d40b92 100644
--- a/pkgs/development/python-modules/mf2py/default.nix
+++ b/pkgs/development/python-modules/mf2py/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "mf2py";
   version = "1.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "microformats";
diff --git a/pkgs/development/python-modules/micloud/default.nix b/pkgs/development/python-modules/micloud/default.nix
index 1cd2c43ea9e52..641581298340c 100644
--- a/pkgs/development/python-modules/micloud/default.nix
+++ b/pkgs/development/python-modules/micloud/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "micloud";
   version = "0.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Squachen";
diff --git a/pkgs/development/python-modules/microdata/default.nix b/pkgs/development/python-modules/microdata/default.nix
index d271637d2c5ab..140aa10314e1d 100644
--- a/pkgs/development/python-modules/microdata/default.nix
+++ b/pkgs/development/python-modules/microdata/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "microdata";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "edsu";
diff --git a/pkgs/development/python-modules/migen/default.nix b/pkgs/development/python-modules/migen/default.nix
index 0bbecefff9675..d1633cbd8cfa9 100644
--- a/pkgs/development/python-modules/migen/default.nix
+++ b/pkgs/development/python-modules/migen/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "migen";
   version = "unstable-2022-09-02";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "m-labs";
diff --git a/pkgs/development/python-modules/milc/default.nix b/pkgs/development/python-modules/milc/default.nix
index 6db6d7492b053..aa168fd0dea00 100644
--- a/pkgs/development/python-modules/milc/default.nix
+++ b/pkgs/development/python-modules/milc/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "milc";
   version = "1.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "clueboard";
diff --git a/pkgs/development/python-modules/milksnake/default.nix b/pkgs/development/python-modules/milksnake/default.nix
index 6d063021697c1..72115444ffa2c 100644
--- a/pkgs/development/python-modules/milksnake/default.nix
+++ b/pkgs/development/python-modules/milksnake/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "milksnake";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/millheater/default.nix b/pkgs/development/python-modules/millheater/default.nix
index 7f2fe358c2fe3..33f52d0cea672 100644
--- a/pkgs/development/python-modules/millheater/default.nix
+++ b/pkgs/development/python-modules/millheater/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.11.6";
+  version = "0.11.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = "refs/tags/${version}";
-    hash = "sha256-qd9JuZv1utwL523eiQ79P3hXuVQ8+teTatOJCtI6v00=";
+    hash = "sha256-jqtyJHoG/8tgv4OJleb7DV6C7pCpgplieLykfvO3cNM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/minexr/default.nix b/pkgs/development/python-modules/minexr/default.nix
index dc5ae86b4fad9..3785baaa978f3 100644
--- a/pkgs/development/python-modules/minexr/default.nix
+++ b/pkgs/development/python-modules/minexr/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "minexr";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "cheind";
diff --git a/pkgs/development/python-modules/minikanren/default.nix b/pkgs/development/python-modules/minikanren/default.nix
index 7a54b1eb97a15..928b288bf28b6 100644
--- a/pkgs/development/python-modules/minikanren/default.nix
+++ b/pkgs/development/python-modules/minikanren/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "minikanren";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pythological";
diff --git a/pkgs/development/python-modules/miniupnpc/default.nix b/pkgs/development/python-modules/miniupnpc/default.nix
index 3eb92d770df0a..ec6bcbc7d9703 100644
--- a/pkgs/development/python-modules/miniupnpc/default.nix
+++ b/pkgs/development/python-modules/miniupnpc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "miniupnpc";
   version = "2.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/misaka/default.nix b/pkgs/development/python-modules/misaka/default.nix
index e4c807a5bf5e9..c257c7f735a67 100644
--- a/pkgs/development/python-modules/misaka/default.nix
+++ b/pkgs/development/python-modules/misaka/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "misaka";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/misoc/default.nix b/pkgs/development/python-modules/misoc/default.nix
index 785043f1ae748..3fa9e3f6e4721 100644
--- a/pkgs/development/python-modules/misoc/default.nix
+++ b/pkgs/development/python-modules/misoc/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "misoc";
   version = "unstable-2022-10-08";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "m-labs";
diff --git a/pkgs/development/python-modules/mixins/default.nix b/pkgs/development/python-modules/mixins/default.nix
index 9c9bfbc3a4075..46af556fd11af 100644
--- a/pkgs/development/python-modules/mixins/default.nix
+++ b/pkgs/development/python-modules/mixins/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "mixins";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mkdocs-drawio-exporter/default.nix b/pkgs/development/python-modules/mkdocs-drawio-exporter/default.nix
index 84823937388a8..2227b8b4f8738 100644
--- a/pkgs/development/python-modules/mkdocs-drawio-exporter/default.nix
+++ b/pkgs/development/python-modules/mkdocs-drawio-exporter/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-drawio-exporter";
   version = "0.8.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/mkdocs-exclude/default.nix b/pkgs/development/python-modules/mkdocs-exclude/default.nix
index e959a15e4702c..5e2e32a9d6bbf 100644
--- a/pkgs/development/python-modules/mkdocs-exclude/default.nix
+++ b/pkgs/development/python-modules/mkdocs-exclude/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-exclude";
   version = "1.0.2";
+  format = "setuptools";
 
   # Repository has only 3 commits and no tags. Each of these commits has
   # version of 1.0.0, 1.0.1 and 1.0.2 in setup.py, though.
diff --git a/pkgs/development/python-modules/mkdocs-git-authors-plugin/default.nix b/pkgs/development/python-modules/mkdocs-git-authors-plugin/default.nix
index cd40bb14b1c93..9dfae93cfec97 100644
--- a/pkgs/development/python-modules/mkdocs-git-authors-plugin/default.nix
+++ b/pkgs/development/python-modules/mkdocs-git-authors-plugin/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-git-authors-plugin";
   version = "0.7.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/mkdocs-gitlab-plugin/default.nix b/pkgs/development/python-modules/mkdocs-gitlab-plugin/default.nix
index 69242caa8901a..b88da4eb1e4d5 100644
--- a/pkgs/development/python-modules/mkdocs-gitlab-plugin/default.nix
+++ b/pkgs/development/python-modules/mkdocs-gitlab-plugin/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-gitlab-plugin";
   version = "0.1.4";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/mkdocs-linkcheck/default.nix b/pkgs/development/python-modules/mkdocs-linkcheck/default.nix
index 540640e14bebb..1f83c11a35dd9 100644
--- a/pkgs/development/python-modules/mkdocs-linkcheck/default.nix
+++ b/pkgs/development/python-modules/mkdocs-linkcheck/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-linkcheck";
   version = "unstable-2021-08-24";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/mkdocs-minify/default.nix b/pkgs/development/python-modules/mkdocs-minify/default.nix
index 631f881908c33..fcab8677cffa4 100644
--- a/pkgs/development/python-modules/mkdocs-minify/default.nix
+++ b/pkgs/development/python-modules/mkdocs-minify/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-minify";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "byrnereese";
diff --git a/pkgs/development/python-modules/mkdocs-redirects/default.nix b/pkgs/development/python-modules/mkdocs-redirects/default.nix
index 878117c6b60a7..2bef26944d244 100644
--- a/pkgs/development/python-modules/mkdocs-redirects/default.nix
+++ b/pkgs/development/python-modules/mkdocs-redirects/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-redirects";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mkdocs";
diff --git a/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix b/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix
index c403baebbae37..c623207d1dd82 100644
--- a/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix
+++ b/pkgs/development/python-modules/mkdocs-simple-hooks/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mkdocs-simple-hooks";
   version = "0.1.5";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
index 0bd3f97175ce8..85687b1882bab 100644
--- a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
+++ b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-swagger-ui-tag";
-  version = "0.6.6";
+  version = "0.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Blueswen";
     repo = "mkdocs-swagger-ui-tag";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NEFogrLJjOh98rChlJuxAeTj31yyL4OoE/jBUcHbBZM=";
+    hash = "sha256-lvE/mN56X2fx835GFNDYQc7ptxBYqwjrJ9Z6Flcvufg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocstrings/default.nix b/pkgs/development/python-modules/mkdocstrings/default.nix
index d8fb50f586b28..219f0e63c7b1f 100644
--- a/pkgs/development/python-modules/mkdocstrings/default.nix
+++ b/pkgs/development/python-modules/mkdocstrings/default.nix
@@ -1,35 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, importlib-metadata
 , jinja2
 , markdown
 , markupsafe
 , mkdocs
 , mkdocs-autorefs
+, pdm-backend
 , pymdown-extensions
 , pytestCheckHook
-, pdm-backend
 , pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "mkdocstrings";
-  version = "0.23.0";
-  format = "pyproject";
+  version = "0.24.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
-    repo = pname;
+    repo = "mkdocstrings";
     rev = "refs/tags/${version}";
-    hash = "sha256-t7wxm600XgYl1jsqjOpZdWcmqR9qafdKTaz/xDPdDPY=";
+    hash = "sha256-UqX2jNNYwDNhb71qGdjHNoo2MmSxjf/bZiUoSxlE2XQ=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'dynamic = ["version"]' 'version = "${version}"' \
-      --replace 'license = "ISC"' 'license = {text = "ISC"}'
+      --replace 'dynamic = ["version"]' 'version = "${version}"'
   '';
 
   nativeBuildInputs = [
@@ -43,6 +44,9 @@ buildPythonPackage rec {
     mkdocs
     mkdocs-autorefs
     pymdown-extensions
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
+    typing-extensions
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/mkl-service/default.nix b/pkgs/development/python-modules/mkl-service/default.nix
index ef62dc1398a55..b6d308ee21355 100644
--- a/pkgs/development/python-modules/mkl-service/default.nix
+++ b/pkgs/development/python-modules/mkl-service/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mkl-service";
   version = "2.4.0.post1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "IntelPython";
diff --git a/pkgs/development/python-modules/ml-collections/default.nix b/pkgs/development/python-modules/ml-collections/default.nix
index 692bafc64a88d..806b7cce5b42f 100644
--- a/pkgs/development/python-modules/ml-collections/default.nix
+++ b/pkgs/development/python-modules/ml-collections/default.nix
@@ -20,6 +20,7 @@ in
 buildPythonPackage rec {
   pname = "ml-collections";
   version = "0.1.1";
+  format = "setuptools";
 
   # ml-collections does not have any git release tags. See https://github.com/google/ml_collections/issues/8.
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/mlrose/default.nix b/pkgs/development/python-modules/mlrose/default.nix
index 72e2bf969c2a3..f4e97870b331a 100644
--- a/pkgs/development/python-modules/mlrose/default.nix
+++ b/pkgs/development/python-modules/mlrose/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "mlrose";
   version = "1.3.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mlxtend/default.nix b/pkgs/development/python-modules/mlxtend/default.nix
index 0da165ada2b68..7a17e9a81925d 100644
--- a/pkgs/development/python-modules/mlxtend/default.nix
+++ b/pkgs/development/python-modules/mlxtend/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "mlxtend";
   version = "0.22.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mmpython/default.nix b/pkgs/development/python-modules/mmpython/default.nix
index 64c270ca07228..837a1953be5e1 100644
--- a/pkgs/development/python-modules/mmpython/default.nix
+++ b/pkgs/development/python-modules/mmpython/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.4.10";
+  format = "setuptools";
   pname = "mmpython";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/mnemonic/default.nix b/pkgs/development/python-modules/mnemonic/default.nix
index f040a1c1daff1..ba5fe3dc03c3f 100644
--- a/pkgs/development/python-modules/mnemonic/default.nix
+++ b/pkgs/development/python-modules/mnemonic/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mnemonic";
   version = "0.20";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "trezor";
diff --git a/pkgs/development/python-modules/mnist/default.nix b/pkgs/development/python-modules/mnist/default.nix
index 2d0b158534bf2..3e48b31983379 100644
--- a/pkgs/development/python-modules/mnist/default.nix
+++ b/pkgs/development/python-modules/mnist/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "mnist";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "datapythonista";
diff --git a/pkgs/development/python-modules/mock-open/default.nix b/pkgs/development/python-modules/mock-open/default.nix
index 391ba29a98c8a..704054c46c040 100644
--- a/pkgs/development/python-modules/mock-open/default.nix
+++ b/pkgs/development/python-modules/mock-open/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mock-open";
   version = "1.4.0";
+  format = "setuptools";
 
   # no tests in PyPI tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mock-services/default.nix b/pkgs/development/python-modules/mock-services/default.nix
index 51f07960bb0f3..e1c52662f3894 100644
--- a/pkgs/development/python-modules/mock-services/default.nix
+++ b/pkgs/development/python-modules/mock-services/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "mock-services";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "peopledoc";
diff --git a/pkgs/development/python-modules/mockito/default.nix b/pkgs/development/python-modules/mockito/default.nix
index 981665f7b03a4..f142d1288ef37 100644
--- a/pkgs/development/python-modules/mockito/default.nix
+++ b/pkgs/development/python-modules/mockito/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "1.4.0";
+  format = "setuptools";
   pname = "mockito";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/modeled/default.nix b/pkgs/development/python-modules/modeled/default.nix
index f9b94a05065e9..bcbeebf1ca37f 100644
--- a/pkgs/development/python-modules/modeled/default.nix
+++ b/pkgs/development/python-modules/modeled/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "modeled";
   version = "0.1.8";
+  format = "setuptools";
 
   src = fetchPypi {
     extension = "zip";
diff --git a/pkgs/development/python-modules/moderngl/default.nix b/pkgs/development/python-modules/moderngl/default.nix
index 60a1374d9ae88..917e688d23cdf 100644
--- a/pkgs/development/python-modules/moderngl/default.nix
+++ b/pkgs/development/python-modules/moderngl/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "moderngl";
-  version = "5.8.2";
+  version = "5.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tmwY1/SrepS+P5655MpoNurR2lAtYugbf3pIFQ4u05E=";
+    hash = "sha256-R7yZYSwhSJuhL1Qcna4k526KSSgzBk6P7p6zuumlZJo=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/mohawk/default.nix b/pkgs/development/python-modules/mohawk/default.nix
index ae57d8fbf84cb..99caae9ec3f64 100644
--- a/pkgs/development/python-modules/mohawk/default.nix
+++ b/pkgs/development/python-modules/mohawk/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mohawk";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/monai/default.nix b/pkgs/development/python-modules/monai/default.nix
index c2e27b23d0392..7c6ecf9b3ed66 100644
--- a/pkgs/development/python-modules/monai/default.nix
+++ b/pkgs/development/python-modules/monai/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "monai";
   version = "1.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/monero/default.nix b/pkgs/development/python-modules/monero/default.nix
index adc34fa17360d..71554607326cb 100644
--- a/pkgs/development/python-modules/monero/default.nix
+++ b/pkgs/development/python-modules/monero/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "monero";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "monero-ecosystem";
diff --git a/pkgs/development/python-modules/mongodict/default.nix b/pkgs/development/python-modules/mongodict/default.nix
index c2fbd6a7ad1b4..26d3f0516c650 100644
--- a/pkgs/development/python-modules/mongodict/default.nix
+++ b/pkgs/development/python-modules/mongodict/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mongodict";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mongoengine/default.nix b/pkgs/development/python-modules/mongoengine/default.nix
index c4b7b7135e2b6..3e63330d5ac2a 100644
--- a/pkgs/development/python-modules/mongoengine/default.nix
+++ b/pkgs/development/python-modules/mongoengine/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "mongoengine";
   version = "0.27.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mongoquery/default.nix b/pkgs/development/python-modules/mongoquery/default.nix
index c6034ce27614f..bb17a77d36981 100644
--- a/pkgs/development/python-modules/mongoquery/default.nix
+++ b/pkgs/development/python-modules/mongoquery/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mongoquery";
   version = "1.4.2";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/monkeyhex/default.nix b/pkgs/development/python-modules/monkeyhex/default.nix
index 7c10ad743f9c1..821a6765bb6f1 100644
--- a/pkgs/development/python-modules/monkeyhex/default.nix
+++ b/pkgs/development/python-modules/monkeyhex/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "monkeyhex";
   version = "1.7.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/monotonic/default.nix b/pkgs/development/python-modules/monotonic/default.nix
index 512e86b0d2e48..f52e2b7ffbe90 100644
--- a/pkgs/development/python-modules/monotonic/default.nix
+++ b/pkgs/development/python-modules/monotonic/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "monotonic";
   version = "1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/moretools/default.nix b/pkgs/development/python-modules/moretools/default.nix
index 75e92bb32bf21..7bbed27a8e99a 100644
--- a/pkgs/development/python-modules/moretools/default.nix
+++ b/pkgs/development/python-modules/moretools/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "moretools";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/morphys/default.nix b/pkgs/development/python-modules/morphys/default.nix
index b89055829ef89..1f1c1f3e17efc 100644
--- a/pkgs/development/python-modules/morphys/default.nix
+++ b/pkgs/development/python-modules/morphys/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "morphys";
   version = "1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mkalinski";
diff --git a/pkgs/development/python-modules/mortgage/default.nix b/pkgs/development/python-modules/mortgage/default.nix
index 9cd4fe920c5b2..ebe5b55b1dbad 100644
--- a/pkgs/development/python-modules/mortgage/default.nix
+++ b/pkgs/development/python-modules/mortgage/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mortgage";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version pname;
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
index 96b3206f7fdea..65f35e85a0f1c 100644
--- a/pkgs/development/python-modules/moviepy/default.nix
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "moviepy";
   version = "1.0.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/mox3/default.nix b/pkgs/development/python-modules/mox3/default.nix
index 2cdfd2c0c7462..48b4d3f4fc2e0 100644
--- a/pkgs/development/python-modules/mox3/default.nix
+++ b/pkgs/development/python-modules/mox3/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "mox3";
   version = "1.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index eaf7d30efb5d9..f41519c001124 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "mpi4py";
   version = "3.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mpl-scatter-density/default.nix b/pkgs/development/python-modules/mpl-scatter-density/default.nix
index f0523c3594dcd..48d05b1e6ca58 100644
--- a/pkgs/development/python-modules/mpl-scatter-density/default.nix
+++ b/pkgs/development/python-modules/mpl-scatter-density/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "mpl-scatter-density";
   version = "0.7";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/mpldatacursor/default.nix b/pkgs/development/python-modules/mpldatacursor/default.nix
index b14470ca215ae..649d5ee814d2b 100644
--- a/pkgs/development/python-modules/mpldatacursor/default.nix
+++ b/pkgs/development/python-modules/mpldatacursor/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mpldatacursor";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joferkington";
diff --git a/pkgs/development/python-modules/mplfinance/default.nix b/pkgs/development/python-modules/mplfinance/default.nix
index dfad66f7d758f..91d89c8b9a284 100644
--- a/pkgs/development/python-modules/mplfinance/default.nix
+++ b/pkgs/development/python-modules/mplfinance/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "mplfinance";
   version = "0.12.7a7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mplleaflet/default.nix b/pkgs/development/python-modules/mplleaflet/default.nix
index bfe442d05f518..d5d779cbd514b 100644
--- a/pkgs/development/python-modules/mplleaflet/default.nix
+++ b/pkgs/development/python-modules/mplleaflet/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mplleaflet";
   version = "0.0.5";
+  format = "setuptools";
 
   propagatedBuildInputs = [ jinja2 six ];
 
diff --git a/pkgs/development/python-modules/mpyq/default.nix b/pkgs/development/python-modules/mpyq/default.nix
index 94c907c676c49..815c41a80afc0 100644
--- a/pkgs/development/python-modules/mpyq/default.nix
+++ b/pkgs/development/python-modules/mpyq/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "mpyq";
   version = "0.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mqtt2influxdb/default.nix b/pkgs/development/python-modules/mqtt2influxdb/default.nix
index a2d7fa25fe0dd..e7892732fcdf5 100644
--- a/pkgs/development/python-modules/mqtt2influxdb/default.nix
+++ b/pkgs/development/python-modules/mqtt2influxdb/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "mqtt2influxdb";
   version = "1.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hardwario";
diff --git a/pkgs/development/python-modules/ms-cv/default.nix b/pkgs/development/python-modules/ms-cv/default.nix
index 07af4ecb510ff..dbcbc6b0be5be 100644
--- a/pkgs/development/python-modules/ms-cv/default.nix
+++ b/pkgs/development/python-modules/ms-cv/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ms-cv";
   version = "0.1.1";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/msal-extensions/default.nix b/pkgs/development/python-modules/msal-extensions/default.nix
index 3a95fcb86ef59..65894b665cf20 100644
--- a/pkgs/development/python-modules/msal-extensions/default.nix
+++ b/pkgs/development/python-modules/msal-extensions/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "msal-extensions";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/msgpack-numpy/default.nix b/pkgs/development/python-modules/msgpack-numpy/default.nix
index 17f5795102856..640b1d2798f06 100644
--- a/pkgs/development/python-modules/msgpack-numpy/default.nix
+++ b/pkgs/development/python-modules/msgpack-numpy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "msgpack-numpy";
   version = "0.4.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix
index 716667e870d69..e564a0fd5959d 100644
--- a/pkgs/development/python-modules/msrestazure/default.nix
+++ b/pkgs/development/python-modules/msrestazure/default.nix
@@ -13,6 +13,7 @@
 
 buildPythonPackage rec {
   version = "0.6.4";
+  format = "setuptools";
   pname = "msrestazure";
 
   # Pypi tarball doesnt include tests
diff --git a/pkgs/development/python-modules/mujoco/default.nix b/pkgs/development/python-modules/mujoco/default.nix
new file mode 100644
index 0000000000000..2392de3847bd9
--- /dev/null
+++ b/pkgs/development/python-modules/mujoco/default.nix
@@ -0,0 +1,70 @@
+{ buildPythonPackage
+, cmake
+, fetchPypi
+, glfw
+, lib
+, mujoco
+, numpy
+, perl
+, pkgs
+, pybind11
+, python
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "mujoco";
+  version = "3.0.1";
+
+  pyproject = true;
+
+  # We do not fetch from the repository because the PyPi tarball is
+  # impurely build via
+  # <https://github.com/google-deepmind/mujoco/blob/main/python/make_sdist.sh>
+  # in the project's CI.
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-pftecOk4q19qKBHs9hBBVenI+SgJg9VT7vc6NKuiY0s=";
+  };
+
+  nativeBuildInputs = [ cmake setuptools ];
+  dontUseCmakeConfigure = true;
+  buildInputs = [ mujoco pybind11 ];
+  propagatedBuildInputs = [ glfw numpy ];
+
+  pythonImportsCheck = [ "${pname}" ];
+
+  env.MUJOCO_PATH = "${mujoco}";
+  env.MUJOCO_PLUGIN_PATH = "${mujoco}/lib";
+  env.MUJOCO_CMAKE_ARGS = "-DMUJOCO_SIMULATE_USE_SYSTEM_GLFW=ON";
+
+  preConfigure =
+    # Use system packages for pybind
+    ''
+      ${perl}/bin/perl -0777 -i -pe "s/(findorfetch\(.{3}USE_SYSTEM_PACKAGE.{3})(OFF)(.{3}PACKAGE_NAME.{3}pybind11.*\))/\1ON\3/gms" mujoco/CMakeLists.txt
+    '' +
+    # Use non-system eigen3, lodepng, abseil: Remove mirror info and prefill
+    # dependency directory. $build from setuptools.
+    (let
+      # E.g. 3.11.2 -> "311"
+      pythonVersionMajorMinor = with lib.versions;
+        "${major python.pythonVersion}${minor python.pythonVersion}";
+    in ''
+      ${perl}/bin/perl -0777 -i -pe "s/GIT_REPO\n.*\n.*GIT_TAG\n.*\n//gm" mujoco/CMakeLists.txt
+      ${perl}/bin/perl -0777 -i -pe "s/(FetchContent_Declare\(\n.*lodepng\n.*)(GIT_REPO.*\n.*GIT_TAG.*\n)(.*\))/\1\3/gm" mujoco/simulate/CMakeLists.txt
+
+      build="/build/${pname}-${version}/build/temp.linux-x86_64-cpython-${pythonVersionMajorMinor}/"
+      mkdir -p $build/_deps
+      ln -s ${mujoco.pin.lodepng} $build/_deps/lodepng-src
+      ln -s ${mujoco.pin.eigen3} $build/_deps/eigen-src
+      ln -s ${mujoco.pin.abseil-cpp} $build/_deps/abseil-cpp-src
+    '');
+
+  meta = with lib; {
+    description =
+      "Python bindings for MuJoCo: a general purpose physics simulator.";
+    homepage = "https://mujoco.org/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tmplt ];
+  };
+}
diff --git a/pkgs/development/python-modules/mujson/default.nix b/pkgs/development/python-modules/mujson/default.nix
index c37c38a7ca878..51a1407dff247 100644
--- a/pkgs/development/python-modules/mujson/default.nix
+++ b/pkgs/development/python-modules/mujson/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "mujson";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mullvad-api/default.nix b/pkgs/development/python-modules/mullvad-api/default.nix
index 22e6647b57d20..bc09093c8d665 100644
--- a/pkgs/development/python-modules/mullvad-api/default.nix
+++ b/pkgs/development/python-modules/mullvad-api/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "mullvad-api";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "mullvad_api";
diff --git a/pkgs/development/python-modules/mulpyplexer/default.nix b/pkgs/development/python-modules/mulpyplexer/default.nix
index ee27dc20766d0..29b518262ffaa 100644
--- a/pkgs/development/python-modules/mulpyplexer/default.nix
+++ b/pkgs/development/python-modules/mulpyplexer/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "mulpyplexer";
   version = "0.09";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/multipledispatch/default.nix b/pkgs/development/python-modules/multipledispatch/default.nix
index 0953e46a5545f..1821bb864bc46 100644
--- a/pkgs/development/python-modules/multipledispatch/default.nix
+++ b/pkgs/development/python-modules/multipledispatch/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "multipledispatch";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/multitasking/default.nix b/pkgs/development/python-modules/multitasking/default.nix
index a186325b39417..c3401ed6530c9 100644
--- a/pkgs/development/python-modules/multitasking/default.nix
+++ b/pkgs/development/python-modules/multitasking/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "multitasking";
   version = "0.0.11";
+  format = "setuptools";
 
   # GitHub source releases aren't tagged
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/munch/default.nix b/pkgs/development/python-modules/munch/default.nix
index 0ff62dcbee2bb..b754514649a23 100644
--- a/pkgs/development/python-modules/munch/default.nix
+++ b/pkgs/development/python-modules/munch/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "munch";
   version = "4.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/munkres/default.nix b/pkgs/development/python-modules/munkres/default.nix
index a047db7ffd9d0..d872783d19044 100644
--- a/pkgs/development/python-modules/munkres/default.nix
+++ b/pkgs/development/python-modules/munkres/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "munkres";
   version = "1.1.4";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/musicbrainzngs/default.nix b/pkgs/development/python-modules/musicbrainzngs/default.nix
index e5f5eff6b2844..4ceebd32aa63a 100644
--- a/pkgs/development/python-modules/musicbrainzngs/default.nix
+++ b/pkgs/development/python-modules/musicbrainzngs/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "musicbrainzngs";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mutag/default.nix b/pkgs/development/python-modules/mutag/default.nix
index 3ceb5e966c2bd..f6e8020337c7b 100644
--- a/pkgs/development/python-modules/mutag/default.nix
+++ b/pkgs/development/python-modules/mutag/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage {
   pname = "mutag";
   version = "0.0.2-2ffa0258ca";
+  format = "setuptools";
   disabled = ! isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/mutesync/default.nix b/pkgs/development/python-modules/mutesync/default.nix
index 382f09ca6d0aa..b574717c0ece6 100644
--- a/pkgs/development/python-modules/mutesync/default.nix
+++ b/pkgs/development/python-modules/mutesync/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mutesync";
   version = "0.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mwcli/default.nix b/pkgs/development/python-modules/mwcli/default.nix
index cc58e46d20c10..1ea2a58ea8fae 100644
--- a/pkgs/development/python-modules/mwcli/default.nix
+++ b/pkgs/development/python-modules/mwcli/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mwcli";
   version = "0.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mwtypes/default.nix b/pkgs/development/python-modules/mwtypes/default.nix
index 89e693dda89a2..b51b5d417a13a 100644
--- a/pkgs/development/python-modules/mwtypes/default.nix
+++ b/pkgs/development/python-modules/mwtypes/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "mwtypes";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mwxml/default.nix b/pkgs/development/python-modules/mwxml/default.nix
index 792b52f01abc5..0c04715374324 100644
--- a/pkgs/development/python-modules/mwxml/default.nix
+++ b/pkgs/development/python-modules/mwxml/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "mwxml";
   version = "0.3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/mxnet/default.nix b/pkgs/development/python-modules/mxnet/default.nix
index 8b386a425a0ee..df08e56fbf336 100644
--- a/pkgs/development/python-modules/mxnet/default.nix
+++ b/pkgs/development/python-modules/mxnet/default.nix
@@ -12,6 +12,8 @@
 buildPythonPackage {
   inherit (pkgs.mxnet) pname version src;
 
+  format = "setuptools";
+
   buildInputs = [ pkgs.mxnet ];
   propagatedBuildInputs = [ requests numpy graphviz ];
 
diff --git a/pkgs/development/python-modules/myhdl/default.nix b/pkgs/development/python-modules/myhdl/default.nix
index e5b5bbf97a754..900e188c61dd9 100644
--- a/pkgs/development/python-modules/myhdl/default.nix
+++ b/pkgs/development/python-modules/myhdl/default.nix
@@ -11,6 +11,7 @@ buildPythonPackage rec {
   pname = "myhdl";
   # The stable version is from 2019 and it doesn't pass tests
   version = "unstable-2022-04-26";
+  format = "setuptools";
   # The pypi src doesn't contain the ci script used in checkPhase
   src = fetchFromGitHub {
     owner = "myhdl";
diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix
index e3436bbb6b1a7..99cafa2548f84 100644
--- a/pkgs/development/python-modules/mypy-boto3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -42,714 +42,714 @@ let
     };
 in
 rec {
-  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.28.36" "sha256-1gfL7x81tTVZlYL8UwoI5k8pDotu1byCWqP31CruRIo=";
+  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.33.0" "sha256-vMCXbHr4KBnS5/+JsAkEvH6cNunhKfL9iHy7aJcXewc=";
 
-  mypy-boto3-account = buildMypyBoto3Package "account" "1.28.36" "sha256-RDGy7V+YgVlGufL+bFJ1xR5yi4xc2zkV+gTBdXdwkxk=";
+  mypy-boto3-account = buildMypyBoto3Package "account" "1.33.0" "sha256-zlIowNkhrcmd1EKmFNv02Ju7QdspY1A+wkEoMkm0nzU=";
 
-  mypy-boto3-acm = buildMypyBoto3Package "acm" "1.28.37" "sha256-NDYWiS7MM7z6mCpRASWh42IGsSTUvVzIJU0eH5V7JUI=";
+  mypy-boto3-acm = buildMypyBoto3Package "acm" "1.33.0" "sha256-RS4tjBXCxVmFIyJFa58xkZ2uZ2JKhRK8UW3yWES03fg=";
 
-  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.28.37" "sha256-l79J8dndeHBZTdXhYCUSa39lYFgcgM6/lIUQPx4HbRE=";
+  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.33.0" "sha256-+Vw+Wu2d2LWgBnCWyxyPqqydz65+7n2eGqf0yQKI7vo=";
 
-  mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.28.37" "sha256-Rk2BLp1oqwOG+Rd9lal53RArPjIo1XMkmXhZJLiI6Ik=";
+  mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.33.0" "sha256-OtJG+0AHy9TLhwAQ6mqKAni5OYvrXT8thexqlfAcuZA=";
 
-  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.28.36" "sha256-/iFfYQ2hwndbtOPnFx5GopCNOYi4uAAOTbD8Z8xFOoE=";
+  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.33.0" "sha256-I9qhqdcZYZCZrnA+cVhauuKNTRUR/u/Cic9dkswXwQw=";
 
-  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.28.36" "sha256-ORwKl4j3M+O9a/JVrfal2lCBOe8QEcjAWscEhRqPrxc=";
+  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.33.0" "sha256-x11Kf3OBTuWIiy60uUF+PTuIoyfkKSCH1ioQBKYVhGo=";
 
-  mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.28.36" "sha256-tx837SLt7DL1bD/bZl0egzVpClfJKaSY6p82yrcHWRQ=";
+  mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.33.0" "sha256-RmJogNY21Z5W4mlKJm97vZgdpCFECgz2I8CvvP7KKuA=";
 
-  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.28.54" "sha256-5Y2AacuMzVHdPntUyDts21bUzttM9t8EdBcwV1MHhyU=";
+  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.33.0" "sha256-vqAb/St9HKOxROQxKUtk1cf6oFtI6Q3cS9yd5uQbYDQ=";
 
-  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.28.36" "sha256-5GDltAso++KS+EKZPnvzrVFNAHN3SzDxxeE33mq6xoE=";
+  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.33.0" "sha256-H466PQQ7WRODEB+P2WdabufzwU1p3sJqUZFf8zZ/Jew=";
 
-  mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.28.36" "sha256-yh5Xd7rKl6eUZBvnqgVU3BEThbIoVOWA15UEYoFicLo=";
+  mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.33.0" "sha256-uZi7fn3DvR2X5hhFUi3zo1cE78ejcmdxZMqP93R3GwY=";
 
-  mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.28.36" "sha256-ZSj0PoLQaUtqd0qLzU+Eg3YG0q6GwWEitKZCTfYergI=";
+  mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.33.0" "sha256-BAJDfn/j+nSgkG/vKNfjy3DtTexugEe8LbFjc11JFiU=";
 
-  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.28.52" "sha256-OjHFaTlMso7dbUCyNfOtbIgpRQYmVm7n0PoUZjOaf18=";
+  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.33.0" "sha256-NeCWgqnin0sWJU4J9AVKqiD9LArQc95wLV8klpH3JTs=";
 
-  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.28.36" "sha256-dGBUpgH/1QQ3nGxhkLWBW06ngmr+Iq2v9MqjrZ0vP1k=";
+  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.33.0" "sha256-e5CPQ59eDyVv49ysOz7PxSCBSWYfcQfwFo88+Wy9cxM=";
 
-  mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.28.36" "sha256-WN7nEPs2KweoGu7XUycFpp8i/bOWSlcr+6BZFSFh6KM=";
+  mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.33.0" "sha256-bbHT2jZ9A0VzBHJdkm9bmfx3dJAcjq44+p61X5QPLMU=";
 
-  mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.28.42" "sha256-zUqO8SGKoA9umP2iKrw5VXC4pBBVqs4D9Ou/lJwEVBI=";
+  mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.33.0" "sha256-M2T3BLb8FDI54BGSb6gQLKR1yfwpfyCe1Zrf+QJTo00=";
 
-  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.28.55" "sha256-Sii5aQ9Y1YvpW1QLMXOeboLXzSR7RCZA6hDGvI39yWM=";
+  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.33.0" "sha256-tXPrHbajCuDlthoCmbyv63G1uDfAkU1v/mtLd6gRoTQ=";
 
-  mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.28.36" "sha256-sxkmyfgk3FJPrS9SUJrHA4tNADM8g+wGaEEPnZjv2H4=";
+  mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.33.0" "sha256-wagkMudXHGi0Ig09wkUkyetf+w4SZ98kSGifJ/GAd0Y=";
 
-  mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.28.36" "sha256-jNzhi3ashmQFH7QRi28UY5ZZ/su8RwzhU1XzmunOiro=";
+  mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.33.0" "sha256-RUY36tYgRFlkE2obN+hyS9fWzcfSAu2uWHragLx4mBk=";
 
-  mypy-boto3-applicationcostprofiler = buildMypyBoto3Package "applicationcostprofiler" "1.28.36" "sha256-keA+JdfyJVGf388qcA0HTIq9bUiMeEbcg1/s/SI7mt4=";
+  mypy-boto3-applicationcostprofiler = buildMypyBoto3Package "applicationcostprofiler" "1.33.0" "sha256-RqiVyR+Ri5GgeWgbw3bxfRdsqEuu4r27ic+AIHh8f0Y=";
 
-  mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.28.36" "sha256-1Cf+Mzgg0KDqBRpCWeCR0lbR5q8KJM+p/p2we6925b0=";
+  mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.33.0" "sha256-Ym7Sv9SRT0qGNvE2KvQgOjen0bkRn5IP2LcMMgwuqck=";
 
-  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.28.55" "sha256-lBbqHhOqWoudqK4NDFNSpzR/UA/dLCHzFmZWQSNhJLY=";
+  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.33.0" "sha256-Cmpfuzt3HMm7Zz65Onc6CLi6kbmROOdBJohvfh//Vf8=";
 
-  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.28.49" "sha256-5TgCIA4bbUHgxMcLHrWPEyIIYhjlCXZlvW8mYubA0+I=";
+  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.33.0" "sha256-pacvBvLAe+NX4dkNvo3i71DPNJfOmh2yjESH8oVEuFE=";
 
-  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.28.36" "sha256-Qag3caLiBRlUWl+TbUQjGkoAbQk+CEbuzZAJgq21PdE=";
+  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.33.0" "sha256-y4po1QAdhzeLlGJd0tPVt6q+vo/2usTJko+YiZGCxUQ=";
 
-  mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.28.36" "sha256-hTGtmMTWhsMqo+Vq2Bxtfo1sGezi1vD05LsQyGOl9Ps=";
+  mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.33.0" "sha256-tjkWwVBPctELUzqd1+OhlSZQ6g1Tx6KAgsvg5XWG3cs=";
 
-  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.28.36" "sha256-p232qs49wdkbP3RkDWF80bSALl80iiLbLxbfzgsB7iY=";
+  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.33.0" "sha256-31x7uJbstgTLFxO2BfxLgvwm0yMfM5AxyfOV7KTczDg=";
 
-  mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.28.38" "sha256-t32bXFUOsVNVs+1Sagx2PIO7/Re6gN2cOevLj+7gbqo=";
+  mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.33.0" "sha256-5hTjU01PR5YOg4AbD8m4ypvH7cyN2wBFI7FTOZ7Im98=";
 
-  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.28.36" "sha256-3b2iUNeY/8ZcZZsyqHTNTsGMwWBxCeiOm+1Tpq+iYf8=";
+  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.33.0" "sha256-v6eyiIa1WBLDsJBO6VCCYm4XI6GxD4gKAfvbi9ejGHI=";
 
-  mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.28.36" "sha256-Hx/rpODs11SdfZTQTcOYAIsPbiLDpreqLdbBHGIEp5E=";
+  mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.33.0" "sha256-fOlymQRIl1laVKIdMl5b5w1hyzmhVZtmn90HGWaOR54=";
 
-  mypy-boto3-backup = buildMypyBoto3Package "backup" "1.28.36" "sha256-LbGiDazOf32hEoxGTZlTtH9iTj+3ru+sCO0VAMCfN6E=";
+  mypy-boto3-backup = buildMypyBoto3Package "backup" "1.33.0" "sha256-/v6v4H17liB6uE3QvQ1FQNXERRF77lC10hXlGMqpSvU=";
 
-  mypy-boto3-backup-gateway = buildMypyBoto3Package "backup-gateway" "1.28.36" "sha256-AGbffUSt3ndl5a0B5nl9CYgYExaM1JLT53T9jVJxeno=";
+  mypy-boto3-backup-gateway = buildMypyBoto3Package "backup-gateway" "1.33.0" "sha256-3KRJpqQ2mJRDt1vtkUk08G3HTtK8kzSfVUKg9xhhiCE=";
 
-  mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.28.36" "sha256-Km6lRkCrsWep/kAlPXplbyfHyy5D5nnrd0j0v8FID00=";
+  mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.33.0" "sha256-srsIuy46OQtS+SLLAxP2S9M2spmNmk5YySpxXxbUTLQ=";
 
-  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.28.36" "sha256-SEDD3Fjd4y337atj+RVUKIvpUd0oCvje8gOF1/Rg7Gs=";
+  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.33.0" "sha256-neEJR2+VO+LWUvBKUiSxl/tKd8NAsk2I+kNCxlZvebc=";
 
-  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.28.41" "sha256-aUphZNHrTLUt4dOvg+GmZR7z3whq5jx2PVsjvcY0qS0=";
+  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.33.0" "sha256-G2sSf2u6z4V6z0y4CpcZmWqBqmbU6saJ6PC/dy6MHXA=";
 
-  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.28.53" "sha256-fMNDKmjx/2hUJHWEWcveYbsbIkiWUXTQSv4itP8zOas=";
+  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.33.0" "sha256-dT10CoHYHltRVw7bJWnLKXgvAmf3939UG2D9QC5vPto=";
 
-  mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.28.57" "sha256-Af6omXHyctUeXbEOQC/KoiE3ux88r/hyxlWQoMM1eF4=";
+  mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.33.0" "sha256-EFjmFk2M/PZSKmV9hKRHD1m+OdkhslH+o1CzjWGi3Yw=";
 
-  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.28.36" "sha256-lBrKm4s1QPGTuZHtHt+uNhX9zsMhNuV0l23822IYIDI=";
+  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.33.0" "sha256-n3pwBgiUHenjVZV5pmOwKBhcV624KSPd4oAGtSGcAEw=";
 
-  mypy-boto3-chime = buildMypyBoto3Package "chime" "1.28.37" "sha256-fg8svfLvw+Rzhcr+HxrjHtXw9UE1vuccaOFvjfgxC58=";
+  mypy-boto3-chime = buildMypyBoto3Package "chime" "1.33.0" "sha256-d4HTdcPAsLsKaEYyjYIgHTUInoq+6+2pLD3xaaIy1NE=";
 
-  mypy-boto3-chime-sdk-identity = buildMypyBoto3Package "chime-sdk-identity" "1.28.37" "sha256-r+UvZ213ffIOdmZ1V8MNtZN/i3ozeKfwv7VIvJZ4CRg=";
+  mypy-boto3-chime-sdk-identity = buildMypyBoto3Package "chime-sdk-identity" "1.33.0" "sha256-hRtjkfgsmESggrV0J3uEpLBWYUHbYWDmIEJeLfvJ5yo=";
 
-  mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.28.54" "sha256-ewC4woDpDkGUBvPgjpcctkO860EJWHGvZrgCgXSsPbA=";
+  mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.33.0" "sha256-g0NrdkJvqQvw9Zbym/XNQwFcRlU3O/FUXQHIOejI6SE=";
 
-  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.28.36" "sha256-OZijI8aLKnnZnXf3q8LmePd9ncIrDj2zRq19tNlNQTk=";
+  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.33.0" "sha256-Q3RVAUlHKfBtjabs+0oP6n3rzQjl1iDPlvczPQ2MVJI=";
 
-  mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.28.37" "sha256-qMLqjzniJfyVCfnMGiIPMRzQoIj309P5WDBjy1P7B8Y=";
+  mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.33.0" "sha256-9nHNncPMG6HEoyKRIeyDlqBZtjDNbPE3ML/6RMOw3fE=";
 
-  mypy-boto3-chime-sdk-voice = buildMypyBoto3Package "chime-sdk-voice" "1.28.36" "sha256-e627SiCiQV38AzvYusuNEsD9XoYkTYYbaTMJ2odKzAo=";
+  mypy-boto3-chime-sdk-voice = buildMypyBoto3Package "chime-sdk-voice" "1.33.0" "sha256-WrVolMHBmZxJZc5ckx4dW7CrFgw1jQ/Xu+SoiuZcFk8=";
 
-  mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.28.38" "sha256-fbuCwuzXiK9ekk30m90WZW7LcDFLeR/Ta9BvFnT/wnU=";
+  mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.33.0" "sha256-+7zWiyuTMACJlIXOt2tfh7hARJTVNtkwspq+PZj/LDU=";
 
-  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.28.47" "sha256-vV+cqYs7msRzBkIIz4uA123QM54gFpi1q9lXo997BOk=";
+  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.33.0" "sha256-lVyuvJVIEXPAzXJp11/wERjuV2RjAV/XcqrazjtcRfo=";
 
-  mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.28.36" "sha256-DshOzjolyUCztdlOqxxvRlKIIJP6izeyhp2Wl6ObCrY=";
+  mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.33.0" "sha256-RHK2TqnQFILrBeokVKL8GHvJvDBz10AqGpRanV6dIGo=";
 
-  mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.28.36" "sha256-ikyPoBWFRXl95QylMg3rstBymj3HKZqQs0orb14Uorg=";
+  mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.33.0" "sha256-IpVWNZIjbpQqCL09vjMVDADN9dgvlYpiZFJPLUH7He8=";
 
-  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.28.48" "sha256-775Aczl4AIJCh8jVKmU4MRKGL5A7Fv1Ye1ETRJZSNxs=";
+  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.33.0" "sha256-4cJ7kQ/86W7QrhJuTFdVvdkKVtx1SOVDJkM0o1YI3wo=";
 
-  mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.28.36" "sha256-lY3dwCA/xw6YIgmmJeglC3/mHubiKNqPqrrif6ZreDc=";
+  mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.33.0" "sha256-gYC17Q/+LJN2tbjmhqbh4Q5EyDQ5Xav5mCNJMfWZU00=";
 
-  mypy-boto3-cloudhsm = buildMypyBoto3Package "cloudhsm" "1.28.39" "sha256-1K3HPvtZSkQZD5/V9T0tXv6PC2NSoB5v5aR20OWV6kw=";
+  mypy-boto3-cloudhsm = buildMypyBoto3Package "cloudhsm" "1.33.0" "sha256-BLV4xkuGmO5GpNEWTwVM/y8uTDq3y8CiGMxaGhLV+lc=";
 
-  mypy-boto3-cloudhsmv2 = buildMypyBoto3Package "cloudhsmv2" "1.28.36" "sha256-mxvW/ge2gEkGF0rz4LJZCkEIveNGkt9ud5bqs4WhlBs=";
+  mypy-boto3-cloudhsmv2 = buildMypyBoto3Package "cloudhsmv2" "1.33.0" "sha256-Tt7+PuHmJF6YXpqOTNvRqXy/21p4gGWNS/1oZZ+Y6VI=";
 
-  mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.28.36" "sha256-fEGcYuWWDHOalygjig2qdMn8A3T4vBYZIbZRHtRRQns=";
+  mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.33.0" "sha256-3sUa5Zprpu9UPJobha7cpmEHOy4J6DqqZEwrx6J5FuI=";
 
-  mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.28.36" "sha256-yRUv7XlIpCqkyFw+whHh07LUw0aKbcRa0UkR6zpVtCA=";
+  mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.33.0" "sha256-El4jMC108xp7i9GMmKCh+9vLJVDDfL0Nm3fGUHJ/fUg=";
 
-  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.28.36" "sha256-YUrRZ53Wdd4CCjq9VYRkAIGxu2wYTaqXF7Fp4DA7jM4=";
+  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.33.0" "sha256-GuLMHXZJaH0FB1k/PXdGJ7grJqPEbv5FcldOfLLmzjI=";
 
-  mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.28.36" "sha256-aUZYh0fTrcv1d56HRdu7u4CzAMiCvVlN/tKY1e7piLM=";
+  mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.33.0" "sha256-v9VN8J9JhraI1kYWVPmbmjwsmvfLMFHWfRtPKsqO3kQ=";
 
-  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.28.36" "sha256-108mLOQPp+qUdIBWHlN2UO5pRrIIrAf2wM/a/BYAFEM=";
+  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.33.0" "sha256-Z2CPz3XnPtvUzBen8P573pjaC929pj2DH9fpT9m+J7U=";
 
-  mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.28.52" "sha256-kmPzmdQj79l+8KY7Q/E4qTxCxAEhEPivYiR1Hh04qm0=";
+  mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.33.0" "sha256-QgsHW6+E+FXntXewov7OL7l+6moIh88+fqyDbDRCvEs=";
 
-  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.28.36" "sha256-po4qcd6jiYjqMQj7aP+eMzNJcmwjYP22Q92fHkx1q5U=";
+  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.33.0" "sha256-FKelhXfxoVEtuzF1yb8sM/UsUpO5jDGw6/6lrYJAjvw=";
 
-  mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.28.36" "sha256-IuFxPWpE6zCGfbVfhTBtueUSspeVaq9TrESkfHdrxI8=";
+  mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.33.0" "sha256-Uy7hD2FA9I31OBM+bNtusf8YqYr9p9nQc1TMt9NteIY=";
 
-  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.28.36" "sha256-o/kVzldUZNfMmK3Ni5L0kOLjKLxsB93YwutqM5GvHqQ=";
+  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.33.0" "sha256-SveFV+4iwElAJZnLhikzUwQTr4HF6rVJjc9g+uaIoHA=";
 
-  mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.28.55" "sha256-jkN9DCiS5fKhBq7752gRzHwmfdohQBZOSNGaA1OxVbc=";
+  mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.33.0" "sha256-7unbEySxhvNSpc4YANJRtu+ehT7GcypZE5N9eqPKUm4=";
 
-  mypy-boto3-codeguru-reviewer = buildMypyBoto3Package "codeguru-reviewer" "1.28.36" "sha256-xUkKfYEBmqA0D8RKxbf8VF0XeYOgwNWh1y7ORnj1VpM=";
+  mypy-boto3-codeguru-reviewer = buildMypyBoto3Package "codeguru-reviewer" "1.33.0" "sha256-6P2i+D3mhjQxIQRHbXDyOtj9BC6Wc+xTR9v41fhMiNc=";
 
-  mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.28.36" "sha256-EU6VTdhzWLofMEFF0vOXTDpJI/BkC3FpSAz1rbtbFWA=";
+  mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.33.0" "sha256-JviDGZinwF69HHaLrS7tHMBnJwfDpwzdbl4qCw1dK0E=";
 
-  mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.28.36" "sha256-DHUALwX0ec7rzaSsU0vASersuuHpJXY8cDI8cDhzgl0=";
+  mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.33.0" "sha256-jln4ciHJpQCV36jBLBWfGJZI55L2FneelWqeHpmQF8w=";
 
-  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.28.36" "sha256-isqRkPLovlkHgmBuuYDPBTaBlOdu3LgwajD+z3luO8c=";
+  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.33.0" "sha256-wXA/n5j9v7Z1jBcH++CAOW9W0EhqJJHhbKh8mKzc5GQ=";
 
-  mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.28.36" "sha256-+D1SBuI6JMA0ISBv5OiGkA43dOESGH4d4m8CUN4Uhxk=";
+  mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.33.0" "sha256-6XVO8euPDjXZk/5qVS4EX5JfLhqYFUTdUQKqzoI0Gw8=";
 
-  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.28.36" "sha256-1K0mrUUO0ycP7uBCqnESd/iGiElL0eqJfwLTpgPH5a0=";
+  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.33.0" "sha256-Vow7PuIH3qrtuJBiG83OpNC+Gtav9CzVx5iUV9bFTXE=";
 
-  mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.28.36" "sha256-BYTeNmL6fKXD6Ym0Z3DOZvLaTqRwANDWfCcWs9TUZ+Y=";
+  mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.33.0" "sha256-uG1tCFQzfxRtzE178XOKUv7/KtyrPMSd5HwVhWCq2x0=";
 
-  mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.28.36" "sha256-fJIKiNsKDcoDtTIRMxbxpcO6QZOl8KnCn2qTkb4owLI=";
+  mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.33.0" "sha256-4rQsSCe4X/JoJ0a2xJsjIyXIQUU7aTNYKCBD8KjabFQ=";
 
-  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.28.56" "sha256-LmuBr551lvNWlyPbEFTAgZA4+XSeFX4tK8kbuabo2JU=";
+  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.33.0" "sha256-wa7iya9T3eJ0A2IwVYa4wwdYaIY6z9tj67qXg3NnvHo=";
 
-  mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.28.36" "sha256-Hx+/3Q+FLMeDRu+ijTl80WbmqjW/jzpW8eDar8hu/ro=";
+  mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.33.0" "sha256-l+Ox4pOrOSVtix/vQDGCUAk8hGJVCmQ2gLqP6p93j9M=";
 
-  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.28.37" "sha256-OK8LtQoV2Ccqc4qjRBNJirRDM8wHR7VDzcgbaJNrGok=";
+  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.33.0" "sha256-t0UGeom1dihIv9UV0J8mnLmogYcgzgQbN3HhWwcSP5Q=";
 
-  mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.28.36" "sha256-6uyeuxkhRD5Xpfh5u09U28Zg1OzLyzwhgQZ/LRGI9lc=";
+  mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.33.0" "sha256-3gYRTNmPewLzLUrdW6WYl/4jl1VSLCANjTgDwUNjXVM=";
 
-  mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.28.41" "sha256-TYY9yrw8Az+x01fp3mXc2zzX7YBdnAQQr1uy+E8FkdQ=";
+  mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.33.0" "sha256-+aig0Rx1mkruERwkkPoVMNcvbGP9Qos/SMpVT+hZeJ8=";
 
-  mypy-boto3-config = buildMypyBoto3Package "config" "1.28.36" "sha256-3NUJLfbriTXMsGyj+8XNbhI37BLVSm+sShaJJIz6I7s=";
+  mypy-boto3-config = buildMypyBoto3Package "config" "1.33.0" "sha256-L/DVirprRQdEvN1zohuZuG9HsU4nGmT4Y5huNQUMdBE=";
 
-  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.28.55" "sha256-sA6ef9iOyRrCKwxsSHU19IaBwYiVKeTR0+k94wUX4gw=";
+  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.33.0" "sha256-kKzUAZzfj2VwVbAOpbQBldRhju8Qcm3YFSmvjxEVtnk=";
 
-  mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.28.36" "sha256-7+DHcEkDov1/0mNu/mbKaCwwPfvGRYSEfp3+4tnOnuY=";
+  mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.33.0" "sha256-xCkxmVk+HL6JX0vfAXzcqI91jnrV/xO/Q28HiIkniTs=";
 
-  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.28.39" "sha256-4c074TlgMh8YxdOl9vb+Xs0JEs5k0mA5rYaF+BIH3Ps=";
+  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.33.0" "sha256-qBviSiG54DNJCl6wgXpLhuoC+YoxcQwigl8Hapz7Kp8=";
 
-  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.28.36" "sha256-oYU/yw9CUltwPfvONhCvH6gCXirzKF26RZj9hdKTtPQ=";
+  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.33.0" "sha256-uv22P/Lb0f+3GYoo+RNN0fJkrk2hw9tsKZCLEQRqx1M=";
 
-  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.28.39" "sha256-iOv8UX4eh07Dwk7zvtv1YXeDiX/RHhuEMGzLafBk+kI=";
+  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.33.0" "sha256-LFtTX9onRSByqPVtQzFtLUyhQsLZ48k9cQLzVW1fQAw=";
 
-  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.28.36" "sha256-0j6Fa0hobGlNfvMDmlNrqp4EqIhnYTo9XJ41VpEY+Cs=";
+  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.33.0" "sha256-yDL6EWdV6QNexglhMQPBVgbjnvFIBAZpJklRcYidsmw=";
 
-  mypy-boto3-cur = buildMypyBoto3Package "cur" "1.28.36" "sha256-pWKHl8zKmx3ypQOiWtFzRb92630sLJVO0qmn5KEZJ14=";
+  mypy-boto3-cur = buildMypyBoto3Package "cur" "1.33.0" "sha256-UgVAGcC2VjoCd5FAgmDOo/Yp3wDT18xvRe530XKB9kY=";
 
-  mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.28.39" "sha256-wAghxGUIThqLBfThNliSu39Dl8vmO8QCrfbxvQOuHxc=";
+  mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.33.0" "sha256-qODsOFw98FERW9tV+ld+JLtygbUMLrzNn8HZRoePOq4=";
 
-  mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.28.36" "sha256-LhvgmeMOlP4EAmx3Xd97ZiHi/FeChpGtZ1LIuGkTnMU=";
+  mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.33.0" "sha256-izG6CUdV9J991eV9GHzB9FhB9E0KQI57X3BwNZ4q5dc=";
 
-  mypy-boto3-dataexchange = buildMypyBoto3Package "dataexchange" "1.28.36" "sha256-cNgpRQTJ2JhPw+UZo+HiulWg1998kfgnAB/E6gyvetI=";
+  mypy-boto3-dataexchange = buildMypyBoto3Package "dataexchange" "1.33.0" "sha256-ckVXwvC71J3PHm2YzNbjYTmgXukvwKH9vVYxgewTCO0=";
 
-  mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.28.36" "sha256-IkO7QXwdEWmkzaCOrCWTzNv1xpvwOHGp9wlris/KEws=";
+  mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.33.0" "sha256-PsF5H+LtErVeGMcQLKgMhtCTHqm4dl54d6XWL4FGeko=";
 
-  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.28.49" "sha256-BcW47DW0aHb+Gabj6fybaiZgtKotWNvNChyKyaagIw4=";
+  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.33.0" "sha256-aniW225MUeoHi9Leukzyf5MDFyIFerM5TKeZG7dtk+o=";
 
-  mypy-boto3-dax = buildMypyBoto3Package "dax" "1.28.36" "sha256-t5DMgU3iSxWLSXpC9QaNonKKQpl0tr/gQPnPxO+dTbY=";
+  mypy-boto3-dax = buildMypyBoto3Package "dax" "1.33.0" "sha256-gnfdHHlV/XsACxeF1zKl1c3eYHBLoSe+aZeiXKDNP5k=";
 
-  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.28.36" "sha256-RGSt2jtwDqC3qWh+Z6IfWoiVpoLDjSqLTSjo7+SUL3Q=";
+  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.33.0" "sha256-KUuZDe13F+6lMbCaB5vPmbvDJC+n4S7DtXiy/jSCsOk=";
 
-  mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.28.36" "sha256-TSxUsHAhGY4rgscwesf6mnlya8kHb6MZGKPzhud/OC0=";
+  mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.33.0" "sha256-9AvJezXcBraBwjlAr0dsLwecTahCh+Ka93nEFXP9mpk=";
 
-  mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.28.36" "sha256-Whn1VVBzBdav0D31XCH5izyVmZGg/ndPlOamIoY5U94=";
+  mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.33.0" "sha256-FnMUWCd5bmevyUMsCLw5fipEAFJu1gBscYd0pjzhEHI=";
 
-  mypy-boto3-directconnect = buildMypyBoto3Package "directconnect" "1.28.36" "sha256-YUZ2XsKaPLi4qDF1Cuf5/6BZ1Pi+xf65hTBc0NHfQTc=";
+  mypy-boto3-directconnect = buildMypyBoto3Package "directconnect" "1.33.0" "sha256-reoKObC7jQ1w1vIpXJuLou736rrYkecT/9D9/+d646U=";
 
-  mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.28.50" "sha256-bUFzZ+Ipw3hmaTvBBPlLRz48U+alvfLBiOKNljEap38=";
+  mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.33.0" "sha256-kbonomcMw1KADJvby/gDoP0IMBTCo0zQzu9nboL37I8=";
 
-  mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.28.36" "sha256-i+OVrnJ+irxgIWi0ZEad6lPLNwT1cvfQ+0xKKXWe8z0=";
+  mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.33.0" "sha256-eCq4HkCU8NeVkCDMwqFG7Jv1UpFjm7NP7fbVOa1QAtQ=";
 
-  mypy-boto3-dms = buildMypyBoto3Package "dms" "1.28.53" "sha256-CY3bGLiiciRnscCsqOSdFv04YKDG4gN7f/q3um7QwZ8=";
+  mypy-boto3-dms = buildMypyBoto3Package "dms" "1.33.0" "sha256-LSqBrPU8QOhSfLO38Hl2pk7jkczasMgQ5x+xReg6zDw=";
 
-  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.28.36" "sha256-Dbg80rvJBHkXEzLLWeEi7jN6OrVZiJ6+C6wYkhM72J0=";
+  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.33.0" "sha256-fbB6+Kf2q+D8l2VPhb1jQKgAN6nTCjLS5Jba03TThHM=";
 
-  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.28.36" "sha256-XvcexadEtui/Wh2sZnketqygNgpGfaSAGciM64Yc+Sk=";
+  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.33.0" "sha256-cbqSY2AklKpwtIyH+KZvkB/kG9qXsyPu0isHuWW0Ksg=";
 
-  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.28.47" "sha256-4JBlsWQLu1KsPSTxwy/ySNQM1ZlIaX1sORvES8Lut00=";
+  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.33.0" "sha256-stTCJf4laWLTUtx0PgeDpvYBwQGYAqOzkjQ49OC2F3E=";
 
-  mypy-boto3-ds = buildMypyBoto3Package "ds" "1.28.36" "sha256-l/k+1VhA6mi6mVRKCUis0gAv/dizqZB5JIqLmj9+IDI=";
+  mypy-boto3-ds = buildMypyBoto3Package "ds" "1.33.0" "sha256-uonwAHNaMtkRNFG7AttJC/16Y9I0c3Y+HeGR1HQoFFA=";
 
-  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.28.55" "sha256-owOfitoHohj5fwxwqC7Zz0YaDLUTMZT88eDoexXImaU=";
+  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.33.0" "sha256-LP4Qicid5hsewOaacro+aGWgE+oKN9MYq1ZJg3hdQvk=";
 
-  mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.28.36" "sha256-mqz+YRVZlSbwEKYbaC4ZbWw0qJTXpRObAphfI4sfRV4=";
+  mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.33.0" "sha256-qUlw79EzDxyDD/SJETHcL1hgLPPVLQtHy9ttUYOYDCg=";
 
-  mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.28.36" "sha256-w9OLKJAn9UBnA7x+uedhplSV8plZRYlBpviU9Gv1Ny8=";
+  mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.33.0" "sha256-BQzGF7mxoYV30NtD1f5VL2Ktxci+zPCPBgNsPApnlZA=";
 
-  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.28.58" "sha256-p4BGJSydAqtSMH8PFFc/IAwBquLHCq1I6vW50UNySRo=";
+  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.33.0" "sha256-B1eJN/l09hKaediPeI5ToKONIuWpwMY9WJ8k45uPuQ0=";
 
-  mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.28.36" "sha256-oVcd5yqbg8Drozgmog4nonRSe4nOM7rwpqZi9HVYTL0=";
+  mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.33.0" "sha256-2RI2mM2wuwlyLGitd4NHgbm6qkobNGxoGHImfE5uWxk=";
 
-  mypy-boto3-ecr = buildMypyBoto3Package "ecr" "1.28.45" "sha256-NYShmgGLrNe26BR7ye9pMpZ4FcCRjGzzkp/1Xxyb5gE=";
+  mypy-boto3-ecr = buildMypyBoto3Package "ecr" "1.33.0" "sha256-drClP5gm9dUv2SQqzkIPHVTbNdzMw5HFE3SAv7aKFok=";
 
-  mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.28.36" "sha256-LiFZtqdGf9tC6Tj4ukclFyaq/bLos5jZCgPL1y/0VMU=";
+  mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.33.0" "sha256-LMGpAp2RYllfVRFIjsEFboufEAbj2gj+ggBD98bNIRQ=";
 
-  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.28.41" "sha256-/aXw4fpS4o3/Jt+jfzm0p4zqZVcoSJLlk9EUMd3+SVo=";
+  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.33.0" "sha256-EAIWm+8G+pEqEgO95kUJ2DRAB7fkIpC2SSrI322IPbs=";
 
-  mypy-boto3-efs = buildMypyBoto3Package "efs" "1.28.53" "sha256-QhSddCRqWUly2w+GLZJHJn/TKpQHbQO88yKny6nj/ZI=";
+  mypy-boto3-efs = buildMypyBoto3Package "efs" "1.33.0" "sha256-M0ubL5u9o09jr5BR1SFzXUbH/Rqe8llKbLDPRc7GUfU=";
 
-  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.28.36" "sha256-etvfyKLFr4lKE9DLvKQuHw2YHshhOBTXXTCvDv2hFxE=";
+  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.33.0" "sha256-/ducHn1BguExlXGWprc+0hmN5j+HLzI4LcUnVS8s1YY=";
 
-  mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.28.36" "sha256-BwI32rA8Y1lhc+k/XQh+LHPlFHmaCTr37OYvLFJMX1o=";
+  mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.33.0" "sha256-OZR49az4reaOs3LRaCZSD9ZCvNTOHlxqe5+431ic1l0=";
 
-  mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.28.36" "sha256-6Ymobcuhh1dOqA9IoN9lWrj639ZKu/NQEP6ImlhapFA=";
+  mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.33.0" "sha256-49c2MSiPOgwf15xUBfmaxYmLweEuCB0hU3krgYgeE4E=";
 
-  mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.28.36" "sha256-V2vSEaN7Kf2TPateMNtJ95a+Ad/CRcZOV2JsJlTOPIo=";
+  mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.33.0" "sha256-VhETIkkLab2rJu/cXl0i7kqdIMLeuI7EuYbjFw7XCPs=";
 
-  mypy-boto3-elastictranscoder = buildMypyBoto3Package "elastictranscoder" "1.28.36" "sha256-lkz4up43fVyWCOO9dM4xI285wsAu1lnV4mICuJV8D4k=";
+  mypy-boto3-elastictranscoder = buildMypyBoto3Package "elastictranscoder" "1.33.0" "sha256-LvSqiTmqWJtG7r5JsYkRlOfI+DYI5xHKBb0kMqzR8qY=";
 
-  mypy-boto3-elb = buildMypyBoto3Package "elb" "1.28.36" "sha256-c9Re0WZOn+LaK58VJk+YlI3YWn/wrgT+/TdqrOisBnM=";
+  mypy-boto3-elb = buildMypyBoto3Package "elb" "1.33.0" "sha256-CYrhcIlkFzJoDbzAE1Jp1dFMj2O9KfV4ga7mBSa2hSI=";
 
-  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.28.42" "sha256-NXyhMxuIbuyyDifzBicvDNQB3ysbVx+azsqpTBhfnZ8=";
+  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.33.0" "sha256-dz97f3avPQ2vwgOnP+6QLSC5PH5Seq21zHFW65qFmws=";
 
-  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.28.36" "sha256-DrhDkqcxAAUTfheZRpPJQkFFzeDynByF2wn9jyZr0F4=";
+  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.33.0" "sha256-Jft310TIBXmR6WLKTHZEo+TvwwwR4eQydLkyXjLdIDs=";
 
-  mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.28.36" "sha256-ZG7mf4C31COK7hobIbTLmd64Ydu2Al+NhSMrS8069jQ=";
+  mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.33.0" "sha256-slTEVWgnNED2stWdA5HFBc0PqSQkUvj2XGbtSvwv0UU=";
 
-  mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.28.54" "sha256-cDbUY1Ftlhyid7CiMEhY7ZepqH2bANrwlU8wdrdDqc4=";
+  mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.33.0" "sha256-uJyoN2Vx1GPc4Ec5va+507fA87iRgWbpO/IfzhtCmBI=";
 
-  mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.28.48" "sha256-xCYg+Ik/VQpDjRR7QKlYyBffsGWZ7PSl531sTSvMv48=";
+  mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.33.0" "sha256-t5Ip+6TPoWoqhEXcJDoc2IUk/FeYvP+PRo0kypq/jYk=";
 
-  mypy-boto3-es = buildMypyBoto3Package "es" "1.28.36" "sha256-NfMTzKYwYgZ+dbyIzxn+3poLWo8zjF8ANGWQFtMRTbk=";
+  mypy-boto3-es = buildMypyBoto3Package "es" "1.33.0" "sha256-RemWn5vC2MluamPhnZ/aSwf4dK5XnuD2ztTg7/6MqYc=";
 
-  mypy-boto3-events = buildMypyBoto3Package "events" "1.28.46" "sha256-/a4rUcfBPQBFxqCnwt23NeZ655B3CEoo+SKHBZMJGtE=";
+  mypy-boto3-events = buildMypyBoto3Package "events" "1.33.0" "sha256-LBBEAvWtvnm2acKx6ox2mQ0uaZroMuOxTmtK4fSVUXc=";
 
-  mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.28.36" "sha256-U3igtB9eGBYv8VW+PQXD2fc16FKiYl8musH/ccrrMKA=";
+  mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.33.0" "sha256-ofiGAmmG9meO1agTf96JfEwsFeE38mf7DoMprNOCvSc=";
 
-  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.28.36" "sha256-3l1/ACy5Z09z/ngQKdq3dgBTp05x+NUCRjj1z8I99/4=";
+  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.33.0" "sha256-YBRzVfem5DftPDyy4Hhb+XPfmajZq651qJtoMmiPzZY=";
 
-  mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.28.54" "sha256-V5Rxrp94hrUWZgpc+LDn1PwyzZREHDXq3NaZdZQaYoE=";
+  mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.33.0" "sha256-Wps7GUx2h4BD8meQhLQzPuBBDnfPNHeUq+E7MrNTtIw=";
 
-  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.28.56" "sha256-IPwUkzEymLJ4NgB2OrD4mr5hZsmTaGjbbxCiHyFaaDw=";
+  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.33.0" "sha256-wy8knDQOikxD/ne6cpBcYKwUssQLoGGFnyCuAbMrDMU=";
 
-  mypy-boto3-fis = buildMypyBoto3Package "fis" "1.28.36" "sha256-km9Ia9Hs/rZv3ljv+BVnR9pOxNK3u5luJOMaW670km0=";
+  mypy-boto3-fis = buildMypyBoto3Package "fis" "1.33.0" "sha256-xZeRIBr6Tp+K4UKUjy9M+jU8TQQUyjxCCfVXc7mIo/w=";
 
-  mypy-boto3-fms = buildMypyBoto3Package "fms" "1.28.36" "sha256-mzumkMcF2TMrcnHoPPA0SlrmwFAw0TR1cMvSXF28gvM=";
+  mypy-boto3-fms = buildMypyBoto3Package "fms" "1.33.0" "sha256-wDPsp7QGmRS8pdnd05aliOpEGKoqpdTa7zR3onGEEbw=";
 
-  mypy-boto3-forecast = buildMypyBoto3Package "forecast" "1.28.36" "sha256-DCa0GNn7XL3iVgGl5M6E7uyPFdyYjrHfqHakCS7clcc=";
+  mypy-boto3-forecast = buildMypyBoto3Package "forecast" "1.33.0" "sha256-RrZhQwn2UAypdaorWbC/zvLMH6IjO7RPio7NEP2vcdU=";
 
-  mypy-boto3-forecastquery = buildMypyBoto3Package "forecastquery" "1.28.36" "sha256-s2z8QZR9PP8Kj6yImCwUfh/gtbj4SKLn8wDTOYUVaEE=";
+  mypy-boto3-forecastquery = buildMypyBoto3Package "forecastquery" "1.33.0" "sha256-OF1v/GzZHt5457LzWJ+LkG/t4Je3EtiUh2uO84oiqL4=";
 
-  mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.28.36" "sha256-Zn3rGHErin7nPYnyC0Ojr0Kkc5T+YDD2KmZinYNV9Jg=";
+  mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.33.0" "sha256-H97TX8YI5rcY6qi77VPDmDt7H8fBG3hDIINuKdeOnGc=";
 
-  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.28.44" "sha256-t90+ngxgivF/KThwaB6/LNPZAHL2oLenhl6KUzSZSzU=";
+  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.33.0" "sha256-fTR76ohKxtqklzjnSGGJ6BdmSB9RHzZcxjskhoI4S7c=";
 
-  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.28.36" "sha256-ADxlyEX5KgAewNFq7JhYECNIhaoKiPkdqWK2pnS+65A=";
+  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.33.0" "sha256-1XFimCfGBl3gKTftrVu+6GGeUxzB4Bu7zx2w9Lp9rCM=";
 
   mypy-boto3-gamesparks = buildMypyBoto3Package "gamesparks" "1.28.36" "sha256-6lQXNJ55FYvkFA14rgJGhRMjBHA3YrOybnsKNecX7So=";
 
-  mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.28.36" "sha256-L0a7CoD9I0wM8JvzaAxL8bm1SV1XmFi5lvs2SuGPtl4=";
+  mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.33.0" "sha256-01Ezh49UNf70wDJY0q2TRdkVGgZ9iWVzMpVQ0FBC7aE=";
 
-  mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.28.36" "sha256-+nnFS/7kJHvqqiwqkWnYlgeIuSecicI1P+UtWyGUoGQ=";
+  mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.33.0" "sha256-766QC1uxF2gi0R24SUnPT66NZou6boAO6cPyDM21uFQ=";
 
-  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.28.36" "sha256-FhdxJSu2oiCgv9jmrXHahUhZnGEflf6KlIRvSjOG0q4=";
+  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.33.0" "sha256-FPH1JgnHriCZB9xNjizMguZownrjAN8AA+Du9//Gh2E=";
 
-  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.28.39" "sha256-OsEvT2f3LEvjz6aojIpG2scoZ80hETvk8t/BTumn+9M=";
+  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.33.0" "sha256-jlmU8liC9NUX7lgt46sgV/Jdp0xgS2X2T0wnX1xU1S4=";
 
-  mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.28.36" "sha256-vH/viSZe2UcjtbwGN2Zcf9IB1boBHhL3zmy3IHN1rpg=";
+  mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.33.0" "sha256-ZtKGtJcDIipfc5OGQX1QxydRZPZI6D/Hd/YrWmgu6D8=";
 
-  mypy-boto3-greengrassv2 = buildMypyBoto3Package "greengrassv2" "1.28.36" "sha256-VdsQUNg3a2PUaP8rgx3I1ZxUW4hqJsBCS0B8+7CfP1w=";
+  mypy-boto3-greengrassv2 = buildMypyBoto3Package "greengrassv2" "1.33.0" "sha256-wELqoYtB/VazExZILkRqd2SgoUNdUtDn+OpIgWsKUYk=";
 
-  mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.28.36" "sha256-M0HaOpC6zbIaN3VVcM9oE/QzL+me4d5Co5miJGMU3n8=";
+  mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.33.0" "sha256-JzBPYdnKHx/ewsOIGgteMrpK3iAYNtoGd34dqoDfnRA=";
 
-  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.28.53" "sha256-ctMp5+GrKYICPioPi5kB7cnxoP9QFIfbYiDxqf/pPCw=";
+  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.33.0" "sha256-bJrOvWetK0Lwh40TMj2AcK9j9UpFIk2DqaDrgmnr1aA=";
 
-  mypy-boto3-health = buildMypyBoto3Package "health" "1.28.39" "sha256-yp8r38QxJVKxiZtrCgvUcuqz2HnTM2IvYjyYGTgAqYc=";
+  mypy-boto3-health = buildMypyBoto3Package "health" "1.33.0" "sha256-P/S/2d6qu1Qu5EGDgi3tX7AeZtmgPhIDszC+mA1q94U=";
 
-  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.28.36" "sha256-RYbiExGphCkf8v+oC3ixOOFOnUrXE2bGnOvjRUGdQRQ=";
+  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.33.0" "sha256-fcXpQbayMV6KG/TI2+uuYp26AcMwZGkk/N0n+Cus37o=";
 
-  mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.28.36" "sha256-pOWZ+WNmgWwGz1sPq/feZiQ2TlXDcpoWMXcDPSESJOY=";
+  mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.33.0" "sha256-nPQcYVfhBsQ7D1wgRelQ74W8R4ZQGNteKd+7PghFJJA=";
 
-  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.28.37" "sha256-Ob1bi5pIy0fZCdRcE8cTwJnC+EcZYSoKhI16BJfG/PQ=";
+  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.33.0" "sha256-fmt2NOtOGqjcvGvX4djRV+lTU9PvHGznnz/SlPxWgss=";
 
-  mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.28.40" "sha256-KPPWrEMuciHf3ms3SkUgAaEFNPa5WyFKm5fFfG4o9G8=";
+  mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.33.0" "sha256-WjNpOX7ewqERT7NTj4hggSbMn0xud0VJHeGKOi9rCZ0=";
 
-  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.28.36" "sha256-2fJtgGfwkY3V07kXAiyi61TUmvq3BVqiN+EFzxTQkvI=";
+  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.33.0" "sha256-vseyFnB/ZfR8Ihv3QSbcHw7ly1mHixl2v+2luMWWfCY=";
 
-  mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.28.36" "sha256-806+dIMqKZ14MifNoDqKgj8MGPYBQVd8KnT+V+eOr/E=";
+  mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.33.0" "sha256-UcnlWJa230onKQ2ywfU9ELCnGk3hGSvXo7enfLXO3fU=";
 
-  mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.28.36" "sha256-plSUqqsTvOMxMeAYueWNpK8JFHdeOOr8DfgSZov9Gbw=";
+  mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.33.0" "sha256-wPYq6HauR/FKWQhOFW6kZ2K9krgbQy861x5fc6cj/Rk=";
 
-  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.28.36" "sha256-O20aGL3EhyS5HNYlY6Jv1n0OIUWPr3L2VVjReHwpAGM=";
+  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.33.0" "sha256-TQyExlqtCcn2MSlOQM+0leuYQRpAsiug1M17aeMA2v8=";
 
-  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.28.47" "sha256-qNv+Qi/5eZ5oUsysYokQufE3BgL32BzA9gdxWsJ6ocU=";
+  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.33.0" "sha256-0zgfGDnrGZ5V9ZnPhajuJ5Da4mvrXokyAkwkTJIoSFc=";
 
-  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.28.56" "sha256-dLDUJEflskkXKb6soxoKRoPxko/Qb9lWkKjPnVklUWc=";
+  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.33.0" "sha256-ybLNQK6TqTQyOCbh4LDl0fTHMxHT/hFPVrfQDsmM3UE=";
 
-  mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.28.36" "sha256-DDUn2TFgXeeltWJqH7g7D+gKLSQv832/J4lWBVyWmlQ=";
+  mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.33.0" "sha256-3Pp4qX9zCcVZu+9cP6w3OoSSwdnxUfDzbta+jMrr9wA=";
 
-  mypy-boto3-iot-jobs-data = buildMypyBoto3Package "iot-jobs-data" "1.28.36" "sha256-bpKEm6reRSLi74HT9wMGN+xkJPTYSLxOGf8Z7QN1qMY=";
+  mypy-boto3-iot-jobs-data = buildMypyBoto3Package "iot-jobs-data" "1.33.0" "sha256-2DCo9QUW1HKoKdfHgD+xyRQqIuZ7o7uUXPvY07EZV0g=";
 
-  mypy-boto3-iot-roborunner = buildMypyBoto3Package "iot-roborunner" "1.28.36" "sha256-DFaWmHPzlgZztGfbbxeyDWu2rGLm69r8Ejww5cvzkRQ=";
+  mypy-boto3-iot-roborunner = buildMypyBoto3Package "iot-roborunner" "1.33.0" "sha256-GXlKkwzNjXJYPzHdI3Uri65/0nBXd+orYvKcWoSeK7c=";
 
-  mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.28.36" "sha256-GROHe78qVJLlPtw+wH73fzyBjTsrKkUbpVN0U26HsJs=";
+  mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.33.0" "sha256-cQ0OkkCmUUfs+QUvhhAW/KpuavwGafvqdFrY1PzzXbw=";
 
-  mypy-boto3-iot1click-projects = buildMypyBoto3Package "iot1click-projects" "1.28.36" "sha256-XAtVZ+j5k8eb1G79B+sin/W3bVfq+Vtr/P80BU2XnVQ=";
+  mypy-boto3-iot1click-projects = buildMypyBoto3Package "iot1click-projects" "1.33.0" "sha256-l8DLko7HIyeY8VNCyptEEs5eLp1sqy+2BGUitbMcNUM=";
 
-  mypy-boto3-iotanalytics = buildMypyBoto3Package "iotanalytics" "1.28.36" "sha256-jO+/523WSPqhQCAOr6nFiag/tCHL1Up1A0q76jZ7/qE=";
+  mypy-boto3-iotanalytics = buildMypyBoto3Package "iotanalytics" "1.33.0" "sha256-OySLO+BwjHWcjXhN0XoT1ORfTblgh+IzJ+n0/5LemrA=";
 
-  mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.28.36" "sha256-0v8vHIOzHO7ZEZEA08hzukJV9EFSnTFh/1K1h3RhCyY=";
+  mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.33.0" "sha256-eW0eDcwoJGyx8rFpnyYBZDkWlFtEaNRiO+gcVI0nBcY=";
 
-  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.28.36" "sha256-27oaZTqmrBRJ3xlE9QKqLkau+dR30aYdeczVaWwK1Xs=";
+  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.33.0" "sha256-DV0/RbgvhTWrSGGk10O/9NyEtuf+ApIE3X8/KF2eIr4=";
 
-  mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.28.36" "sha256-De7a/DdIEmK9jkd6CekBQ+ZNlp+5hyavdY5ISYNLM20=";
+  mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.33.0" "sha256-r1g2IkOxMSqNr9QsCLqgEjLn7BxpvqxCyq0AvVgiKQ8=";
 
-  mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.28.36" "sha256-AH9zk6pQ5OhupzG9lkZGSAX/ngrFovlldGkfn40TZh4=";
+  mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.33.0" "sha256-2k26pPTWBe8N/1bQeWpgJ8en7S9fY3Q5MMpr7aqvoZY=";
 
-  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.28.57" "sha256-KE8Q0jmXGhRAD3SmioxKVabyM0zLQEvhzogGEAMGvtU=";
+  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.33.0" "sha256-GVpJRoNPfGBrWg93fSG4ZG24kLx+6Mq+YVsQAtgzS1o=";
 
-  mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.28.36" "sha256-ANWiAgtmQCchCYvPPXUGdUHYLJOCoQAsFz8ybpZSceg=";
+  mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.33.0" "sha256-noMig7pdZsXfbEvqKbN8coNdXeW7ka1TNlx+WYiDJk0=";
 
-  mypy-boto3-iotsitewise = buildMypyBoto3Package "iotsitewise" "1.28.36" "sha256-Sr5hmTMLMDxxXwG6s+wv5kkq4NnFCTFjMisOwdniBN4=";
+  mypy-boto3-iotsitewise = buildMypyBoto3Package "iotsitewise" "1.33.0" "sha256-+MIlyAm+43Nnnll2p45xcMJvnzA2bAn1bCP9qxJIRXM=";
 
-  mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.28.36" "sha256-msc7aVFDSQRUNeqHWFqJ+4haUvCq+VYCpmZONl7+ySA=";
+  mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.33.0" "sha256-PMEe/LRjTfcSLPrZiAZeJKebaweWJw2Xr0GO+PBZBoc=";
 
-  mypy-boto3-iottwinmaker = buildMypyBoto3Package "iottwinmaker" "1.28.36" "sha256-laSFI1ugTL+9bVVQLuMKvQ9WGgXGikvV3k1DsyTIJ00=";
+  mypy-boto3-iottwinmaker = buildMypyBoto3Package "iottwinmaker" "1.33.0" "sha256-iKuROApGa2q+z+GCgV7ouAC0kHehZFPsRvPBuMwT5Gw=";
 
-  mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.28.36" "sha256-CAAkka/CEZ1D+MgK1cbWDm6mArcRPxAo98Rz3ti6oHk=";
+  mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.33.0" "sha256-g5lodl8v/5YZYlHQnMQBVQZFL5ad1YfXKq/OYfYh57Y=";
 
-  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.28.39" "sha256-bsUwfBojGMRujL9yLhIqBLAxEpgz1H3KCSmhoQ/UrfM=";
+  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.33.0" "sha256-66gIYLReZzmbqN3V9HJPLJqUEko9foM7BIpojBgdl1c=";
 
-  mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.28.47" "sha256-f5aHtTu7H0TY3XYW1OJIkwKlKe6iZj0nxEjwlbEmc/4=";
+  mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.33.0" "sha256-6Y9WnlSkgoD44QwzR9RebkkMQD36EhiZ83jk9Pnwwdc=";
 
-  mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.28.36" "sha256-WMq8phYMtEl8Ey7tDxBzVexuR4gmZQlO6qpDwYu8xwY=";
+  mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.33.0" "sha256-kcfUbJNRK8bG5yKrQ6oSWrTpu38CI9LRxXvEahYScc4=";
 
-  mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.28.36" "sha256-93kbJxpiLQsnhudgnGoGUimUPfhGMN0cc1x8qqsA/Jc=";
+  mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.33.0" "sha256-YwM+ebNi8hWLlpt5rjiw6Vqs3UMTCvmpb1CWOufW6TQ=";
 
-  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.28.39" "sha256-p2vmaWN7oBdsud3bCB2/rCme7IXKJ4xI/XSFj4AqmGo=";
+  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.33.0" "sha256-dwj2qQAWNgAbYafhnkN+EvFDkkgEu07lVlYJ/gDZZes=";
 
-  mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.28.46" "sha256-zeKYrDZdcdNISV2eukD7GN/sdve8R5PNbvOhZN5FyRI=";
+  mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.33.0" "sha256-qHfH4AqYPTu2pxT9eRfd/5bcAkNEpT6anrlCNVlbd98=";
 
-  mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.28.36" "sha256-C1wYGskKNR6E4bL6OR8ERRwHZ8HpTbhCAoiBKIAsgME=";
+  mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.33.0" "sha256-5cNnC6fTZ5bBdv37pW1B7T5BEDG//srFIGkZgYKUvQw=";
 
-  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.28.36" "sha256-p5Tj7bqC/E552Mmr/G+QxOA4LyW4YK9VlztEhKNw/Fc=";
+  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.33.0" "sha256-B3TRxDV9rjs++M8h9a+jXfQWGP+EalKIUwPVePRChf0=";
 
-  mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.28.36" "sha256-Q3E8DOj2Oyy9GBEy5xNxAxvZDqwlCu9zV7I51NprhQQ=";
+  mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.33.0" "sha256-zub0pEfwm8GB7zHRGtbylpTFdUwJXhY391xEH8qYpE8=";
 
-  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.28.36" "sha256-v3hjhhFbCTKsfYTUvI57lEvnRSIX5POdjH/4hC+GthA=";
+  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.33.0" "sha256-kEAXky62xtIUeCzrqu9ZrK9TiV6yJHkM539iGdaMgzU=";
 
-  mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.28.36" "sha256-Si9Dz0blHg5oq8Nnq/6V5NMmt3Zbl9rVt8/UcfwSgnU=";
+  mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.33.0" "sha256-bVo8NBi2h44/1CVewfBJKqgeus0g7F8N4tw/TenctM8=";
 
-  mypy-boto3-kinesis-video-signaling = buildMypyBoto3Package "kinesis-video-signaling" "1.28.36" "sha256-sOiEpuZ3AMYRK6daSsoK3ti9LN4v7GgBPSThWTh25Og=";
+  mypy-boto3-kinesis-video-signaling = buildMypyBoto3Package "kinesis-video-signaling" "1.33.0" "sha256-zc2L2M4FivEG3ngp2Jbd19wbRsHZgRUJ+9MFGZlx6oQ=";
 
-  mypy-boto3-kinesis-video-webrtc-storage = buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.28.36" "sha256-AJPSjIIX+AQKXPPoNxTESszrC5ZzQhwHeb/eTF/LJkE=";
+  mypy-boto3-kinesis-video-webrtc-storage = buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.33.0" "sha256-C6tp7/vJ2lCAV2e91U9cDfMGcJBBTY0oWZtgyWRLEvI=";
 
-  mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.28.36" "sha256-K/NUI/VQjoxmiL3s7ASUBCBv9GWqKQYpz4o0+oohDFU=";
+  mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.33.0" "sha256-0zg7wcbado7xu+CRsxaEErycUsO54SCw7IsXiYqkgaQ=";
 
-  mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.28.36" "sha256-k+ftbXSH2gm76lsJvMdvAuAnWBVsLEh829o4x5rUQUQ=";
+  mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.33.0" "sha256-fJ/tadSlvq64oqjqt1epuBBSHjer+YbIIIdL5xbcS3I=";
 
-  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.28.52" "sha256-X05ZXElPveZ44sea7a0F5oO+wIIpYgTISpUwvACPiEY=";
+  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.33.0" "sha256-78300PfV5TPI0hZQh1tCFjedq3htKSGzyJ4uWEIncsc=";
 
-  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.28.37" "sha256-l4RcfT1vhG8hlaWdapdDB6FqCFseZP56/kDppcBra48=";
+  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.33.0" "sha256-nQCdPjydIXhfyxD8cd4d6JgA4zhstpJSLKkSVKh+2gM=";
 
-  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.28.55" "sha256-RgYc0eRv7agKmJVwqTqsx2ua0Y1B8UHbwQ1eCh5kumU=";
+  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.33.0" "sha256-8Y9t0VeNWsVOmCR/SdUIBHnDvjkoWy5bw2RjSxuSw7Q=";
 
-  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.28.36" "sha256-cEmOb/a/1gt1hVPSf632kboWlXL6ygHCvUV9oLSLnP8=";
+  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.33.0" "sha256-vqwMtLlPg6REJC2xb2AUBb37bBWAjCxScgIk2Qfnr0A=";
 
-  mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.28.36" "sha256-pe4WZgqSF3iodWqXn94fzNChq946ZydQlwJF7CB0HMc=";
+  mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.33.0" "sha256-PUgJnDXfy3tHZc08HTlRlufnSLJbSLHD1GLTJX4HnC8=";
 
-  mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.28.36" "sha256-pE1gAxoS2hb4N4H7irZNgXERAXBt/eWqF0CZZjszTyI=";
+  mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.33.0" "sha256-8HTRPL3CeH3tdq/N0+OWO5k9sqf/32iPDsqkMjGEGUI=";
 
-  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.28.36" "sha256-6DXon6AyJugNzp9bKXfvspvWGdD11dV5qxBZa7AikbE=";
+  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.33.0" "sha256-YpmCUj2ODUX1FHr5TDVmPxE3/58wskLX1GtVwuVd4UI=";
 
-  mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.28.36" "sha256-6wP6YHyctJWXdPO8bmylwhxtJ3jltbWYyAxdu+5+X5w=";
+  mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.33.0" "sha256-9+R8J3Vy6+pM+wel+LhSXjlPpkdTTw6sGjdd/RKhI3Y=";
 
-  mypy-boto3-license-manager = buildMypyBoto3Package "license-manager" "1.28.36" "sha256-/XOD5I4y2PHzW9Y+akeF1Oovf04jeh4r4ZcxjUP4ZOU=";
+  mypy-boto3-license-manager = buildMypyBoto3Package "license-manager" "1.33.0" "sha256-pIzCQAn6H97JMnH7FBXHSpihnZHSzdXwNcJpLGk3/ws=";
 
-  mypy-boto3-license-manager-linux-subscriptions = buildMypyBoto3Package "license-manager-linux-subscriptions" "1.28.36" "sha256-LuwZUXbQlSC1YSyfNuensyYVoKwy6cZzMbC2/bGJ5Pw=";
+  mypy-boto3-license-manager-linux-subscriptions = buildMypyBoto3Package "license-manager-linux-subscriptions" "1.33.0" "sha256-z37qcv32occf3LKamxEJXSxjSAtIX998mnWl2ARjDsM=";
 
-  mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.28.36" "sha256-KcTO20KTKnvcCykL5C4BqDFyj/Xrp0l6gH7JslRIzcQ=";
+  mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.33.0" "sha256-HwNmdaP6309iCUQj1/auczwB3qu6JbZcBaIRIgACCnw=";
 
-  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.28.36" "sha256-3euT5o4jOo39mco4y7geAA7PBF6z7A3lj451xXnB98o=";
+  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.33.0" "sha256-ArY3xYDsJ49TTnkvpaEYzWaISt22VaDF6BBlViElGBk=";
 
-  mypy-boto3-location = buildMypyBoto3Package "location" "1.28.36" "sha256-Gl0Q4693qhG9Wii6KlQXw9B5hZcoYoNcsO6rptLGPHQ=";
+  mypy-boto3-location = buildMypyBoto3Package "location" "1.33.0" "sha256-erlU4iV29mUx9hm6rI0PIDQv88QQkZ7CTVQqas3GIK4=";
 
-  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.28.52" "sha256-tR6bl5YSI7/iMUzhaIe70imFezlgph03JIDW1ogWi34=";
+  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.33.0" "sha256-YHUgeW9sqmnl6SHrSJmjcPan7Qx+vcG/A5a+wkr4gPI=";
 
-  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.28.48" "sha256-RXWRC9LegKQlODn8zgQJEADZGSuCYMp4/HdFGUge3rU=";
+  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.33.0" "sha256-MTZmdiv6sdWI5VaJ76ehlmZn95Yn98OD4vlLEHgJL2g=";
 
-  mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.28.36" "sha256-GDkmENl2VbNDdXS26ORGeEoK8YAURJJRVzoxAiFt9L8=";
+  mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.33.0" "sha256-r0hkRsM8pBLz7Avr4BoJu3nCT1aSBEwqgVE3LCZB9OA=";
 
-  mypy-boto3-lookoutvision = buildMypyBoto3Package "lookoutvision" "1.28.36" "sha256-tcA34QM+t2tiaV7kmaNDZjGEbtc6Bs1ZRQoPjHFNojw=";
+  mypy-boto3-lookoutvision = buildMypyBoto3Package "lookoutvision" "1.33.0" "sha256-R55LCcvLTNuL1ldp2E0ocD/tBWvO3K6vhXQZwJIyFRQ=";
 
-  mypy-boto3-m2 = buildMypyBoto3Package "m2" "1.28.36" "sha256-6UdS7JMp8vnbP/AHoiQJ+kTBZiPSvymziVeNQnkXNxg=";
+  mypy-boto3-m2 = buildMypyBoto3Package "m2" "1.33.0" "sha256-TNbkHPjRwo9JTkUrbmHl89OP0OnqE6IBQkrpBsulxE8=";
 
-  mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.28.36" "sha256-ucXN/rMMlxsRBvR0rhvF+X98qKzuvXXHSGRZSqds2Cc=";
+  mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.33.0" "sha256-HndoCwclr0r0Efj0KS+lcjWn4JSTV/5hilMhzYdDbfU=";
 
   mypy-boto3-macie = buildMypyBoto3Package "macie" "1.28.36" "sha256-T7zd6G5Z4fz1/ZiCOwf+kWbXWCy35JaE3f2OUpWGNpE=";
 
-  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.28.50" "sha256-OSQqQIDB1mPTZNk1eZFHm5Undcc+C4W/cHnXk26STWQ=";
+  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.33.0" "sha256-H/xDY6kp8nKQNfAWtwtlcaiLtzcihKnVKesfW09lkeU=";
 
-  mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.28.58" "sha256-WurxI39UdFSgwdxaymDxsoO03bGZ1ooMaCCwOthnrPo=";
+  mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.33.0" "sha256-tjv51JiiZfjZhQUc+8AwUqPqu2feTNZdn6nRcm/RDtw=";
 
-  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.28.36" "sha256-3RQJLfH4XCw8ajN6NdEZqhnBjfYZvxqbZOISKaQyuq0=";
+  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.33.0" "sha256-jZwYm+rYczq2PiML7thRqgn2ud5fP4j2gkxje2CmiHY=";
 
-  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.28.37" "sha256-Egrc6aap+HyguDM71bJrvFrtG0x3mxHjKqusw8PGTc8=";
+  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.33.0" "sha256-ye9S1wPBfgc4FbkKpfi1WzR4CJn9GE6mhrxbE8n5z+w=";
 
-  mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.28.36" "sha256-9pTcu/s4RykpnM/FsI/VuBLmLCz1/AVpWSTPORFVraY=";
+  mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.33.0" "sha256-uUdFqAtq/uLJ8WuG9Kp4XtN5nQS35pxTb4S2OjAqn2w=";
 
-  mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.28.36" "sha256-8omV1nyC83MRbAEwCOzDvyuTHARxCDJtMCkIJ76/42Q=";
+  mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.33.0" "sha256-6DVPmJHDc7NkrWQufzse/F1nghbMaUWxhr5UPBq+MNY=";
 
-  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.28.36" "sha256-xJ/i8IAQvwsCD/8F8hVMGuVpI/8ZbiWCW6w2O9PMmwg=";
+  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.33.0" "sha256-dx2tLLmihzZpcpP8MkK7cAUqnKtZB4FENUKByaw0arA=";
 
-  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.28.53" "sha256-nGLoDX8cgcCHad2hpZvOzNSkq+VfWvTQ6qGbsvqbnbc=";
+  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.33.0" "sha256-d4v+vtVNYqx0tGkNJqp3NMKFc5vsnqSRCs+v/VRx480=";
 
-  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.28.45" "sha256-vcf1hxhHJ/F6S58p9Jb/Pic063aeLVc+HrzAnN9ph/A=";
+  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.33.0" "sha256-GBkjE0qsw2CB7C26HyGZtj7q7Ll/ZRkybG8ieWUWPUw=";
 
-  mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.28.36" "sha256-ezPUrghBEb7oInGgyP8JlEf2yKSOPHRznBZ7BcNP6Oc=";
+  mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.33.0" "sha256-6c21ah2h/dSA99HrYMhyDAmA0g4pab6euqZ6bHCLavo=";
 
-  mypy-boto3-mediapackage-vod = buildMypyBoto3Package "mediapackage-vod" "1.28.36" "sha256-CYgKkn7AOmwBgaMNhq2ofKH5dQXu+hgC0In+UfWa9f0=";
+  mypy-boto3-mediapackage-vod = buildMypyBoto3Package "mediapackage-vod" "1.33.0" "sha256-0iDa1wAxNTunibq6upy9sO2EDVNUZe4BZu6uAnIH0z4=";
 
-  mypy-boto3-mediapackagev2 = buildMypyBoto3Package "mediapackagev2" "1.28.36" "sha256-oGwfsKI4PEhj5oJKr9pLvma7+nNSFyRlMzC2HYnVCsQ=";
+  mypy-boto3-mediapackagev2 = buildMypyBoto3Package "mediapackagev2" "1.33.0" "sha256-D6F1rUwb3NC71r4xSy4C1s873Zapod+z+KK4M0JD/qM=";
 
-  mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.28.37" "sha256-OptRBCGquVDgcG/7K70WZCdMhGCPSU8Gyb236ooUwhY=";
+  mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.33.0" "sha256-lPcHVhxQFa3/RQeXtXpthzVMGYxMSSrq8fSJCIMOEVQ=";
 
-  mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.28.36" "sha256-X7PuP1LtOgJo/PJ5TBgq7O0iFAhBiVJRalNbQEWT7W4=";
+  mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.33.0" "sha256-ATbzeBpKdRsLZNPc/LunbV3vtk2MwbiE/3Rd3dK1bGw=";
 
-  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.28.36" "sha256-1w5g2gzMCvufKYjjXey3ZeokZTxuL97LqHdu3CoG2UA=";
+  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.33.0" "sha256-ChpZp3x6RD0A2x29b8oYCOJ1B5ZSAsKR+ppJ7ClH3XM=";
 
-  mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.28.36" "sha256-pAoO8V4SxZnUGou2Gf0p0Shpm7ZIvxdB9ZI8fhZU5U4=";
+  mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.33.0" "sha256-RwrnUf+oMvTLoB92Hw4UUYhTF3uspYeMabLF2wN1xiU=";
 
-  mypy-boto3-memorydb = buildMypyBoto3Package "memorydb" "1.28.36" "sha256-GsdpyKFaQyakXnKJzi2cBE0Vb1gLyUhXQ5VeGlkhVmk=";
+  mypy-boto3-memorydb = buildMypyBoto3Package "memorydb" "1.33.0" "sha256-P//hCRj4DA/KU/a9T72pbxzASx5/ZX4GxgIbyMSdUlY=";
 
-  mypy-boto3-meteringmarketplace = buildMypyBoto3Package "meteringmarketplace" "1.28.36" "sha256-LiZj7Dltu+C717k1Aywtkk1faeSUAFYCMiOe5Mgoy4A=";
+  mypy-boto3-meteringmarketplace = buildMypyBoto3Package "meteringmarketplace" "1.33.0" "sha256-K/+TL2G/cA8nJ9z7KXMolco/qnvZmpmwSga1RMOfFkQ=";
 
-  mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.28.36" "sha256-7AGJAF8dh5FQz46IRinvrTX/PEC8cBkS2G/LMndjNS4=";
+  mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.33.0" "sha256-cUjW8WKwjteGlw2NyHzCCxuBd7iVxS12KkR1EnaAoa8=";
 
-  mypy-boto3-mgn = buildMypyBoto3Package "mgn" "1.28.36" "sha256-MMp+P5+6/vc/fSNFUVuKtZCZbyDh8XvGsPg1LFTtzxg=";
+  mypy-boto3-mgn = buildMypyBoto3Package "mgn" "1.33.0" "sha256-lUJtRzW5UAjl1LXkZHWg1WlUpxjasmgo33lGRw9udQc=";
 
-  mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.28.36" "sha256-xfTzLCtQPfBM01l96ks/nGGYNgYYTy6GA3I/qU/y0II=";
+  mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.33.0" "sha256-FM0tshcFNXf8Ms/iHh5P8T5m9FxP1aVkp+Kjctr/Hwg=";
 
-  mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.28.36" "sha256-p3FiriZZMmqWMMPGT4Zu/BRiDch1K4hGqMYM9dVWX7g=";
+  mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.33.0" "sha256-kHp3Tjk7XwXI7Zb6Oyjbpn6mdDreidkjZ7E1mqPtGn8=";
 
-  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.28.36" "sha256-x5vC9TZD5y/wyNCUS4KbcJk3tfMbD6GxhxJQj+DYVo4=";
+  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.33.0" "sha256-DwQZO4+j8KedJuyik2pQdFYdSd0JJAw2/5cZ7xFp/OE=";
 
-  mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.28.36" "sha256-HvDtYoWRyBmQxzn/YZJ9nhXgpKAnnwfD8RtTG2RakDM=";
+  mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.33.0" "sha256-z+ouYb9EZzz7wjA5bZro/G+o/NRMYcIHnaeTXx2tWS8=";
 
-  mypy-boto3-mobile = buildMypyBoto3Package "mobile" "1.28.36" "sha256-SyBzpVCo90lFHeT9K9wbxMXNnJEccEY+bWsgnYcnA7Q=";
+  mypy-boto3-mobile = buildMypyBoto3Package "mobile" "1.33.0" "sha256-URX3lEpb5Dc1fw4H8B9tlBRG7GEjPJookU4uyI8evGo=";
 
-  mypy-boto3-mq = buildMypyBoto3Package "mq" "1.28.36" "sha256-nHADqvj4clxfJjeS0eiadhtaVKFKeXWLBG93QOwQkR8=";
+  mypy-boto3-mq = buildMypyBoto3Package "mq" "1.33.0" "sha256-AQLeF4t5dc6ggH4g4DppdULhU5CKAaQqXWAEvc9cBT4=";
 
-  mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.28.36" "sha256-7h2xEOjgYe1QVV3mbxb7HMZJunHo4RtDdr2Jojr6XDU=";
+  mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.33.0" "sha256-x9bBvryI5u4fgpmjFTpXd2sToP3G3OwNs1RXKgLqbH8=";
 
-  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.28.36" "sha256-OyetpZbtbOjtUowUA7ahRY3OGgUEHD+Q7i4rej5CLIs=";
+  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.33.0" "sha256-8ugvyQpgi/M4aZZmV98cB0wTIjJkwp3Uxnw3oWu7ldI=";
 
-  mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.28.36" "sha256-NEu+SKj/eoYlE2bRigVIFcXS+NRcyTwhB+xP0+SLh/s=";
+  mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.33.0" "sha256-PJdMZujxddavi9qDC1AGy+kaXPSwP6HPwslwsye+kBc=";
 
-  mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.28.43" "sha256-IWYezgs1FUCYgGvmw6X/8u8QX5uHew5PXhv3gr9MzME=";
+  mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.33.0" "sha256-N731oAubylvxdhHkPVhYsSni/1/GyQgUe/Q1owcqs7s=";
 
-  mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.28.38" "sha256-MR+/d8G6cfpSEXsC9+mk1WXg/y1fQatMDV0uASI9bU0=";
+  mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.33.0" "sha256-FhtuWhOJOYVTKkh9qVYEGVVcz0npD2UJwbdxzZYj7pA=";
 
-  mypy-boto3-networkmanager = buildMypyBoto3Package "networkmanager" "1.28.36" "sha256-KESRmtzmmm/IMlQw8s7alP2PSupcdnXRtx2ZHETPzLA=";
+  mypy-boto3-networkmanager = buildMypyBoto3Package "networkmanager" "1.33.0" "sha256-ODut19IQZ30DlhkOvXa0yeU8LN82BXf0jLS5r7gELKs=";
 
-  mypy-boto3-nimble = buildMypyBoto3Package "nimble" "1.28.36" "sha256-VDO5M5cFq0CLE4i017Peq9PFAOzKtld5ID8pgcZXBIA=";
+  mypy-boto3-nimble = buildMypyBoto3Package "nimble" "1.33.0" "sha256-mivgmoJ0UOFE7hO+kZ58l3UlzYYePQBYgKufIyeqqYc=";
 
-  mypy-boto3-oam = buildMypyBoto3Package "oam" "1.28.36" "sha256-wZ1GYz84QiDvu1EWE8AFrGP/7VnzZbLsrVj8Zt3WehE=";
+  mypy-boto3-oam = buildMypyBoto3Package "oam" "1.33.0" "sha256-UvOox6pd/SVsLPYoSfyOrga3A/xKeesLGB3XQJpJ74k=";
 
-  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.28.37" "sha256-bJALOo0sx1IwD1RBBx2CeW1JSW0IpqzF6i85ICO9SUM=";
+  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.33.0" "sha256-+IKxv7RV3O/SE4Wbu/vK/ILdQSVZgcVpGjyssUivDLA=";
 
-  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.28.36" "sha256-97rGlw+REicstwKchMVjN6EuZBxQuSwmhSfBnbHxsS4=";
+  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.33.0" "sha256-UBQKDr1Ki4/7hv26tQt4LVl4WmwTJjEdvAosbU+tbTU=";
 
-  mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.28.36" "sha256-7V+wNpLTrYueSnPkOGD1ARqAewrNjbQzlIPDQJ/eEDY=";
+  mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.33.0" "sha256-BCX9Hn5zi9hvrYfwNBzJ+ZYBM10/pAyFxg/c6DPXkzU=";
 
-  mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.28.36" "sha256-Dpp3frNgsAyzKqC0Etq/p7jpjV+1YMwBx2bFqchGpeI=";
+  mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.33.0" "sha256-1wNaezlG9q9h3PxxpSiNqVaG+7NE4xyLSyscAwZgGTY=";
 
-  mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.28.36" "sha256-zrkTx2FkTuP880vcmBYwfkHDsPvLmYA3aUEZx7dbHRU=";
+  mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.33.0" "sha256-9aaBhfj0jgW/SSVTEfnrQ+aFUmrRUH0QTNeb60ID/5Q=";
 
-  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.28.36" "sha256-IFR1uIVZVjJe2sWS9Tv75l67SXiB4Em74iKFz5giAWk=";
+  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.33.0" "sha256-CaUFowv10Ytj4c1Cgt2jvrtgLh3nakbMxyrfKYV5//g=";
 
-  mypy-boto3-osis = buildMypyBoto3Package "osis" "1.28.36" "sha256-TOEjsJmgoUEXd4H4s4y7Gx7gWxo4GeLWbDd7FA5Xc/o=";
+  mypy-boto3-osis = buildMypyBoto3Package "osis" "1.33.0" "sha256-8upYKP1B7FiQ6GkUh9wgedHWra9CVnTLf9nSGExi4Tc=";
 
-  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.28.51" "sha256-iA+7Mxkp3n6hUJuFhxZ/Nf4vjeQcd3PoOEmjzk2ITI8=";
+  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.33.0" "sha256-hRHvlNlIW9xnXCRyB9J0seowO6hMkKSHhH9em/zhjRY=";
 
-  mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.28.36" "sha256-st4X3JA9Wf6zBqx9Gr2BxE9Z+1LeU0kiDpI8b+IVnjw=";
+  mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.33.0" "sha256-1thhpvAzDWl5aWzkAT5+VoWfKCU5PnZxxxiyiMjJ+YE=";
 
-  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.28.36" "sha256-2YvWtVCfr7tYJzml4LdYpEsFrSpLve+nAWF6s2xB6HQ=";
+  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.33.0" "sha256-9IfdLZJrc/07tCB/Zw9p2aBfi0Wn28YpRrRBS/2JDeg=";
 
-  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.28.39" "sha256-aMYAPA0/z6O4fSOcp+IfIaC49NiPq/cmCGSGHCCiyBo=";
+  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.33.0" "sha256-M905qk0RYwBA7ps3owD1XoH7Yo78Gr5CQQ7Lm78oLGU=";
 
-  mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.28.38" "sha256-fVexVJjucP+4UEsje+jQU+dbA0ycpQQxWc3dqKnENiY=";
+  mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.33.0" "sha256-Lo307Al/6KeDuXI0uXv9YaIt7N8f98ecnm7UvcqXTy8=";
 
-  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.28.36" "sha256-SCQqvz6rBi9Ohbw10A9BS3Yu0xPQLs03a0a0zC9mXoM=";
+  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.33.0" "sha256-Xdxn78a/fJ9HpVAPfIvI/WEwWfpP5I9DBFCouNM+yx4=";
 
-  mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.28.36" "sha256-Znmc+a37B+wlkDCT387ZGCyfQ6kLrQeVcHCkplAAOAo=";
+  mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.33.0" "sha256-qxOtdxPdMsUb3AF4RxS71rQR+yNZ/bEU5AVbdCnzMP8=";
 
-  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.28.36" "sha256-EICeLDJQzOWkm+Lk94pfY6KPi+HQY46AbGUxOi4dsxg=";
+  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.33.0" "sha256-nPsZi1PNB114A/PF54bH+AaBQwHFXVWGlU8j2g/5GIo=";
 
-  mypy-boto3-pi = buildMypyBoto3Package "pi" "1.28.36" "sha256-sHhbm4A0BkC7h9SuYjOpIwQCLtvU5ukYzpgqNruvJnM=";
+  mypy-boto3-pi = buildMypyBoto3Package "pi" "1.33.0" "sha256-XSJHfOEUBJr+Ma6cl60v28nqWUBWDq+Qo57ib0XcMPo=";
 
-  mypy-boto3-pinpoint = buildMypyBoto3Package "pinpoint" "1.28.55" "sha256-Qi9wlrmtGVeGW/BXYJggG12q0g2Jw8pu2A9jd+3ryKI=";
+  mypy-boto3-pinpoint = buildMypyBoto3Package "pinpoint" "1.33.0" "sha256-JtbvxlgMqGkpe1A9iJ/75yKMO1UwezscJGTmdB79CwQ=";
 
-  mypy-boto3-pinpoint-email = buildMypyBoto3Package "pinpoint-email" "1.28.36" "sha256-KGDy7obD+hVisnEStsIGmvUD6/Peyo83/mzKFsKd+xI=";
+  mypy-boto3-pinpoint-email = buildMypyBoto3Package "pinpoint-email" "1.33.0" "sha256-UI+xK8uW7QsFIMY8WgzGiimk09M/aEM2LeZGwnYdsGo=";
 
-  mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.28.36" "sha256-NyUHn3+WgCp5AI0ly9F1gB2uyXICy5ot4HWPkv1sRjE=";
+  mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.33.0" "sha256-1rOzAXWJgpUzXCnnJbGT1BsVU5Nvamx38F93UhD9eOo=";
 
-  mypy-boto3-pinpoint-sms-voice-v2 = buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.28.36" "sha256-YO/15ikVJ0OJ4FuEubtcV4nc+NGBFMWwiZUgn28SgFQ=";
+  mypy-boto3-pinpoint-sms-voice-v2 = buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.33.0" "sha256-I/X/ss73SZ+vN+RhYq17MOR3e6V8hkWSSEi7aDvNMaM=";
 
-  mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.28.36" "sha256-wGVcXwhUGM729QsU3Tkmg8aD2s2cpg8/CTqOR1i8Lt4=";
+  mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.33.0" "sha256-T3xFxUfzUVwBlL94lzk90X2lpKrdm+KfmyClusgOrIE=";
 
-  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.28.36" "sha256-fntpy/+K4DYhfdv35hhanDS4oq1P0kNxxDFkkHQRmuU=";
+  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.33.0" "sha256-rxPlhb8KKxg3nTyZuoqqyY+GggSSrT8gLgUksqxeJLk=";
 
-  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.28.36" "sha256-zmtifAqoWolmES6GVNRHvcvsC43AWpI4BZLipns8vqU=";
+  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.33.0" "sha256-CT9TCmwAEbxb4/y9Cg/pEDklti31AuAXSqC/sJL4APw=";
 
-  mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.28.36" "sha256-JUaloEf/CtJBBwvf08tX1dfvMmo5zM85NFGKzLwd0zk=";
+  mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.33.0" "sha256-+oJe6OMaBFm9BLXdEm2ka7hQt4Ljre5NSBpCpXtqco8=";
 
-  mypy-boto3-proton = buildMypyBoto3Package "proton" "1.28.36" "sha256-TGSxplMR6PQJT8LOTNUct4VjDAMqtgBkg3HOOB8To7w=";
+  mypy-boto3-proton = buildMypyBoto3Package "proton" "1.33.0" "sha256-ntEvse5U66ab3wkNJeId0mH2rbpYHn4w1L/r5pBmlhY=";
 
-  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.28.36" "sha256-y1UMibv5dwVuuvs2x3Cprc4gErqxUOYN6Loeaug6Tjw=";
+  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.33.0" "sha256-F1QY3bB8FnjIBgRJy/b0QXfMcDRxa0wobl/+hr8VSl4=";
 
-  mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.28.36" "sha256-JGlIwudacKEBgKlf2iDn3iRTf/b869rS7fYaK3Q6Jgk=";
+  mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.33.0" "sha256-UL8WtdlVsMxZu2wU/xC3mMS0NsOgw9MCDblIYlGv4ew=";
 
-  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.28.54" "sha256-NOQ9zNMTJYZNhEoE2xNcyG78x9eajyY0AUDsa5JW3Ls=";
+  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.33.0" "sha256-hKD1G17c+IG1FVqvkdCmS+XfTLtDKJFfNoqBMC0Wm0I=";
 
-  mypy-boto3-ram = buildMypyBoto3Package "ram" "1.28.36" "sha256-5ne0E27ct5g2LQs3rzEJ5vQdnu/10uIfeS9t4FAVU2U=";
+  mypy-boto3-ram = buildMypyBoto3Package "ram" "1.33.0" "sha256-fbuo70E/H+EnJOgGjYBpMLwr8OgvU32QoLaR9q8OZUU=";
 
-  mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.28.36" "sha256-ADN+McM/ZuloBxZVug6Zc9w1Bij5pWhzQpP8if47re8=";
+  mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.33.0" "sha256-dtOVbyLlE63ZKSVZwlYkjgK0Tft5Re95yIRkurrnRXU=";
 
-  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.28.58" "sha256-pm5I8iTKxAKscXXy99EvF+ZnIpmposPnmo0yG3y3NQU=";
+  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.33.0" "sha256-KlDkCqRzs05mUWcqQjOHO1+vvkIhjDOvJ6js+FcekWk=";
 
-  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.28.36" "sha256-rNDCwG1tnI3diKXH0sN2Qd/+J4UEh7aKBOWCIX4gvYs=";
+  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.33.0" "sha256-ND5mLqGQlLNbTUqsGDy9LnFIDNL/piYv7P7MZuYjR24=";
 
-  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.28.36" "sha256-j0MCYKr0R42X1EtoGhNPM7lqTyoisvbYJPdCji8GvI8=";
+  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.33.0" "sha256-ayvQXqTu6MQyoifL+7wokW1mneD33BNtiwiNNSjQGhA=";
 
-  mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.28.36" "sha256-fEoxqvIsAs8mUTY/dSTAbQOxNlf4+1qpyZO28Fe2PLA=";
+  mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.33.0" "sha256-DyyLQrbqQGvjguHHyF/wi1jNOMkw/bhEqvvbP9ABOeM=";
 
-  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.28.36" "sha256-fd7nHbR/4eo08/RN8u6GESyshRa81BIussx8Rdg0IHE=";
+  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.33.0" "sha256-rjOGhRFap1fiQKgF7Z56ltq3V+Z39tpler6UFhPGozE=";
 
-  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.28.37" "sha256-6eNlzJDFLLP9YsFdogWE1vtXvSNP//N+f4KpnFfnpa4=";
+  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.33.0" "sha256-i+RvqZwdCBds+J4rEE7WwGvlimIabFT/QBwV4enK03A=";
 
-  mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.28.36" "sha256-A6Nbwo6IxIBDbhCWqaKIDFYUvHCc1GRHh2IzCaYn6Nc=";
+  mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.33.0" "sha256-UC22j0SRxmhQZl7nUX/V3B8KwMTVARHqkKO+S1NyjzU=";
 
-  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.28.36" "sha256-vTYcU6Lf5mhh3+PtwhLTb72MZwgrykAbXz8coSw7znM=";
+  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.33.0" "sha256-n2iKbDn31upQ1b5Kwv3nw3pR6DAd6Zoo6Gyy/vLwC2E=";
 
-  mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.28.36" "sha256-0q1trks0Xs22VuqE5nYnMVOmsPQ936UXMN3k7qo2kDc=";
+  mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.33.0" "sha256-6ueWCB5LNmsBtg3qLligNU67YJIMeXZUqgzD/UiD6p8=";
 
-  mypy-boto3-resourcegroupstaggingapi = buildMypyBoto3Package "resourcegroupstaggingapi" "1.28.36" "sha256-A2T8OZr2OibcP+WSCDk4NydfXA8UMI4DPRCnb4l+yWI=";
+  mypy-boto3-resourcegroupstaggingapi = buildMypyBoto3Package "resourcegroupstaggingapi" "1.33.0" "sha256-uTKy2n/VGyJECrC+r4KmPpijypJZI+YpjUJIaCzocxs=";
 
-  mypy-boto3-robomaker = buildMypyBoto3Package "robomaker" "1.28.36" "sha256-zgk5TPyOtimF9axIjv8f0chrD2M7LZbeo6Huat6IUEs=";
+  mypy-boto3-robomaker = buildMypyBoto3Package "robomaker" "1.33.0" "sha256-PAkcxkWqOFFFYJKcuhGg+V7Fpy0DO8ZbtWi91dxwRTQ=";
 
-  mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.28.36" "sha256-YQKGDMmakoxhIsarmBdvOlqno9Qtm5XqOOuBD3cnhsc=";
+  mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.33.0" "sha256-OCylaHsT5/70KEHa/MR3VpgX0Tca+9ajhxxFvm/52y4=";
 
-  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.28.36" "sha256-x/T2EZtPlnSFmRkRhU+GSKvRQHpXAL3c+JN6kdmFSuY=";
+  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.33.0" "sha256-TN0c2fnBFZs1teYTK47aS2aSIJsfTyykEG+u6AIEq08=";
 
-  mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.28.36" "sha256-UAHjH2z8jCvyR2vdM5igPc1gwkcxX7wb51qZbmHBe9c=";
+  mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.33.0" "sha256-xgDxR2NVl1tIywv62qtQVMWwVl1OOqpNjHKVgQRNiIA=";
 
-  mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.28.36" "sha256-kcVRZWAIDRrHwGxd/tnWcCuu9fIgdmHzvHIG1XUdMMs=";
+  mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.33.0" "sha256-3ei5cXJQXdn8enEajUuZx6Cdr7muZu8jj70HnTNAcbY=";
 
-  mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.28.36" "sha256-iwncFBFaoMzDDApHHSBfbRaIHUOXaJJO9fWTEK6LAKY=";
+  mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.33.0" "sha256-G7Gxq11J/vP9yX58B2PLzoPpt2auor3cjFDCwyKZ6ys=";
 
-  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.28.36" "sha256-0g6Xh6GS06L6o0De4V/zQdw0DMOQMFFW7NMWEY7I5fQ=";
+  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.33.0" "sha256-IIZ31f3mRlpjcmPDZ3A32sr6lTowbgV2ZXZa6eiR+ao=";
 
-  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.28.36" "sha256-o5wa4Jjskxw10OpjvVq62mdyi55nB8xsB1t52hEtrs8=";
+  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.33.0" "sha256-7Xwoqrqel7ra/GszrB6LM5xHi/nUS9e46YuiHj4a+uI=";
 
-  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.28.36" "sha256-e342+/wBjUwNWBtQnlPoJtShgDbFXEEGd8B43UPSCFg=";
+  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.33.0" "sha256-rjTTL6bv/K4L2al5U7ocHFbNIoDI9ddtDKwuglSY20M=";
 
-  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.28.55" "sha256-sAiAn0SOdAdQEtT8VLAXbeC09JvDjjneMMoOdk63UFY=";
+  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.33.0" "sha256-O46rgr2L/RzKuMB327njJr55WbQLb0hb5Xaz1RNd3ZE=";
 
-  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.28.36" "sha256-ZgJtq2jXRtgUXQrTfIZKSbF7TMTw/bV+bGlxte7kVA8=";
+  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.33.0" "sha256-f9iCCJeRTWJuxseojW9uifSYCykVzp0TkLl+Y04BAqM=";
 
-  mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.28.36" "sha256-56REWXuXLQP2mibMz1s2FbCZFqTRZNOsuUd0IZ3sOJI=";
+  mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.33.0" "sha256-6pNmhC3DGO1LywdB5WoItSexmu3vXLphI22Q7AA+VFQ=";
 
-  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.28.57" "sha256-W3QJIXU+RPgr4IrgyJC7o0ox65W1Xyye5X5qpUCnAzo=";
+  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.33.0" "sha256-3h/cL+zIk4lnqi1bPvynHxEkENb0x91a8VRiVnti6GA=";
 
-  mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.28.36" "sha256-2qwf/dtIhBT5HSYDDEuSy4nqGQrBYEZ/1RiD5vMYPMI=";
+  mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.33.0" "sha256-f6gy+UftA5pbCKREX9GQfgWZHiiliNUE9HwjdUdSfXU=";
 
-  mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.28.36" "sha256-JsDQv4j8QB0wrXA3142LdNdYabJd8iB7PiLVZz0X3ss=";
+  mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.33.0" "sha256-EDVAUidBT2RL/Pw5GtkHhY1o5acpUgHPcb8VAoA3HHc=";
 
-  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.28.57" "sha256-vcK8WdiV8m7cqJ7WkGAqYFLjRmKdqX0qCuxmZKYlrtw=";
+  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.33.0" "sha256-ARyYSoE5vYQx9D3QtGwGXcdjGBl1syrClfiyoYUCSlE=";
 
-  mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.28.36" "sha256-2JU0tA26pENaTJBsg13RV40+gsSRz+g1p/s+5LKtKTM=";
+  mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.33.0" "sha256-qFAF+i//ndB7xVgicFNS6pLwZbrOkfL/S8TresMUF88=";
 
-  mypy-boto3-sagemaker-metrics = buildMypyBoto3Package "sagemaker-metrics" "1.28.36" "sha256-DF36xuoA1csbTCz/NJ8UhU7NPYU/OgE0+Z1t5ppPKCA=";
+  mypy-boto3-sagemaker-metrics = buildMypyBoto3Package "sagemaker-metrics" "1.33.0" "sha256-p+OhIn4qrQ4P44N4XH1X7Xfkc3zTVMKlJjPqJ6F8ntc=";
 
-  mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.28.39" "sha256-BQFdGoaL6GPAtCgFBTT4ajdkSWXsPrxYcLGndAcZw2k=";
+  mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.33.0" "sha256-OtdeDVyr9YrVxtVoIvdbIcbL890XBZq75ZW+GtYW4cc=";
 
-  mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.28.36" "sha256-EuCyeSHWSlS2OC8DM5alD6IcZ3fewmJavMMHWXL12T0=";
+  mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.33.0" "sha256-5msijGns608Yhkf19/hkQSlU1R15Cz84DkaqisnhzPM=";
 
-  mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.28.36" "sha256-dMEm7KqoZFFtFnqXR6upXHQ/CeKQO1xQ+v7CoR4o7Xs=";
+  mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.33.0" "sha256-XQNvDHADKSW4H2djsnr1KCeTsHrrV0iAsPg3LTqKk2g=";
 
-  mypy-boto3-schemas = buildMypyBoto3Package "schemas" "1.28.36" "sha256-gq8a1k0MEnXFdmB5IPE9zHYF1rfoSD3Vis7YOVyCTV8=";
+  mypy-boto3-schemas = buildMypyBoto3Package "schemas" "1.33.0" "sha256-3xGpPsWwXT7uU7y/a/qTP6P18o1fGavfoy2TgPmAThI=";
 
-  mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.28.36" "sha256-pbH5y/bS15S6BeTPIZ0bw8h0elfLeHdab/IxJF4DNYU=";
+  mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.33.0" "sha256-PR9BBaFiN1XBsQGW1yyNyAtZAVu9Vs1e3V3U+7RWdDI=";
 
-  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.28.36" "sha256-fjkIh9Nb03CNjAzpQJUl2tCAU+qNpf0Ef3Lse88JP9M=";
+  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.33.0" "sha256-6nZeeZiGiaLPa6kwdmaqijeE9xWzcbj968t2lPTpK5o=";
 
-  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.28.43" "sha256-Ein8Q/bhJoThpGzGK9ow53WEWs5D5ARW/15s3qzLqnw=";
+  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.33.0" "sha256-NiBb5+8qXkguB0jgfvLuIJ4KP2a4dRIT1PpbfOCmm+U=";
 
-  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.28.36" "sha256-YKtv/32/5ngUo4GUqeplkL5mmdcWP7rYrypLPJtebQ0=";
+  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.33.0" "sha256-y0d9dWIxM+3Q76NNL+zTLh/94W6ckTqa5EQ7ybeTLvQ=";
 
-  mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.28.36" "sha256-oNSQAc9ZBX3+q1ycI0mg4lJ3jjqYkMfb0Cs/wjBRhrY=";
+  mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.33.0" "sha256-LEwYGhI687xCYTd8/gD1OCsJQqYE+6E1iYfc9IW98D8=";
 
-  mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.28.36" "sha256-qWw/5Q/S/60ZJ55wJf+1++YRnXS7fySFJSDLOm9neDE=";
+  mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.33.0" "sha256-aiUaeMbUZhXO4xwzHKqq34UoLGamxY8ScctNJYAfME0=";
 
-  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.28.37" "sha256-BOhaddv6XQwCRLuYk3ybTmFSdAQfWkqMVW6IvB4q/78=";
+  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.33.0" "sha256-CcqYyundv85gm1ldNcJD6CP3NuLoxOlCDtcb9O1GRCw=";
 
-  mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.28.37" "sha256-rUHzIPXave2oWWyEDERmBfybNFyzw2RMxPFFidVqdh8=";
+  mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.33.0" "sha256-aDB5nDIate3iPsJj/R+nHXIn93s+aS1jEO681soCU1I=";
 
-  mypy-boto3-servicediscovery = buildMypyBoto3Package "servicediscovery" "1.28.52" "sha256-WaiZXFpKr59w0XtjF6mVI7kGt1X+vmbeWiDBNwEaeRw=";
+  mypy-boto3-servicediscovery = buildMypyBoto3Package "servicediscovery" "1.33.0" "sha256-7L2BVq4mpS+hpfSaJI7kP3JIY5HvkvIC9iG/SN1En/k=";
 
-  mypy-boto3-ses = buildMypyBoto3Package "ses" "1.28.36" "sha256-HYAl9ock3b9chpYp+wd+sR1DElFN+jxipHc3lGoIFR8=";
+  mypy-boto3-ses = buildMypyBoto3Package "ses" "1.33.0" "sha256-lqQXMviH4mGFxNHOpt6QSivj7oY7OFpqEuBvP0rgo/4=";
 
-  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.28.37" "sha256-TqnrgOc+YI6YA3BtJcN2BdU8Cm3By60yQJPxcWdQrEY=";
+  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.33.0" "sha256-eUDLuGa64FsuCdthyxQE/Qn5rwIp0zec7MOjOefLE/c=";
 
-  mypy-boto3-shield = buildMypyBoto3Package "shield" "1.28.36" "sha256-io8Ux5jD5gyQwZDENXuT/5/R1iqTWd4c34zzQtBxNyk=";
+  mypy-boto3-shield = buildMypyBoto3Package "shield" "1.33.0" "sha256-YRdKHn5rsvDgnb943Ij1KnofrbRd4pU4TdqQdHP3Xvk=";
 
-  mypy-boto3-signer = buildMypyBoto3Package "signer" "1.28.36" "sha256-4Aji9L+AI66iB9NaiuV96YefuoEJ0s+BPdsOu/UwDpM=";
+  mypy-boto3-signer = buildMypyBoto3Package "signer" "1.33.0" "sha256-S1W9NySnVEpJg38R8hfFSig3TX/trVkpTxE9ZSUGcCU=";
 
-  mypy-boto3-simspaceweaver = buildMypyBoto3Package "simspaceweaver" "1.28.47" "sha256-13RYW3vObQUNBsBtp8uaZZ9JFAiwBwiaYQv8tJ0O85w=";
+  mypy-boto3-simspaceweaver = buildMypyBoto3Package "simspaceweaver" "1.33.0" "sha256-UZ3zUzYQnhRinS1DgJ84k8+r5gYOE6kCl3SVL/XZy1o=";
 
-  mypy-boto3-sms = buildMypyBoto3Package "sms" "1.28.36" "sha256-xV29r8VmjvEQyyTYIdfkB9WbF08kjWbKdtLB5fXoWOo=";
+  mypy-boto3-sms = buildMypyBoto3Package "sms" "1.33.0" "sha256-rVfUGYJdwzhmuMafNCyHS1juSQKIqnqow0FtaJvDOt0=";
 
-  mypy-boto3-sms-voice = buildMypyBoto3Package "sms-voice" "1.28.36" "sha256-mtX0fSvFofCCD2gQhyc+YBWZbAoR497FAyjUezm4FgU=";
+  mypy-boto3-sms-voice = buildMypyBoto3Package "sms-voice" "1.33.0" "sha256-zYeq5fDM+cf+h0XUJQrblYPUEZPJHMfT3xVzCityDjo=";
 
-  mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.28.36" "sha256-mD1oojs3893aLdZQybDe41j5bG8dkMT92eq9fDbo5V8=";
+  mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.33.0" "sha256-OwhIB0rTJj/OonLCVPLb+IT00xHEbknyDIK+pNqe9s4=";
 
-  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.28.36" "sha256-ngClAeGdx5U6b41iNIABhcrBWzv4t3PB0dkdavx2e2I=";
+  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.33.0" "sha256-LSSae0TvB4ugThF26dky3mVgn7d0LbH3RxRrO5aga/I=";
 
-  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.28.36" "sha256-SXWRhkEBpRR9XS+nFRBIwMTLSxmvN0prcKwu+KrkMGY=";
+  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.33.0" "sha256-5PegpJ1neJ/R1zXVj17zW6S4Kq8EIls0GYGEUr+dQC4=";
 
-  mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.28.36" "sha256-2cFZ4CDw7yJabVhQo2c+iyNjJyQ7pf/g0Tdirk/cDiE=";
+  mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.33.0" "sha256-gfSDjoHLsMCIoQ4oeSL99qPzF8urZkeZOrnb1WfA6Ps=";
 
-  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.28.54" "sha256-cf246Qy7fhVgvU7M9w38JkqsdWQma4GI+YmNNpIJtJ8=";
+  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.33.0" "sha256-zPinrGSrOB/I+VZqmW4AMiC4HVcV7RKsSX/lGwYxJSk=";
 
-  mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.28.36" "sha256-MK1Hp9196tv2vFaVtroRPAMSP5lgmBJJZjOi7sqK318=";
+  mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.33.0" "sha256-yY2RKQIb31DAqE03sj+nUAEENSmfmfPtw0TjipI0hhk=";
 
-  mypy-boto3-ssm-incidents = buildMypyBoto3Package "ssm-incidents" "1.28.36" "sha256-0wYmsUl+q0s163UReHdCGSd18GOAhYh2aZKujT25aZc=";
+  mypy-boto3-ssm-incidents = buildMypyBoto3Package "ssm-incidents" "1.33.0" "sha256-GJFqXklw/6LBN29Rq3v3+ZQf29v0bb0RcgZa7LCzFJU=";
 
-  mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.28.36" "sha256-aQtr5rgXtokfiI/CoVxD1g4KmP9ii0hELER08sJOu3g=";
+  mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.33.0" "sha256-jyMEnnc3yKxc+QnhfXaDLx6Gv8zWK2QdMFz/1ETShig=";
 
-  mypy-boto3-sso = buildMypyBoto3Package "sso" "1.28.58" "sha256-EieqwoZ+kj3bbRDgwDDNZEPQXXFv3wFQUCYHivM6zeE=";
+  mypy-boto3-sso = buildMypyBoto3Package "sso" "1.33.0" "sha256-0AE79T+no8I85LcUDaJu6mhU3HErmW7uHZliFY9TCC8=";
 
-  mypy-boto3-sso-admin = buildMypyBoto3Package "sso-admin" "1.28.44" "sha256-BleFuvoN4f9/6Q/vvDRwgmRBP86F7i7tpaC6G3sXn1Y=";
+  mypy-boto3-sso-admin = buildMypyBoto3Package "sso-admin" "1.33.0" "sha256-Ita7xWlUlGkV4+THIfbV+NpwTjINg2sGLaFdYtxqJYg=";
 
-  mypy-boto3-sso-oidc = buildMypyBoto3Package "sso-oidc" "1.28.52" "sha256-LGxlGXTsYZdBHiTFGzCCMvRW20Ny0kXMXLoP2YTAbKg=";
+  mypy-boto3-sso-oidc = buildMypyBoto3Package "sso-oidc" "1.33.0" "sha256-dRXHaCSlqZnw6ucYZfTMcynwiBBuoJR1KnCtcECvQug=";
 
-  mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.28.36" "sha256-jHlOmKvFyiPvE+NR9Gu4Sd5jS6ym81KG4x5Y3t5Atoc=";
+  mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.33.0" "sha256-CdmlILqHDjaNv/xIdxdFkIyy8MQn+bP6/1zlNxmpY40=";
 
-  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.28.36" "sha256-59qw52muZfYjmzO3quhIfgSk5xurzialMIEh+k+C69Q=";
+  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.33.0" "sha256-9DxC+UNQtLUuw4XopRCH7hUFqrzQ/VpsdMRGpfaApxU=";
 
-  mypy-boto3-sts = buildMypyBoto3Package "sts" "1.28.58" "sha256-vv/scF8fC0Sdo8H1Ksdlhie7KJrs7BpECCZkecRuBTs=";
+  mypy-boto3-sts = buildMypyBoto3Package "sts" "1.33.0" "sha256-4IMl0XJ7k0YWoL/N6ME6M0GnnndUii2cPw/H/C4UijM=";
 
-  mypy-boto3-support = buildMypyBoto3Package "support" "1.28.36" "sha256-HjzL3qwEiQSvJvaiB6pJN/GUMRNseuIqxM7rfrfwRKs=";
+  mypy-boto3-support = buildMypyBoto3Package "support" "1.33.0" "sha256-vlPxisq+A37anbGD2/CqbLkl7APTw1ykofxSXm8gigM=";
 
-  mypy-boto3-support-app = buildMypyBoto3Package "support-app" "1.28.36" "sha256-p/v2QUgmGYRVKGUtrCt9i6c1LKCxqNoNKHnfbAw7qMU=";
+  mypy-boto3-support-app = buildMypyBoto3Package "support-app" "1.33.0" "sha256-DuP17/pOEBiQF9sGWd34JXZwprYyoecanphXnLSxXnc=";
 
-  mypy-boto3-swf = buildMypyBoto3Package "swf" "1.28.36" "sha256-GO8hb3oVmSK0J8GB4ZT1RlqyBaRrOM2ZorOHkE3L8p0=";
+  mypy-boto3-swf = buildMypyBoto3Package "swf" "1.33.0" "sha256-g6YeCNjUn5nqpjt3LxZoC26Q9fqt37g9KVXOBG3Kfp8=";
 
-  mypy-boto3-synthetics = buildMypyBoto3Package "synthetics" "1.28.36" "sha256-6vRCRKjNplmMqmUpvDC/JVPl4q/YUYealQdXOComXNQ=";
+  mypy-boto3-synthetics = buildMypyBoto3Package "synthetics" "1.33.0" "sha256-ej/Bxd9BnsBocaZqekmSuDtnMP9mzPX1QlFCHHCD8sM=";
 
-  mypy-boto3-textract = buildMypyBoto3Package "textract" "1.28.56" "sha256-xWQQAJJSeB/vsY2RAxw4z9lKjtVHJ91tvgZklwl/g74=";
+  mypy-boto3-textract = buildMypyBoto3Package "textract" "1.33.0" "sha256-li0px8Q/y3YtGFXIN93f4dnEQF6Ym6xDrO0hKSZjCOk=";
 
-  mypy-boto3-timestream-query = buildMypyBoto3Package "timestream-query" "1.28.36" "sha256-fslhEeOU6hSx6efMMesqkV4MyicL5hAvKBD1ZdyB1Dw=";
+  mypy-boto3-timestream-query = buildMypyBoto3Package "timestream-query" "1.33.0" "sha256-zk0AXRH+I9ITOpjfYMCS9olJH3BF+kc312u9KersvIQ=";
 
-  mypy-boto3-timestream-write = buildMypyBoto3Package "timestream-write" "1.28.36" "sha256-dWA9lZ/vw96WA69hyECGnTTo9O+5qPyQWAUCSdevBUM=";
+  mypy-boto3-timestream-write = buildMypyBoto3Package "timestream-write" "1.33.0" "sha256-2Kolw+CmsMDtjJMuY8kjy0XuCmdOu16WmDJFMLjUoPs=";
 
-  mypy-boto3-tnb = buildMypyBoto3Package "tnb" "1.28.36" "sha256-sGoBXxbU2rLyTbW1olhS3jgrfcw10FtCNgHckcWiSpI=";
+  mypy-boto3-tnb = buildMypyBoto3Package "tnb" "1.33.0" "sha256-z5rPVAy06qQ5WGOJKQYyy6NVvcGyR709A2EZGDDd1S0=";
 
-  mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.28.36" "sha256-oBof0qzgKgS58e+2teI6bBiIY3svwiyS+Ztzb3wRtLI=";
+  mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.33.0" "sha256-iflxQRk7e7tzh2qj8quJxaris+8lmyaOFeXmG7VS0gk=";
 
-  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.28.58" "sha256-aTpJa78Q/Z2xCtMCsExVqHsZwVlRlzBwKl3m/sWvXcM=";
+  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.33.0" "sha256-JDiD98A/Vfn4qv3lYoQo/mUQ3RxYiq1kl75j4ME5Mqo=";
 
-  mypy-boto3-translate = buildMypyBoto3Package "translate" "1.28.36" "sha256-Q2FuBXtXWenPvkJ3PprDolsO6ur5QAAn0y1ORYEQIMM=";
+  mypy-boto3-translate = buildMypyBoto3Package "translate" "1.33.0" "sha256-td3QHxympQnJbM5bBzt1ggSo7S5jyO3y7hnwOmuGM8Y=";
 
-  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.28.36" "sha256-HpiBOyeWvB/T/MquJ0R8Uk647VqCAlmC0Tryw9iojjA=";
+  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.33.0" "sha256-uz9KloAWThUxBj5cyoji4A/1P/jH/0tYq3DTfyd+pmw=";
 
-  mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.28.36" "sha256-B4R1U1eU4IZdB/Q+keSRL41zLvBMBJUiGw0RcCsC2l4=";
+  mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.33.0" "sha256-7ypwaUuxi5A33zV5CgbQYSaCFiY3r1VgZbN06SpmwMk=";
 
-  mypy-boto3-vpc-lattice = buildMypyBoto3Package "vpc-lattice" "1.28.41" "sha256-azHtPlg9etjfZOpN2505djAq9enyrIkz5NcIQE+fl9U=";
+  mypy-boto3-vpc-lattice = buildMypyBoto3Package "vpc-lattice" "1.33.0" "sha256-nutxvGkImauWfAigsvJyb5Qqzji4VjQIYwaqfhKyaQY=";
 
-  mypy-boto3-waf = buildMypyBoto3Package "waf" "1.28.36" "sha256-andRHQn1HAms2m57rIy+40iF7jz4nzGzYH24fP8qHSw=";
+  mypy-boto3-waf = buildMypyBoto3Package "waf" "1.33.0" "sha256-Xv7RDeKMiD4AO69sR/KBeP2rnDAidYYUjJuQV0ZRAEI=";
 
-  mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.28.36" "sha256-WoIforrEs7OOroJB5YvPSw/M9tvrojNnbFJdG7BlzkU=";
+  mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.33.0" "sha256-M8mZwqWRbzUe/xQxbG+lSzq25l+FIp6W8I39wJfXS00=";
 
-  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.28.57" "sha256-7xrRaEm54cKtRZplu6l8UbTg+hF6Y5qP9/lgAV8D6AY=";
+  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.33.0" "sha256-TfoNQglb5u8Ds55tHwYMTI/z1pwvH/c7N4zuat39Fek=";
 
-  mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.28.36" "sha256-Xsu8CV0MvpmbAMA6ZMoIPQHSMJn8okag1SxKW0SUv1I=";
+  mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.33.0" "sha256-PY40gzjFEUcQziYjRa1/hzMwcM6CkB8WHmf6WiOde3Q=";
 
-  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.28.36" "sha256-paheK7r4sqDjBbUVieh6E5gPAbmVaEFAC3NsWsCWxBA=";
+  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.33.0" "sha256-Coer7cmbnagZO4GilB2ymabrAgqbEHFYix6ElDLPI44=";
 
-  mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.28.36" "sha256-dQysUcm1xlXJbcM1vdYZ7+migQgjHl4gSqHoZDKnhHg=";
+  mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.33.0" "sha256-I5TUfy5QIk3zDeWZ/vWLk+Nu/I/KmlORnLdMBjwo3EI=";
 
-  mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.28.36" "sha256-oFjYLBxp/dZf1+IN5rj3usSUvZnRyhRMu63mRgdsrmI=";
+  mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.33.0" "sha256-4uf5Yx1oJZvRzz0T7QJDtcLgy7I0GC71GjRfad0ZvQ0=";
 
-  mypy-boto3-workmail = buildMypyBoto3Package "workmail" "1.28.50" "sha256-OfRyehgMROua9Ydcc8HBvBp4eddo0re1w0fciBVUuS4=";
+  mypy-boto3-workmail = buildMypyBoto3Package "workmail" "1.33.0" "sha256-c3mYtWZZoIG1vLfbvZHvc4N51e+HUJoOtYAunn3ZnoI=";
 
-  mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.28.36" "sha256-hfRjdhr/xJJNWYy4XDg8LT00sx/JGAEa4D+5GyR+FCo=";
+  mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.33.0" "sha256-86zGiMsBeyOcTmwZ84McmHlRCbk3OLIp5DHdtqoUjwo=";
 
-  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.28.44" "sha256-/LXeiuXeNTgfAf8BrzC/z0kdK201Htkau79BH0MQEO4=";
+  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.33.0" "sha256-bryzSjYbSC789o2YWqCvFUqrEOgA0R11Uf9QKe6R1yI=";
 
-  mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.28.36" "sha256-kVVNGZYzZ2wIQVOCq3domqztTqsHY8FFHgeT5GCWtg0=";
+  mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.33.0" "sha256-b1IlikX82GNZmzH9HlAouwf4chh2wMphZkMTF97kWyk=";
 
-  mypy-boto3-xray = buildMypyBoto3Package "xray" "1.28.47" "sha256-1OiTpbaBm2aAls4A7ZaZBNAM8DTRuQcwNKJDq3lOKMY=";
+  mypy-boto3-xray = buildMypyBoto3Package "xray" "1.33.0" "sha256-x15vxbgn3bCC19N5S9kg4/cQPgZtjJfMzU5oSsxHvzs=";
 
-}
+  }
diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh
new file mode 100644
index 0000000000000..94e99120f5c1f
--- /dev/null
+++ b/pkgs/development/python-modules/mypy-boto3/update.sh
@@ -0,0 +1,384 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-update
+
+set -eu -o pipefail
+
+source_file=pkgs/development/python-modules/mypy-boto3/default.nix
+
+version="1.33.0"
+
+nix-update python311Packages.botocore-stubs --commit --build
+
+packages=(
+  mypy-boto3-accessanalyzer
+  mypy-boto3-account
+  mypy-boto3-acm
+  mypy-boto3-acm-pca
+  mypy-boto3-alexaforbusiness
+  mypy-boto3-amp
+  mypy-boto3-amplify
+  mypy-boto3-amplifybackend
+  mypy-boto3-amplifyuibuilder
+  mypy-boto3-apigateway
+  mypy-boto3-apigatewaymanagementapi
+  mypy-boto3-apigatewayv2
+  mypy-boto3-appconfig
+  mypy-boto3-appconfigdata
+  mypy-boto3-appfabric
+  mypy-boto3-appflow
+  mypy-boto3-appintegrations
+  mypy-boto3-application-autoscaling
+  mypy-boto3-application-insights
+  mypy-boto3-applicationcostprofiler
+  mypy-boto3-appmesh
+  mypy-boto3-apprunner
+  mypy-boto3-appstream
+  mypy-boto3-appsync
+  mypy-boto3-arc-zonal-shift
+  mypy-boto3-athena
+  mypy-boto3-auditmanager
+  mypy-boto3-autoscaling
+  mypy-boto3-autoscaling-plans
+  mypy-boto3-backup
+  mypy-boto3-backup-gateway
+  mypy-boto3-backupstorage
+  mypy-boto3-batch
+  mypy-boto3-billingconductor
+  mypy-boto3-braket
+  mypy-boto3-budgets
+  mypy-boto3-ce
+  mypy-boto3-chime
+  mypy-boto3-chime-sdk-identity
+  mypy-boto3-chime-sdk-media-pipelines
+  mypy-boto3-chime-sdk-meetings
+  mypy-boto3-chime-sdk-messaging
+  mypy-boto3-chime-sdk-voice
+  mypy-boto3-cleanrooms
+  mypy-boto3-cloud9
+  mypy-boto3-cloudcontrol
+  mypy-boto3-clouddirectory
+  mypy-boto3-cloudformation
+  mypy-boto3-cloudfront
+  mypy-boto3-cloudhsm
+  mypy-boto3-cloudhsmv2
+  mypy-boto3-cloudsearch
+  mypy-boto3-cloudsearchdomain
+  mypy-boto3-cloudtrail
+  mypy-boto3-cloudtrail-data
+  mypy-boto3-cloudwatch
+  mypy-boto3-codeartifact
+  mypy-boto3-codebuild
+  mypy-boto3-codecatalyst
+  mypy-boto3-codecommit
+  mypy-boto3-codedeploy
+  mypy-boto3-codeguru-reviewer
+  mypy-boto3-codeguru-security
+  mypy-boto3-codeguruprofiler
+  mypy-boto3-codepipeline
+  mypy-boto3-codestar
+  mypy-boto3-codestar-connections
+  mypy-boto3-codestar-notifications
+  mypy-boto3-cognito-identity
+  mypy-boto3-cognito-idp
+  mypy-boto3-cognito-sync
+  mypy-boto3-comprehend
+  mypy-boto3-comprehendmedical
+  mypy-boto3-compute-optimizer
+  mypy-boto3-config
+  mypy-boto3-connect
+  mypy-boto3-connect-contact-lens
+  mypy-boto3-connectcampaigns
+  mypy-boto3-connectcases
+  mypy-boto3-connectparticipant
+  mypy-boto3-controltower
+  mypy-boto3-cur
+  mypy-boto3-customer-profiles
+  mypy-boto3-databrew
+  mypy-boto3-dataexchange
+  mypy-boto3-datapipeline
+  mypy-boto3-datasync
+  mypy-boto3-dax
+  mypy-boto3-detective
+  mypy-boto3-devicefarm
+  mypy-boto3-devops-guru
+  mypy-boto3-directconnect
+  mypy-boto3-discovery
+  mypy-boto3-dlm
+  mypy-boto3-dms
+  mypy-boto3-docdb
+  mypy-boto3-docdb-elastic
+  mypy-boto3-drs
+  mypy-boto3-ds
+  mypy-boto3-dynamodb
+  mypy-boto3-dynamodbstreams
+  mypy-boto3-ebs
+  mypy-boto3-ec2
+  mypy-boto3-ec2-instance-connect
+  mypy-boto3-ecr
+  mypy-boto3-ecr-public
+  mypy-boto3-ecs
+  mypy-boto3-efs
+  mypy-boto3-eks
+  mypy-boto3-elastic-inference
+  mypy-boto3-elasticache
+  mypy-boto3-elasticbeanstalk
+  mypy-boto3-elastictranscoder
+  mypy-boto3-elb
+  mypy-boto3-elbv2
+  mypy-boto3-emr
+  mypy-boto3-emr-containers
+  mypy-boto3-emr-serverless
+  mypy-boto3-entityresolution
+  mypy-boto3-es
+  mypy-boto3-events
+  mypy-boto3-evidently
+  mypy-boto3-finspace
+  mypy-boto3-finspace-data
+  mypy-boto3-firehose
+  mypy-boto3-fis
+  mypy-boto3-fms
+  mypy-boto3-forecast
+  mypy-boto3-forecastquery
+  mypy-boto3-frauddetector
+  mypy-boto3-fsx
+  mypy-boto3-gamelift
+  mypy-boto3-gamesparks
+  mypy-boto3-glacier
+  mypy-boto3-globalaccelerator
+  mypy-boto3-glue
+  mypy-boto3-grafana
+  mypy-boto3-greengrass
+  mypy-boto3-greengrassv2
+  mypy-boto3-groundstation
+  mypy-boto3-guardduty
+  mypy-boto3-health
+  mypy-boto3-healthlake
+  mypy-boto3-honeycode
+  mypy-boto3-iam
+  mypy-boto3-identitystore
+  mypy-boto3-imagebuilder
+  mypy-boto3-importexport
+  mypy-boto3-inspector
+  mypy-boto3-inspector2
+  mypy-boto3-internetmonitor
+  mypy-boto3-iot
+  mypy-boto3-iot-data
+  mypy-boto3-iot-jobs-data
+  mypy-boto3-iot-roborunner
+  mypy-boto3-iot1click-devices
+  mypy-boto3-iot1click-projects
+  mypy-boto3-iotanalytics
+  mypy-boto3-iotdeviceadvisor
+  mypy-boto3-iotevents
+  mypy-boto3-iotevents-data
+  mypy-boto3-iotfleethub
+  mypy-boto3-iotfleetwise
+  mypy-boto3-iotsecuretunneling
+  mypy-boto3-iotsitewise
+  mypy-boto3-iotthingsgraph
+  mypy-boto3-iottwinmaker
+  mypy-boto3-iotwireless
+  mypy-boto3-ivs
+  mypy-boto3-ivs-realtime
+  mypy-boto3-ivschat
+  mypy-boto3-kafka
+  mypy-boto3-kafkaconnect
+  mypy-boto3-kendra
+  mypy-boto3-kendra-ranking
+  mypy-boto3-keyspaces
+  mypy-boto3-kinesis
+  mypy-boto3-kinesis-video-archived-media
+  mypy-boto3-kinesis-video-media
+  mypy-boto3-kinesis-video-signaling
+  mypy-boto3-kinesis-video-webrtc-storage
+  mypy-boto3-kinesisanalytics
+  mypy-boto3-kinesisanalyticsv2
+  mypy-boto3-kinesisvideo
+  mypy-boto3-kms
+  mypy-boto3-lakeformation
+  mypy-boto3-lambda
+  mypy-boto3-lex-models
+  mypy-boto3-lex-runtime
+  mypy-boto3-lexv2-models
+  mypy-boto3-lexv2-runtime
+  mypy-boto3-license-manager
+  mypy-boto3-license-manager-linux-subscriptions
+  mypy-boto3-license-manager-user-subscriptions
+  mypy-boto3-lightsail
+  mypy-boto3-location
+  mypy-boto3-logs
+  mypy-boto3-lookoutequipment
+  mypy-boto3-lookoutmetrics
+  mypy-boto3-lookoutvision
+  mypy-boto3-m2
+  mypy-boto3-machinelearning
+  mypy-boto3-macie
+  mypy-boto3-macie2
+  mypy-boto3-managedblockchain
+  mypy-boto3-managedblockchain-query
+  mypy-boto3-marketplace-catalog
+  mypy-boto3-marketplace-entitlement
+  mypy-boto3-marketplacecommerceanalytics
+  mypy-boto3-mediaconnect
+  mypy-boto3-mediaconvert
+  mypy-boto3-medialive
+  mypy-boto3-mediapackage
+  mypy-boto3-mediapackage-vod
+  mypy-boto3-mediapackagev2
+  mypy-boto3-mediastore
+  mypy-boto3-mediastore-data
+  mypy-boto3-mediatailor
+  mypy-boto3-medical-imaging
+  mypy-boto3-memorydb
+  mypy-boto3-meteringmarketplace
+  mypy-boto3-mgh
+  mypy-boto3-mgn
+  mypy-boto3-migration-hub-refactor-spaces
+  mypy-boto3-migrationhub-config
+  mypy-boto3-migrationhuborchestrator
+  mypy-boto3-migrationhubstrategy
+  mypy-boto3-mobile
+  mypy-boto3-mq
+  mypy-boto3-mturk
+  mypy-boto3-mwaa
+  mypy-boto3-neptune
+  mypy-boto3-neptunedata
+  mypy-boto3-network-firewall
+  mypy-boto3-networkmanager
+  mypy-boto3-nimble
+  mypy-boto3-oam
+  mypy-boto3-omics
+  mypy-boto3-opensearch
+  mypy-boto3-opensearchserverless
+  mypy-boto3-opsworks
+  mypy-boto3-opsworkscm
+  mypy-boto3-organizations
+  mypy-boto3-osis
+  mypy-boto3-outposts
+  mypy-boto3-panorama
+  mypy-boto3-payment-cryptography
+  mypy-boto3-payment-cryptography-data
+  mypy-boto3-pca-connector-ad
+  mypy-boto3-personalize
+  mypy-boto3-personalize-events
+  mypy-boto3-personalize-runtime
+  mypy-boto3-pi
+  mypy-boto3-pinpoint
+  mypy-boto3-pinpoint-email
+  mypy-boto3-pinpoint-sms-voice
+  mypy-boto3-pinpoint-sms-voice-v2
+  mypy-boto3-pipes
+  mypy-boto3-polly
+  mypy-boto3-pricing
+  mypy-boto3-privatenetworks
+  mypy-boto3-proton
+  mypy-boto3-qldb
+  mypy-boto3-qldb-session
+  mypy-boto3-quicksight
+  mypy-boto3-ram
+  mypy-boto3-rbin
+  mypy-boto3-rds
+  mypy-boto3-rds-data
+  mypy-boto3-redshift
+  mypy-boto3-redshift-data
+  mypy-boto3-redshift-serverless
+  mypy-boto3-rekognition
+  mypy-boto3-resiliencehub
+  mypy-boto3-resource-explorer-2
+  mypy-boto3-resource-groups
+  mypy-boto3-resourcegroupstaggingapi
+  mypy-boto3-robomaker
+  mypy-boto3-rolesanywhere
+  mypy-boto3-route53
+  mypy-boto3-route53-recovery-cluster
+  mypy-boto3-route53-recovery-control-config
+  mypy-boto3-route53-recovery-readiness
+  mypy-boto3-route53domains
+  mypy-boto3-route53resolver
+  mypy-boto3-rum
+  mypy-boto3-s3
+  mypy-boto3-s3control
+  mypy-boto3-s3outposts
+  mypy-boto3-sagemaker
+  mypy-boto3-sagemaker-a2i-runtime
+  mypy-boto3-sagemaker-edge
+  mypy-boto3-sagemaker-featurestore-runtime
+  mypy-boto3-sagemaker-geospatial
+  mypy-boto3-sagemaker-metrics
+  mypy-boto3-sagemaker-runtime
+  mypy-boto3-savingsplans
+  mypy-boto3-scheduler
+  mypy-boto3-schemas
+  mypy-boto3-sdb
+  mypy-boto3-secretsmanager
+  mypy-boto3-securityhub
+  mypy-boto3-securitylake
+  mypy-boto3-serverlessrepo
+  mypy-boto3-service-quotas
+  mypy-boto3-servicecatalog
+  mypy-boto3-servicecatalog-appregistry
+  mypy-boto3-servicediscovery
+  mypy-boto3-ses
+  mypy-boto3-sesv2
+  mypy-boto3-shield
+  mypy-boto3-signer
+  mypy-boto3-simspaceweaver
+  mypy-boto3-sms
+  mypy-boto3-sms-voice
+  mypy-boto3-snow-device-management
+  mypy-boto3-snowball
+  mypy-boto3-sns
+  mypy-boto3-sqs
+  mypy-boto3-ssm
+  mypy-boto3-ssm-contacts
+  mypy-boto3-ssm-incidents
+  mypy-boto3-ssm-sap
+  mypy-boto3-sso
+  mypy-boto3-sso-admin
+  mypy-boto3-sso-oidc
+  mypy-boto3-stepfunctions
+  mypy-boto3-storagegateway
+  mypy-boto3-sts
+  mypy-boto3-support
+  mypy-boto3-support-app
+  mypy-boto3-swf
+  mypy-boto3-synthetics
+  mypy-boto3-textract
+  mypy-boto3-timestream-query
+  mypy-boto3-timestream-write
+  mypy-boto3-tnb
+  mypy-boto3-transcribe
+  mypy-boto3-transfer
+  mypy-boto3-translate
+  mypy-boto3-verifiedpermissions
+  mypy-boto3-voice-id
+  mypy-boto3-vpc-lattice
+  mypy-boto3-waf
+  mypy-boto3-waf-regional
+  mypy-boto3-wafv2
+  mypy-boto3-wellarchitected
+  mypy-boto3-wisdom
+  mypy-boto3-workdocs
+  mypy-boto3-worklink
+  mypy-boto3-workmail
+  mypy-boto3-workmailmessageflow
+  mypy-boto3-workspaces
+  mypy-boto3-workspaces-web
+  mypy-boto3-xray)
+
+for package in "${packages[@]}"; do
+  echo "Updating ${package}"
+
+  url="https://pypi.io/packages/source/m/${package}/${package}-${version}.tar.gz"
+  hash=$(nix-prefetch-url --type sha256 $url)
+  sri_hash="$(nix hash to-sri --type sha256 $hash)"
+
+  awk -i inplace -v package="$package" -v new_version="$version" -v new_sha256="$sri_hash" '
+    $1 == package {
+      $5 = "\"" new_version "\"";
+      $6 = "\"" new_sha256 "\"";
+    }
+    {print}
+  ' $source_file
+
+done
diff --git a/pkgs/development/python-modules/mysqlclient/default.nix b/pkgs/development/python-modules/mysqlclient/default.nix
index d821adc3bb257..05387cd0a6d3e 100644
--- a/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/pkgs/development/python-modules/mysqlclient/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "mysqlclient";
   version = "2.2.0";
+  format = "setuptools";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/python-modules/nad-receiver/default.nix b/pkgs/development/python-modules/nad-receiver/default.nix
index ed836bded2048..a53ff6f84f221 100644
--- a/pkgs/development/python-modules/nad-receiver/default.nix
+++ b/pkgs/development/python-modules/nad-receiver/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nad-receiver";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joopert";
diff --git a/pkgs/development/python-modules/names/default.nix b/pkgs/development/python-modules/names/default.nix
index b2d6a25bb5ae1..89ca958582c2a 100644
--- a/pkgs/development/python-modules/names/default.nix
+++ b/pkgs/development/python-modules/names/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "names";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "treyhunner";
diff --git a/pkgs/development/python-modules/nampa/default.nix b/pkgs/development/python-modules/nampa/default.nix
index 133fd4932b44f..24a27c84bbd57 100644
--- a/pkgs/development/python-modules/nampa/default.nix
+++ b/pkgs/development/python-modules/nampa/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nampa";
   version = "1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "thebabush";
diff --git a/pkgs/development/python-modules/nanoleaf/default.nix b/pkgs/development/python-modules/nanoleaf/default.nix
index 67cfdd353771c..a77998c994c55 100644
--- a/pkgs/development/python-modules/nanoleaf/default.nix
+++ b/pkgs/development/python-modules/nanoleaf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "nanoleaf";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nanomsg-python/default.nix b/pkgs/development/python-modules/nanomsg-python/default.nix
index 765941457d4ab..06b2ed5f634f2 100644
--- a/pkgs/development/python-modules/nanomsg-python/default.nix
+++ b/pkgs/development/python-modules/nanomsg-python/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "nanomsg-python";
   version = "1.0.20190114";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tonysimpson";
diff --git a/pkgs/development/python-modules/nanotime/default.nix b/pkgs/development/python-modules/nanotime/default.nix
index e7802871b0853..aeabc540eb005 100644
--- a/pkgs/development/python-modules/nanotime/default.nix
+++ b/pkgs/development/python-modules/nanotime/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "nanotime";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/naturalsort/default.nix b/pkgs/development/python-modules/naturalsort/default.nix
index 98ced7a381c24..9d7572fb0f701 100644
--- a/pkgs/development/python-modules/naturalsort/default.nix
+++ b/pkgs/development/python-modules/naturalsort/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "naturalsort";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xolox";
diff --git a/pkgs/development/python-modules/nbconflux/default.nix b/pkgs/development/python-modules/nbconflux/default.nix
index c986085a61e34..306d927faa4bb 100644
--- a/pkgs/development/python-modules/nbconflux/default.nix
+++ b/pkgs/development/python-modules/nbconflux/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "nbconflux";
   version = "0.7.0";
+  format = "setuptools";
   disabled = isPy27; # no longer compatible with python 2 urllib
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/nbsmoke/default.nix b/pkgs/development/python-modules/nbsmoke/default.nix
index 58b02546f7e70..afea038d6db7b 100644
--- a/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/pkgs/development/python-modules/nbsmoke/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "nbsmoke";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nc-dnsapi/default.nix b/pkgs/development/python-modules/nc-dnsapi/default.nix
index b68ef8fdf055a..4229fa613f19d 100644
--- a/pkgs/development/python-modules/nc-dnsapi/default.nix
+++ b/pkgs/development/python-modules/nc-dnsapi/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "nc-dnsapi";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nbuchwitz";
diff --git a/pkgs/development/python-modules/ndg-httpsclient/default.nix b/pkgs/development/python-modules/ndg-httpsclient/default.nix
index 39429950b71c6..d3d129efa2dce 100644
--- a/pkgs/development/python-modules/ndg-httpsclient/default.nix
+++ b/pkgs/development/python-modules/ndg-httpsclient/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.5.1";
+  format = "setuptools";
   pname = "ndg-httpsclient";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ndtypes/default.nix b/pkgs/development/python-modules/ndtypes/default.nix
index 8bfe1347e6df3..bf9c2ad59d6f8 100644
--- a/pkgs/development/python-modules/ndtypes/default.nix
+++ b/pkgs/development/python-modules/ndtypes/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage {
   pname = "ndtypes";
+  format = "setuptools";
   disabled = isPy27;
   inherit (libndtypes) version src meta;
 
diff --git a/pkgs/development/python-modules/nengo/default.nix b/pkgs/development/python-modules/nengo/default.nix
index c422278c830ce..da5d79e31e655 100644
--- a/pkgs/development/python-modules/nengo/default.nix
+++ b/pkgs/development/python-modules/nengo/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "nengo";
   version = "3.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nengo";
diff --git a/pkgs/development/python-modules/nested-lookup/default.nix b/pkgs/development/python-modules/nested-lookup/default.nix
index c8c00c3366ebe..0a59a372d00e5 100644
--- a/pkgs/development/python-modules/nested-lookup/default.nix
+++ b/pkgs/development/python-modules/nested-lookup/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nested-lookup";
   version = "0.2.25";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/netaddr/default.nix b/pkgs/development/python-modules/netaddr/default.nix
index 2a9f4b78b5c8f..98c886d2825e3 100644
--- a/pkgs/development/python-modules/netaddr/default.nix
+++ b/pkgs/development/python-modules/netaddr/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "netaddr";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/netapp-ontap/default.nix b/pkgs/development/python-modules/netapp-ontap/default.nix
index 28a953f29f131..7516c5da20e33 100644
--- a/pkgs/development/python-modules/netapp-ontap/default.nix
+++ b/pkgs/development/python-modules/netapp-ontap/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "netapp-ontap";
-  version = "9.13.1.0";
+  version = "9.14.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "netapp_ontap";
     inherit version;
-    sha256 = "sha256-jPKfPJXtzARRlSuwkfJeZueQouwaaa0D6rZ+BcpILq0=";
+    sha256 = "sha256-nh7SHcyujTVXSgxQajRA4EueN6Hf8cKueQbsbnr6+qw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/netdisco/default.nix b/pkgs/development/python-modules/netdisco/default.nix
index f44d54993d5ba..6ea7841dff875 100644
--- a/pkgs/development/python-modules/netdisco/default.nix
+++ b/pkgs/development/python-modules/netdisco/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "netdisco";
   version = "3.0.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/nethsm/default.nix b/pkgs/development/python-modules/nethsm/default.nix
new file mode 100644
index 0000000000000..902fa62e33873
--- /dev/null
+++ b/pkgs/development/python-modules/nethsm/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonRelaxDepsHook
+, flit-core
+, certifi
+, cryptography
+, python-dateutil
+, typing-extensions
+, urllib3
+}:
+
+let
+  pname = "nethsm";
+  version = "1.0.0";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-sENuSdA4pYt8v2w2RvDkcQLYCP9V0vZOdWOlkNBi3/o=";
+  };
+
+  propagatedBuildInputs = [
+    certifi
+    cryptography
+    python-dateutil
+    typing-extensions
+    urllib3
+  ];
+
+  nativeBuildInputs = [
+    flit-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = true;
+
+  pythonImportsCheck = [ "nethsm" ];
+
+  meta = with lib; {
+    description = "Client-side Python SDK for NetHSM";
+    homepage = "https://github.com/Nitrokey/nethsm-sdk-py";
+    changelog = "https://github.com/Nitrokey/nethsm-sdk-py/releases/tag/v${version}";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ frogamic ];
+  };
+}
diff --git a/pkgs/development/python-modules/netmap/default.nix b/pkgs/development/python-modules/netmap/default.nix
index 012599216074c..11133c44f8808 100644
--- a/pkgs/development/python-modules/netmap/default.nix
+++ b/pkgs/development/python-modules/netmap/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "netmap";
   version = "0.7.0.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
diff --git a/pkgs/development/python-modules/netmiko/default.nix b/pkgs/development/python-modules/netmiko/default.nix
index 513c3ade941fb..7c2fbda27ced6 100644
--- a/pkgs/development/python-modules/netmiko/default.nix
+++ b/pkgs/development/python-modules/netmiko/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "netmiko";
   version = "4.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
index b793bc57bf0e8..20c73fb6adf86 100644
--- a/pkgs/development/python-modules/networkx/default.nix
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -12,6 +12,7 @@ buildPythonPackage rec {
   pname = "networkx";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
   version = "3.1";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/nidaqmx/default.nix b/pkgs/development/python-modules/nidaqmx/default.nix
index 785b88185149a..2cbc5c4909575 100644
--- a/pkgs/development/python-modules/nidaqmx/default.nix
+++ b/pkgs/development/python-modules/nidaqmx/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "nidaqmx";
   version = src.rev;
+  format = "setuptools";
 
   # 3.10 is not supported, upstream inactive
   disabled = pythonAtLeast "3.10";
diff --git a/pkgs/development/python-modules/nimfa/default.nix b/pkgs/development/python-modules/nimfa/default.nix
index 3f6e521047ab6..a253b04228f6c 100644
--- a/pkgs/development/python-modules/nimfa/default.nix
+++ b/pkgs/development/python-modules/nimfa/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "nimfa";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nine/default.nix b/pkgs/development/python-modules/nine/default.nix
index e2ca5c6f27dd9..a969399d3384d 100644
--- a/pkgs/development/python-modules/nine/default.nix
+++ b/pkgs/development/python-modules/nine/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "nine";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nipy/default.nix b/pkgs/development/python-modules/nipy/default.nix
index 9f600bdf86ac1..63e6989d4daca 100644
--- a/pkgs/development/python-modules/nipy/default.nix
+++ b/pkgs/development/python-modules/nipy/default.nix
@@ -14,6 +14,7 @@
 
 buildPythonPackage rec {
   version = "0.5.0";
+  format = "setuptools";
   pname = "nipy";
   disabled = pythonOlder "2.6";
 
diff --git a/pkgs/development/python-modules/nitransforms/default.nix b/pkgs/development/python-modules/nitransforms/default.nix
index f4e8fbcdae073..3132d1900847b 100644
--- a/pkgs/development/python-modules/nitransforms/default.nix
+++ b/pkgs/development/python-modules/nitransforms/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "nitransforms";
   version = "23.0.1";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/nix-kernel/default.nix b/pkgs/development/python-modules/nix-kernel/default.nix
index 8ec80af0736b0..c03db9cf42f24 100644
--- a/pkgs/development/python-modules/nix-kernel/default.nix
+++ b/pkgs/development/python-modules/nix-kernel/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "nix-kernel";
   version = "unstable-2020-04-26";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/nix-prefetch-github/default.nix b/pkgs/development/python-modules/nix-prefetch-github/default.nix
index ec967493d0806..ca2183e82a4c1 100644
--- a/pkgs/development/python-modules/nix-prefetch-github/default.nix
+++ b/pkgs/development/python-modules/nix-prefetch-github/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "nix-prefetch-github";
   version = "7.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/nixpkgs-pytools/default.nix b/pkgs/development/python-modules/nixpkgs-pytools/default.nix
index e0af4c4969937..d6c3c89887ec6 100644
--- a/pkgs/development/python-modules/nixpkgs-pytools/default.nix
+++ b/pkgs/development/python-modules/nixpkgs-pytools/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "nixpkgs-pytools";
   version = "1.3.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/nixpkgs/default.nix b/pkgs/development/python-modules/nixpkgs/default.nix
index acebe5d758f7b..6deb9bac96ed4 100644
--- a/pkgs/development/python-modules/nixpkgs/default.nix
+++ b/pkgs/development/python-modules/nixpkgs/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "nixpkgs";
   version = "0.2.4";
+  format = "setuptools";
   disabled = ! pythonAtLeast "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/nocasedict/default.nix b/pkgs/development/python-modules/nocasedict/default.nix
index 390658f8167b7..5a81392881833 100644
--- a/pkgs/development/python-modules/nocasedict/default.nix
+++ b/pkgs/development/python-modules/nocasedict/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nocasedict";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nodepy-runtime/default.nix b/pkgs/development/python-modules/nodepy-runtime/default.nix
index 5be806e4cefeb..baa078f9082e0 100644
--- a/pkgs/development/python-modules/nodepy-runtime/default.nix
+++ b/pkgs/development/python-modules/nodepy-runtime/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "nodepy-runtime";
   version = "2.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/noise/default.nix b/pkgs/development/python-modules/noise/default.nix
index ebd0178602ca3..10521f06723ab 100644
--- a/pkgs/development/python-modules/noise/default.nix
+++ b/pkgs/development/python-modules/noise/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "noise";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/noiseprotocol/default.nix b/pkgs/development/python-modules/noiseprotocol/default.nix
index 596468f83ca2c..d1cc83e517ad3 100644
--- a/pkgs/development/python-modules/noiseprotocol/default.nix
+++ b/pkgs/development/python-modules/noiseprotocol/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "noiseprotocol";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "plizonczyk";
diff --git a/pkgs/development/python-modules/normality/default.nix b/pkgs/development/python-modules/normality/default.nix
index 5770b61718a40..862b3af929585 100644
--- a/pkgs/development/python-modules/normality/default.nix
+++ b/pkgs/development/python-modules/normality/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "normality";
   version = "2.2.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pudo";
diff --git a/pkgs/development/python-modules/nose-cov/default.nix b/pkgs/development/python-modules/nose-cov/default.nix
index a95e162b1ba4f..c9bc139c77bf9 100644
--- a/pkgs/development/python-modules/nose-cov/default.nix
+++ b/pkgs/development/python-modules/nose-cov/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "nose-cov";
   version = "1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nose-cprof/default.nix b/pkgs/development/python-modules/nose-cprof/default.nix
index f4959ec7be78d..58ffc4a25c680 100644
--- a/pkgs/development/python-modules/nose-cprof/default.nix
+++ b/pkgs/development/python-modules/nose-cprof/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nose-cprof";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nose-exclude/default.nix b/pkgs/development/python-modules/nose-exclude/default.nix
index 81204a34bd9c1..f584779848893 100644
--- a/pkgs/development/python-modules/nose-exclude/default.nix
+++ b/pkgs/development/python-modules/nose-exclude/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nose-exclude";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nose-pattern-exclude/default.nix b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
index a550dc5aee156..cb0ef287cef14 100644
--- a/pkgs/development/python-modules/nose-pattern-exclude/default.nix
+++ b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "nose-pattern-exclude";
   version = "0.1.3";
+  format = "setuptools";
 
   propagatedBuildInputs = [ nose ];
 
diff --git a/pkgs/development/python-modules/nose-randomly/default.nix b/pkgs/development/python-modules/nose-randomly/default.nix
index 786820b1adf41..afb797d3e2f25 100644
--- a/pkgs/development/python-modules/nose-randomly/default.nix
+++ b/pkgs/development/python-modules/nose-randomly/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "nose-randomly";
   version = "1.2.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nose-timer/default.nix b/pkgs/development/python-modules/nose-timer/default.nix
index de3bbdc9a439b..51b4bf80d0e8c 100644
--- a/pkgs/development/python-modules/nose-timer/default.nix
+++ b/pkgs/development/python-modules/nose-timer/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "nose-timer";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mahmoudimus";
diff --git a/pkgs/development/python-modules/nose/default.nix b/pkgs/development/python-modules/nose/default.nix
index 981d5dc03729e..376e56041b614 100644
--- a/pkgs/development/python-modules/nose/default.nix
+++ b/pkgs/development/python-modules/nose/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "1.3.7";
+  format = "setuptools";
   pname = "nose";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/nose3/default.nix b/pkgs/development/python-modules/nose3/default.nix
index f9966b246602d..df6d75a07dc5a 100644
--- a/pkgs/development/python-modules/nose3/default.nix
+++ b/pkgs/development/python-modules/nose3/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "nose3";
   version = "1.3.8";
+  format = "setuptools";
 
   # https://github.com/jayvdb/nose3/issues/5
   disabled = pythonAtLeast "3.12";
diff --git a/pkgs/development/python-modules/nose_warnings_filters/default.nix b/pkgs/development/python-modules/nose_warnings_filters/default.nix
index 6617c85d16d47..a10302559cb05 100644
--- a/pkgs/development/python-modules/nose_warnings_filters/default.nix
+++ b/pkgs/development/python-modules/nose_warnings_filters/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nose_warnings_filters";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/nosexcover/default.nix b/pkgs/development/python-modules/nosexcover/default.nix
index f60ed65448d74..21d11f0d6d907 100644
--- a/pkgs/development/python-modules/nosexcover/default.nix
+++ b/pkgs/development/python-modules/nosexcover/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "nosexcover";
   version = "1.0.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/notedown/default.nix b/pkgs/development/python-modules/notedown/default.nix
index 8ecbf1f5afab3..9301fb13dd0d0 100644
--- a/pkgs/development/python-modules/notedown/default.nix
+++ b/pkgs/development/python-modules/notedown/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "notedown";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/notify2/default.nix b/pkgs/development/python-modules/notify2/default.nix
index 28c74415c5dc1..1f087cb77a363 100644
--- a/pkgs/development/python-modules/notify2/default.nix
+++ b/pkgs/development/python-modules/notify2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "notify2";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/notion-client/default.nix b/pkgs/development/python-modules/notion-client/default.nix
index 91cf18e3a2c1a..9848868f0062e 100644
--- a/pkgs/development/python-modules/notion-client/default.nix
+++ b/pkgs/development/python-modules/notion-client/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "notion-client";
   version = "2.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/notmuch/default.nix b/pkgs/development/python-modules/notmuch/default.nix
index 90695b84c6604..a67888564c6ba 100644
--- a/pkgs/development/python-modules/notmuch/default.nix
+++ b/pkgs/development/python-modules/notmuch/default.nix
@@ -10,6 +10,8 @@ buildPythonPackage {
 
   sourceRoot = notmuch.pythonSourceRoot;
 
+  format = "setuptools";
+
   buildInputs = [ python notmuch ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/notmuch2/default.nix b/pkgs/development/python-modules/notmuch2/default.nix
index 9bb930d6cfa4b..08d0cd0929f62 100644
--- a/pkgs/development/python-modules/notmuch2/default.nix
+++ b/pkgs/development/python-modules/notmuch2/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage {
   pname = "notmuch2";
+  format = "setuptools";
   inherit (notmuch) version src;
 
   sourceRoot = "notmuch-${notmuch.version}/bindings/python-cffi";
diff --git a/pkgs/development/python-modules/nplusone/default.nix b/pkgs/development/python-modules/nplusone/default.nix
index 5a31394c2d356..ff0aa18a2d36f 100644
--- a/pkgs/development/python-modules/nplusone/default.nix
+++ b/pkgs/development/python-modules/nplusone/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "nplusone";
   version = "1.0.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/npyscreen/default.nix b/pkgs/development/python-modules/npyscreen/default.nix
index 1e93d54b3a298..764e46dcadec1 100644
--- a/pkgs/development/python-modules/npyscreen/default.nix
+++ b/pkgs/development/python-modules/npyscreen/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "npyscreen";
   version = "4.10.5";
+  format = "setuptools";
 
   src = fetchPypi {
    inherit pname version;
diff --git a/pkgs/development/python-modules/nsapi/default.nix b/pkgs/development/python-modules/nsapi/default.nix
index 453eeb2c9519e..4e3a7bc5bf3c5 100644
--- a/pkgs/development/python-modules/nsapi/default.nix
+++ b/pkgs/development/python-modules/nsapi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "nsapi";
   version = "3.0.5";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ntplib/default.nix b/pkgs/development/python-modules/ntplib/default.nix
index 399d27695ad1b..8c937e36f4141 100644
--- a/pkgs/development/python-modules/ntplib/default.nix
+++ b/pkgs/development/python-modules/ntplib/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ntplib";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/num2words/default.nix b/pkgs/development/python-modules/num2words/default.nix
index c43cb81eb2fc7..10529adf74a78 100644
--- a/pkgs/development/python-modules/num2words/default.nix
+++ b/pkgs/development/python-modules/num2words/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.5.13";
+  format = "setuptools";
   pname = "num2words";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/numericalunits/default.nix b/pkgs/development/python-modules/numericalunits/default.nix
index 64d6d291633e8..cc04bea1e3a14 100644
--- a/pkgs/development/python-modules/numericalunits/default.nix
+++ b/pkgs/development/python-modules/numericalunits/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "1.25";
+  format = "setuptools";
   pname = "numericalunits";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/numpy-stl/default.nix b/pkgs/development/python-modules/numpy-stl/default.nix
index fd2ad5c5e8c17..056d893ba75f1 100644
--- a/pkgs/development/python-modules/numpy-stl/default.nix
+++ b/pkgs/development/python-modules/numpy-stl/default.nix
@@ -11,11 +11,12 @@
 
 buildPythonPackage rec {
   pname = "numpy-stl";
-  version = "3.0.1";
+  version = "3.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3U2ho3nSYy8WhRi+jc2c3dftxsMjgJT9jSFHazWGoLw=";
+    hash = "sha256-947qYsgJOL9T6pFPpbbJL0SPDqtWCeDlpzfd4DlAQzQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oauth/default.nix b/pkgs/development/python-modules/oauth/default.nix
index c74de8d6bd6ed..434f40b17cd97 100644
--- a/pkgs/development/python-modules/oauth/default.nix
+++ b/pkgs/development/python-modules/oauth/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "oauth";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oauth2/default.nix b/pkgs/development/python-modules/oauth2/default.nix
index d9c0ae505f71c..981299a9ac05c 100644
--- a/pkgs/development/python-modules/oauth2/default.nix
+++ b/pkgs/development/python-modules/oauth2/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "oauth2";
   version = "1.9.0.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oauth2client/default.nix b/pkgs/development/python-modules/oauth2client/default.nix
index dc6e65d95cbf7..a924fa81c7aed 100644
--- a/pkgs/development/python-modules/oauth2client/default.nix
+++ b/pkgs/development/python-modules/oauth2client/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "oauth2client";
   version = "4.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
index ae8d6737380e0..9bc3ced1208bf 100644
--- a/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "16.2.0";
+  version = "16.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z5CFFfVJYeXaDFVPYaBOfUMzgl+Uvn3LYS5Zn1AHRy0=";
+    hash = "sha256-qJrreq2GhJxrX9keZOYVzjihs0RCymad+MGErW5ecPc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/obfsproxy/default.nix b/pkgs/development/python-modules/obfsproxy/default.nix
index 5f652cb97f3cf..cb00eb5dafd54 100644
--- a/pkgs/development/python-modules/obfsproxy/default.nix
+++ b/pkgs/development/python-modules/obfsproxy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "obfsproxy";
   version = "0.2.13";
+  format = "setuptools";
 
   src = fetchgit {
     url = "https://git.torproject.org/pluggable-transports/obfsproxy.git";
diff --git a/pkgs/development/python-modules/objax/default.nix b/pkgs/development/python-modules/objax/default.nix
index be8a3d8327d28..24a14b37f98ca 100644
--- a/pkgs/development/python-modules/objax/default.nix
+++ b/pkgs/development/python-modules/objax/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "objax";
   version = "1.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "google";
diff --git a/pkgs/development/python-modules/obspy/default.nix b/pkgs/development/python-modules/obspy/default.nix
index 0f5f2c003da06..422a0553e101c 100644
--- a/pkgs/development/python-modules/obspy/default.nix
+++ b/pkgs/development/python-modules/obspy/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "obspy";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 5101460704fd7..3f3f0fd186eff 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.113.0";
+  version = "2.117.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ui7/rD307fSdAPexZF9VU4NC9udjEGcFpjg/Ob6GVvo=";
+    hash = "sha256-D9LstmP4/ysRTe2tvyl84z23cskHfy1O7FT/a/qg2As=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/odfpy/default.nix b/pkgs/development/python-modules/odfpy/default.nix
index ff874ac6fb150..9b9f44d211bcd 100644
--- a/pkgs/development/python-modules/odfpy/default.nix
+++ b/pkgs/development/python-modules/odfpy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "odfpy";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oelint-parser/default.nix b/pkgs/development/python-modules/oelint-parser/default.nix
index 37d6dd8b54e8d..d36bc9004e33b 100644
--- a/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/pkgs/development/python-modules/oelint-parser/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "2.11.6";
+  version = "2.12.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-CTZxxKZPrAvuWGhwD7qAPG10rry0H71QSRXbGT0J3J0=";
+    hash = "sha256-0Ic7WKQbwA7TnFvXRZz+mFehjWP6n+Pyp0IySMy8sdw=";
   };
 
   buildInputs = [ pip ];
diff --git a/pkgs/development/python-modules/offtrac/default.nix b/pkgs/development/python-modules/offtrac/default.nix
index 1ae555ffa15a9..51ce4210e5618 100644
--- a/pkgs/development/python-modules/offtrac/default.nix
+++ b/pkgs/development/python-modules/offtrac/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "offtrac";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ofxclient/default.nix b/pkgs/development/python-modules/ofxclient/default.nix
index 72e2be7c78bd8..8ebac1d06a566 100644
--- a/pkgs/development/python-modules/ofxclient/default.nix
+++ b/pkgs/development/python-modules/ofxclient/default.nix
@@ -4,6 +4,7 @@
 
 buildPythonPackage rec {
   version = "2.0.3";
+  format = "setuptools";
   pname = "ofxclient";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ofxhome/default.nix b/pkgs/development/python-modules/ofxhome/default.nix
index 72ca65ed17116..09f901a30008e 100644
--- a/pkgs/development/python-modules/ofxhome/default.nix
+++ b/pkgs/development/python-modules/ofxhome/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.3.3";
+  format = "setuptools";
   pname = "ofxhome";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ofxparse/default.nix b/pkgs/development/python-modules/ofxparse/default.nix
index a364c7393ba89..c133db4b42654 100644
--- a/pkgs/development/python-modules/ofxparse/default.nix
+++ b/pkgs/development/python-modules/ofxparse/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ofxparse";
   version = "0.21";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ofxtools/default.nix b/pkgs/development/python-modules/ofxtools/default.nix
index d145610dc33b6..a9306b2dca4b4 100644
--- a/pkgs/development/python-modules/ofxtools/default.nix
+++ b/pkgs/development/python-modules/ofxtools/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ofxtools";
   version = "0.9.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/okonomiyaki/default.nix b/pkgs/development/python-modules/okonomiyaki/default.nix
index c82b13cc2ee75..4c51df76f14e6 100644
--- a/pkgs/development/python-modules/okonomiyaki/default.nix
+++ b/pkgs/development/python-modules/okonomiyaki/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "okonomiyaki";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "enthought";
diff --git a/pkgs/development/python-modules/ome-zarr/default.nix b/pkgs/development/python-modules/ome-zarr/default.nix
index 130b45d631e61..fa038770a0930 100644
--- a/pkgs/development/python-modules/ome-zarr/default.nix
+++ b/pkgs/development/python-modules/ome-zarr/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "ome-zarr";
   version = "0.8.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/omorfi/default.nix b/pkgs/development/python-modules/omorfi/default.nix
index 6bbe964de7344..55fe7a0454aec 100644
--- a/pkgs/development/python-modules/omorfi/default.nix
+++ b/pkgs/development/python-modules/omorfi/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   pname = "omorfi";
+  format = "setuptools";
   inherit (pkgs.omorfi) src version;
 
   sourceRoot = "${src.name}/src/python";
diff --git a/pkgs/development/python-modules/omrdatasettools/default.nix b/pkgs/development/python-modules/omrdatasettools/default.nix
index 45c6ee0a90e50..c210349ad631d 100644
--- a/pkgs/development/python-modules/omrdatasettools/default.nix
+++ b/pkgs/development/python-modules/omrdatasettools/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "omrdatasettools";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/onetimepass/default.nix b/pkgs/development/python-modules/onetimepass/default.nix
index 6b339294a5cb9..3bea443a36f23 100644
--- a/pkgs/development/python-modules/onetimepass/default.nix
+++ b/pkgs/development/python-modules/onetimepass/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "onetimepass";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tadeck";
diff --git a/pkgs/development/python-modules/onkyo-eiscp/default.nix b/pkgs/development/python-modules/onkyo-eiscp/default.nix
index 0877067843230..066d1d89ce8f2 100644
--- a/pkgs/development/python-modules/onkyo-eiscp/default.nix
+++ b/pkgs/development/python-modules/onkyo-eiscp/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "onkyo-eiscp";
   version = "1.2.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/online-judge-api-client/default.nix b/pkgs/development/python-modules/online-judge-api-client/default.nix
index 5a96133a0daa2..0a1268e5264f8 100644
--- a/pkgs/development/python-modules/online-judge-api-client/default.nix
+++ b/pkgs/development/python-modules/online-judge-api-client/default.nix
@@ -21,6 +21,7 @@ let
 in buildPythonPackage rec {
   pname = "online-judge-api-client";
   version = "10.10.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "online-judge-tools";
diff --git a/pkgs/development/python-modules/online-judge-tools/default.nix b/pkgs/development/python-modules/online-judge-tools/default.nix
index 34e1882d60e95..58d535e6ab788 100644
--- a/pkgs/development/python-modules/online-judge-tools/default.nix
+++ b/pkgs/development/python-modules/online-judge-tools/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "online-judge-tools";
   version = "11.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "online-judge-tools";
diff --git a/pkgs/development/python-modules/opcua-widgets/default.nix b/pkgs/development/python-modules/opcua-widgets/default.nix
index 3034cb8fcc0f9..0f078aa6fc479 100644
--- a/pkgs/development/python-modules/opcua-widgets/default.nix
+++ b/pkgs/development/python-modules/opcua-widgets/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "opcua-widgets";
   version = "0.6.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "FreeOpcUa";
diff --git a/pkgs/development/python-modules/open-clip-torch/default.nix b/pkgs/development/python-modules/open-clip-torch/default.nix
new file mode 100644
index 0000000000000..f1272e1e3640b
--- /dev/null
+++ b/pkgs/development/python-modules/open-clip-torch/default.nix
@@ -0,0 +1,86 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, braceexpand
+, ftfy
+, huggingface-hub
+, pandas
+, protobuf
+, pytestCheckHook
+, regex
+, sentencepiece
+, timm
+, torch
+, torchvision
+, tqdm
+, transformers
+, setuptools
+, webdataset
+, wheel
+, fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "open-clip-torch";
+  version = "2.23.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mlfoundations";
+    repo = "open_clip";
+    rev = "v${version}";
+    hash = "sha256-Txm47Tc4KMbz1i2mROT+IYbgS1Y0yHK80xY0YldgBFQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    ftfy
+    huggingface-hub
+    protobuf
+    regex
+    sentencepiece
+    timm
+    torch
+    torchvision
+    tqdm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    braceexpand
+    pandas
+    transformers
+    webdataset
+  ];
+
+  pythonImportsCheck = [ "open_clip" ];
+
+  disabledTestPaths = lib.optionals (stdenv.isAarch64 || stdenv.isDarwin) [
+    "tests/test_wds.py"
+  ];
+
+  disabledTests = [
+    # requires network
+    "test_download_pretrained_from_hfh"
+    "test_inference_simple"
+    "test_inference_with_data"
+    "test_pretrained_text_encoder"
+    "test_training_mt5"
+  ] ++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
+    "test_training"
+    "test_training_coca"
+    "test_training_unfreezing_vit"
+    "test_training_clip_with_jit"
+  ];
+
+  meta = with lib; {
+    description = "An open source implementation of CLIP";
+    homepage = "https://github.com/mlfoundations/open_clip";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ iynaix ];
+    mainProgram = "open-clip";
+  };
+}
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 89a02ae69f154..3c13e035bf025 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -1,30 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
-, matplotlib
+, pythonOlder
+, hatchling
+# propagated
+, httpx
+, pydantic
+, typing-extensions
+, anyio
+, distro
+, sniffio
+, tqdm
+# optional
 , numpy
-, openpyxl
 , pandas
 , pandas-stubs
-, plotly
+# tests
+, pytestCheckHook
 , pytest-asyncio
 , pytest-mock
-, pytestCheckHook
-, pythonOlder
-, requests
-, scikit-learn
-, tenacity
-, tqdm
-, typing-extensions
-, wandb
-, withOptionalDependencies ? false
+, respx
+, dirty-equals
 }:
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.28.1";
-  format = "setuptools";
+  version = "1.3.7";
+  pyproject = true;
 
   disabled = pythonOlder "3.7.1";
 
@@ -32,35 +34,30 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-liJyeGxnYIC/jUQKdeATHpVJb/12KGbeM94Y2YQphfY=";
+    hash = "sha256-Pa53s3U5vby1Fq14WMCJnSR6KA3xkVHmBexkNoX/0sk=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
-    aiohttp
-    requests
+    httpx
+    pydantic
+    anyio
+    distro
+    sniffio
     tqdm
   ] ++ lib.optionals (pythonOlder "3.8") [
     typing-extensions
-  ] ++ lib.optionals withOptionalDependencies (builtins.attrValues {
-    inherit (passthru.optional-dependencies) embeddings wandb;
-  });
+  ];
 
   passthru.optional-dependencies = {
     datalib = [
       numpy
-      openpyxl
       pandas
       pandas-stubs
     ];
-    embeddings = [
-      matplotlib
-      plotly
-      scikit-learn
-      tenacity
-    ] ++ passthru.optional-dependencies.datalib;
-    wandb = [
-      wandb
-    ] ++ passthru.optional-dependencies.datalib;
   };
 
   pythonImportsCheck = [
@@ -71,21 +68,16 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-asyncio
     pytest-mock
-  ];
-
-  pytestFlagsArray = [
-    "openai/tests"
+    respx
+    dirty-equals
   ];
 
   OPENAI_API_KEY = "sk-foo";
 
   disabledTestPaths = [
-    # Requires a real API key
-    "openai/tests/test_endpoints.py"
-    "openai/tests/asyncio/test_endpoints.py"
-    # openai: command not found
-    "openai/tests/test_file_cli.py"
-    "openai/tests/test_long_examples_validator.py"
+    # makes network requests
+    "tests/test_client.py"
+    "tests/api_resources"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/opencensus-context/default.nix b/pkgs/development/python-modules/opencensus-context/default.nix
index 0379b27519eaf..ae7897eae7acf 100644
--- a/pkgs/development/python-modules/opencensus-context/default.nix
+++ b/pkgs/development/python-modules/opencensus-context/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "opencensus-context";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/opencensus-ext-azure/default.nix b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
index 7250a0841f249..534213c2dbc3f 100644
--- a/pkgs/development/python-modules/opencensus-ext-azure/default.nix
+++ b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "opencensus-ext-azure";
-  version = "1.1.11";
+  version = "1.1.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IdTU0FGdSCOdBBQskLalH17MBDaE64DPoKcBqiM0YHM=";
+    hash = "sha256-hrseR84dIKytlq08Efjvsvp6tensSJbzBj2F+JlJBGI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/opencensus/default.nix b/pkgs/development/python-modules/opencensus/default.nix
index fa7141a8fb2ed..67aa2e899790f 100644
--- a/pkgs/development/python-modules/opencensus/default.nix
+++ b/pkgs/development/python-modules/opencensus/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "opencensus";
   version = "0.11.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/openidc-client/default.nix b/pkgs/development/python-modules/openidc-client/default.nix
index ce6ccee9793c0..a2110cb6a309d 100644
--- a/pkgs/development/python-modules/openidc-client/default.nix
+++ b/pkgs/development/python-modules/openidc-client/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "openidc-client";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/openrouteservice/default.nix b/pkgs/development/python-modules/openrouteservice/default.nix
index 9f93d566b0bcf..72945907d4ebd 100644
--- a/pkgs/development/python-modules/openrouteservice/default.nix
+++ b/pkgs/development/python-modules/openrouteservice/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "openrouteservice";
   version = "2.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "GIScience";
diff --git a/pkgs/development/python-modules/openshift/default.nix b/pkgs/development/python-modules/openshift/default.nix
index 9950b6af1620a..0a75792644b18 100644
--- a/pkgs/development/python-modules/openshift/default.nix
+++ b/pkgs/development/python-modules/openshift/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "openshift";
   version = "0.13.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openshift";
diff --git a/pkgs/development/python-modules/opensimplex/default.nix b/pkgs/development/python-modules/opensimplex/default.nix
index bcbbd28178e4c..6ddf5c6d03788 100644
--- a/pkgs/development/python-modules/opensimplex/default.nix
+++ b/pkgs/development/python-modules/opensimplex/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "opensimplex";
   version = "0.4.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lmas";
diff --git a/pkgs/development/python-modules/openstackdocstheme/default.nix b/pkgs/development/python-modules/openstackdocstheme/default.nix
index 00b2128db2aaa..819bf7508d41c 100644
--- a/pkgs/development/python-modules/openstackdocstheme/default.nix
+++ b/pkgs/development/python-modules/openstackdocstheme/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "openstackdocstheme";
   version = "3.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/openstep-plist/default.nix b/pkgs/development/python-modules/openstep-plist/default.nix
index 7e0cdfb71a141..2aa81629c6233 100644
--- a/pkgs/development/python-modules/openstep-plist/default.nix
+++ b/pkgs/development/python-modules/openstep-plist/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "openstep-plist";
   version = "0.3.0.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "openstep_plist";
diff --git a/pkgs/development/python-modules/opentsne/default.nix b/pkgs/development/python-modules/opentsne/default.nix
index 9fc3c7fe8143f..ba3e0b8460b19 100644
--- a/pkgs/development/python-modules/opentsne/default.nix
+++ b/pkgs/development/python-modules/opentsne/default.nix
@@ -7,7 +7,7 @@
 , scipy
 , scikit-learn
 , pytestCheckHook
-, nix-update-script
+, pythonOlder
 , setuptools
 , wheel
 }:
@@ -15,14 +15,16 @@
 let
   self = buildPythonPackage rec {
     pname = "opentsne";
-    version = "1.0.0";
-    format = "pyproject";
+    version = "1.0.1";
+    pyproject = true;
+
+    disabled = pythonOlder "3.7";
 
     src = fetchFromGitHub {
       owner = "pavlin-policar";
       repo = "openTSNE";
-      rev = "v${version}";
-      hash = "sha256-L5Qx6dMJlXF3EaWwlFTQ3dkhGXc5PvQBXYJo+QO+Hxc=";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-UTfEjjNz1mm5fhyTw9GRlMNURwWlr6kLMjrMngkFV3Y=";
     };
 
     nativeBuildInputs = [
@@ -32,13 +34,19 @@ let
       wheel
     ];
 
-    propagatedBuildInputs = [ numpy scipy scikit-learn ];
+    propagatedBuildInputs = [
+      numpy
+      scipy
+      scikit-learn
+    ];
+
+    pythonImportsCheck = [
+      "openTSNE"
+    ];
 
-    pythonImportsCheck = [ "openTSNE" ];
     doCheck = false;
 
     passthru = {
-      updateScript = nix-update-script {};
       tests.pytest = self.overridePythonAttrs (old: {
         pname = "${old.pname}-tests";
         format = "other";
@@ -53,12 +61,12 @@ let
       });
     };
 
-    meta = {
+    meta = with lib; {
       description = "Modular Python implementation of t-Distributed Stochasitc Neighbor Embedding";
       homepage = "https://github.com/pavlin-policar/openTSNE";
-      changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/${version}";
-      license = [ lib.licenses.bsd3 ];
-      maintainers = [ lib.maintainers.lucasew ];
+      changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/v${version}";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ lucasew ];
     };
   };
 in self
diff --git a/pkgs/development/python-modules/opentypespec/default.nix b/pkgs/development/python-modules/opentypespec/default.nix
new file mode 100644
index 0000000000000..0355ec02146dd
--- /dev/null
+++ b/pkgs/development/python-modules/opentypespec/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentypespec";
+  version = "1.9.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-fOEHmtlCkFhn1jyIA+CsHIfud7x3PPb7UWQsnrVyDqY=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library for OpenType specification metadata";
+    homepage = "https://github.com/simoncozens/opentypespec-py";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/openwebifpy/default.nix b/pkgs/development/python-modules/openwebifpy/default.nix
index 60f94072681d6..4661bb4dcf4cf 100644
--- a/pkgs/development/python-modules/openwebifpy/default.nix
+++ b/pkgs/development/python-modules/openwebifpy/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "openwebifpy";
   version = "3.2.7";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/openwrt-luci-rpc/default.nix b/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
index a58d9c08c5cf5..7c507cba15e0f 100644
--- a/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
+++ b/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "openwrt-luci-rpc";
   version = "1.1.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix b/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
index 14d0909e658ea..c5a5ac35b3cd6 100644
--- a/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
+++ b/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "openwrt-ubus-rpc";
   version = "0.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Noltari";
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index 72e83c216699c..df8bc234e2afc 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.0.39";
+  version = "0.0.40";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5JcediHl2TeMhYa6OJqoW5K0SlAjdIrMwj2IHh3qW7I=";
+    hash = "sha256-0vk8LGqU3rOgjC8zXkijmIZG8inxwTw2IDneFfy5eQw=";
   };
 
   pythonRemoveDeps = [
diff --git a/pkgs/development/python-modules/opuslib/default.nix b/pkgs/development/python-modules/opuslib/default.nix
index d023c570bcbbd..c30d708511866 100644
--- a/pkgs/development/python-modules/opuslib/default.nix
+++ b/pkgs/development/python-modules/opuslib/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "opuslib";
   version = "3.0.3";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/orange-canvas-core/default.nix b/pkgs/development/python-modules/orange-canvas-core/default.nix
index e40a9a03e7641..37683a9994882 100644
--- a/pkgs/development/python-modules/orange-canvas-core/default.nix
+++ b/pkgs/development/python-modules/orange-canvas-core/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "orange-canvas-core";
   version = "0.1.35";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/orange-widget-base/default.nix b/pkgs/development/python-modules/orange-widget-base/default.nix
index c89a1a8e2ce0c..3a1d5cd6e8933 100644
--- a/pkgs/development/python-modules/orange-widget-base/default.nix
+++ b/pkgs/development/python-modules/orange-widget-base/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "orange-widget-base";
   version = "4.22.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/orange3/default.nix b/pkgs/development/python-modules/orange3/default.nix
index 1100ae7f6dc6e..fe7f775541822 100644
--- a/pkgs/development/python-modules/orange3/default.nix
+++ b/pkgs/development/python-modules/orange3/default.nix
@@ -45,6 +45,7 @@ let
   self = buildPythonPackage rec {
     pname = "orange3";
     version = "3.36.2";
+    format = "setuptools";
 
     disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/orderedmultidict/default.nix b/pkgs/development/python-modules/orderedmultidict/default.nix
index f2688d46b2e3b..fb7c4395e56c7 100644
--- a/pkgs/development/python-modules/orderedmultidict/default.nix
+++ b/pkgs/development/python-modules/orderedmultidict/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "orderedmultidict";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/orderedset/default.nix b/pkgs/development/python-modules/orderedset/default.nix
index 4141d053ad456..1ab63309c3913 100644
--- a/pkgs/development/python-modules/orderedset/default.nix
+++ b/pkgs/development/python-modules/orderedset/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "orderedset";
   version = "2.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/orvibo/default.nix b/pkgs/development/python-modules/orvibo/default.nix
index 8de932a82f0e4..031866b688b9c 100644
--- a/pkgs/development/python-modules/orvibo/default.nix
+++ b/pkgs/development/python-modules/orvibo/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "orvibo";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "happyleavesaoc";
diff --git a/pkgs/development/python-modules/os-service-types/default.nix b/pkgs/development/python-modules/os-service-types/default.nix
index de138c5a16027..7ec653e4fcad5 100644
--- a/pkgs/development/python-modules/os-service-types/default.nix
+++ b/pkgs/development/python-modules/os-service-types/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "os-service-types";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/osc-lib/default.nix b/pkgs/development/python-modules/osc-lib/default.nix
index 2add2f7e98d1f..1bde4e8eedb5d 100644
--- a/pkgs/development/python-modules/osc-lib/default.nix
+++ b/pkgs/development/python-modules/osc-lib/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "osc-lib";
   version = "2.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openstack";
diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix
index 737ea42084729..4055fc176885f 100644
--- a/pkgs/development/python-modules/osc/default.nix
+++ b/pkgs/development/python-modules/osc/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "osc";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
diff --git a/pkgs/development/python-modules/oscpy/default.nix b/pkgs/development/python-modules/oscpy/default.nix
index 894e884a4de2f..a783889e38ab7 100644
--- a/pkgs/development/python-modules/oscpy/default.nix
+++ b/pkgs/development/python-modules/oscpy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "oscpy";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kivy";
diff --git a/pkgs/development/python-modules/oset/default.nix b/pkgs/development/python-modules/oset/default.nix
index 5d8a5f741bdc8..7cc3238060293 100644
--- a/pkgs/development/python-modules/oset/default.nix
+++ b/pkgs/development/python-modules/oset/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "oset";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/oslo-concurrency/default.nix b/pkgs/development/python-modules/oslo-concurrency/default.nix
index e6b7d7b05f3ac..795ab46d8d900 100644
--- a/pkgs/development/python-modules/oslo-concurrency/default.nix
+++ b/pkgs/development/python-modules/oslo-concurrency/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "oslo-concurrency";
   version = "5.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.concurrency";
diff --git a/pkgs/development/python-modules/oslo-config/default.nix b/pkgs/development/python-modules/oslo-config/default.nix
index 50a544c1d7fb6..11384932218d6 100644
--- a/pkgs/development/python-modules/oslo-config/default.nix
+++ b/pkgs/development/python-modules/oslo-config/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "oslo-config";
   version = "9.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.config";
diff --git a/pkgs/development/python-modules/oslo-db/default.nix b/pkgs/development/python-modules/oslo-db/default.nix
index a8052d4211c08..351c213faffd8 100644
--- a/pkgs/development/python-modules/oslo-db/default.nix
+++ b/pkgs/development/python-modules/oslo-db/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "oslo-db";
   version = "14.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.db";
diff --git a/pkgs/development/python-modules/oslo-i18n/default.nix b/pkgs/development/python-modules/oslo-i18n/default.nix
index e4d0f9f75d932..6c7f2065a8368 100644
--- a/pkgs/development/python-modules/oslo-i18n/default.nix
+++ b/pkgs/development/python-modules/oslo-i18n/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "oslo-i18n";
   version = "6.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.i18n";
diff --git a/pkgs/development/python-modules/oslo-serialization/default.nix b/pkgs/development/python-modules/oslo-serialization/default.nix
index 1e89c69f7e2f2..acfdcbfecb0ab 100644
--- a/pkgs/development/python-modules/oslo-serialization/default.nix
+++ b/pkgs/development/python-modules/oslo-serialization/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "oslo-serialization";
   version = "5.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.serialization";
diff --git a/pkgs/development/python-modules/oslo-utils/default.nix b/pkgs/development/python-modules/oslo-utils/default.nix
index 0d55f870e5fa4..688402199bfc9 100644
--- a/pkgs/development/python-modules/oslo-utils/default.nix
+++ b/pkgs/development/python-modules/oslo-utils/default.nix
@@ -24,6 +24,7 @@
 buildPythonPackage rec {
   pname = "oslo-utils";
   version = "6.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.utils";
diff --git a/pkgs/development/python-modules/osmpythontools/default.nix b/pkgs/development/python-modules/osmpythontools/default.nix
index 7545d9c010061..2c8a557e6ef72 100644
--- a/pkgs/development/python-modules/osmpythontools/default.nix
+++ b/pkgs/development/python-modules/osmpythontools/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "osmpythontools";
   version = "0.3.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mocnik-science";
diff --git a/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch b/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch
new file mode 100644
index 0000000000000..233e97d7b4b83
--- /dev/null
+++ b/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch
@@ -0,0 +1,34 @@
+From 6ba3b97253cf540fdf4b36672f290def72386096 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 21:26:53 +1000
+Subject: [PATCH] use packaged ots
+
+
+diff --git a/setup.py b/setup.py
+index 6c3ccae..ca021da 100755
+--- a/setup.py
++++ b/setup.py
+@@ -248,7 +248,6 @@ def run(self):
+     platforms=["posix", "nt"],
+     package_dir={"": "src/python"},
+     packages=find_packages("src/python"),
+-    ext_modules=[ots_sanitize],
+     zip_safe=False,
+     cmdclass=cmdclass,
+     setup_requires=["setuptools_scm"],
+diff --git a/src/python/ots/__init__.py b/src/python/ots/__init__.py
+index 5fc1724..db9d21e 100644
+--- a/src/python/ots/__init__.py
++++ b/src/python/ots/__init__.py
+@@ -3,7 +3,7 @@
+ import sys
+ import os
+ 
+-OTS_SANITIZE = os.path.join(os.path.dirname(__file__), "ots-sanitize")
++OTS_SANITIZE = "@ots_sanitize@"
+ 
+ __all__ = ["sanitize", "OTSError", "CalledProcessError"]
+ 
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/ots-python/default.nix b/pkgs/development/python-modules/ots-python/default.nix
new file mode 100644
index 0000000000000..f6a86a564136b
--- /dev/null
+++ b/pkgs/development/python-modules/ots-python/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, opentype-sanitizer
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ots-python";
+  version = "9.1.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "opentype-sanitizer";
+    inherit version;
+    hash = "sha256-1Zdd+eRECimZl8L8CCkm7pCjN0TafSsc5i2Y6/oH88I=";
+  };
+
+  patches = [
+    # Invoke ots-sanitize from the opentype-sanitizer package instead of
+    # downloading precompiled binaries from the internet.
+    # (nixpkgs-specific, not upstreamable)
+    (substituteAll {
+      src = ./0001-use-packaged-ots.patch;
+      ots_sanitize = "${opentype-sanitizer}/bin/ots-sanitize";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    opentype-sanitizer
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for ots (OpenType Sanitizer)";
+    homepage = "https://github.com/googlefonts/ots-python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/outcome/default.nix b/pkgs/development/python-modules/outcome/default.nix
index 66597cb0671e0..f081bbed2bcb6 100644
--- a/pkgs/development/python-modules/outcome/default.nix
+++ b/pkgs/development/python-modules/outcome/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "outcome";
   version = "1.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ovmfvartool/default.nix b/pkgs/development/python-modules/ovmfvartool/default.nix
index 12f65fe86cf39..8c5f435656177 100644
--- a/pkgs/development/python-modules/ovmfvartool/default.nix
+++ b/pkgs/development/python-modules/ovmfvartool/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ovmfvartool";
   version = "unstable-2022-09-04";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hlandau";
diff --git a/pkgs/development/python-modules/pa-ringbuffer/default.nix b/pkgs/development/python-modules/pa-ringbuffer/default.nix
index 066c4a47ae4e1..a18eda1f92bf6 100644
--- a/pkgs/development/python-modules/pa-ringbuffer/default.nix
+++ b/pkgs/development/python-modules/pa-ringbuffer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pa-ringbuffer";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "spatialaudio";
diff --git a/pkgs/development/python-modules/packbits/default.nix b/pkgs/development/python-modules/packbits/default.nix
index 561903e8f5fdb..8e9b655c0a3b1 100644
--- a/pkgs/development/python-modules/packbits/default.nix
+++ b/pkgs/development/python-modules/packbits/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "packbits";
   version = "0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pad4pi/default.nix b/pkgs/development/python-modules/pad4pi/default.nix
index 356a599b0d46b..bc6c0d27aff43 100644
--- a/pkgs/development/python-modules/pad4pi/default.nix
+++ b/pkgs/development/python-modules/pad4pi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pad4pi";
   version = "1.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pagelabels/default.nix b/pkgs/development/python-modules/pagelabels/default.nix
index c17f0ad60dd52..44b246869aa5f 100644
--- a/pkgs/development/python-modules/pagelabels/default.nix
+++ b/pkgs/development/python-modules/pagelabels/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pagelabels";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix
index 2712aded53681..8c0e54d18d608 100644
--- a/pkgs/development/python-modules/paho-mqtt/default.nix
+++ b/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "paho-mqtt";
   version = "1.6.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "eclipse";
diff --git a/pkgs/development/python-modules/palace/default.nix b/pkgs/development/python-modules/palace/default.nix
index 60d73bca09f64..09aa409a42c12 100644
--- a/pkgs/development/python-modules/palace/default.nix
+++ b/pkgs/development/python-modules/palace/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "palace";
   version = "0.2.5";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromSourcehut {
diff --git a/pkgs/development/python-modules/pallets-sphinx-themes/default.nix b/pkgs/development/python-modules/pallets-sphinx-themes/default.nix
index 460d99575b9e9..9020e458bc085 100644
--- a/pkgs/development/python-modules/pallets-sphinx-themes/default.nix
+++ b/pkgs/development/python-modules/pallets-sphinx-themes/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pallets-sphinx-themes";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pallets";
diff --git a/pkgs/development/python-modules/pamela/default.nix b/pkgs/development/python-modules/pamela/default.nix
index eb1ebff48137e..389cf10a772e0 100644
--- a/pkgs/development/python-modules/pamela/default.nix
+++ b/pkgs/development/python-modules/pamela/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pamela";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pandas-datareader/default.nix b/pkgs/development/python-modules/pandas-datareader/default.nix
index d792c439b5811..e5222cf7ef83d 100644
--- a/pkgs/development/python-modules/pandas-datareader/default.nix
+++ b/pkgs/development/python-modules/pandas-datareader/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pandas-datareader";
   version = "0.10.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pandoc-attributes/default.nix b/pkgs/development/python-modules/pandoc-attributes/default.nix
index d4da8e3cac622..8c97744e9a118 100644
--- a/pkgs/development/python-modules/pandoc-attributes/default.nix
+++ b/pkgs/development/python-modules/pandoc-attributes/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pandoc-attributes";
   version = "0.1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pandocfilters/default.nix b/pkgs/development/python-modules/pandocfilters/default.nix
index 9dac79bea7439..8ddaa9d78a091 100644
--- a/pkgs/development/python-modules/pandocfilters/default.nix
+++ b/pkgs/development/python-modules/pandocfilters/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "1.5.0";
+  format = "setuptools";
   pname = "pandocfilters";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/papis-python-rofi/default.nix b/pkgs/development/python-modules/papis-python-rofi/default.nix
index 3d3ce9a002b68..53bf62c5db155 100644
--- a/pkgs/development/python-modules/papis-python-rofi/default.nix
+++ b/pkgs/development/python-modules/papis-python-rofi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "papis-python-rofi";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/para/default.nix b/pkgs/development/python-modules/para/default.nix
index e1f3f828120f6..765672d7a3626 100644
--- a/pkgs/development/python-modules/para/default.nix
+++ b/pkgs/development/python-modules/para/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "para";
   version = "0.0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/paramz/default.nix b/pkgs/development/python-modules/paramz/default.nix
index 1f2ddb3d8cfd7..bed92d7a3565c 100644
--- a/pkgs/development/python-modules/paramz/default.nix
+++ b/pkgs/development/python-modules/paramz/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "paramz";
   version = "0.9.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/parquet/default.nix b/pkgs/development/python-modules/parquet/default.nix
index 89503526654e7..0e6cd2222f73b 100644
--- a/pkgs/development/python-modules/parquet/default.nix
+++ b/pkgs/development/python-modules/parquet/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "parquet";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jcrobak";
diff --git a/pkgs/development/python-modules/parse-type/default.nix b/pkgs/development/python-modules/parse-type/default.nix
index e7ebfb5c63e40..45af3a0e7fb28 100644
--- a/pkgs/development/python-modules/parse-type/default.nix
+++ b/pkgs/development/python-modules/parse-type/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "parse-type";
   version = "0.6.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jenisys";
diff --git a/pkgs/development/python-modules/parsedatetime/default.nix b/pkgs/development/python-modules/parsedatetime/default.nix
index fab03550fd1f8..ccb5bbcfda18c 100644
--- a/pkgs/development/python-modules/parsedatetime/default.nix
+++ b/pkgs/development/python-modules/parsedatetime/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "parsedatetime";
   version = "2.6";
+  format = "setuptools";
   disabled = isPy27; # no longer compatible with icu package
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/parso/default.nix b/pkgs/development/python-modules/parso/default.nix
index fe31d7d746713..7d76ef5d80aa3 100644
--- a/pkgs/development/python-modules/parso/default.nix
+++ b/pkgs/development/python-modules/parso/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "parso";
   version = "0.8.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/partd/default.nix b/pkgs/development/python-modules/partd/default.nix
index 52e76646875e3..db823218a61b8 100644
--- a/pkgs/development/python-modules/partd/default.nix
+++ b/pkgs/development/python-modules/partd/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "partd";
   version = "1.4.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/particle/default.nix b/pkgs/development/python-modules/particle/default.nix
index 69eabb7cf57f3..9a271ccb55df9 100644
--- a/pkgs/development/python-modules/particle/default.nix
+++ b/pkgs/development/python-modules/particle/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "particle";
-  version = "0.23.0";
+  version = "0.23.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2BD4/CfeuOf9ZBdAF9lgfVBSIknAlzoACOWA+T2xF1A=";
+    hash = "sha256-7uKLDoRr/qTf1w6exf/jJEYT2wi2tqm3c/VaQxB1L6s=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pastel/default.nix b/pkgs/development/python-modules/pastel/default.nix
index ed91aaf400772..59fd518eca620 100644
--- a/pkgs/development/python-modules/pastel/default.nix
+++ b/pkgs/development/python-modules/pastel/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pastel";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/patch-ng/default.nix b/pkgs/development/python-modules/patch-ng/default.nix
index 126155722f4f6..d91ca4be74dbd 100644
--- a/pkgs/development/python-modules/patch-ng/default.nix
+++ b/pkgs/development/python-modules/patch-ng/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "1.17.4"; # note: `conan` package may require a hardcoded one
+  format = "setuptools";
   pname = "patch-ng";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/patch/default.nix b/pkgs/development/python-modules/patch/default.nix
index ed11b3a4b52f6..d307399707c1b 100644
--- a/pkgs/development/python-modules/patch/default.nix
+++ b/pkgs/development/python-modules/patch/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "1.16";
+  format = "setuptools";
   pname = "patch";
 
   src = fetchzip {
diff --git a/pkgs/development/python-modules/path-and-address/default.nix b/pkgs/development/python-modules/path-and-address/default.nix
index a01c798615cf4..4a72431c7521f 100644
--- a/pkgs/development/python-modules/path-and-address/default.nix
+++ b/pkgs/development/python-modules/path-and-address/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "2.0.1";
+  format = "setuptools";
   pname = "path-and-address";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pathlib/default.nix b/pkgs/development/python-modules/pathlib/default.nix
index 6bf24b8f15ef5..1e34b92a4314d 100644
--- a/pkgs/development/python-modules/pathlib/default.nix
+++ b/pkgs/development/python-modules/pathlib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pathlib";
   version = "1.0.1";
+  format = "setuptools";
   disabled = pythonAtLeast "3.4"; # Was added to std library in Python 3.4
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index b844a1528b5c7..15238a8589908 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pathlib2";
   version = "2.3.7.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pathtools/default.nix b/pkgs/development/python-modules/pathtools/default.nix
index 86c2aeb88dc06..754669eb42fe8 100644
--- a/pkgs/development/python-modules/pathtools/default.nix
+++ b/pkgs/development/python-modules/pathtools/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pathtools";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/patrowl4py/default.nix b/pkgs/development/python-modules/patrowl4py/default.nix
index 22f2f1ab145d9..e756dc838019c 100644
--- a/pkgs/development/python-modules/patrowl4py/default.nix
+++ b/pkgs/development/python-modules/patrowl4py/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "patrowl4py";
   version = "1.1.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Patrowl";
diff --git a/pkgs/development/python-modules/patsy/default.nix b/pkgs/development/python-modules/patsy/default.nix
index f9020c0c1678f..a1ed788dda12d 100644
--- a/pkgs/development/python-modules/patsy/default.nix
+++ b/pkgs/development/python-modules/patsy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "patsy";
   version = "0.5.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pbkdf2/default.nix b/pkgs/development/python-modules/pbkdf2/default.nix
index 8f489ca24b9c2..9068b6887b47a 100644
--- a/pkgs/development/python-modules/pbkdf2/default.nix
+++ b/pkgs/development/python-modules/pbkdf2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pbkdf2";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index 13b61c89232eb..bda6c9080f0c5 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pbr";
   version = "5.11.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pc-ble-driver-py/default.nix b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
index 61072507e2943..11b442218809d 100644
--- a/pkgs/development/python-modules/pc-ble-driver-py/default.nix
+++ b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "pc-ble-driver-py";
   version = "0.17.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pcpp/default.nix b/pkgs/development/python-modules/pcpp/default.nix
index 0985d32afb55a..e57934f4daf97 100644
--- a/pkgs/development/python-modules/pcpp/default.nix
+++ b/pkgs/development/python-modules/pcpp/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pcpp";
   version = "1.30";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ned14";
diff --git a/pkgs/development/python-modules/pdfkit/default.nix b/pkgs/development/python-modules/pdfkit/default.nix
index 73d09c755ac54..e055ed9718420 100644
--- a/pkgs/development/python-modules/pdfkit/default.nix
+++ b/pkgs/development/python-modules/pdfkit/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pdfkit";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pdfrw/default.nix b/pkgs/development/python-modules/pdfrw/default.nix
index 5cc619ef6a47d..8eccbfbb7f1f7 100644
--- a/pkgs/development/python-modules/pdfrw/default.nix
+++ b/pkgs/development/python-modules/pdfrw/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pdfrw";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pdftotext/default.nix b/pkgs/development/python-modules/pdftotext/default.nix
index efb26fa4955dc..9d3971ce323df 100644
--- a/pkgs/development/python-modules/pdftotext/default.nix
+++ b/pkgs/development/python-modules/pdftotext/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pdftotext";
   version = "2.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pdfx/default.nix b/pkgs/development/python-modules/pdfx/default.nix
index 1ee1cb4804df8..8f1049cc18e90 100644
--- a/pkgs/development/python-modules/pdfx/default.nix
+++ b/pkgs/development/python-modules/pdfx/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pdfx";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "metachris";
diff --git a/pkgs/development/python-modules/pdoc3/default.nix b/pkgs/development/python-modules/pdoc3/default.nix
index 1c3e5ef08af60..72e2046105a97 100644
--- a/pkgs/development/python-modules/pdoc3/default.nix
+++ b/pkgs/development/python-modules/pdoc3/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pdoc3";
   version = "0.10.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pdunehd/default.nix b/pkgs/development/python-modules/pdunehd/default.nix
index e3ae53ecb85ec..6d9248b2db101 100644
--- a/pkgs/development/python-modules/pdunehd/default.nix
+++ b/pkgs/development/python-modules/pdunehd/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pdunehd";
   version = "1.3.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index d9c344e6e72c1..6fd4cd98debc5 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 = "19.5.20";
+  version = "19.5.21";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-atrrPU9aQvpbI3JYdsnGkdRpq3SRuBJpezF1qc1USB0=";
+    hash = "sha256-MR+dPGap7IgdWV+bKLUU3E3lzoG+RaaspjqedMQMk5Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pelican/default.nix b/pkgs/development/python-modules/pelican/default.nix
index 8fedf5c694b77..a2aac534366e8 100644
--- a/pkgs/development/python-modules/pelican/default.nix
+++ b/pkgs/development/python-modules/pelican/default.nix
@@ -29,6 +29,7 @@
 buildPythonPackage rec {
   pname = "pelican";
   version = "4.8.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pep8/default.nix b/pkgs/development/python-modules/pep8/default.nix
index cc0e546b957c8..74bf420452b9a 100644
--- a/pkgs/development/python-modules/pep8/default.nix
+++ b/pkgs/development/python-modules/pep8/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pep8";
   version = "1.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/peppercorn/default.nix b/pkgs/development/python-modules/peppercorn/default.nix
index 310cc565b21fc..086c5edcee329 100644
--- a/pkgs/development/python-modules/peppercorn/default.nix
+++ b/pkgs/development/python-modules/peppercorn/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "peppercorn";
   version = "0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/percol/default.nix b/pkgs/development/python-modules/percol/default.nix
index 58e7aff5601d3..a1061d8310d4c 100644
--- a/pkgs/development/python-modules/percol/default.nix
+++ b/pkgs/development/python-modules/percol/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "percol";
   version = "unstable-2019-07-24";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mooz";
diff --git a/pkgs/development/python-modules/permissionedforms/default.nix b/pkgs/development/python-modules/permissionedforms/default.nix
index db4f02bef9158..c317826391ddb 100644
--- a/pkgs/development/python-modules/permissionedforms/default.nix
+++ b/pkgs/development/python-modules/permissionedforms/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "permissionedforms";
   version = "0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "django-permissionedforms";
diff --git a/pkgs/development/python-modules/persist-queue/default.nix b/pkgs/development/python-modules/persist-queue/default.nix
index 6d29659f8ffd1..9682ac59946b1 100644
--- a/pkgs/development/python-modules/persist-queue/default.nix
+++ b/pkgs/development/python-modules/persist-queue/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "persist-queue";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/persisting-theory/default.nix b/pkgs/development/python-modules/persisting-theory/default.nix
index 0555e53e47401..0890f86fc160c 100644
--- a/pkgs/development/python-modules/persisting-theory/default.nix
+++ b/pkgs/development/python-modules/persisting-theory/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "persisting-theory";
   version = "1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pexif/default.nix b/pkgs/development/python-modules/pexif/default.nix
index a31d80eed0521..fb61b376021ad 100644
--- a/pkgs/development/python-modules/pexif/default.nix
+++ b/pkgs/development/python-modules/pexif/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pexif";
   version = "0.15";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pexpect/default.nix b/pkgs/development/python-modules/pexpect/default.nix
index 40d61aec5c52d..ebe63b4a4170b 100644
--- a/pkgs/development/python-modules/pexpect/default.nix
+++ b/pkgs/development/python-modules/pexpect/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage (rec {
   pname = "pexpect";
   version = "4.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pgcli/default.nix b/pkgs/development/python-modules/pgcli/default.nix
index 8f7f1e96effed..aff6d3d2149b5 100644
--- a/pkgs/development/python-modules/pgcli/default.nix
+++ b/pkgs/development/python-modules/pgcli/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "pgcli";
   version = "4.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pgpdump/default.nix b/pkgs/development/python-modules/pgpdump/default.nix
index e952ced742c6e..d3f87c9e19476 100644
--- a/pkgs/development/python-modules/pgpdump/default.nix
+++ b/pkgs/development/python-modules/pgpdump/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pgpdump";
   version = "1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pgsanity/default.nix b/pkgs/development/python-modules/pgsanity/default.nix
index 4660461e91c19..510d5e66bdbb1 100644
--- a/pkgs/development/python-modules/pgsanity/default.nix
+++ b/pkgs/development/python-modules/pgsanity/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pgsanity";
   version = "0.2.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pgspecial/default.nix b/pkgs/development/python-modules/pgspecial/default.nix
index 1a86bce729699..5c4e1bf84a2ac 100644
--- a/pkgs/development/python-modules/pgspecial/default.nix
+++ b/pkgs/development/python-modules/pgspecial/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pgspecial";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/phe/default.nix b/pkgs/development/python-modules/phe/default.nix
index fa4c43c59c901..e943afa3caeff 100644
--- a/pkgs/development/python-modules/phe/default.nix
+++ b/pkgs/development/python-modules/phe/default.nix
@@ -3,6 +3,7 @@
 let
   pname = "phe";
   version = "1.5.0";
+  format = "setuptools";
 in
 
 buildPythonPackage {
diff --git a/pkgs/development/python-modules/phone-modem/default.nix b/pkgs/development/python-modules/phone-modem/default.nix
index 635d1ce2d850a..8ec54bd84012f 100644
--- a/pkgs/development/python-modules/phone-modem/default.nix
+++ b/pkgs/development/python-modules/phone-modem/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "phone-modem";
   version = "0.1.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/phpserialize/default.nix b/pkgs/development/python-modules/phpserialize/default.nix
index 9323fe6a264fd..5c5d9929100d5 100644
--- a/pkgs/development/python-modules/phpserialize/default.nix
+++ b/pkgs/development/python-modules/phpserialize/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "phpserialize";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/piccata/default.nix b/pkgs/development/python-modules/piccata/default.nix
index b43c5fd4b446a..20bbc0066d23f 100644
--- a/pkgs/development/python-modules/piccata/default.nix
+++ b/pkgs/development/python-modules/piccata/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "piccata";
   version = "2.0.2";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/piccolo-theme/default.nix b/pkgs/development/python-modules/piccolo-theme/default.nix
index 3b68065a23b2a..ece887f143285 100644
--- a/pkgs/development/python-modules/piccolo-theme/default.nix
+++ b/pkgs/development/python-modules/piccolo-theme/default.nix
@@ -2,12 +2,13 @@
 
 buildPythonPackage rec {
   pname = "piccolo-theme";
-  version = "0.18.0";
+  version = "0.19.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "piccolo_theme";
     inherit version;
-    hash = "sha256-tEgYrQaVcWZadmhV6JRuXnk8m9oJLNSfb0hA309bX1U=";
+    hash = "sha256-pGMOc/GSh3q2HW1mfW+XFgpOyiXd3cdh56cvXatseuc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pickleshare/default.nix b/pkgs/development/python-modules/pickleshare/default.nix
index 381f03bdce5cc..d6be608aaa2bb 100644
--- a/pkgs/development/python-modules/pickleshare/default.nix
+++ b/pkgs/development/python-modules/pickleshare/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.7.5";
+  format = "setuptools";
   pname = "pickleshare";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/picobox/default.nix b/pkgs/development/python-modules/picobox/default.nix
index 176c86e84f079..a70fc8eecbe19 100644
--- a/pkgs/development/python-modules/picobox/default.nix
+++ b/pkgs/development/python-modules/picobox/default.nix
@@ -1,27 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , flask
 , hatchling
 , hatch-vcs
-, isPy27
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "picobox";
-  version = "3.0.0";
+  version = "4.0.0";
 
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "ikalnytskyi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LQiSurL+eFRJ9iQheoo66o44BlfBtAatk8deuMFROcc=";
+    hash = "sha256-JtrwUVo3b4G34OUShX4eJS2IVubl4vBmEtB/Jhk4eJI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/picos/default.nix b/pkgs/development/python-modules/picos/default.nix
index a5af53c1b8ccb..5bc5e35c6332e 100644
--- a/pkgs/development/python-modules/picos/default.nix
+++ b/pkgs/development/python-modules/picos/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "picos";
   version = "2.0";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "picos-api";
diff --git a/pkgs/development/python-modules/picosvg/default.nix b/pkgs/development/python-modules/picosvg/default.nix
index f543b61b2bc9f..87f3eccfdb0ed 100644
--- a/pkgs/development/python-modules/picosvg/default.nix
+++ b/pkgs/development/python-modules/picosvg/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "picosvg";
   version = "0.22.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "googlefonts";
diff --git a/pkgs/development/python-modules/pid/default.nix b/pkgs/development/python-modules/pid/default.nix
index f4ce57b3a20d1..de7856accabc5 100644
--- a/pkgs/development/python-modules/pid/default.nix
+++ b/pkgs/development/python-modules/pid/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pid";
   version = "3.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/piep/default.nix b/pkgs/development/python-modules/piep/default.nix
index 691733bfb6dfb..0825380a925ba 100644
--- a/pkgs/development/python-modules/piep/default.nix
+++ b/pkgs/development/python-modules/piep/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.10.0";
+  format = "setuptools";
   pname = "piep";
   disabled = isPy3k;
 
diff --git a/pkgs/development/python-modules/piexif/default.nix b/pkgs/development/python-modules/piexif/default.nix
index 329989232fa42..f2d7dbe2b11ae 100644
--- a/pkgs/development/python-modules/piexif/default.nix
+++ b/pkgs/development/python-modules/piexif/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "piexif";
   version = "1.1.3";
+  format = "setuptools";
 
   # patch does not apply to PyPI sdist due to different line endings
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pijuice/default.nix b/pkgs/development/python-modules/pijuice/default.nix
index 59f898f7906f5..a42c7ad8c1ede 100644
--- a/pkgs/development/python-modules/pijuice/default.nix
+++ b/pkgs/development/python-modules/pijuice/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pijuice";
   version = "1.7";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pika-pool/default.nix b/pkgs/development/python-modules/pika-pool/default.nix
index 051fdef8fe7d3..0374a5c16d0d9 100644
--- a/pkgs/development/python-modules/pika-pool/default.nix
+++ b/pkgs/development/python-modules/pika-pool/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pika-pool";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pillowfight/default.nix b/pkgs/development/python-modules/pillowfight/default.nix
index b0a8d6d913c68..097fb810ad88c 100644
--- a/pkgs/development/python-modules/pillowfight/default.nix
+++ b/pkgs/development/python-modules/pillowfight/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pillowfight";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pinboard/default.nix b/pkgs/development/python-modules/pinboard/default.nix
index 8f177dab8bc36..83fe4a330c3d9 100644
--- a/pkgs/development/python-modules/pinboard/default.nix
+++ b/pkgs/development/python-modules/pinboard/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pinboard";
   version = "2.1.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lionheart";
diff --git a/pkgs/development/python-modules/pinecone-client/default.nix b/pkgs/development/python-modules/pinecone-client/default.nix
index 62fb96fb31aa8..91ca5ca0e75fa 100644
--- a/pkgs/development/python-modules/pinecone-client/default.nix
+++ b/pkgs/development/python-modules/pinecone-client/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pinecone-client";
   version = "2.2.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 9d0b7f65f6362..ff5a1fdeafa7d 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pivy";
   version = "0.6.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coin3d";
diff --git a/pkgs/development/python-modules/pixcat/default.nix b/pkgs/development/python-modules/pixcat/default.nix
index 90fdae5dcf03e..b5629cebb937e 100644
--- a/pkgs/development/python-modules/pixcat/default.nix
+++ b/pkgs/development/python-modules/pixcat/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pixcat";
   version = "0.1.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pixel-font-builder/default.nix b/pkgs/development/python-modules/pixel-font-builder/default.nix
new file mode 100644
index 0000000000000..d541cd00dc5ab
--- /dev/null
+++ b/pkgs/development/python-modules/pixel-font-builder/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, bdffont
+, brotli
+, fonttools
+, pypng
+}:
+
+buildPythonPackage rec {
+  pname = "pixel-font-builder";
+  version = "0.0.10";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "pixel_font_builder";
+    inherit version;
+    hash = "sha256-evLsNRSC9sPZfhNc8tYbZ/bIrBxSbLuiGRD3ld7Jkbo=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pypng
+  ];
+
+  propagatedBuildInputs = [
+    bdffont
+    brotli
+    fonttools
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/pixel-font-builder";
+    description = "A library that helps create pixel style fonts";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pkce/default.nix b/pkgs/development/python-modules/pkce/default.nix
index ecd128744d072..e302e1c978ca0 100644
--- a/pkgs/development/python-modules/pkce/default.nix
+++ b/pkgs/development/python-modules/pkce/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pkce";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "RomeoDespres";
diff --git a/pkgs/development/python-modules/pkginfo2/default.nix b/pkgs/development/python-modules/pkginfo2/default.nix
index 08eee37498bb2..0c841adf406a3 100644
--- a/pkgs/development/python-modules/pkginfo2/default.nix
+++ b/pkgs/development/python-modules/pkginfo2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pkginfo2";
   version = "30.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pkuseg/default.nix b/pkgs/development/python-modules/pkuseg/default.nix
index 474d66dafc63b..1d25692cb5b20 100644
--- a/pkgs/development/python-modules/pkuseg/default.nix
+++ b/pkgs/development/python-modules/pkuseg/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pkuseg";
   version = "0.0.25";
+  format = "setuptools";
 
   disabled = !isPy3k || pythonAtLeast "3.9";
 
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index 1fcff9e478036..8c8343aef5f40 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "18.0.0";
+  version = "18.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1OV/oybxZXF2kjLoSA2KyQaTR91jqEWstpELSlUIg2o=";
+    hash = "sha256-xUaAuk1uQWZQPpLzSHDavZuCCqTEWhj+V3S1DLb9XQc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plantuml/default.nix b/pkgs/development/python-modules/plantuml/default.nix
index b9d7c15f8346f..1053403dcf71d 100644
--- a/pkgs/development/python-modules/plantuml/default.nix
+++ b/pkgs/development/python-modules/plantuml/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "plantuml";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dougn";
diff --git a/pkgs/development/python-modules/plaster-pastedeploy/default.nix b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
index 9e6263351daaa..722d06a103778 100644
--- a/pkgs/development/python-modules/plaster-pastedeploy/default.nix
+++ b/pkgs/development/python-modules/plaster-pastedeploy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "plaster-pastedeploy";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "plaster_pastedeploy";
diff --git a/pkgs/development/python-modules/plaster/default.nix b/pkgs/development/python-modules/plaster/default.nix
index f3ba127b0a926..b0ce5c418df45 100644
--- a/pkgs/development/python-modules/plaster/default.nix
+++ b/pkgs/development/python-modules/plaster/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "plaster";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/playsound/default.nix b/pkgs/development/python-modules/playsound/default.nix
index 799bf70457bf9..0eb7e56c7b2be 100644
--- a/pkgs/development/python-modules/playsound/default.nix
+++ b/pkgs/development/python-modules/playsound/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "playsound";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TaylorSMarks";
diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix
index 575ffeff5a6bf..555f7aa301970 100644
--- a/pkgs/development/python-modules/playwright/default.nix
+++ b/pkgs/development/python-modules/playwright/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , auditwheel
 , buildPythonPackage
 , git
@@ -53,7 +54,7 @@ buildPythonPackage rec {
 
     substituteInPlace pyproject.toml \
       --replace 'requires = ["setuptools==68.2.2", "setuptools-scm==8.0.4", "wheel==0.41.2", "auditwheel==5.4.0"]' \
-                'requires = ["setuptools", "setuptools-scm", "wheel", "auditwheel"]' \
+                'requires = ["setuptools", "setuptools-scm", "wheel"]' \
       --replace 'version_file = "playwright/_repo_version.py"' ""
     # FIXME version_file is available in setuptools-scm>=8.0.0
     echo "__version__ = version = '${version}'" > playwright/_repo_version.py
@@ -69,7 +70,8 @@ buildPythonPackage rec {
   '';
 
 
-  nativeBuildInputs = [ git setuptools-scm setuptools auditwheel ];
+  nativeBuildInputs = [ git setuptools-scm setuptools ]
+    ++ lib.optionals stdenv.isLinux [ auditwheel ];
 
   propagatedBuildInputs = [
     greenlet
diff --git a/pkgs/development/python-modules/plexauth/default.nix b/pkgs/development/python-modules/plexauth/default.nix
index c7c9c2ba5dbd1..fd7f11e14d27e 100644
--- a/pkgs/development/python-modules/plexauth/default.nix
+++ b/pkgs/development/python-modules/plexauth/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "plexauth";
   version = "0.0.6";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/plone-testing/default.nix b/pkgs/development/python-modules/plone-testing/default.nix
index 13114dd78456d..fdb75e22115da 100644
--- a/pkgs/development/python-modules/plone-testing/default.nix
+++ b/pkgs/development/python-modules/plone-testing/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , six
-, zope_testing
+, zope-testing
 , setuptools
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     sha256 = "39bc23bbb59b765702090ad61fe579f8bd9fe1f005f4dd1c2988a5bd1a71faf0";
   };
 
-  propagatedBuildInputs = [ six setuptools zope_testing ];
+  propagatedBuildInputs = [ six setuptools zope-testing ];
 
   # Huge amount of testing dependencies (including Zope2)
   doCheck = false;
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 4698a84cefb15..fc2c8b49069d3 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "plotly";
   version = "5.16.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pluginbase/default.nix b/pkgs/development/python-modules/pluginbase/default.nix
index f90b4b415300b..be228d2318655 100644
--- a/pkgs/development/python-modules/pluginbase/default.nix
+++ b/pkgs/development/python-modules/pluginbase/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "1.0.1";
+  format = "setuptools";
   pname = "pluginbase";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/plugnplay/default.nix b/pkgs/development/python-modules/plugnplay/default.nix
index a0eda76e4ddf6..1b8449ffe7cec 100644
--- a/pkgs/development/python-modules/plugnplay/default.nix
+++ b/pkgs/development/python-modules/plugnplay/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "plugnplay";
   version = "0.5.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ply/default.nix b/pkgs/development/python-modules/ply/default.nix
index e177ce709171e..fca97226d6775 100644
--- a/pkgs/development/python-modules/ply/default.nix
+++ b/pkgs/development/python-modules/ply/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "ply";
   version = "3.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/plyer/default.nix b/pkgs/development/python-modules/plyer/default.nix
index 5b8bc870b838d..c6af90310c7b5 100644
--- a/pkgs/development/python-modules/plyer/default.nix
+++ b/pkgs/development/python-modules/plyer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "plyer";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kivy";
diff --git a/pkgs/development/python-modules/plyfile/default.nix b/pkgs/development/python-modules/plyfile/default.nix
index 20495ba0dd012..050d6ef56f6bc 100644
--- a/pkgs/development/python-modules/plyfile/default.nix
+++ b/pkgs/development/python-modules/plyfile/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "plyfile";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/plyvel/default.nix b/pkgs/development/python-modules/plyvel/default.nix
index 2d412c12d16ec..d8293f85a9bcf 100644
--- a/pkgs/development/python-modules/plyvel/default.nix
+++ b/pkgs/development/python-modules/plyvel/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "plyvel";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pmsensor/default.nix b/pkgs/development/python-modules/pmsensor/default.nix
index 1d64852f281e3..48156a3eae95c 100644
--- a/pkgs/development/python-modules/pmsensor/default.nix
+++ b/pkgs/development/python-modules/pmsensor/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pmsensor";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pmw/default.nix b/pkgs/development/python-modules/pmw/default.nix
index de33eecf0886c..ab9f3fb60b286 100644
--- a/pkgs/development/python-modules/pmw/default.nix
+++ b/pkgs/development/python-modules/pmw/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pmw";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Pmw";
diff --git a/pkgs/development/python-modules/pnglatex/default.nix b/pkgs/development/python-modules/pnglatex/default.nix
index 579eb523d10ce..d953678942bfb 100644
--- a/pkgs/development/python-modules/pnglatex/default.nix
+++ b/pkgs/development/python-modules/pnglatex/default.nix
@@ -4,6 +4,7 @@ buildPythonPackage rec {
 
   pname = "pnglatex";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pocket/default.nix b/pkgs/development/python-modules/pocket/default.nix
index e5a2d464bde8f..799f5ef261fa5 100644
--- a/pkgs/development/python-modules/pocket/default.nix
+++ b/pkgs/development/python-modules/pocket/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pocket";
   version = "0.3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/podcats/default.nix b/pkgs/development/python-modules/podcats/default.nix
index 48504c8a3ee26..ba4778123ae9e 100644
--- a/pkgs/development/python-modules/podcats/default.nix
+++ b/pkgs/development/python-modules/podcats/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "podcats";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jakubroztocil";
diff --git a/pkgs/development/python-modules/podman/default.nix b/pkgs/development/python-modules/podman/default.nix
index b3ba05351ea2e..9624f322a74eb 100644
--- a/pkgs/development/python-modules/podman/default.nix
+++ b/pkgs/development/python-modules/podman/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "podman";
-  version = "4.8.0";
+  version = "4.8.0.post1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "containers";
     repo = "podman-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lw8ZW1Uh6pbL5Z15NBBgKFm1143rEyFdecBHsSwBYVo=";
+    hash = "sha256-d7rNXqYeeDHilzNc1jcIWq7rNcYZCvlf9ipu1m3oFfw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/poetry-semver/default.nix b/pkgs/development/python-modules/poetry-semver/default.nix
index 8c0c11f99efdd..422dbd04f881e 100644
--- a/pkgs/development/python-modules/poetry-semver/default.nix
+++ b/pkgs/development/python-modules/poetry-semver/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "poetry-semver";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/polarizationsolver/default.nix b/pkgs/development/python-modules/polarizationsolver/default.nix
index d7385bd9f6420..aebc74ede9ced 100644
--- a/pkgs/development/python-modules/polarizationsolver/default.nix
+++ b/pkgs/development/python-modules/polarizationsolver/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "polarizationsolver";
   version = "unstable-2021-11-02";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "reinholdt";
diff --git a/pkgs/development/python-modules/polib/default.nix b/pkgs/development/python-modules/polib/default.nix
index c96b90b6c5211..73276d9b65993 100644
--- a/pkgs/development/python-modules/polib/default.nix
+++ b/pkgs/development/python-modules/polib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "polib";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/policyuniverse/default.nix b/pkgs/development/python-modules/policyuniverse/default.nix
index 082fe4ec1965b..e324813c6a587 100644
--- a/pkgs/development/python-modules/policyuniverse/default.nix
+++ b/pkgs/development/python-modules/policyuniverse/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "policyuniverse";
-  version = "1.5.1.20230817";
+  version = "1.5.1.20231109";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eSCJYZWvFjIwY18aXO4JWPVgA++MQh+AXsgfE0+ApXw=";
+    hash = "sha256-dOVtQQVgkVwsUTLjYbATDkv/4xKi9FIw6sUNfAlLxAo=";
   };
 
   # Tests are not shipped and there are no GitHub tags
diff --git a/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch b/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch
deleted file mode 100644
index 484ca4f9cbc8f..0000000000000
--- a/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Test started failing after upgrading networkx 2.5.1 -> 2.6.2:
-    https://github.com/jmschrei/pomegranate/issues/939
-
-Failures look benigh.
---- a/tests/test_bayesian_network.py
-+++ b/tests/test_bayesian_network.py
-@@ -1057,7 +1057,8 @@ def test_exact_structure_learning_exclude_edges():
-         assert_not_equal(model.structure[-2], (d-1,))
-         assert_equal(model.structure[-2], (1,))
- 
--def test_exact_dp_structure_learning_exclude_edges():
-+# disabled for https://github.com/jmschrei/pomegranate/issues/939
-+def disabled_exact_dp_structure_learning_exclude_edges():
-     for X in datasets:
-         X = X.copy()
-         X[:,1] = X[:,-1]
-@@ -1139,7 +1140,8 @@ def test_constrained_parents_structure_learning_exclude_edges():
-     assert_equal(model.structure[7], (2,))
-     assert_equal(model.structure[4], (0,))
- 
--def test_constrained_slap_structure_learning_exclude_edges():
-+# disabled for https://github.com/jmschrei/pomegranate/issues/939
-+def disabled_constrained_slap_structure_learning_exclude_edges():
-     for X in datasets:
-         X = X.copy()
-         X[:,1] = X[:,-1]
diff --git a/pkgs/development/python-modules/ponywhoosh/default.nix b/pkgs/development/python-modules/ponywhoosh/default.nix
index 589be17b0163e..2a905326cbc22 100644
--- a/pkgs/development/python-modules/ponywhoosh/default.nix
+++ b/pkgs/development/python-modules/ponywhoosh/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ponywhoosh";
   version = "1.7.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pook/default.nix b/pkgs/development/python-modules/pook/default.nix
index 79d3eebf93e5c..1a96522844d4e 100644
--- a/pkgs/development/python-modules/pook/default.nix
+++ b/pkgs/development/python-modules/pook/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pook";
   version = "1.1.1";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/poolsense/default.nix b/pkgs/development/python-modules/poolsense/default.nix
index 53d1422997070..85c8a8ec518f5 100644
--- a/pkgs/development/python-modules/poolsense/default.nix
+++ b/pkgs/development/python-modules/poolsense/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "poolsense";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix
index 0f20800ece0d4..a8af71d51a64a 100644
--- a/pkgs/development/python-modules/posthog/default.nix
+++ b/pkgs/development/python-modules/posthog/default.nix
@@ -14,7 +14,7 @@
 }:
 let
   pname = "posthog";
-  version = "3.0.2";
+  version = "3.1.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
     owner = "PostHog";
     repo = "posthog-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QASqjphAWtYuIyhbFTYwv1gD+rXvrmp5W0Te4MFn1AA=";
+    hash = "sha256-+FxRC1NxDaZHjMQFTyRymvHp6A3VE76kANgpVtq2WEs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/power/default.nix b/pkgs/development/python-modules/power/default.nix
index 18784f88ba15b..7d82d8e8acb63 100644
--- a/pkgs/development/python-modules/power/default.nix
+++ b/pkgs/development/python-modules/power/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "power";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/powerline-mem-segment/default.nix b/pkgs/development/python-modules/powerline-mem-segment/default.nix
index 7bc38f2227aee..64eae31c0a250 100644
--- a/pkgs/development/python-modules/powerline-mem-segment/default.nix
+++ b/pkgs/development/python-modules/powerline-mem-segment/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "powerline-mem-segment";
   version = "2.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix
index c7e0c8565c0aa..5516db843bcfc 100644
--- a/pkgs/development/python-modules/powerline/default.nix
+++ b/pkgs/development/python-modules/powerline/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   version  = "2.8.3";
   pname = "powerline";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/poyo/default.nix b/pkgs/development/python-modules/poyo/default.nix
index b7963258f3381..a4eaad98b8dd9 100644
--- a/pkgs/development/python-modules/poyo/default.nix
+++ b/pkgs/development/python-modules/poyo/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.5.0";
+  format = "setuptools";
   pname = "poyo";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ppdeep/default.nix b/pkgs/development/python-modules/ppdeep/default.nix
index bbb5c3fc923c9..4ea7033b11f39 100644
--- a/pkgs/development/python-modules/ppdeep/default.nix
+++ b/pkgs/development/python-modules/ppdeep/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ppdeep";
   version = "20200505";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pplpy/default.nix b/pkgs/development/python-modules/pplpy/default.nix
index 333c0df0a274c..ec9bddb5ec99c 100644
--- a/pkgs/development/python-modules/pplpy/default.nix
+++ b/pkgs/development/python-modules/pplpy/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pplpy";
   version = "0.8.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pproxy/default.nix b/pkgs/development/python-modules/pproxy/default.nix
index 0673a3f8dba3b..e37c43baf34b6 100644
--- a/pkgs/development/python-modules/pproxy/default.nix
+++ b/pkgs/development/python-modules/pproxy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pproxy";
   version = "2.3.7";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/pq/default.nix b/pkgs/development/python-modules/pq/default.nix
index 320c264acaacb..cc65a00759981 100644
--- a/pkgs/development/python-modules/pq/default.nix
+++ b/pkgs/development/python-modules/pq/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pq";
   version = "1.9.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/preggy/default.nix b/pkgs/development/python-modules/preggy/default.nix
index cddca33b84baf..a69044eb14ec7 100644
--- a/pkgs/development/python-modules/preggy/default.nix
+++ b/pkgs/development/python-modules/preggy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "preggy";
   version = "1.4.4";
+  format = "setuptools";
 
   propagatedBuildInputs = [ six unidecode ];
   nativeCheckInputs = [ nose yanc ];
diff --git a/pkgs/development/python-modules/premailer/default.nix b/pkgs/development/python-modules/premailer/default.nix
index 21214b5fe7526..2143ad2edc2a8 100644
--- a/pkgs/development/python-modules/premailer/default.nix
+++ b/pkgs/development/python-modules/premailer/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "premailer";
   version = "3.10.0";
+  format = "setuptools";
   disabled = isPy27; # no longer compatible with urllib
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/primecountpy/default.nix b/pkgs/development/python-modules/primecountpy/default.nix
index c2ad9ca512b02..463a0cf50be64 100644
--- a/pkgs/development/python-modules/primecountpy/default.nix
+++ b/pkgs/development/python-modules/primecountpy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "primecountpy";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/prison/default.nix b/pkgs/development/python-modules/prison/default.nix
index d70808d97218b..e85ca0f7eb600 100644
--- a/pkgs/development/python-modules/prison/default.nix
+++ b/pkgs/development/python-modules/prison/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "prison";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "betodealmeida";
diff --git a/pkgs/development/python-modules/proboscis/default.nix b/pkgs/development/python-modules/proboscis/default.nix
index a2a1d04ebe0ed..f6285605c3998 100644
--- a/pkgs/development/python-modules/proboscis/default.nix
+++ b/pkgs/development/python-modules/proboscis/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "proboscis";
   version = "1.2.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/process-tests/default.nix b/pkgs/development/python-modules/process-tests/default.nix
index 5f50b2a4d1809..436ca00267584 100644
--- a/pkgs/development/python-modules/process-tests/default.nix
+++ b/pkgs/development/python-modules/process-tests/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "process-tests";
   version = "2.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/prodict/default.nix b/pkgs/development/python-modules/prodict/default.nix
index e3cc7564ef8b8..b793c27729853 100644
--- a/pkgs/development/python-modules/prodict/default.nix
+++ b/pkgs/development/python-modules/prodict/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname   = "prodict";
   version = "0.8.6";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/proglog/default.nix b/pkgs/development/python-modules/proglog/default.nix
index d22951ac7e2b2..b8e327e91c48b 100644
--- a/pkgs/development/python-modules/proglog/default.nix
+++ b/pkgs/development/python-modules/proglog/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "proglog";
   version = "0.1.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/progress/default.nix b/pkgs/development/python-modules/progress/default.nix
index 192841994ec84..51c707bdde91d 100644
--- a/pkgs/development/python-modules/progress/default.nix
+++ b/pkgs/development/python-modules/progress/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "1.6";
+  format = "setuptools";
   pname = "progress";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/progressbar/default.nix b/pkgs/development/python-modules/progressbar/default.nix
index 68967ecf6533a..2a8f85893a52d 100644
--- a/pkgs/development/python-modules/progressbar/default.nix
+++ b/pkgs/development/python-modules/progressbar/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "progressbar";
   version = "2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/progressbar33/default.nix b/pkgs/development/python-modules/progressbar33/default.nix
index a483a6001f000..4ed2e42eb161f 100644
--- a/pkgs/development/python-modules/progressbar33/default.nix
+++ b/pkgs/development/python-modules/progressbar33/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "progressbar33";
   version = "2.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/prometheus-flask-exporter/default.nix b/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
index 4b845b3789be4..b2acd8e5bbdd8 100644
--- a/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
+++ b/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "prometheus-flask-exporter";
   version = "0.22.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rycus86";
diff --git a/pkgs/development/python-modules/property-manager/default.nix b/pkgs/development/python-modules/property-manager/default.nix
index 451d6f79091bc..f293c2f13b355 100644
--- a/pkgs/development/python-modules/property-manager/default.nix
+++ b/pkgs/development/python-modules/property-manager/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "property-manager";
   version = "3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xolox";
diff --git a/pkgs/development/python-modules/protego/default.nix b/pkgs/development/python-modules/protego/default.nix
index 7ff0690f3a580..2a4e89cc60711 100644
--- a/pkgs/development/python-modules/protego/default.nix
+++ b/pkgs/development/python-modules/protego/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "protego";
   version = "0.3.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix
index d75842e507a2c..a6c49c51b7223 100644
--- a/pkgs/development/python-modules/proto-plus/default.nix
+++ b/pkgs/development/python-modules/proto-plus/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "proto-plus";
   version = "1.22.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 3a42754de7783..f2d2d52f2c8fc 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -22,6 +22,7 @@ buildPythonPackage {
 
   # protobuf 21 corresponds with its python library 4.21
   version = "4.${protobufVersionMajor}.${protobufVersionMinor}";
+  format = "setuptools";
 
   sourceRoot = "${protobuf.src.name}/python";
 
diff --git a/pkgs/development/python-modules/protobuf3-to-dict/default.nix b/pkgs/development/python-modules/protobuf3-to-dict/default.nix
index ffc21c1428fe1..4160f7760a0c4 100644
--- a/pkgs/development/python-modules/protobuf3-to-dict/default.nix
+++ b/pkgs/development/python-modules/protobuf3-to-dict/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "protobuf3-to-dict";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/proton-client/default.nix b/pkgs/development/python-modules/proton-client/default.nix
index ae29bf631a518..c8714a741a478 100644
--- a/pkgs/development/python-modules/proton-client/default.nix
+++ b/pkgs/development/python-modules/proton-client/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "proton-client";
   version = "0.7.1";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/proton-core/default.nix b/pkgs/development/python-modules/proton-core/default.nix
new file mode 100644
index 0000000000000..9623cb0544d9d
--- /dev/null
+++ b/pkgs/development/python-modules/proton-core/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, aiohttp
+, bcrypt
+, pyopenssl
+, python-gnupg
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-core";
+  version = "0.1.15-unstable-2023-10-24";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-core";
+    rev = "5e795e04094dff67c03c56f2f3de03ff43514cc4";
+    hash = "sha256-hchwrolc65tVmSe2IzxwH2zDU2JZzXrCMzWaETWcMDI=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    bcrypt
+    aiohttp
+    pyopenssl
+    python-gnupg
+    requests
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Single test, requires internet connection
+    "tests/test_alternativerouting.py"
+  ];
+
+  disabledTests = [
+    # Invalid modulus
+    "test_modulus_verification"
+    # Permission denied: '/run'
+    "test_broken_data"
+    "test_broken_index"
+    "test_sessions"
+    # No working transports found
+    "test_auto_works_on_prod"
+    "test_ping"
+    "test_successful"
+    "test_without_pinning"
+    # Failed assertions
+    "test_bad_pinning_fingerprint_changed"
+    "test_bad_pinning_url_changed"
+  ];
+
+  meta = {
+    description = "Core logic used by the other Proton components";
+    homepage = "https://github.com/ProtonVPN/python-proton-core";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-keyring-linux-secretservice/default.nix b/pkgs/development/python-modules/proton-keyring-linux-secretservice/default.nix
new file mode 100644
index 0000000000000..78de141dad56b
--- /dev/null
+++ b/pkgs/development/python-modules/proton-keyring-linux-secretservice/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, proton-keyring-linux
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-keyring-linux-secretservice";
+  version = "0.0.1-unstable-2023-04-14";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-keyring-linux-secretservice";
+    rev = "973d2646ec4d04bc270df53058df892950244e70";
+    hash = "sha256-JlhvJBpbewT2c8k31CPMUlvvo/orWW1qfylFZLnDxeY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    proton-keyring-linux
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.keyring_linux.secretservice --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.keyring_linux" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "ProtonVPN component to access Linux's keyring secret service API";
+    homepage = "https://github.com/ProtonVPN/python-proton-keyring-linux-secretservice";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-keyring-linux/default.nix b/pkgs/development/python-modules/proton-keyring-linux/default.nix
new file mode 100644
index 0000000000000..4dac98134ac0a
--- /dev/null
+++ b/pkgs/development/python-modules/proton-keyring-linux/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, keyring
+, proton-core
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-keyring-linux";
+  version = "0.0.1-unstable-2023-04-14";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-keyring-linux";
+    rev = "5ff3c7f9a1a162836649502dd23c2fbe1f487d73";
+    hash = "sha256-4d8ZePG8imURhdNtLbraMRisrTLoRvJ+L2UuuOo3MPM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    keyring
+    proton-core
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.keyring_linux.core --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.keyring_linux.core" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "ProtonVPN core component to access Linux's keyring";
+    homepage = "https://github.com/ProtonVPN/python-proton-keyring-linux";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-api-core/default.nix b/pkgs/development/python-modules/proton-vpn-api-core/default.nix
new file mode 100644
index 0000000000000..0906d2bd4248a
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-api-core/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, proton-core
+, proton-vpn-connection
+, proton-vpn-logger
+, proton-vpn-killswitch
+, proton-vpn-session
+, distro
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-api-core";
+  version = "0.20.1-unstable-2023-10-10";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-api-core";
+    rev = "9c03fc30d3ff08559cab3644eadde027b029375d";
+    hash = "sha256-vnz1+NazQceAs9KA3Jq0tsJditRoG/LoBR+0wuDzzHk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    distro
+    proton-core
+    proton-vpn-connection
+    proton-vpn-logger
+    proton-vpn-killswitch
+    proton-vpn-session
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton/vpn/core/ --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.core" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    # Needed for Permission denied: '/homeless-shelter'
+    export HOME=$(mktemp -d)
+  '';
+
+  disabledTestPaths = [
+    # Has a single test failing with Permission denied: '/run'
+    "tests/test_session.py"
+  ];
+
+  meta = with lib; {
+    description = "Acts as a facade to the other Proton VPN components, exposing a uniform API to the available Proton VPN services";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-api-core";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-connection/default.nix b/pkgs/development/python-modules/proton-vpn-connection/default.nix
new file mode 100644
index 0000000000000..7acbb173e8b6f
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-connection/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, proton-core
+, proton-vpn-killswitch
+, proton-vpn-logger
+, jinja2
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-connection";
+  version = "0.11.0-unstable-2023-09-05";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-connection";
+    rev = "747ccacb5350ad59f2a09953b8d20c5c161aab54";
+    hash = "sha256-WyMG0kmwBKoWc0mHnaop9E0upPAYHFwS/A9I1//WwlY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    jinja2
+    proton-core
+    proton-vpn-killswitch
+    proton-vpn-logger
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.vpn.connection --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.connection" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Permission denied: '/run'
+    "test_ensure_configuration_file_is_deleted"
+    "test_ensure_generate_is_returning_expected_content"
+    "test_ensure_same_configuration_file_in_case_of_duplicate"
+    "test_ensure_configuration_file_is_created"
+    "test_wireguard_config_content_generation"
+    "test_wireguard_with_malformed_credentials"
+    "test_wireguard_with_non_certificate"
+    "test_wireguard_without_settings"
+    # Neiter udp or tcp are working
+    "test_ovpnconfig_with_settings"
+    "test_ovpnconfig_with_missing_settings_applies_expected_defaults"
+    "test_ovpnconfig_with_malformed_params"
+    "test_ovpnconfig_with_certificate_and_malformed_credentials"
+    "test_ovpnconfig_with_malformed_server"
+    "test_ovpnconfig_with_malformed_server_and_credentials"
+  ];
+
+  meta = with lib; {
+    description = "Defines the interface that VPN connection backends should implement";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-connection";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-killswitch-network-manager/default.nix b/pkgs/development/python-modules/proton-vpn-killswitch-network-manager/default.nix
new file mode 100644
index 0000000000000..d0f62ac6f9982
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-killswitch-network-manager/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gobject-introspection
+, setuptools
+, networkmanager
+, proton-vpn-killswitch
+, proton-vpn-logger
+, pycairo
+, pygobject3
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-killswitch-network-manager";
+  version = "0.2.0-unstable-2023-09-05";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-killswitch-network-manager";
+    rev = "39d4398f169539e335c1f661e0dfc5551df0e6af";
+    hash = "sha256-vmTXMIhXZgRvXeUX/XslT+ShqY60w4P7kJBQzWhA66k=";
+  };
+
+  nativeBuildInputs = [
+    # Solves ImportError: cannot import name NM, introspection typelib not found
+    gobject-introspection
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    # Needed here for the NM namespace
+    networkmanager
+    proton-vpn-killswitch
+    proton-vpn-logger
+    pycairo
+    pygobject3
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.vpn.killswitch.backend.linux.networkmanager --cov-report=html --cov-report=term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.networkmanager" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Implementation of the proton-vpn-killswitch interface using Network Manager";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch-network-manager";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-killswitch/default.nix b/pkgs/development/python-modules/proton-vpn-killswitch/default.nix
new file mode 100644
index 0000000000000..d36dedfbd4aa9
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-killswitch/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, proton-core
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-killswitch";
+  version = "0.2.0-unstable-2023-09-05";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-killswitch";
+    rev = "6e84588ea6ae0946141d4b44b2cf5df8465d5eba";
+    hash = "sha256-eFwWN8E+nIDpbut8tkWqXucLhzm7HaLAMBIbAq/X2eo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    proton-core
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton --cov-report=html --cov-report=term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.killswitch.interface" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Defines the ProtonVPN kill switch interface";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-logger/default.nix b/pkgs/development/python-modules/proton-vpn-logger/default.nix
new file mode 100644
index 0000000000000..6091c2b25a1e4
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-logger/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, proton-core
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-logger";
+  version = "0.2.1-unstable-2023-05-10";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-logger";
+    rev = "0acbc1ab41a65cbc9ceb340e3db011e6f89eb65a";
+    hash = "sha256-VIggBKopAAKiNdQ5ypG1qI74E2WMDwDSriSuka/DBKA=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    proton-core
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton/vpn/logging/ --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.logging" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    # Needed for Permission denied: '/homeless-shelter'
+    export HOME=$(mktemp -d)
+  '';
+
+  meta = with lib; {
+    description = "General purpose logging package for the entire ProtonVPN Linux client";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-logger";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-network-manager-openvpn/default.nix b/pkgs/development/python-modules/proton-vpn-network-manager-openvpn/default.nix
new file mode 100644
index 0000000000000..9eca560ac0058
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-network-manager-openvpn/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gobject-introspection
+, setuptools
+, proton-core
+, proton-vpn-network-manager
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-network-manager-openvpn";
+  version = "0.0.4-unstable-2023-07-05";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-network-manager-openvpn";
+    rev = "b79f6732646378ef1b92696de3665ff9560286d3";
+    hash = "sha256-Z5X8RRu+1KaZ0pnH7tzGhfeST2W8bxMZnuryLhFjG/g=";
+  };
+
+  nativeBuildInputs = [
+    # Solves Namespace NM not available
+    gobject-introspection
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    proton-core
+    proton-vpn-network-manager
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.vpn.backend.linux.networkmanager.protocol.openvpn --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager.protocol" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Adds support for the OpenVPN protocol using NetworkManager";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-openvpn";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-network-manager/default.nix b/pkgs/development/python-modules/proton-vpn-network-manager/default.nix
new file mode 100644
index 0000000000000..f8874e1d0f3ad
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-network-manager/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gobject-introspection
+, setuptools
+, networkmanager
+, proton-core
+, proton-vpn-connection
+, pycairo
+, pygobject3
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-network-manager";
+  version = "0.3.0-unstable-2023-09-05";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-network-manager";
+    rev = "6ffd04fa0ae88a89d2b733443317066ef23b3ccd";
+    hash = "sha256-Bqlwo7U/mwodQarl30n3/BNETqit1MVQUJT+mAhC6AI=";
+  };
+
+  nativeBuildInputs = [
+    # Needed to recognize the NM namespace
+    gobject-introspection
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    # Needed here for the NM namespace
+    networkmanager
+    proton-core
+    proton-vpn-connection
+    pycairo
+    pygobject3
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton/vpn/backend/linux/networkmanager --cov-report html --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Provides the necessary functionality for other ProtonVPN components to interact with NetworkManager";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/proton-vpn-session/default.nix b/pkgs/development/python-modules/proton-vpn-session/default.nix
new file mode 100644
index 0000000000000..b61bed91682ae
--- /dev/null
+++ b/pkgs/development/python-modules/proton-vpn-session/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, cryptography
+, distro
+, proton-core
+, proton-vpn-logger
+, pynacl
+, aiohttp
+, pyopenssl
+, pytest-asyncio
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "proton-vpn-session";
+  version = "0.6.2-unstable-2023-10-24";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ProtonVPN";
+    repo = "python-proton-vpn-session";
+    rev = "419b25bd1823f78d1219dc4cc441eeaf37646068";
+    hash = "sha256-YPyNxbKxw+670bNQZ7U5nljyUjsNJ+k7eL+HpGiSCLk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cryptography
+    distro
+    proton-core
+    proton-vpn-logger
+    pynacl
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=proton.vpn.session --cov-report term" ""
+  '';
+
+  pythonImportsCheck = [ "proton.vpn.session" ];
+
+  postInstall = ''
+    # Needed for Permission denied: '/homeless-shelter'
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeCheckInputs = [
+    aiohttp
+    pyopenssl
+    pytest-asyncio
+    requests
+    pytestCheckHook
+  ];
+
+  meta = {
+    description = "Provides utility classes to manage VPN sessions";
+    homepage = "https://github.com/ProtonVPN/python-proton-vpn-session";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/protonup-ng/default.nix b/pkgs/development/python-modules/protonup-ng/default.nix
index f79285ce96a7a..9bc10743e7383 100644
--- a/pkgs/development/python-modules/protonup-ng/default.nix
+++ b/pkgs/development/python-modules/protonup-ng/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "protonup-ng";
   version = "0.2.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index dee0b8cc6a857..2c1818434ac42 100644
--- a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
   version = "3.16.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/prov/default.nix b/pkgs/development/python-modules/prov/default.nix
index 91b7e412b5815..64e63b9c954b8 100644
--- a/pkgs/development/python-modules/prov/default.nix
+++ b/pkgs/development/python-modules/prov/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "prov";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/prox-tv/default.nix b/pkgs/development/python-modules/prox-tv/default.nix
index 869ac7457c76e..67f9be4dba4ca 100644
--- a/pkgs/development/python-modules/prox-tv/default.nix
+++ b/pkgs/development/python-modules/prox-tv/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage {
   pname = "prox-tv";
   version = "3.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "albarji";
diff --git a/pkgs/development/python-modules/psautohint/default.nix b/pkgs/development/python-modules/psautohint/default.nix
index f2b5735083b2d..0702d4891cbc9 100644
--- a/pkgs/development/python-modules/psautohint/default.nix
+++ b/pkgs/development/python-modules/psautohint/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "psautohint";
   version = "2.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/psycopg/ctypes.patch b/pkgs/development/python-modules/psycopg/ctypes.patch
index a76d38f85e801..d2b0842b44b4f 100644
--- a/pkgs/development/python-modules/psycopg/ctypes.patch
+++ b/pkgs/development/python-modules/psycopg/ctypes.patch
@@ -1,5 +1,5 @@
 diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py
-index 4f9d00fb..24b90ef6 100644
+index 9ca1d129..02929ab6 100644
 --- a/psycopg/psycopg/pq/_pq_ctypes.py
 +++ b/psycopg/psycopg/pq/_pq_ctypes.py
 @@ -11,14 +11,10 @@ from ctypes import Structure, CFUNCTYPE, POINTER
@@ -30,17 +30,26 @@ index 4f9d00fb..24b90ef6 100644
      fdopen = libc.fdopen
      fdopen.argtypes = (c_int, c_char_p)
 diff --git a/tests/fix_pq.py b/tests/fix_pq.py
-index 6811a26c..c1829c82 100644
+index 917dfc91..505f2d65 100644
 --- a/tests/fix_pq.py
 +++ b/tests/fix_pq.py
-@@ -51,9 +51,7 @@ def libpq():
-         from psycopg.pq.misc import find_libpq_full_path
- 
-         # Not available when testing the binary package
+@@ -47,18 +47,7 @@ def pytest_runtest_setup(item):
+ @pytest.fixture
+ def libpq():
+     """Return a ctypes wrapper to access the libpq."""
+-    try:
+-        from psycopg.pq.misc import find_libpq_full_path
+-
+-        # Not available when testing the binary package
 -        libname = find_libpq_full_path()
 -        assert libname, "libpq libname not found"
--        return ctypes.pydll.LoadLibrary(libname)
-+        return ctypes.pydll.LoadLibrary("@libpq@")
-     except Exception as e:
-         if pq.__impl__ == "binary":
-             pytest.skip(f"can't load libpq for testing: {e}")
+-        return ctypes.cdll.LoadLibrary(libname)
+-    except Exception as e:
+-        if pq.__impl__ == "binary":
+-            pytest.skip(f"can't load libpq for testing: {e}")
+-        else:
+-            raise
++    return ctypes.cdll.LoadLibrary("@libpq@")
+ 
+ 
+ @pytest.fixture
diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix
index b73c74ca0ae36..d66f21ca26790 100644
--- a/pkgs/development/python-modules/psycopg/default.nix
+++ b/pkgs/development/python-modules/psycopg/default.nix
@@ -35,13 +35,13 @@
 
 let
   pname = "psycopg";
-  version = "3.1.13";
+  version = "3.1.14";
 
   src = fetchFromGitHub {
     owner = "psycopg";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-N+x8RErlId1uBgXZjBBjtPxqJXGuXZEl78DKVKjhy9w=";
+    hash = "sha256-zocRBnrQoJDWI4qhxDnxxIeiLdaWolvsujqfHBYQc/A=";
   };
 
   patches = [
@@ -52,11 +52,9 @@ let
     })
 
     (fetchpatch {
-      # fix environment variables leaking into test environment
-      # https://github.com/psycopg/psycopg/pull/683
-      # https://github.com/psycopg/psycopg/issues/681
-      url = "https://github.com/psycopg/psycopg/commit/f060855aa6126e811de243c7213d2caff9c88123.patch";
-      hash = "sha256-QsFxK8Qasw9kbNCUUCqbOHaf53kT5NONlr28vGoPda0=";
+      # add fixture to mark flaky ref count tests
+      url = "https://github.com/psycopg/psycopg/commit/70ef364324ba3448ef9ac0e29329c9d802380e4b.patch";
+      hash = "sha256-8PlrBcIumlxFjNXCAfm4NpSIxAnvLR8TopHzneJyzf0=";
     })
   ];
 
@@ -214,7 +212,7 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "-o" "cache_dir=$TMPDIR"
-    "-m" "'not timing'"
+    "-m" "'not refcount and not timing'"
   ];
 
   postCheck = ''
diff --git a/pkgs/development/python-modules/psycopg2cffi/default.nix b/pkgs/development/python-modules/psycopg2cffi/default.nix
index a504c8484ab24..411630135acc9 100644
--- a/pkgs/development/python-modules/psycopg2cffi/default.nix
+++ b/pkgs/development/python-modules/psycopg2cffi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "psycopg2cffi";
   version = "2.8.1";
+  format = "setuptools";
 
   # NB: This is a fork.
   # The original repo exists at https://github.com/chtd/psycopg2cffi, however
diff --git a/pkgs/development/python-modules/ptable/default.nix b/pkgs/development/python-modules/ptable/default.nix
index 169f08fb3594c..7a3980ceb9b9a 100644
--- a/pkgs/development/python-modules/ptable/default.nix
+++ b/pkgs/development/python-modules/ptable/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "ptable";
   version = "unstable-2019-06-14";
+  format = "setuptools";
 
   # https://github.com/kxxoling/PTable/issues/27
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ptest/default.nix b/pkgs/development/python-modules/ptest/default.nix
index 2a4180a4cbeda..1b063e784a9db 100644
--- a/pkgs/development/python-modules/ptest/default.nix
+++ b/pkgs/development/python-modules/ptest/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ptest";
   version =  "1.7.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "KarlGong";
diff --git a/pkgs/development/python-modules/ptyprocess/default.nix b/pkgs/development/python-modules/ptyprocess/default.nix
index 496f8161e7923..a987db97d547a 100644
--- a/pkgs/development/python-modules/ptyprocess/default.nix
+++ b/pkgs/development/python-modules/ptyprocess/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "ptyprocess";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/publicsuffix/default.nix b/pkgs/development/python-modules/publicsuffix/default.nix
index 3f86abf0ea143..9de169f696dd1 100644
--- a/pkgs/development/python-modules/publicsuffix/default.nix
+++ b/pkgs/development/python-modules/publicsuffix/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "publicsuffix";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/publicsuffix2/default.nix b/pkgs/development/python-modules/publicsuffix2/default.nix
index 915c1d98cee94..064dc3f5f94f8 100644
--- a/pkgs/development/python-modules/publicsuffix2/default.nix
+++ b/pkgs/development/python-modules/publicsuffix2/default.nix
@@ -7,6 +7,7 @@ buildPythonPackage {
   # tags have dashes, while the library version does not
   # see https://github.com/nexB/python-publicsuffix2/issues/12
   version = lib.replaceStrings ["-"] [""] tagVersion;
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nexB";
diff --git a/pkgs/development/python-modules/pubnubsub-handler/default.nix b/pkgs/development/python-modules/pubnubsub-handler/default.nix
index 32ad2a8e1b8d2..8d8c8da9620e3 100644
--- a/pkgs/development/python-modules/pubnubsub-handler/default.nix
+++ b/pkgs/development/python-modules/pubnubsub-handler/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pubnubsub-handler";
   version = "1.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pulsectl/default.nix b/pkgs/development/python-modules/pulsectl/default.nix
index bddb4b686b2e5..5b87a24ddf551 100644
--- a/pkgs/development/python-modules/pulsectl/default.nix
+++ b/pkgs/development/python-modules/pulsectl/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pulsectl";
   version = "23.5.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pulumi/default.nix b/pkgs/development/python-modules/pulumi/default.nix
index b6f1ed0055400..b61bc41505db4 100644
--- a/pkgs/development/python-modules/pulumi/default.nix
+++ b/pkgs/development/python-modules/pulumi/default.nix
@@ -15,6 +15,7 @@ buildPythonPackage rec {
   inherit (pulumi) version src;
 
   pname = "pulumi";
+  format = "setuptools";
 
   disabled = isPy27;
 
@@ -45,7 +46,7 @@ buildPythonPackage rec {
     cp ../../README.md .
     substituteInPlace setup.py \
       --replace "3.0.0" "${version}" \
-      --replace "grpcio~=1.59" "grpcio" \
+      --replace "grpcio==1.56.2" "grpcio" \
       --replace "semver~=2.13" "semver"
   '';
 
diff --git a/pkgs/development/python-modules/pure-cdb/default.nix b/pkgs/development/python-modules/pure-cdb/default.nix
index ea25ba2f595fd..f8df017c9b18c 100644
--- a/pkgs/development/python-modules/pure-cdb/default.nix
+++ b/pkgs/development/python-modules/pure-cdb/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pure-cdb";
   version = "4.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.4";
 
   # Archive on pypi has no tests.
diff --git a/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix b/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix
index 8e40d182212dc..6a734f93ab996 100644
--- a/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix
+++ b/pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pure-python-adb-homeassistant";
   version = "0.1.7.dev0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pure-python-adb/default.nix b/pkgs/development/python-modules/pure-python-adb/default.nix
index 31ec5d5091180..531e1c30a1ef9 100644
--- a/pkgs/development/python-modules/pure-python-adb/default.nix
+++ b/pkgs/development/python-modules/pure-python-adb/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pure-python-adb";
   version = "0.3.0.dev0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/purepng/default.nix b/pkgs/development/python-modules/purepng/default.nix
index 156f5d4bc2228..a147f0a55306a 100644
--- a/pkgs/development/python-modules/purepng/default.nix
+++ b/pkgs/development/python-modules/purepng/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage {
   pname = "purepng";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Scondo";
diff --git a/pkgs/development/python-modules/purl/default.nix b/pkgs/development/python-modules/purl/default.nix
index 6c180222e88e2..8e0ba9c2eb5a6 100644
--- a/pkgs/development/python-modules/purl/default.nix
+++ b/pkgs/development/python-modules/purl/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "purl";
   version = "1.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "codeinthehole";
diff --git a/pkgs/development/python-modules/push-receiver/default.nix b/pkgs/development/python-modules/push-receiver/default.nix
index c8ab6b64eccf6..ef73b6d0b3c45 100644
--- a/pkgs/development/python-modules/push-receiver/default.nix
+++ b/pkgs/development/python-modules/push-receiver/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "push-receiver";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/pushover-complete/default.nix b/pkgs/development/python-modules/pushover-complete/default.nix
index 33741f9f29246..f660e23bd0198 100644
--- a/pkgs/development/python-modules/pushover-complete/default.nix
+++ b/pkgs/development/python-modules/pushover-complete/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pushover-complete";
   version = "1.1.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pvextractor/default.nix b/pkgs/development/python-modules/pvextractor/default.nix
index efee87277cb5a..592a5c107dad7 100644
--- a/pkgs/development/python-modules/pvextractor/default.nix
+++ b/pkgs/development/python-modules/pvextractor/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "pvextractor";
   version = "0.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/pweave/default.nix b/pkgs/development/python-modules/pweave/default.nix
index bea63909ab5bf..2c85434ac6bcf 100644
--- a/pkgs/development/python-modules/pweave/default.nix
+++ b/pkgs/development/python-modules/pweave/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pweave";
   version = "0.30.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Pweave";
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix
index 32c8b966ad585..4fcb8588147ff 100644
--- a/pkgs/development/python-modules/pwntools/default.nix
+++ b/pkgs/development/python-modules/pwntools/default.nix
@@ -30,6 +30,7 @@ in
 buildPythonPackage rec {
   pname = "pwntools";
   version = "4.11.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pxml/default.nix b/pkgs/development/python-modules/pxml/default.nix
index 5ef283a26cccc..360a761d88972 100644
--- a/pkgs/development/python-modules/pxml/default.nix
+++ b/pkgs/development/python-modules/pxml/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pxml";
   version = "0.2.13";
+  format = "setuptools";
   disabled = pythonAtLeast "3.8";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/py-air-control-exporter/default.nix b/pkgs/development/python-modules/py-air-control-exporter/default.nix
index 446edb4221ebb..6cf165d8b0937 100644
--- a/pkgs/development/python-modules/py-air-control-exporter/default.nix
+++ b/pkgs/development/python-modules/py-air-control-exporter/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "py-air-control-exporter";
   version = "0.3.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/py-air-control/default.nix b/pkgs/development/python-modules/py-air-control/default.nix
index 77b61123d9e0c..47470eb48fe9e 100644
--- a/pkgs/development/python-modules/py-air-control/default.nix
+++ b/pkgs/development/python-modules/py-air-control/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "py-air-control";
   version = "2.1.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/py-cid/default.nix b/pkgs/development/python-modules/py-cid/default.nix
index 9e34693eb021d..947583f0a7b3f 100644
--- a/pkgs/development/python-modules/py-cid/default.nix
+++ b/pkgs/development/python-modules/py-cid/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "py-cid";
   version = "0.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/py-deprecate/default.nix b/pkgs/development/python-modules/py-deprecate/default.nix
index 4684b51d79a96..de7e506c0db31 100644
--- a/pkgs/development/python-modules/py-deprecate/default.nix
+++ b/pkgs/development/python-modules/py-deprecate/default.nix
@@ -8,6 +8,7 @@
 let
   pname = "py-deprecate";
   version = "0.3.2";
+  format = "setuptools";
 in
 buildPythonPackage {
   inherit pname version;
diff --git a/pkgs/development/python-modules/py-ecc/default.nix b/pkgs/development/python-modules/py-ecc/default.nix
index 9a7d1c3720c8f..7845bfe175014 100644
--- a/pkgs/development/python-modules/py-ecc/default.nix
+++ b/pkgs/development/python-modules/py-ecc/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "py-ecc";
   version = "6.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/py-eth-sig-utils/default.nix b/pkgs/development/python-modules/py-eth-sig-utils/default.nix
index 8ede11e359031..ed92c9c2e41eb 100644
--- a/pkgs/development/python-modules/py-eth-sig-utils/default.nix
+++ b/pkgs/development/python-modules/py-eth-sig-utils/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "py-eth-sig-utils";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rmeissner";
diff --git a/pkgs/development/python-modules/py-expression-eval/default.nix b/pkgs/development/python-modules/py-expression-eval/default.nix
index 6aee63effb343..13797e3adc784 100644
--- a/pkgs/development/python-modules/py-expression-eval/default.nix
+++ b/pkgs/development/python-modules/py-expression-eval/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "py-expression-eval";
   version = "0.3.14";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "axiacore";
diff --git a/pkgs/development/python-modules/py-libzfs/default.nix b/pkgs/development/python-modules/py-libzfs/default.nix
index d148e539d3fff..d22e931cd9373 100644
--- a/pkgs/development/python-modules/py-libzfs/default.nix
+++ b/pkgs/development/python-modules/py-libzfs/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "py-libzfs";
   version = "22.12.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "truenas";
diff --git a/pkgs/development/python-modules/py-lru-cache/default.nix b/pkgs/development/python-modules/py-lru-cache/default.nix
index d2057d2cf9801..85045a156bd5e 100644
--- a/pkgs/development/python-modules/py-lru-cache/default.nix
+++ b/pkgs/development/python-modules/py-lru-cache/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "py-lru-cache";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/py-multiaddr/default.nix b/pkgs/development/python-modules/py-multiaddr/default.nix
index b631dbdc316cb..28ee3cffb9172 100644
--- a/pkgs/development/python-modules/py-multiaddr/default.nix
+++ b/pkgs/development/python-modules/py-multiaddr/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "py-multiaddr";
   version = "0.0.9";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/py-serializable/default.nix b/pkgs/development/python-modules/py-serializable/default.nix
index 028d61f745a28..8b736011fa756 100644
--- a/pkgs/development/python-modules/py-serializable/default.nix
+++ b/pkgs/development/python-modules/py-serializable/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "py-serializable";
-  version = "0.15.0";
+  version = "0.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "madpah";
     repo = "serializable";
     rev = "refs/tags/v${version}";
-    hash = "sha256-U01XRT6XS0Uxpk+2pYOGAkZiZ5kogMBtcuEU1OJpSMo=";
+    hash = "sha256-javjmdFQBxg/yqa6lsxKK18DgvVu/YmqvaWo2Upgzqs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/py-sonic/default.nix b/pkgs/development/python-modules/py-sonic/default.nix
index a3e7cd5036086..ec0da2c3ab3bf 100644
--- a/pkgs/development/python-modules/py-sonic/default.nix
+++ b/pkgs/development/python-modules/py-sonic/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "py-sonic";
   version = "1.0.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/py-ubjson/default.nix b/pkgs/development/python-modules/py-ubjson/default.nix
index 5cb8cfc40220d..175b635257619 100644
--- a/pkgs/development/python-modules/py-ubjson/default.nix
+++ b/pkgs/development/python-modules/py-ubjson/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "py-ubjson";
   version = "0.16.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Iotic-Labs";
diff --git a/pkgs/development/python-modules/py/default.nix b/pkgs/development/python-modules/py/default.nix
index c1cf60ca4d779..3dec18b6e0fc7 100644
--- a/pkgs/development/python-modules/py/default.nix
+++ b/pkgs/development/python-modules/py/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "py";
   version = "1.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/py2bit/default.nix b/pkgs/development/python-modules/py2bit/default.nix
index 7699ccab3a2ee..9f45e4e2d9e35 100644
--- a/pkgs/development/python-modules/py2bit/default.nix
+++ b/pkgs/development/python-modules/py2bit/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "py2bit";
   version = "0.3.0";
+  format = "setuptools";
 
   checkInput = [ pytest ];
 
diff --git a/pkgs/development/python-modules/py3dns/default.nix b/pkgs/development/python-modules/py3dns/default.nix
index 12297b9a6f78b..5e8027bb60060 100644
--- a/pkgs/development/python-modules/py3dns/default.nix
+++ b/pkgs/development/python-modules/py3dns/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "py3dns";
   version = "3.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/py4j/default.nix b/pkgs/development/python-modules/py4j/default.nix
index 7365db7cd3007..fa7fb2cee1db1 100644
--- a/pkgs/development/python-modules/py4j/default.nix
+++ b/pkgs/development/python-modules/py4j/default.nix
@@ -4,6 +4,7 @@ buildPythonPackage rec {
   pname = "py4j";
 
   version = "0.10.9.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyacoustid/default.nix b/pkgs/development/python-modules/pyacoustid/default.nix
index 6bfa6900e78a8..c5428a30bda80 100644
--- a/pkgs/development/python-modules/pyacoustid/default.nix
+++ b/pkgs/development/python-modules/pyacoustid/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyacoustid";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyaehw4a1/default.nix b/pkgs/development/python-modules/pyaehw4a1/default.nix
index 0aa37cbae1e51..2f500ea91a226 100644
--- a/pkgs/development/python-modules/pyaehw4a1/default.nix
+++ b/pkgs/development/python-modules/pyaehw4a1/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyaehw4a1";
   version = "0.3.9";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/pyaes/default.nix b/pkgs/development/python-modules/pyaes/default.nix
index 2674211479fd7..4d98e7cfac63f 100644
--- a/pkgs/development/python-modules/pyaes/default.nix
+++ b/pkgs/development/python-modules/pyaes/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyaes";
   version = "1.6.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyalgotrade/default.nix b/pkgs/development/python-modules/pyalgotrade/default.nix
index 680a8f6f8307a..a3014aa292883 100644
--- a/pkgs/development/python-modules/pyalgotrade/default.nix
+++ b/pkgs/development/python-modules/pyalgotrade/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "pyalgotrade";
   version = "0.20";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyAlgoTrade";
diff --git a/pkgs/development/python-modules/pyaml/default.nix b/pkgs/development/python-modules/pyaml/default.nix
index a0a898b970625..3fcf2468aea31 100644
--- a/pkgs/development/python-modules/pyaml/default.nix
+++ b/pkgs/development/python-modules/pyaml/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyaml";
   version = "23.9.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyarlo/default.nix b/pkgs/development/python-modules/pyarlo/default.nix
index 63c766ffb5bc9..199dc61015a70 100644
--- a/pkgs/development/python-modules/pyarlo/default.nix
+++ b/pkgs/development/python-modules/pyarlo/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyarlo";
   version = "0.2.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tchellomello";
diff --git a/pkgs/development/python-modules/pyarr/default.nix b/pkgs/development/python-modules/pyarr/default.nix
index 2da0b65e5bedb..7f2a4ce78878d 100644
--- a/pkgs/development/python-modules/pyarr/default.nix
+++ b/pkgs/development/python-modules/pyarr/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyarr";
   version = "5.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index 90fae9e2722cb..39c0420542074 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -27,6 +27,7 @@ in
 
 buildPythonPackage rec {
   pname = "pyarrow";
+  format = "setuptools";
   inherit (arrow-cpp) version src;
 
   disabled = pythonOlder "3.7";
diff --git a/pkgs/development/python-modules/pyasn/default.nix b/pkgs/development/python-modules/pyasn/default.nix
index 026b5fdff6838..6da1ae55f5993 100644
--- a/pkgs/development/python-modules/pyasn/default.nix
+++ b/pkgs/development/python-modules/pyasn/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyasn";
   version = "1.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyasn1-modules/default.nix b/pkgs/development/python-modules/pyasn1-modules/default.nix
index 7a0735269897b..28516a203e4bf 100644
--- a/pkgs/development/python-modules/pyasn1-modules/default.nix
+++ b/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyasn1-modules";
   version = "0.3.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyasuswrt/default.nix b/pkgs/development/python-modules/pyasuswrt/default.nix
new file mode 100644
index 0000000000000..7a3eda4fb33d6
--- /dev/null
+++ b/pkgs/development/python-modules/pyasuswrt/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyasuswrt";
+  version = "0.1.20";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ollo69";
+    repo = "pyasuswrt";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QsqyijOYEtp6k2rsDheGMVij4s5a5ZfUfsLIq+BaYV8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Tests require physical hardware
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyasuswrt"
+  ];
+
+  meta = with lib; {
+    description = "Library for communication with ASUSWRT routers via HTTP";
+    homepage = "https://github.com/ollo69/pyasuswrt";
+    changelog = "https://github.com/ollo69/pyasuswrt/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyautogui/default.nix b/pkgs/development/python-modules/pyautogui/default.nix
index 8443284964ca7..04cd0513dd2b3 100644
--- a/pkgs/development/python-modules/pyautogui/default.nix
+++ b/pkgs/development/python-modules/pyautogui/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "pyautogui";
   version = "0.9.53";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "asweigart";
diff --git a/pkgs/development/python-modules/pyavm/default.nix b/pkgs/development/python-modules/pyavm/default.nix
index ec95e2de171f9..ef8a82a1cd429 100644
--- a/pkgs/development/python-modules/pyavm/default.nix
+++ b/pkgs/development/python-modules/pyavm/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyavm";
   version = "0.9.5";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyAVM";
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index 99aef4c985afa..e3826a9a36989 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.3.27";
+  format = "setuptools";
   pname = "pyaxmlparser";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pybids/default.nix b/pkgs/development/python-modules/pybids/default.nix
index ec62c32a10791..e60079ed24179 100644
--- a/pkgs/development/python-modules/pybids/default.nix
+++ b/pkgs/development/python-modules/pybids/default.nix
@@ -19,6 +19,7 @@
 
 buildPythonPackage rec {
   version = "0.16.3";
+  format = "setuptools";
   pname = "pybids";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 9eeb40225cabb..223c505df1469 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -38,6 +38,7 @@
 in buildPythonPackage rec {
   pname = "pybind11";
   version = "2.11.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pybind";
diff --git a/pkgs/development/python-modules/pybtex/default.nix b/pkgs/development/python-modules/pybtex/default.nix
index 2e178163c1056..04a9ba95a89e1 100644
--- a/pkgs/development/python-modules/pybtex/default.nix
+++ b/pkgs/development/python-modules/pybtex/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.24.0";
+  format = "setuptools";
   pname = "pybtex";
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index 4e9e848070f61..197d079071287 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pybullet";
   version = "3.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycapnp/default.nix b/pkgs/development/python-modules/pycapnp/default.nix
index b18fa3b3fc7f5..e10075e277265 100644
--- a/pkgs/development/python-modules/pycapnp/default.nix
+++ b/pkgs/development/python-modules/pycapnp/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pycapnp";
   version = "1.1.0";
+  format = "setuptools";
   disabled = isPyPy || isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pycdio/default.nix b/pkgs/development/python-modules/pycdio/default.nix
index fb298e62eff92..e8f0323b2f92e 100644
--- a/pkgs/development/python-modules/pycdio/default.nix
+++ b/pkgs/development/python-modules/pycdio/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pycdio";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycflow2dot/default.nix b/pkgs/development/python-modules/pycflow2dot/default.nix
index db1ac8fabb2f3..34ea15664c4b2 100644
--- a/pkgs/development/python-modules/pycflow2dot/default.nix
+++ b/pkgs/development/python-modules/pycflow2dot/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pycflow2dot";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pychannels/default.nix b/pkgs/development/python-modules/pychannels/default.nix
index d498fba21c2ef..e7185f3697dcd 100644
--- a/pkgs/development/python-modules/pychannels/default.nix
+++ b/pkgs/development/python-modules/pychannels/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pychannels";
   version = "1.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fancybits";
diff --git a/pkgs/development/python-modules/pychart/default.nix b/pkgs/development/python-modules/pychart/default.nix
index f020361474a18..aa9ef1c11c9bb 100644
--- a/pkgs/development/python-modules/pychart/default.nix
+++ b/pkgs/development/python-modules/pychart/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pychart";
   version = "1.39";
+  format = "setuptools";
 
   disabled = ! isPy27;
 
diff --git a/pkgs/development/python-modules/pychm/default.nix b/pkgs/development/python-modules/pychm/default.nix
index e9cc2c319fffc..175acf928256e 100644
--- a/pkgs/development/python-modules/pychm/default.nix
+++ b/pkgs/development/python-modules/pychm/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pychm";
   version = "0.8.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyclimacell/default.nix b/pkgs/development/python-modules/pyclimacell/default.nix
index 0f8c84a0163a1..f8f58b19ccd20 100644
--- a/pkgs/development/python-modules/pyclimacell/default.nix
+++ b/pkgs/development/python-modules/pyclimacell/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyclimacell";
   version = "0.18.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pycognito/default.nix b/pkgs/development/python-modules/pycognito/default.nix
index a66c0ef49117b..aa503a379cf10 100644
--- a/pkgs/development/python-modules/pycognito/default.nix
+++ b/pkgs/development/python-modules/pycognito/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "pycognito";
   version = "2023.5.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pycoin/default.nix b/pkgs/development/python-modules/pycoin/default.nix
index 249d19f69f54e..4fe038b8ab2b2 100644
--- a/pkgs/development/python-modules/pycoin/default.nix
+++ b/pkgs/development/python-modules/pycoin/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pycoin";
   version = "0.92.20230326";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix
index 24f4d26fe02dc..3f489e2df2bc5 100644
--- a/pkgs/development/python-modules/pycollada/default.nix
+++ b/pkgs/development/python-modules/pycollada/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycollada";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycomposefile/default.nix b/pkgs/development/python-modules/pycomposefile/default.nix
index e7707c763a207..2789fbb69d225 100644
--- a/pkgs/development/python-modules/pycomposefile/default.nix
+++ b/pkgs/development/python-modules/pycomposefile/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pycomposefile";
   version = "0.0.30";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycosat/default.nix b/pkgs/development/python-modules/pycosat/default.nix
index 9fc633c6808b6..536f98cb27337 100644
--- a/pkgs/development/python-modules/pycosat/default.nix
+++ b/pkgs/development/python-modules/pycosat/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pycosat";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycotap/default.nix b/pkgs/development/python-modules/pycotap/default.nix
index 652f3c1b1dcb9..3f1007317abf7 100644
--- a/pkgs/development/python-modules/pycotap/default.nix
+++ b/pkgs/development/python-modules/pycotap/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycotap";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycountry/default.nix b/pkgs/development/python-modules/pycountry/default.nix
index 95f74e68bd817..49a1ad025000c 100644
--- a/pkgs/development/python-modules/pycountry/default.nix
+++ b/pkgs/development/python-modules/pycountry/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pycountry";
   version = "22.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycparser/default.nix b/pkgs/development/python-modules/pycparser/default.nix
index edc6744f672c6..fa0622df9ff91 100644
--- a/pkgs/development/python-modules/pycparser/default.nix
+++ b/pkgs/development/python-modules/pycparser/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycparser";
   version = "2.21";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycritty/default.nix b/pkgs/development/python-modules/pycritty/default.nix
index 726e47bf1fb8e..18101f057587a 100644
--- a/pkgs/development/python-modules/pycritty/default.nix
+++ b/pkgs/development/python-modules/pycritty/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycritty";
   version = "0.4.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pycron/default.nix b/pkgs/development/python-modules/pycron/default.nix
index 7aa8afee10880..2e607b50dd745 100644
--- a/pkgs/development/python-modules/pycron/default.nix
+++ b/pkgs/development/python-modules/pycron/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pycron";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kipe";
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 364a218aaa1b9..72b91834eed7e 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pycrypto";
   version = pycryptodome.version;
+  format = "setuptools";
 
   # Cannot build wheel otherwise (zip 1980 issue)
   SOURCE_DATE_EPOCH=315532800;
diff --git a/pkgs/development/python-modules/pycsdr/default.nix b/pkgs/development/python-modules/pycsdr/default.nix
index 3ee5b1449a635..08f03019dd785 100644
--- a/pkgs/development/python-modules/pycsdr/default.nix
+++ b/pkgs/development/python-modules/pycsdr/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycsdr";
   version = "0.18.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jketterl";
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index 8c2005c0cc2cd..4f4c9291ae394 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -25,6 +25,7 @@ in
 buildPythonPackage rec {
   pname = "pycuda";
   version = "2023.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix
index 9f2d182fb5c6d..9b4a1a2d0ee7f 100644
--- a/pkgs/development/python-modules/pycups/default.nix
+++ b/pkgs/development/python-modules/pycups/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycups";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index fb4aacf3b83db..29c4a2034b2f7 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pycurl";
   version = "7.45.2";
+  format = "setuptools";
   disabled = isPyPy || (pythonOlder "3.5"); # https://github.com/pycurl/pycurl/issues/208
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pycxx/default.nix b/pkgs/development/python-modules/pycxx/default.nix
index c0cf0ac0dc139..5cc1056f83271 100644
--- a/pkgs/development/python-modules/pycxx/default.nix
+++ b/pkgs/development/python-modules/pycxx/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pycxx";
   version = "7.1.4";
+  format = "setuptools";
 
   src = fetchurl {
     url = "mirror://sourceforge/cxx/CXX/PyCXX%20V${version}/pycxx-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix
index 18fd4dc70b4ad..541d7124f11a7 100644
--- a/pkgs/development/python-modules/pydal/default.nix
+++ b/pkgs/development/python-modules/pydal/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20230521.1";
+  version = "20231114.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EEeKYeYnxbjLdpH39+v3IQhFSFMWST0310DCl/ttGEU=";
+    hash = "sha256-xC0W/Knju205mu+yQ0wOcIYu4Tx1Q3hS9CGSBDLuX7E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pydanfossair/default.nix b/pkgs/development/python-modules/pydanfossair/default.nix
index 5ce5ebffeaad8..226e5a1aa4ef8 100644
--- a/pkgs/development/python-modules/pydanfossair/default.nix
+++ b/pkgs/development/python-modules/pydanfossair/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pydanfossair";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "JonasPed";
diff --git a/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch b/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch
deleted file mode 100644
index 56a5ff391194c..0000000000000
--- a/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2fe7a445bafedee2c43050e40697d8b0fd7f7b30 Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Fri, 19 Mar 2021 19:37:34 +0100
-Subject: [PATCH] Only build unit-tests
-
----
- setup.cfg | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/setup.cfg b/setup.cfg
-index 2c2f49f..a5ec152 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -83,13 +83,6 @@ force_sort_within_sections = true
- junit_family = xunit2
- addopts =
-     --verbose
--    --doctest-modules
--    --no-cov-on-fail
--    --cov-fail-under=100
--    --cov-report=term-missing
--    --cov-report=xml:build/coverage/coverage.xml
--    --cov-report=html:build/coverage
--    --junitxml=build/testresults/junit.xml
- 
- [coverage:run]
- omit =
--- 
-2.29.3
-
diff --git a/pkgs/development/python-modules/pydenticon/default.nix b/pkgs/development/python-modules/pydenticon/default.nix
index 44913e1de4763..d0a17a0357d63 100644
--- a/pkgs/development/python-modules/pydenticon/default.nix
+++ b/pkgs/development/python-modules/pydenticon/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pydenticon";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pydes/default.nix b/pkgs/development/python-modules/pydes/default.nix
index 0bceaeceaa376..13820649912b5 100644
--- a/pkgs/development/python-modules/pydes/default.nix
+++ b/pkgs/development/python-modules/pydes/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pydes";
   version = "unstable-2019-01-08";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "twhiteman";
diff --git a/pkgs/development/python-modules/pydigiham/default.nix b/pkgs/development/python-modules/pydigiham/default.nix
index 8ae69c9bf5dc4..a4e7f3db82b70 100644
--- a/pkgs/development/python-modules/pydigiham/default.nix
+++ b/pkgs/development/python-modules/pydigiham/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pydigiham";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jketterl";
diff --git a/pkgs/development/python-modules/pydispatcher/default.nix b/pkgs/development/python-modules/pydispatcher/default.nix
index ad39feabd07d7..0d4ef3ce3f5e6 100644
--- a/pkgs/development/python-modules/pydispatcher/default.nix
+++ b/pkgs/development/python-modules/pydispatcher/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "2.0.7";
+  format = "setuptools";
   pname = "pydispatcher";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pydocumentdb/default.nix b/pkgs/development/python-modules/pydocumentdb/default.nix
index 7a78730d39b05..e2c075ae7f389 100644
--- a/pkgs/development/python-modules/pydocumentdb/default.nix
+++ b/pkgs/development/python-modules/pydocumentdb/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "2.3.5";
+  format = "setuptools";
   pname = "pydocumentdb";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyechonest/default.nix b/pkgs/development/python-modules/pyechonest/default.nix
index 83820629552fd..3b4f4620e1469 100644
--- a/pkgs/development/python-modules/pyechonest/default.nix
+++ b/pkgs/development/python-modules/pyechonest/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyechonest";
   version = "9.0.0";
+  format = "setuptools";
   disabled = isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyeclib/default.nix b/pkgs/development/python-modules/pyeclib/default.nix
index b9061f3a5d2bb..b367f680e5051 100644
--- a/pkgs/development/python-modules/pyeclib/default.nix
+++ b/pkgs/development/python-modules/pyeclib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyeclib";
   version = "unstable-2022-03-11";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openstack";
diff --git a/pkgs/development/python-modules/pyedimax/default.nix b/pkgs/development/python-modules/pyedimax/default.nix
index 03229b30bdddd..e96147ef67a03 100644
--- a/pkgs/development/python-modules/pyedimax/default.nix
+++ b/pkgs/development/python-modules/pyedimax/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyedimax";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyemby/default.nix b/pkgs/development/python-modules/pyemby/default.nix
index 33180d742e4d7..2646744d0bf8c 100644
--- a/pkgs/development/python-modules/pyemby/default.nix
+++ b/pkgs/development/python-modules/pyemby/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyemby";
   version = "1.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mezz64";
diff --git a/pkgs/development/python-modules/pyenchant/default.nix b/pkgs/development/python-modules/pyenchant/default.nix
index 9238e381483ac..448183cf0f580 100644
--- a/pkgs/development/python-modules/pyenchant/default.nix
+++ b/pkgs/development/python-modules/pyenchant/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyenchant";
   version = "3.2.2";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyepsg/default.nix b/pkgs/development/python-modules/pyepsg/default.nix
index 2e0b2c282a26c..0fb511e1c8341 100644
--- a/pkgs/development/python-modules/pyepsg/default.nix
+++ b/pkgs/development/python-modules/pyepsg/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyepsg";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyeverlights/default.nix b/pkgs/development/python-modules/pyeverlights/default.nix
index 00b9f8fb0154a..22183ddcea285 100644
--- a/pkgs/development/python-modules/pyeverlights/default.nix
+++ b/pkgs/development/python-modules/pyeverlights/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyeverlights";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joncar";
diff --git a/pkgs/development/python-modules/pyevmasm/default.nix b/pkgs/development/python-modules/pyevmasm/default.nix
index bccf243a0a020..3b544036ce5a6 100644
--- a/pkgs/development/python-modules/pyevmasm/default.nix
+++ b/pkgs/development/python-modules/pyevmasm/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyevmasm";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "crytic";
diff --git a/pkgs/development/python-modules/pyexcel-io/default.nix b/pkgs/development/python-modules/pyexcel-io/default.nix
index f20e44b1f8d90..3c9dd3b09b87b 100644
--- a/pkgs/development/python-modules/pyexcel-io/default.nix
+++ b/pkgs/development/python-modules/pyexcel-io/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyexcel-io";
   version = "0.6.6";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pyexcel-ods/default.nix b/pkgs/development/python-modules/pyexcel-ods/default.nix
index 519d6b4fc0c65..22339eb15bfec 100644
--- a/pkgs/development/python-modules/pyexcel-ods/default.nix
+++ b/pkgs/development/python-modules/pyexcel-ods/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pyexcel-ods";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyexcel-xls/default.nix b/pkgs/development/python-modules/pyexcel-xls/default.nix
index 314dca9d0ed28..2188d25532ca9 100644
--- a/pkgs/development/python-modules/pyexcel-xls/default.nix
+++ b/pkgs/development/python-modules/pyexcel-xls/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pyexcel-xls";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyexcel/default.nix b/pkgs/development/python-modules/pyexcel/default.nix
index 5106df79a2d07..6c35f7b10af5f 100644
--- a/pkgs/development/python-modules/pyexcel/default.nix
+++ b/pkgs/development/python-modules/pyexcel/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyexcel";
   version = "0.7.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 912754373f3eb..f1c07d89d2dcf 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "5.2.4";
+  format = "setuptools";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/pyfakewebcam/default.nix b/pkgs/development/python-modules/pyfakewebcam/default.nix
index c130accd40c01..22e56a0a36c7a 100644
--- a/pkgs/development/python-modules/pyfakewebcam/default.nix
+++ b/pkgs/development/python-modules/pyfakewebcam/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyfakewebcam";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyfantom/default.nix b/pkgs/development/python-modules/pyfantom/default.nix
index d27cccfbd8c00..106bfa8d893f1 100644
--- a/pkgs/development/python-modules/pyfantom/default.nix
+++ b/pkgs/development/python-modules/pyfantom/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage {
   pname = "pyfantom";
   version = "unstable-2013-12-18";
+  format = "setuptools";
 
   src = fetchgit {
     url = "http://git.ni.fr.eu.org/pyfantom.git";
diff --git a/pkgs/development/python-modules/pyfcm/default.nix b/pkgs/development/python-modules/pyfcm/default.nix
index 77ddabe2057ed..997c9e1863865 100644
--- a/pkgs/development/python-modules/pyfcm/default.nix
+++ b/pkgs/development/python-modules/pyfcm/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyfcm";
   version = "1.4.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "olucurious";
diff --git a/pkgs/development/python-modules/pyfido/default.nix b/pkgs/development/python-modules/pyfido/default.nix
index d6f5207bce31c..b07c8d1a5e11b 100644
--- a/pkgs/development/python-modules/pyfido/default.nix
+++ b/pkgs/development/python-modules/pyfido/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyfido";
   version = "2.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyfiglet/default.nix b/pkgs/development/python-modules/pyfiglet/default.nix
index 0b3bdb7f6d345..a434ed3351eb4 100644
--- a/pkgs/development/python-modules/pyfiglet/default.nix
+++ b/pkgs/development/python-modules/pyfiglet/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "1.0.2";
+  format = "setuptools";
   pname = "pyfiglet";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyfireservicerota/default.nix b/pkgs/development/python-modules/pyfireservicerota/default.nix
index deda70651a568..7622f858959ba 100644
--- a/pkgs/development/python-modules/pyfireservicerota/default.nix
+++ b/pkgs/development/python-modules/pyfireservicerota/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyfireservicerota";
   version = "0.0.43";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyflic/default.nix b/pkgs/development/python-modules/pyflic/default.nix
index ead4b33929d8d..4ac6d735742e4 100644
--- a/pkgs/development/python-modules/pyflic/default.nix
+++ b/pkgs/development/python-modules/pyflic/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyflic";
   version = "2.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyflick/default.nix b/pkgs/development/python-modules/pyflick/default.nix
index b6a9c2cf96d46..437f084748732 100644
--- a/pkgs/development/python-modules/pyflick/default.nix
+++ b/pkgs/development/python-modules/pyflick/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyflick";
   version = "0.0.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pyfnip/default.nix b/pkgs/development/python-modules/pyfnip/default.nix
index 1306c530bb439..0dca398df7ccd 100644
--- a/pkgs/development/python-modules/pyfnip/default.nix
+++ b/pkgs/development/python-modules/pyfnip/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyfnip";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyfreedompro/default.nix b/pkgs/development/python-modules/pyfreedompro/default.nix
index f5fd102ed7fca..9a18a3f849943 100644
--- a/pkgs/development/python-modules/pyfreedompro/default.nix
+++ b/pkgs/development/python-modules/pyfreedompro/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyfreedompro";
   version = "1.1.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pyfribidi/default.nix b/pkgs/development/python-modules/pyfribidi/default.nix
index dfe5449b2826b..a47dff1326458 100644
--- a/pkgs/development/python-modules/pyfribidi/default.nix
+++ b/pkgs/development/python-modules/pyfribidi/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.12.0";
+  format = "setuptools";
   pname = "pyfribidi";
   disabled = isPyPy;
 
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index 90fd790380833..822c040c7e746 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -12,6 +12,7 @@ in
 buildPythonPackage rec {
   pname = "pyftgl";
   version = "0.4b";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "umlaeute";
diff --git a/pkgs/development/python-modules/pyfttt/default.nix b/pkgs/development/python-modules/pyfttt/default.nix
index c8b52fce409ad..8b3687928121b 100644
--- a/pkgs/development/python-modules/pyfttt/default.nix
+++ b/pkgs/development/python-modules/pyfttt/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pyfttt";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygal/default.nix b/pkgs/development/python-modules/pygal/default.nix
index 6c5de6581d577..4470ac383042a 100644
--- a/pkgs/development/python-modules/pygal/default.nix
+++ b/pkgs/development/python-modules/pygal/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pygal";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygame-gui/default.nix b/pkgs/development/python-modules/pygame-gui/default.nix
index 3c530d199f81f..e2314f9c6e920 100644
--- a/pkgs/development/python-modules/pygame-gui/default.nix
+++ b/pkgs/development/python-modules/pygame-gui/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pygame-gui";
   version = "069";
+  format = "setuptools";
   # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pygame_sdl2/default.nix b/pkgs/development/python-modules/pygame_sdl2/default.nix
index bf123eef02a5c..5fe78281c8845 100644
--- a/pkgs/development/python-modules/pygame_sdl2/default.nix
+++ b/pkgs/development/python-modules/pygame_sdl2/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pygame_sdl2";
   version = "2.1.0";
+  format = "setuptools";
   renpy_version = renpy.base_version;
   name = "${pname}-${version}-${renpy_version}";
 
diff --git a/pkgs/development/python-modules/pygatt/default.nix b/pkgs/development/python-modules/pygatt/default.nix
index 0401fa3d4cbe2..b2bf9416508db 100644
--- a/pkgs/development/python-modules/pygatt/default.nix
+++ b/pkgs/development/python-modules/pygatt/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pygatt";
   version = "4.0.5";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pygdbmi/default.nix b/pkgs/development/python-modules/pygdbmi/default.nix
index d1b5b31ed9514..e7df202704e43 100644
--- a/pkgs/development/python-modules/pygdbmi/default.nix
+++ b/pkgs/development/python-modules/pygdbmi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pygdbmi";
   version = "0.11.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "cs01";
diff --git a/pkgs/development/python-modules/pygeoip/default.nix b/pkgs/development/python-modules/pygeoip/default.nix
index b9b588d669aed..66d7140f38e06 100644
--- a/pkgs/development/python-modules/pygeoip/default.nix
+++ b/pkgs/development/python-modules/pygeoip/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pygeoip";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygeos/default.nix b/pkgs/development/python-modules/pygeos/default.nix
index a31725a1002b8..91c4231d604d8 100644
--- a/pkgs/development/python-modules/pygeos/default.nix
+++ b/pkgs/development/python-modules/pygeos/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pygeos";
   version = "0.14";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -47,6 +48,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pygeos/pygeos";
     changelog = "https://github.com/pygeos/pygeos/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nialov ];
+    maintainers = teams.geospatial.members;
   };
 }
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 393ec9f2e4cc9..62c8598f59187 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -19,6 +19,7 @@
 
 buildPythonPackage rec {
   version = "2.0.10";
+  format = "setuptools";
   pname = "pyglet";
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 34ed59e96061b..74e5b243e60b9 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "openlawlibrary";
     repo = "pygls";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hIr06qzOkObEcrIgFUloAPBJdOtcipl4htpbbUVkbdw=";
+    hash = "sha256-ARez9fs50kScfMp/W/aFIOcJonpFrcfyrzJuVwou7fk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pygments-markdown-lexer/default.nix b/pkgs/development/python-modules/pygments-markdown-lexer/default.nix
index 0a88e34005cda..edd212b60d9d7 100644
--- a/pkgs/development/python-modules/pygments-markdown-lexer/default.nix
+++ b/pkgs/development/python-modules/pygments-markdown-lexer/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pygments-markdown-lexer";
   version = "0.1.0.dev39";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygments-style-github/default.nix b/pkgs/development/python-modules/pygments-style-github/default.nix
index 918456774f57a..3bf20f31c7643 100644
--- a/pkgs/development/python-modules/pygments-style-github/default.nix
+++ b/pkgs/development/python-modules/pygments-style-github/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pygments-style-github";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygpgme/default.nix b/pkgs/development/python-modules/pygpgme/default.nix
index ea6364f1125b4..f4a09dbbfa0f6 100644
--- a/pkgs/development/python-modules/pygpgme/default.nix
+++ b/pkgs/development/python-modules/pygpgme/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.3";
+  format = "setuptools";
   pname = "pygpgme";
 
   # Native code doesn't compile against the C API of Python 3.11:
diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix
index 12876e2a3e022..df256c3a93e6a 100644
--- a/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/pkgs/development/python-modules/pygraphviz/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pygraphviz";
   version = "1.11";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pygreat/default.nix b/pkgs/development/python-modules/pygreat/default.nix
index 92526b465b17b..2b1bccc8d2b23 100644
--- a/pkgs/development/python-modules/pygreat/default.nix
+++ b/pkgs/development/python-modules/pygreat/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "pygreat";
   version = "2019.5.1.dev0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "greatscottgadgets";
diff --git a/pkgs/development/python-modules/pygrok/default.nix b/pkgs/development/python-modules/pygrok/default.nix
index 7414b0df0df2c..9da5545d28736 100644
--- a/pkgs/development/python-modules/pygrok/default.nix
+++ b/pkgs/development/python-modules/pygrok/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pygrok";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "garyelephant";
diff --git a/pkgs/development/python-modules/pygsl/default.nix b/pkgs/development/python-modules/pygsl/default.nix
index d55ac1d56be7b..13a4644962b39 100644
--- a/pkgs/development/python-modules/pygsl/default.nix
+++ b/pkgs/development/python-modules/pygsl/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pygsl";
   version = "2.3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pygtail/default.nix b/pkgs/development/python-modules/pygtail/default.nix
index 492a36c50a253..d6e7206ae6c69 100644
--- a/pkgs/development/python-modules/pygtail/default.nix
+++ b/pkgs/development/python-modules/pygtail/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pygtail";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bgreenlee";
diff --git a/pkgs/development/python-modules/pygti/default.nix b/pkgs/development/python-modules/pygti/default.nix
index 0e0672cb09396..6db8efa7aa310 100644
--- a/pkgs/development/python-modules/pygti/default.nix
+++ b/pkgs/development/python-modules/pygti/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pygti";
   version = "0.9.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pygtrie/default.nix b/pkgs/development/python-modules/pygtrie/default.nix
index 2261129674494..88a69922988c7 100644
--- a/pkgs/development/python-modules/pygtrie/default.nix
+++ b/pkgs/development/python-modules/pygtrie/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "pygtrie";
   version = "2.5.0";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-IDUUrYJutAPasdLi3dA04NFTS75NvgITuwWT9mvrpOI=";
diff --git a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
index 5e83dc793ca5c..8d3037baa4546 100644
--- a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
+++ b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
@@ -16,8 +16,8 @@
 
 buildPythonPackage rec {
   pname = "pyhanko-certvalidator";
-  version = "0.23.0";
-  format = "pyproject";
+  version = "0.26.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "MatthiasValvekens";
     repo = "certvalidator";
     rev = "refs/tags/v${version}";
-    hash = "sha256-q2YxncyMHmbRmcoLb68huK02CYiKqF2CFRl8vkUfxg4=";
+    hash = "sha256-yGFaRpAOTbuVfY5UefC1sdJS4FFkgkIZnHHG35p3n3E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
deleted file mode 100644
index 562dc6461ef93..0000000000000
--- a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 942d4fd37786941bae91b769ef6499a4b4da6843 Mon Sep 17 00:00:00 2001
-From: "P. R. d. O" <d.ol.rod@tutanota.com>
-Date: Sat, 9 Apr 2022 12:40:59 -0600
-Subject: [PATCH] Updating pytest-aiohttp version
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index fe33d9a..694fab4 100644
---- a/setup.py
-+++ b/setup.py
-@@ -85,7 +85,7 @@ setup(
-     tests_require=[
-         'pytest>=6.1.1', 'requests-mock>=1.8.0',
-         'freezegun>=1.1.0', 'certomancer~=0.8.1',
--        'aiohttp~=3.8.0', 'pytest-aiohttp~=0.3.0',
-+        'aiohttp~=3.8.0', 'pytest-aiohttp~=1.0.3',
-         'python-pae==0.1.0'
-     ],
-     keywords="signature pdf pades digital-signature pkcs11"
--- 
-2.35.1
-
diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix
index 8db7aef6d1926..89864ebd62618 100644
--- a/pkgs/development/python-modules/pyhanko/default.nix
+++ b/pkgs/development/python-modules/pyhanko/default.nix
@@ -27,20 +27,21 @@
 , tzlocal
 , uharfbuzz
 , wheel
+, xsdata
 }:
 
 buildPythonPackage rec {
   pname = "pyhanko";
-  version = "0.20.0";
-  format = "pyproject";
+  version = "0.21.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "MatthiasValvekens";
     repo = "pyHanko";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mWhkTVhq3bDkOlhUZIBBqwXUuQCXcFHW1haGOGMywzg=";
+    hash = "sha256-+RlrXuKMY89mO4iuFw7RLQABy+wLrAeHlEvTDCpBSqU=";
   };
 
   postPatch = ''
@@ -86,6 +87,9 @@ buildPythonPackage rec {
     async-http = [
       aiohttp
     ];
+    etsi = [
+      xsdata
+    ];
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/pyhcl/default.nix b/pkgs/development/python-modules/pyhcl/default.nix
index eac566b9037ee..da522b98cec2e 100644
--- a/pkgs/development/python-modules/pyhcl/default.nix
+++ b/pkgs/development/python-modules/pyhcl/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyhcl";
   version = "0.4.4";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyheif/default.nix b/pkgs/development/python-modules/pyheif/default.nix
index 828847cf82fbc..65b895b340da7 100644
--- a/pkgs/development/python-modules/pyheif/default.nix
+++ b/pkgs/development/python-modules/pyheif/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyheif";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyheos/default.nix b/pkgs/development/python-modules/pyheos/default.nix
index 7a05306fa8396..a5b58dc5cdaef 100644
--- a/pkgs/development/python-modules/pyheos/default.nix
+++ b/pkgs/development/python-modules/pyheos/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyheos";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "andrewsayre";
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index e30063e826d9b..c3e26156f5a2a 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyhomematic";
   version = "0.1.77";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pyhomepilot/default.nix b/pkgs/development/python-modules/pyhomepilot/default.nix
index 12c395ff954b9..80eacd42b39f5 100644
--- a/pkgs/development/python-modules/pyhomepilot/default.nix
+++ b/pkgs/development/python-modules/pyhomepilot/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyhomepilot";
   version = "0.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyi2cflash/default.nix b/pkgs/development/python-modules/pyi2cflash/default.nix
index 7ac3aa5af08e9..7a8a0ac595a6a 100644
--- a/pkgs/development/python-modules/pyi2cflash/default.nix
+++ b/pkgs/development/python-modules/pyi2cflash/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyi2cflash";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyialarm/default.nix b/pkgs/development/python-modules/pyialarm/default.nix
index db4bf7eb3c5e6..6e2264b017eaf 100644
--- a/pkgs/development/python-modules/pyialarm/default.nix
+++ b/pkgs/development/python-modules/pyialarm/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyialarm";
   version = "2.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix
index 299918b5a4aef..f584358109913 100644
--- a/pkgs/development/python-modules/pyicloud/default.nix
+++ b/pkgs/development/python-modules/pyicloud/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "pyicloud";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "picklepete";
diff --git a/pkgs/development/python-modules/pyimpfuzzy/default.nix b/pkgs/development/python-modules/pyimpfuzzy/default.nix
index 18ebf3231e379..39bbee74e539d 100644
--- a/pkgs/development/python-modules/pyimpfuzzy/default.nix
+++ b/pkgs/development/python-modules/pyimpfuzzy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyimpfuzzy";
   version = "0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyinotify/default.nix b/pkgs/development/python-modules/pyinotify/default.nix
index e5714ec18001f..9a2a99765504a 100644
--- a/pkgs/development/python-modules/pyinotify/default.nix
+++ b/pkgs/development/python-modules/pyinotify/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pyinotify";
   version = "0.9.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyinputevent/default.nix b/pkgs/development/python-modules/pyinputevent/default.nix
index 1d4f4cfa7847f..1172e595e213d 100644
--- a/pkgs/development/python-modules/pyinputevent/default.nix
+++ b/pkgs/development/python-modules/pyinputevent/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage {
   pname = "pyinputevent";
   version = "2016-10-18";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ntzrmtthihu777";
diff --git a/pkgs/development/python-modules/pyipv8/default.nix b/pkgs/development/python-modules/pyipv8/default.nix
new file mode 100644
index 0000000000000..6d0f618df8d29
--- /dev/null
+++ b/pkgs/development/python-modules/pyipv8/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, cryptography
+, libnacl
+, aiohttp
+, aiohttp-apispec
+, pyopenssl
+, pyasn1
+, marshmallow
+, typing-extensions
+, packaging
+, apispec
+}:
+
+buildPythonPackage rec {
+  pname = "pyipv8";
+  version = "2.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-FXvMykUko3v0GmAZYUt5esBuTbxqpjOL4YxrRfE3u5o=";
+  };
+
+  propagatedBuildInputs = [
+    cryptography
+    libnacl
+    aiohttp
+    aiohttp-apispec
+    pyopenssl
+    pyasn1
+    marshmallow
+    typing-extensions
+    packaging
+    apispec
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python implementation of Tribler's IPv8 p2p-networking layer";
+    homepage = "https://github.com/Tribler/py-ipv8";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [
+      mkg20001
+    ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyixapi/default.nix b/pkgs/development/python-modules/pyixapi/default.nix
index 80111d561b65a..ce5a265ba2637 100644
--- a/pkgs/development/python-modules/pyixapi/default.nix
+++ b/pkgs/development/python-modules/pyixapi/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyixapi";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyjet/default.nix b/pkgs/development/python-modules/pyjet/default.nix
index 102ccaf06cf86..ed0a5281e0fa4 100644
--- a/pkgs/development/python-modules/pyjet/default.nix
+++ b/pkgs/development/python-modules/pyjet/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyjet";
   version = "1.9.0";
+  format = "setuptools";
 
   # tests not included in pypi tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyjks/default.nix b/pkgs/development/python-modules/pyjks/default.nix
index a05dcadeb84d0..19d885284ea4c 100644
--- a/pkgs/development/python-modules/pyjks/default.nix
+++ b/pkgs/development/python-modules/pyjks/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyjks";
   version = "20.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyjsparser/default.nix b/pkgs/development/python-modules/pyjsparser/default.nix
index 227cc14b4e63c..e7ef79b092cad 100644
--- a/pkgs/development/python-modules/pyjsparser/default.nix
+++ b/pkgs/development/python-modules/pyjsparser/default.nix
@@ -8,6 +8,7 @@
 let pyjsparser = buildPythonPackage rec {
   pname = "pyjsparser";
   version = "2.7.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "PiotrDabkowski";
diff --git a/pkgs/development/python-modules/pyjwkest/default.nix b/pkgs/development/python-modules/pyjwkest/default.nix
index 945cc20528e3d..f89cd22a4c0c3 100644
--- a/pkgs/development/python-modules/pyjwkest/default.nix
+++ b/pkgs/development/python-modules/pyjwkest/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pyjwkest";
   version = "1.4.2";
+  format = "setuptools";
 
   meta = {
     description = "Implementation of JWT, JWS, JWE and JWK";
diff --git a/pkgs/development/python-modules/pykdtree/default.nix b/pkgs/development/python-modules/pykdtree/default.nix
index d41b6e6252014..0ba615277e360 100644
--- a/pkgs/development/python-modules/pykdtree/default.nix
+++ b/pkgs/development/python-modules/pykdtree/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pykdtree";
   version = "1.3.7.post0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pykerberos/default.nix b/pkgs/development/python-modules/pykerberos/default.nix
index bb16c04bec866..25db2847dd350 100644
--- a/pkgs/development/python-modules/pykerberos/default.nix
+++ b/pkgs/development/python-modules/pykerberos/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pykerberos";
   version = "1.2.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pykmtronic/default.nix b/pkgs/development/python-modules/pykmtronic/default.nix
index 67f6da455eb19..092a3d826a40b 100644
--- a/pkgs/development/python-modules/pykmtronic/default.nix
+++ b/pkgs/development/python-modules/pykmtronic/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pykmtronic";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pykwalify/default.nix b/pkgs/development/python-modules/pykwalify/default.nix
index 41d6a0982104e..790b41626bf0c 100644
--- a/pkgs/development/python-modules/pykwalify/default.nix
+++ b/pkgs/development/python-modules/pykwalify/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage rec {
   version = "1.8.0";
+  format = "setuptools";
   pname = "pykwalify";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pylatexenc/default.nix b/pkgs/development/python-modules/pylatexenc/default.nix
index 0080ad8293a0f..8e66fc08a6560 100644
--- a/pkgs/development/python-modules/pylatexenc/default.nix
+++ b/pkgs/development/python-modules/pylatexenc/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pylatexenc";
   version = "2.10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "phfaist";
diff --git a/pkgs/development/python-modules/pyld/default.nix b/pkgs/development/python-modules/pyld/default.nix
index 464065cbc1750..89d5544a31136 100644
--- a/pkgs/development/python-modules/pyld/default.nix
+++ b/pkgs/development/python-modules/pyld/default.nix
@@ -21,6 +21,7 @@ in
 buildPythonPackage rec {
   pname = "pyld";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "digitalbazaar";
diff --git a/pkgs/development/python-modules/pylev/default.nix b/pkgs/development/python-modules/pylev/default.nix
index c9c3340db1924..fdc5e2c080127 100644
--- a/pkgs/development/python-modules/pylev/default.nix
+++ b/pkgs/development/python-modules/pylev/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pylev";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "toastdriven";
diff --git a/pkgs/development/python-modules/pylibacl/default.nix b/pkgs/development/python-modules/pylibacl/default.nix
index e1280764972d3..68f2d2d125ca7 100644
--- a/pkgs/development/python-modules/pylibacl/default.nix
+++ b/pkgs/development/python-modules/pylibacl/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pylibacl";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pylibconfig2/default.nix b/pkgs/development/python-modules/pylibconfig2/default.nix
index 2cabb78544eb0..0742272543434 100644
--- a/pkgs/development/python-modules/pylibconfig2/default.nix
+++ b/pkgs/development/python-modules/pylibconfig2/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "pylibconfig2";
   version = "0.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pylibdmtx/default.nix b/pkgs/development/python-modules/pylibdmtx/default.nix
index 2152ac54241d4..bf2c4815ec3a6 100644
--- a/pkgs/development/python-modules/pylibdmtx/default.nix
+++ b/pkgs/development/python-modules/pylibdmtx/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pylibdmtx";
   version = "0.1.10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "NaturalHistoryMuseum";
diff --git a/pkgs/development/python-modules/pyliblo/default.nix b/pkgs/development/python-modules/pyliblo/default.nix
index e56b1dfa36839..db962d165f8b2 100644
--- a/pkgs/development/python-modules/pyliblo/default.nix
+++ b/pkgs/development/python-modules/pyliblo/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyliblo";
   version = "0.10.0";
+  format = "setuptools";
   disabled = isPyPy;
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pylint-celery/default.nix b/pkgs/development/python-modules/pylint-celery/default.nix
index 6bc7a93049e93..d89afecbaa11f 100644
--- a/pkgs/development/python-modules/pylint-celery/default.nix
+++ b/pkgs/development/python-modules/pylint-celery/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pylint-celery";
   version = "0.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pylint-flask/default.nix b/pkgs/development/python-modules/pylint-flask/default.nix
index 5077d07a936b2..4a26e256d803e 100644
--- a/pkgs/development/python-modules/pylint-flask/default.nix
+++ b/pkgs/development/python-modules/pylint-flask/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pylint-flask";
   version = "0.6";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pylnk3/default.nix b/pkgs/development/python-modules/pylnk3/default.nix
index ed50da8b07770..8a48fb731b85b 100644
--- a/pkgs/development/python-modules/pylnk3/default.nix
+++ b/pkgs/development/python-modules/pylnk3/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pylnk3";
   version = "0.4.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pylpsd/default.nix b/pkgs/development/python-modules/pylpsd/default.nix
index b74a7e65aa15b..c04d82c802762 100644
--- a/pkgs/development/python-modules/pylpsd/default.nix
+++ b/pkgs/development/python-modules/pylpsd/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pylpsd";
   version = "0.1.4";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-evPL9vF75S8ATkFwzQjh4pLI/aXGXWwoypCb24nXAN8=";
diff --git a/pkgs/development/python-modules/pyls-flake8/default.nix b/pkgs/development/python-modules/pyls-flake8/default.nix
index 113cf8f24e1f6..9f217aca39072 100644
--- a/pkgs/development/python-modules/pyls-flake8/default.nix
+++ b/pkgs/development/python-modules/pyls-flake8/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyls-flake8";
   version = "0.4.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyls-isort/default.nix b/pkgs/development/python-modules/pyls-isort/default.nix
index 8ec10735cadcb..e42c4129e791f 100644
--- a/pkgs/development/python-modules/pyls-isort/default.nix
+++ b/pkgs/development/python-modules/pyls-isort/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pyls-isort";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
diff --git a/pkgs/development/python-modules/pyls-memestra/default.nix b/pkgs/development/python-modules/pyls-memestra/default.nix
index 62ae057613a6d..312479d223d77 100644
--- a/pkgs/development/python-modules/pyls-memestra/default.nix
+++ b/pkgs/development/python-modules/pyls-memestra/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyls-memestra";
   version = "0.0.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyls-spyder/default.nix b/pkgs/development/python-modules/pyls-spyder/default.nix
index 509df2efaf79f..d6da0c2925968 100644
--- a/pkgs/development/python-modules/pyls-spyder/default.nix
+++ b/pkgs/development/python-modules/pyls-spyder/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyls-spyder";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "spyder-ide";
diff --git a/pkgs/development/python-modules/pylsp-rope/default.nix b/pkgs/development/python-modules/pylsp-rope/default.nix
index 1199f40eaeec0..4204499b16c39 100644
--- a/pkgs/development/python-modules/pylsp-rope/default.nix
+++ b/pkgs/development/python-modules/pylsp-rope/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pylsp-rope";
   version = "0.1.11";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pylsqpack/default.nix b/pkgs/development/python-modules/pylsqpack/default.nix
index 3c2eba13d2b93..54123b656e1b2 100644
--- a/pkgs/development/python-modules/pylsqpack/default.nix
+++ b/pkgs/development/python-modules/pylsqpack/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pylsqpack";
   version = "0.3.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pylti/default.nix b/pkgs/development/python-modules/pylti/default.nix
index 69e4af22ccf1e..e4368ec1ac3c0 100644
--- a/pkgs/development/python-modules/pylti/default.nix
+++ b/pkgs/development/python-modules/pylti/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "pylti";
   version = "0.7.0";
+  format = "setuptools";
 
   disabled = !isPy27;
 
diff --git a/pkgs/development/python-modules/pylutron/default.nix b/pkgs/development/python-modules/pylutron/default.nix
index dfcc0a05798db..b55696d840f97 100644
--- a/pkgs/development/python-modules/pylutron/default.nix
+++ b/pkgs/development/python-modules/pylutron/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pylutron";
   version = "0.2.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pylxd/default.nix b/pkgs/development/python-modules/pylxd/default.nix
index bde5935d563ed..f3965de56b859 100644
--- a/pkgs/development/python-modules/pylxd/default.nix
+++ b/pkgs/development/python-modules/pylxd/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "pylxd";
   version = "2.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lxc";
diff --git a/pkgs/development/python-modules/pylyrics/default.nix b/pkgs/development/python-modules/pylyrics/default.nix
index a3e651e17766e..26530cabf401c 100644
--- a/pkgs/development/python-modules/pylyrics/default.nix
+++ b/pkgs/development/python-modules/pylyrics/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pylyrics";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyLyrics";
diff --git a/pkgs/development/python-modules/pylzma/default.nix b/pkgs/development/python-modules/pylzma/default.nix
index 78bc24d35d464..aa39989449945 100644
--- a/pkgs/development/python-modules/pylzma/default.nix
+++ b/pkgs/development/python-modules/pylzma/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pylzma";
   version = "0.5.0";
+  format = "setuptools";
 
   # This vendors an old LZMA SDK
   # After some discussion, it seemed most reasonable to keep it that way
diff --git a/pkgs/development/python-modules/pymacaroons/default.nix b/pkgs/development/python-modules/pymacaroons/default.nix
index c9ffcc0a0702c..2950e71020dbb 100644
--- a/pkgs/development/python-modules/pymacaroons/default.nix
+++ b/pkgs/development/python-modules/pymacaroons/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pymacaroons";
   version = "0.13.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pymarshal/default.nix b/pkgs/development/python-modules/pymarshal/default.nix
index 57a806c60b4ef..755c03501e562 100644
--- a/pkgs/development/python-modules/pymarshal/default.nix
+++ b/pkgs/development/python-modules/pymarshal/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pymarshal";
   version = "2.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pymata-express/default.nix b/pkgs/development/python-modules/pymata-express/default.nix
index a4306fb4ed827..47475845198a4 100644
--- a/pkgs/development/python-modules/pymata-express/default.nix
+++ b/pkgs/development/python-modules/pymata-express/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pymata-express";
   version = "1.21";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pymaven-patch/default.nix b/pkgs/development/python-modules/pymaven-patch/default.nix
index 602399b2d024a..8218ccddcc61e 100644
--- a/pkgs/development/python-modules/pymaven-patch/default.nix
+++ b/pkgs/development/python-modules/pymaven-patch/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pymaven-patch";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index 374f7d26c9d03..2ae96c950c777 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pymavlink";
   version = "2.4.40";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pymdstat/default.nix b/pkgs/development/python-modules/pymdstat/default.nix
index 54c2096978617..ced572b7b36d0 100644
--- a/pkgs/development/python-modules/pymdstat/default.nix
+++ b/pkgs/development/python-modules/pymdstat/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pymdstat";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nicolargo";
diff --git a/pkgs/development/python-modules/pymediaroom/default.nix b/pkgs/development/python-modules/pymediaroom/default.nix
index 364063f786281..744ef3d02e2b3 100644
--- a/pkgs/development/python-modules/pymediaroom/default.nix
+++ b/pkgs/development/python-modules/pymediaroom/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pymediaroom";
   version = "0.6.5.4";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pymemoize/default.nix b/pkgs/development/python-modules/pymemoize/default.nix
index 9fdb8bbc26512..14f2fc39aa9e7 100644
--- a/pkgs/development/python-modules/pymemoize/default.nix
+++ b/pkgs/development/python-modules/pymemoize/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pymemoize";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/pyment/default.nix b/pkgs/development/python-modules/pyment/default.nix
index fbf2c93fde605..768bc459b5b57 100644
--- a/pkgs/development/python-modules/pyment/default.nix
+++ b/pkgs/development/python-modules/pyment/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyment";
   version = "0.3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Pyment";
diff --git a/pkgs/development/python-modules/pymetar/default.nix b/pkgs/development/python-modules/pymetar/default.nix
index 7742a8890455c..f8371a4db057c 100644
--- a/pkgs/development/python-modules/pymetar/default.nix
+++ b/pkgs/development/python-modules/pymetar/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pymetar";
   version = "1.4";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pymeteireann/default.nix b/pkgs/development/python-modules/pymeteireann/default.nix
index 711392b4a30f7..be85e6a5e008c 100644
--- a/pkgs/development/python-modules/pymeteireann/default.nix
+++ b/pkgs/development/python-modules/pymeteireann/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pymeteireann";
   version = "2021.8.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "DylanGore";
diff --git a/pkgs/development/python-modules/pymeteoclimatic/default.nix b/pkgs/development/python-modules/pymeteoclimatic/default.nix
index 463acc3f9d955..b47809d13a772 100644
--- a/pkgs/development/python-modules/pymeteoclimatic/default.nix
+++ b/pkgs/development/python-modules/pymeteoclimatic/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pymeteoclimatic";
   version = "0.0.6";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pymiele/default.nix b/pkgs/development/python-modules/pymiele/default.nix
new file mode 100644
index 0000000000000..db951d6d7a990
--- /dev/null
+++ b/pkgs/development/python-modules/pymiele/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pymiele";
+  version = "0.1.7";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-nlilHcBdWpCIknhE/RRvcmuz1waNdmcPt++Vi3amvHg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # No tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pymiele"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/astrandb/pymiele/releases/tag/v${version}";
+    description = "Lib for Miele integration with Home Assistant";
+    homepage = "https://github.com/astrandb/pymiele";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jamiemagee ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymilter/default.nix b/pkgs/development/python-modules/pymilter/default.nix
index 0724161bf4236..be0ee9bd2bc45 100644
--- a/pkgs/development/python-modules/pymilter/default.nix
+++ b/pkgs/development/python-modules/pymilter/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pymilter";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sdgathman";
diff --git a/pkgs/development/python-modules/pymitv/default.nix b/pkgs/development/python-modules/pymitv/default.nix
index bc53a9e79a2be..98d3a88e97b95 100644
--- a/pkgs/development/python-modules/pymitv/default.nix
+++ b/pkgs/development/python-modules/pymitv/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pymitv";
   version = "1.5.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pymoo/default.nix b/pkgs/development/python-modules/pymoo/default.nix
index 637bd4dc17b37..64858b1e076e6 100644
--- a/pkgs/development/python-modules/pymoo/default.nix
+++ b/pkgs/development/python-modules/pymoo/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "pymoo";
   version = "0.6.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "anyoptimization";
diff --git a/pkgs/development/python-modules/pymorphy2/default.nix b/pkgs/development/python-modules/pymorphy2/default.nix
index 5195840c3119f..300a9230d2e1d 100644
--- a/pkgs/development/python-modules/pymorphy2/default.nix
+++ b/pkgs/development/python-modules/pymorphy2/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pymorphy2";
   version = "0.9.1";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pymorphy3/default.nix b/pkgs/development/python-modules/pymorphy3/default.nix
index 2ef0e9629bd50..4c071939740ed 100644
--- a/pkgs/development/python-modules/pymorphy3/default.nix
+++ b/pkgs/development/python-modules/pymorphy3/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pymorphy3";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "no-plagiarism";
diff --git a/pkgs/development/python-modules/pymvglive/default.nix b/pkgs/development/python-modules/pymvglive/default.nix
index f80a920631956..dc58ba668692b 100644
--- a/pkgs/development/python-modules/pymvglive/default.nix
+++ b/pkgs/development/python-modules/pymvglive/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pymvglive";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyMVGLive";
diff --git a/pkgs/development/python-modules/pymystem3/default.nix b/pkgs/development/python-modules/pymystem3/default.nix
index b8aa6469b7f81..9ffb4bcdedae6 100644
--- a/pkgs/development/python-modules/pymystem3/default.nix
+++ b/pkgs/development/python-modules/pymystem3/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pymystem3";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pynac/default.nix b/pkgs/development/python-modules/pynac/default.nix
index a6df8cb036d4e..45fb25f7315a1 100644
--- a/pkgs/development/python-modules/pynac/default.nix
+++ b/pkgs/development/python-modules/pynac/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage {
   pname = "pynac";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/pynac/pynac/pynac-0.2/pynac-0.2.tar.gz";
diff --git a/pkgs/development/python-modules/pynanoleaf/default.nix b/pkgs/development/python-modules/pynanoleaf/default.nix
index 9fab8f7b31c02..443865d8eaad6 100644
--- a/pkgs/development/python-modules/pynanoleaf/default.nix
+++ b/pkgs/development/python-modules/pynanoleaf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pynanoleaf";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pync/default.nix b/pkgs/development/python-modules/pync/default.nix
index 9dd31aa725b3b..d3efec9a6a264 100644
--- a/pkgs/development/python-modules/pync/default.nix
+++ b/pkgs/development/python-modules/pync/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   version  = "2.0.3";
   pname = "pync";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyngrok/default.nix b/pkgs/development/python-modules/pyngrok/default.nix
index bd3931e4f1dc3..0038db89f6cc9 100644
--- a/pkgs/development/python-modules/pyngrok/default.nix
+++ b/pkgs/development/python-modules/pyngrok/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyngrok";
-  version = "7.0.1";
+  version = "7.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wTK0DnsZBbB9nHMe8hUQjMl3sbv0RaFGiU4NSJshPrY=";
+    hash = "sha256-RNi0ivQKsLb/JD9+vdJYGf5HDC6BmeNdseR2OU8v1uY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/security/pynitrokey/default.nix b/pkgs/development/python-modules/pynitrokey/default.nix
index 690d566c476d8..4d91dc586c195 100644
--- a/pkgs/tools/security/pynitrokey/default.nix
+++ b/pkgs/development/python-modules/pynitrokey/default.nix
@@ -1,63 +1,82 @@
 { lib
-, python3Packages
+, buildPythonPackage
 , fetchPypi
-, nrfutil
+, pythonRelaxDepsHook
+, installShellFiles
 , libnitrokey
-, nix-update-script
+, flit-core
+, certifi
+, cffi
+, click
+, cryptography
+, ecdsa
+, fido2
+, intelhex
+, nkdfu
+, python-dateutil
+, pyusb
+, requests
+, spsdk
+, tqdm
+, tlv8
+, typing-extensions
+, pyserial
+, protobuf
+, click-aliases
+, semver
+, nethsm
+, importlib-metadata
 }:
 
-with python3Packages;
-
-buildPythonApplication rec {
+let
   pname = "pynitrokey";
-  version = "0.4.40";
-  format = "pyproject";
+  version = "0.4.43";
+  mainProgram = "nitropy";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Hu+8UooDzv4GhkWt0sCckQQyHjWn4V/zt2ADlVCoHmk=";
+    hash = "sha256-dYOdokqALDg4Xn7N6Yd0skM/tit+j5+xY73sm9k76hE=";
   };
 
   propagatedBuildInputs = [
     certifi
     cffi
     click
-    click-aliases
     cryptography
     ecdsa
-    frozendict
     fido2
     intelhex
     nkdfu
-    nrfutil
     python-dateutil
     pyusb
     requests
-    semver
     spsdk
     tqdm
-    urllib3
     tlv8
     typing-extensions
+    pyserial
+    protobuf
+    click-aliases
+    semver
+    nethsm
     importlib-metadata
   ];
 
   nativeBuildInputs = [
     flit-core
+    installShellFiles
     pythonRelaxDepsHook
   ];
 
-  # FIXME: does pythonRelaxDepsHook not work for pypaBuildHook + flit-core?
-  pypaBuildFlags = [ "--skip-dependency-check" ];
+  pythonRelaxDeps = true;
 
-  pythonRelaxDeps = [
-    "click"
-    "cryptography"
-    "protobuf"
-    "python-dateutil"
-    "spsdk"
-    "typing_extensions"
-  ];
+  # pythonRelaxDepsHook runs in postBuild so cannot be used
+  pypaBuildFlags = [ "--skip-dependency-check" ];
 
   # libnitrokey is not propagated to users of the pynitrokey Python package.
   # It is only usable from the wrapped bin/nitropy
@@ -70,13 +89,19 @@ buildPythonApplication rec {
 
   pythonImportsCheck = [ "pynitrokey" ];
 
-  passthru.updateScript = nix-update-script { };
+  postInstall = ''
+    installShellCompletion --cmd ${mainProgram} \
+      --bash <(_NITROPY_COMPLETE=bash_source $out/bin/${mainProgram}) \
+      --zsh <(_NITROPY_COMPLETE=zsh_source $out/bin/${mainProgram}) \
+      --fish <(_NITROPY_COMPLETE=fish_source $out/bin/${mainProgram})
+  '';
 
   meta = with lib; {
     description = "Python client for Nitrokey devices";
     homepage = "https://github.com/Nitrokey/pynitrokey";
+    changelog = "https://github.com/Nitrokey/pynitrokey/releases/tag/v${version}";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ frogamic ];
-    mainProgram = "nitropy";
+    inherit mainProgram;
   };
 }
diff --git a/pkgs/development/python-modules/pynmea2/default.nix b/pkgs/development/python-modules/pynmea2/default.nix
index 859b12647460f..2bfdd61a62025 100644
--- a/pkgs/development/python-modules/pynmea2/default.nix
+++ b/pkgs/development/python-modules/pynmea2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pynmea2";
   version = "1.19.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pynut2/default.nix b/pkgs/development/python-modules/pynut2/default.nix
index 11313dcadc696..4c56cdff0de8a 100644
--- a/pkgs/development/python-modules/pynut2/default.nix
+++ b/pkgs/development/python-modules/pynut2/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pynut2";
   version = "2.1.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mezz64";
diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix
index 2ce6e83315a3f..829ec7d68b121 100644
--- a/pkgs/development/python-modules/pynvim/default.nix
+++ b/pkgs/development/python-modules/pynvim/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, setuptools
 , msgpack
 , greenlet
 , pythonOlder
@@ -9,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pynvim";
-  version = "0.4.3";
-  format = "setuptools";
+  version = "0.5.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-OnlTeL3l6AkvvrOhqZvpxhPSaFVC8dsOXG/UZ+7Vbf8=";
+  src = fetchFromGitHub {
+    owner = "neovim";
+    repo = "pynvim";
+    rev = "refs/tags/${version}";
+    hash = "sha256-3LqgKENFzdfCjMlD6Xzv5W23yvIkNMUYo2+LlzKZ3cc=";
   };
 
   postPatch = ''
@@ -24,6 +27,10 @@ buildPythonPackage rec {
       --replace " + pytest_runner" ""
   '';
 
+  buildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     msgpack
   ] ++ lib.optionals (!isPyPy) [
diff --git a/pkgs/development/python-modules/pynvml/default.nix b/pkgs/development/python-modules/pynvml/default.nix
index c3f75acfc569d..7a280bfed9038 100644
--- a/pkgs/development/python-modules/pynvml/default.nix
+++ b/pkgs/development/python-modules/pynvml/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pynvml";
   version = "11.5.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix
index d2dd95f42451b..5c3b5c7c49a28 100644
--- a/pkgs/development/python-modules/pynws/default.nix
+++ b/pkgs/development/python-modules/pynws/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pynws";
   version = "1.6.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pynx584/default.nix b/pkgs/development/python-modules/pynx584/default.nix
index e5f3a81218daa..405f66a7465c6 100644
--- a/pkgs/development/python-modules/pynx584/default.nix
+++ b/pkgs/development/python-modules/pynx584/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pynx584";
   version = "0.8.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
 
diff --git a/pkgs/development/python-modules/pynzb/default.nix b/pkgs/development/python-modules/pynzb/default.nix
index 3f1cca75dc15c..18ef6c0312851 100644
--- a/pkgs/development/python-modules/pynzb/default.nix
+++ b/pkgs/development/python-modules/pynzb/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pynzb";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index 9e0de7f3915d2..30f1a4115079a 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "6.6.2";
+  version = "6.7.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     repo = "pyomo";
     owner = "pyomo";
     rev = "refs/tags/${version}";
-    hash = "sha256-hh2sfWOUp3ac75NEuTrw3YkvS7hXpzJp39v6cfrhNiQ=";
+    hash = "sha256-HoTtvda97ghQ0SQBZFGkDAwD2WNtZpIum2m1khivEK4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyopnsense/default.nix b/pkgs/development/python-modules/pyopnsense/default.nix
index a1df192ac223a..7fdd6170a3774 100644
--- a/pkgs/development/python-modules/pyopnsense/default.nix
+++ b/pkgs/development/python-modules/pyopnsense/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pyopnsense";
   version = "0.4.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyorthanc/default.nix b/pkgs/development/python-modules/pyorthanc/default.nix
index f164e91b7b9da..0936985c0da95 100644
--- a/pkgs/development/python-modules/pyorthanc/default.nix
+++ b/pkgs/development/python-modules/pyorthanc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyorthanc";
-  version = "1.13.1";
+  version = "1.15.0";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gacou54";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-LahLR+LbppcPKs0gPT2lEP48XG6pbGMvCBW/EwAIFDQ=";
+    hash = "sha256-2F5yXWqOwQM1i0AgCCr1j98jpZLA2D919Iex9WjKLuw=";
   };
 
   nativeBuildInputs = [ pythonRelaxDepsHook poetry-core ];
diff --git a/pkgs/development/python-modules/pyparser/default.nix b/pkgs/development/python-modules/pyparser/default.nix
index 8e4deafd542c7..f7db023608c24 100644
--- a/pkgs/development/python-modules/pyparser/default.nix
+++ b/pkgs/development/python-modules/pyparser/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pyparser";
   version = "1.0";
+  format = "setuptools";
 
   # Missing tests on Pypi
   src = fetchFromBitbucket {
diff --git a/pkgs/development/python-modules/pyparted/default.nix b/pkgs/development/python-modules/pyparted/default.nix
index 84d8439a5360b..7eeedaa2cad8d 100644
--- a/pkgs/development/python-modules/pyparted/default.nix
+++ b/pkgs/development/python-modules/pyparted/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyparted";
   version = "3.13.0";
+  format = "setuptools";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pypass/default.nix b/pkgs/development/python-modules/pypass/default.nix
index 9c497b3e3b504..73a261d07a217 100644
--- a/pkgs/development/python-modules/pypass/default.nix
+++ b/pkgs/development/python-modules/pypass/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "pypass";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pypblib/default.nix b/pkgs/development/python-modules/pypblib/default.nix
index 4cf8d5fc7b65d..0132f43ffa467 100644
--- a/pkgs/development/python-modules/pypblib/default.nix
+++ b/pkgs/development/python-modules/pypblib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pypblib";
   version = "0.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pypca/default.nix b/pkgs/development/python-modules/pypca/default.nix
index 86adb4e3e14aa..28e958e4b6260 100644
--- a/pkgs/development/python-modules/pypca/default.nix
+++ b/pkgs/development/python-modules/pypca/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pypca";
   version = "0.0.13";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pypcap/default.nix b/pkgs/development/python-modules/pypcap/default.nix
index ef973625ec74a..2c3997c8941aa 100644
--- a/pkgs/development/python-modules/pypcap/default.nix
+++ b/pkgs/development/python-modules/pypcap/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pypcap";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pynetwork";
diff --git a/pkgs/development/python-modules/pypdf3/default.nix b/pkgs/development/python-modules/pypdf3/default.nix
index 0ac738f513a69..f70b04db22272 100644
--- a/pkgs/development/python-modules/pypdf3/default.nix
+++ b/pkgs/development/python-modules/pypdf3/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pypdf3";
   version = "1.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyPDF3";
diff --git a/pkgs/development/python-modules/pypeg2/default.nix b/pkgs/development/python-modules/pypeg2/default.nix
index 8b630f743d198..092ba9472aa75 100644
--- a/pkgs/development/python-modules/pypeg2/default.nix
+++ b/pkgs/development/python-modules/pypeg2/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "2.15.2";
+  format = "setuptools";
   pname = "pypeg2";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pypemicro/default.nix b/pkgs/development/python-modules/pypemicro/default.nix
index 6accd0e94343a..f73649ac72fe8 100644
--- a/pkgs/development/python-modules/pypemicro/default.nix
+++ b/pkgs/development/python-modules/pypemicro/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pypemicro";
   version = "0.1.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyperclip/default.nix b/pkgs/development/python-modules/pyperclip/default.nix
index 127301752d657..73ea4bd1c80db 100644
--- a/pkgs/development/python-modules/pyperclip/default.nix
+++ b/pkgs/development/python-modules/pyperclip/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.8.2";
+  format = "setuptools";
   pname = "pyperclip";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyphotonfile/default.nix b/pkgs/development/python-modules/pyphotonfile/default.nix
index 7a350bd3b13fe..9d7a30213869a 100644
--- a/pkgs/development/python-modules/pyphotonfile/default.nix
+++ b/pkgs/development/python-modules/pyphotonfile/default.nix
@@ -6,6 +6,7 @@
 }:
 let
   version = "0.2.1";
+  format = "setuptools";
 in
 buildPythonPackage {
   pname = "pyphotonfile";
diff --git a/pkgs/development/python-modules/pypillowfight/default.nix b/pkgs/development/python-modules/pypillowfight/default.nix
index 1fc4198ebeb6e..3d1b9807b34da 100644
--- a/pkgs/development/python-modules/pypillowfight/default.nix
+++ b/pkgs/development/python-modules/pypillowfight/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pypillowfight";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
diff --git a/pkgs/development/python-modules/pypresence/default.nix b/pkgs/development/python-modules/pypresence/default.nix
index e400956aaf499..32f81827836b4 100644
--- a/pkgs/development/python-modules/pypresence/default.nix
+++ b/pkgs/development/python-modules/pypresence/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pypresence";
   version = "4.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyprof2calltree/default.nix b/pkgs/development/python-modules/pyprof2calltree/default.nix
index 77f24e3e15e23..c0f71dc8b64f1 100644
--- a/pkgs/development/python-modules/pyprof2calltree/default.nix
+++ b/pkgs/development/python-modules/pyprof2calltree/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyprof2calltree";
   version = "1.4.5";
+  format = "setuptools";
 
   # Fetch from GitHub because the PyPi packaged version does not
   # include all test files.
diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix
index 576688accc075..242e80bc4a4e7 100644
--- a/pkgs/development/python-modules/pyproj/default.nix
+++ b/pkgs/development/python-modules/pyproj/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "pyproj";
   version = "3.6.1";
+  format = "setuptools";
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyptlib/default.nix b/pkgs/development/python-modules/pyptlib/default.nix
index 9f9f99884b985..24d4cbf86b293 100644
--- a/pkgs/development/python-modules/pyptlib/default.nix
+++ b/pkgs/development/python-modules/pyptlib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyptlib";
   version = "0.0.6";
+  format = "setuptools";
   disabled = isPyPy || isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pypubsub/default.nix b/pkgs/development/python-modules/pypubsub/default.nix
index db473a2938957..e883700ca78ba 100644
--- a/pkgs/development/python-modules/pypubsub/default.nix
+++ b/pkgs/development/python-modules/pypubsub/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pypubsub";
   version = "4.0.3";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix
index cf2a413a04d25..9b8ebad61eebe 100644
--- a/pkgs/development/python-modules/pypugjs/default.nix
+++ b/pkgs/development/python-modules/pypugjs/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "pypugjs";
   version = "5.9.12";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kakulukia";
diff --git a/pkgs/development/python-modules/pyqldb/default.nix b/pkgs/development/python-modules/pyqldb/default.nix
index 5d072364ea3c1..377a33cb90a3a 100644
--- a/pkgs/development/python-modules/pyqldb/default.nix
+++ b/pkgs/development/python-modules/pyqldb/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyqldb";
   version = "3.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "awslabs";
diff --git a/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch b/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch
deleted file mode 100644
index 43b2d7367e963..0000000000000
--- a/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/pyqtbuild/builder.py b/pyqtbuild/builder.py
-index 3f35a7f..58701dd 100644
---- a/pyqtbuild/builder.py
-+++ b/pyqtbuild/builder.py
-@@ -51,15 +51,6 @@ class QmakeBuilder(Builder):
-         """ Set default values for user options that haven't been set yet. """
- 
-         if tool in Option.BUILD_TOOLS:
--            # A PEP 517 frontend will set PATH so that sip-distinfo is found on
--            # it.  However for our own frontends we want to use the version
--            # corresponding to the frontend (and, anyway, the frontend may not
--            # be on PATH).
--            if tool != 'pep517':
--                self._sip_distinfo = os.path.join(
--                        os.path.abspath(os.path.dirname(sys.argv[0])),
--                        self._sip_distinfo)
--
-             # Check we have a qmake.
-             if self.qmake is None:
-                 self.qmake = self._find_exe('qmake')
diff --git a/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch b/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch
deleted file mode 100644
index 1ae911c14817b..0000000000000
--- a/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip b/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-index 5fb508f..7a4654a 100644
---- a/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-+++ b/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-@@ -48,7 +48,7 @@ public:
- %If (QtWebEngine_5_8_0 -)
-         CertificateTransparencyRequired,
- %End
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-         CertificateKnownInterceptionBlocked,
- %End
-     };
-diff --git a/sip/QtWebEngineWidgets/qwebenginepage.sip b/sip/QtWebEngineWidgets/qwebenginepage.sip
-index 0dcbed2..9aa3443 100644
---- a/sip/QtWebEngineWidgets/qwebenginepage.sip
-+++ b/sip/QtWebEngineWidgets/qwebenginepage.sip
-@@ -663,10 +663,10 @@ signals:
- %End
-
- public:
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-     qint64 renderProcessPid() const;
- %End
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-     void renderProcessPidChanged(qint64 pid);
- %End
- };
-
diff --git a/pkgs/development/python-modules/pyquaternion/default.nix b/pkgs/development/python-modules/pyquaternion/default.nix
index 512038a8acc6e..cb10c3bc55454 100644
--- a/pkgs/development/python-modules/pyquaternion/default.nix
+++ b/pkgs/development/python-modules/pyquaternion/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyquaternion";
   version = "0.9.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyrabbit2/default.nix b/pkgs/development/python-modules/pyrabbit2/default.nix
index 0f88c0afb7adc..8cd8be5186160 100644
--- a/pkgs/development/python-modules/pyrabbit2/default.nix
+++ b/pkgs/development/python-modules/pyrabbit2/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyrabbit2";
   version = "1.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyramid-beaker/default.nix b/pkgs/development/python-modules/pyramid-beaker/default.nix
index 4a9fd61f26163..aad88af5f16a4 100644
--- a/pkgs/development/python-modules/pyramid-beaker/default.nix
+++ b/pkgs/development/python-modules/pyramid-beaker/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyramid-beaker";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "pyramid_beaker";
diff --git a/pkgs/development/python-modules/pyramid-chameleon/default.nix b/pkgs/development/python-modules/pyramid-chameleon/default.nix
index 69862bdfe5543..81e3d151e91e4 100644
--- a/pkgs/development/python-modules/pyramid-chameleon/default.nix
+++ b/pkgs/development/python-modules/pyramid-chameleon/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pyramid-chameleon";
   version = "0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "pyramid_chameleon";
diff --git a/pkgs/development/python-modules/pyramid-exclog/default.nix b/pkgs/development/python-modules/pyramid-exclog/default.nix
index c54ff94ff1670..b0deb497a56f9 100644
--- a/pkgs/development/python-modules/pyramid-exclog/default.nix
+++ b/pkgs/development/python-modules/pyramid-exclog/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyramid-exclog";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "pyramid_exclog";
diff --git a/pkgs/development/python-modules/pyramid-mako/default.nix b/pkgs/development/python-modules/pyramid-mako/default.nix
index d55eee1a37f33..11af191361377 100644
--- a/pkgs/development/python-modules/pyramid-mako/default.nix
+++ b/pkgs/development/python-modules/pyramid-mako/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyramid-mako";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyrdfa3/default.nix b/pkgs/development/python-modules/pyrdfa3/default.nix
index 398da024053af..ef6d33cb8e804 100644
--- a/pkgs/development/python-modules/pyrdfa3/default.nix
+++ b/pkgs/development/python-modules/pyrdfa3/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyrdfa3";
   version = "3.5.3";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyrect/default.nix b/pkgs/development/python-modules/pyrect/default.nix
index ac0b6b598d801..0d61a2e182a0f 100644
--- a/pkgs/development/python-modules/pyrect/default.nix
+++ b/pkgs/development/python-modules/pyrect/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyrect";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyRect";
diff --git a/pkgs/development/python-modules/pyrfxtrx/default.nix b/pkgs/development/python-modules/pyrfxtrx/default.nix
index a3bbd94663c26..26c52f87c8817 100644
--- a/pkgs/development/python-modules/pyrfxtrx/default.nix
+++ b/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyrfxtrx";
   version = "0.30.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
diff --git a/pkgs/development/python-modules/pyrisco/default.nix b/pkgs/development/python-modules/pyrisco/default.nix
index 0233d2d0d1c4f..98a02ad48e33d 100644
--- a/pkgs/development/python-modules/pyrisco/default.nix
+++ b/pkgs/development/python-modules/pyrisco/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyrisco";
   version = "0.5.8";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyro-api/default.nix b/pkgs/development/python-modules/pyro-api/default.nix
index aaf4571900b72..9791d8bbaa8e1 100644
--- a/pkgs/development/python-modules/pyro-api/default.nix
+++ b/pkgs/development/python-modules/pyro-api/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.1.2";
+  format = "setuptools";
   pname = "pyro-api";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyroma/default.nix b/pkgs/development/python-modules/pyroma/default.nix
index 9d2c220c472f8..b9669e41d3b22 100644
--- a/pkgs/development/python-modules/pyroma/default.nix
+++ b/pkgs/development/python-modules/pyroma/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyroma";
   version = "3.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "regebro";
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 48ad5bb08e94d..f24534af0083a 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.7.9";
+  version = "0.7.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tp2C8UCwd0MX17pA9sX6HXVQmLo/PrYZmC0W51DcYxo=";
+    hash = "sha256-zC+QqtFRfLCzAQQfZ4zI08NCfCblPxXHjJPGeSjYmgI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyrr/default.nix b/pkgs/development/python-modules/pyrr/default.nix
index 4f7eb66231951..b84d1a67f1d8d 100644
--- a/pkgs/development/python-modules/pyrr/default.nix
+++ b/pkgs/development/python-modules/pyrr/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyrr";
   version = "unstable-2022-07-22";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "adamlwgriffiths";
diff --git a/pkgs/development/python-modules/pyrsistent/default.nix b/pkgs/development/python-modules/pyrsistent/default.nix
index 37de5033477f6..2f21caa001d39 100644
--- a/pkgs/development/python-modules/pyrsistent/default.nix
+++ b/pkgs/development/python-modules/pyrsistent/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyrsistent";
   version = "0.19.3";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/pyrss2gen/default.nix b/pkgs/development/python-modules/pyrss2gen/default.nix
index 00c823475a63a..9820eb1583f0f 100644
--- a/pkgs/development/python-modules/pyrss2gen/default.nix
+++ b/pkgs/development/python-modules/pyrss2gen/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pyrss2gen";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyRSS2Gen";
diff --git a/pkgs/development/python-modules/pysabnzbd/default.nix b/pkgs/development/python-modules/pysabnzbd/default.nix
index e77b8cd681889..e6116e6442d17 100644
--- a/pkgs/development/python-modules/pysabnzbd/default.nix
+++ b/pkgs/development/python-modules/pysabnzbd/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pysabnzbd";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jeradM";
diff --git a/pkgs/development/python-modules/pysam/default.nix b/pkgs/development/python-modules/pysam/default.nix
index 108e2dab9124f..50661d9246919 100644
--- a/pkgs/development/python-modules/pysam/default.nix
+++ b/pkgs/development/python-modules/pysam/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname   = "pysam";
   version = "0.21.0";
+  format = "setuptools";
 
   # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
   # missing some files which cause test failures.
diff --git a/pkgs/development/python-modules/pysatochip/default.nix b/pkgs/development/python-modules/pysatochip/default.nix
index 4547fa827b72e..f508bc303239d 100644
--- a/pkgs/development/python-modules/pysatochip/default.nix
+++ b/pkgs/development/python-modules/pysatochip/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pysatochip";
   version = "0.14.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pysbd/default.nix b/pkgs/development/python-modules/pysbd/default.nix
index 684846a0ceb59..f2062569534e6 100644
--- a/pkgs/development/python-modules/pysbd/default.nix
+++ b/pkgs/development/python-modules/pysbd/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pysbd";
   version = "0.3.4";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   # provides no sdist on pypi
diff --git a/pkgs/development/python-modules/pyscf/default.nix b/pkgs/development/python-modules/pyscf/default.nix
index 784978b7ca479..779af5e7f4f87 100644
--- a/pkgs/development/python-modules/pyscf/default.nix
+++ b/pkgs/development/python-modules/pyscf/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "pyscf";
   version = "2.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pyscf";
diff --git a/pkgs/development/python-modules/pyschedule/default.nix b/pkgs/development/python-modules/pyschedule/default.nix
index 7ee23f34e0938..3d51b3bb9deea 100644
--- a/pkgs/development/python-modules/pyschedule/default.nix
+++ b/pkgs/development/python-modules/pyschedule/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyschedule";
   version = "0.2.34";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyscreenshot/default.nix b/pkgs/development/python-modules/pyscreenshot/default.nix
index f04b85a9d0032..50a1389fbb238 100644
--- a/pkgs/development/python-modules/pyscreenshot/default.nix
+++ b/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pyscreenshot";
   version = "3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyscrypt/default.nix b/pkgs/development/python-modules/pyscrypt/default.nix
index 372f6db083244..223802d449965 100644
--- a/pkgs/development/python-modules/pyscrypt/default.nix
+++ b/pkgs/development/python-modules/pyscrypt/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyscrypt";
   version = "1.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysendfile/default.nix b/pkgs/development/python-modules/pysendfile/default.nix
index d2a73bb728207..af3c07cb851ce 100644
--- a/pkgs/development/python-modules/pysendfile/default.nix
+++ b/pkgs/development/python-modules/pysendfile/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pysendfile";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysensors/default.nix b/pkgs/development/python-modules/pysensors/default.nix
index 0c8e324402096..eccb831300fe0 100644
--- a/pkgs/development/python-modules/pysensors/default.nix
+++ b/pkgs/development/python-modules/pysensors/default.nix
@@ -1,6 +1,7 @@
 { lib, buildPythonPackage, unittestCheckHook, fetchFromGitHub, lm_sensors }:
 buildPythonPackage {
   version = "2017-07-13";
+  format = "setuptools";
   pname = "pysensors";
 
   # note that https://pypi.org/project/PySensors/ is a different project
diff --git a/pkgs/development/python-modules/pyserial-asyncio/default.nix b/pkgs/development/python-modules/pyserial-asyncio/default.nix
index 34bfacb9c0c59..6167c40d44f07 100644
--- a/pkgs/development/python-modules/pyserial-asyncio/default.nix
+++ b/pkgs/development/python-modules/pyserial-asyncio/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyserial-asyncio";
   version = "0.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/pysftp/default.nix b/pkgs/development/python-modules/pysftp/default.nix
index 3333a30bd1ac7..c138f21f01793 100644
--- a/pkgs/development/python-modules/pysftp/default.nix
+++ b/pkgs/development/python-modules/pysftp/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pysftp";
   version = "0.2.9";
+  format = "setuptools";
   disabled = isPyPy;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pysiaalarm/default.nix b/pkgs/development/python-modules/pysiaalarm/default.nix
index 6956aca6826de..4da347ad89696 100644
--- a/pkgs/development/python-modules/pysiaalarm/default.nix
+++ b/pkgs/development/python-modules/pysiaalarm/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pysiaalarm";
   version = "3.1.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/pysignalclirestapi/default.nix b/pkgs/development/python-modules/pysignalclirestapi/default.nix
index 0e033ad99ff8f..b3dd6f696006c 100644
--- a/pkgs/development/python-modules/pysignalclirestapi/default.nix
+++ b/pkgs/development/python-modules/pysignalclirestapi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pysignalclirestapi";
-  version = "0.3.21";
+  version = "0.3.22";
 
   pyproject = true;
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "bbernhard";
     repo = "pysignalclirestapi";
     rev = version;
-    hash = "sha256-CAZ6UgGz7ZDXlQlngi+hEhczOphvAT/Yl9vLqnrS1Qc=";
+    hash = "sha256-m8Sihf5vTDntd5Tbaa5o55G/k/rqtmjWreoTab58CHU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigset/default.nix b/pkgs/development/python-modules/pysigset/default.nix
index 43c8e81f5aa76..b0cd337304afe 100644
--- a/pkgs/development/python-modules/pysigset/default.nix
+++ b/pkgs/development/python-modules/pysigset/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pysigset";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysimplesoap/default.nix b/pkgs/development/python-modules/pysimplesoap/default.nix
index 14bb929936ded..d02761a1c9220 100644
--- a/pkgs/development/python-modules/pysimplesoap/default.nix
+++ b/pkgs/development/python-modules/pysimplesoap/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pysimplesoap";
   version = "1.16.2";
+  format = "setuptools";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/development/python-modules/pysingleton/default.nix b/pkgs/development/python-modules/pysingleton/default.nix
index 22e4ade4a8822..790c7a0f9171d 100644
--- a/pkgs/development/python-modules/pysingleton/default.nix
+++ b/pkgs/development/python-modules/pysingleton/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pysingleton";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysmf/default.nix b/pkgs/development/python-modules/pysmf/default.nix
index 2fc1637d22a5c..6b3b50e9e1e7e 100644
--- a/pkgs/development/python-modules/pysmf/default.nix
+++ b/pkgs/development/python-modules/pysmf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pysmf";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysmi/default.nix b/pkgs/development/python-modules/pysmi/default.nix
index 7b96b97f0bb9c..3e32fd5bd4317 100644
--- a/pkgs/development/python-modules/pysmi/default.nix
+++ b/pkgs/development/python-modules/pysmi/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.3.4";
+  format = "setuptools";
   pname = "pysmi";
 
  src = fetchPypi {
diff --git a/pkgs/development/python-modules/pysnmp-pysmi/default.nix b/pkgs/development/python-modules/pysnmp-pysmi/default.nix
index 1a9cab98915d9..788a267d347b4 100644
--- a/pkgs/development/python-modules/pysnmp-pysmi/default.nix
+++ b/pkgs/development/python-modules/pysnmp-pysmi/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "pysnmp-pysmi";
-  version = "1.1.10";
-  format = "pyproject";
+  version = "1.1.11";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pysnmp";
     repo = "pysmi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZfN0nU9IurBEjSZijC2E4UoLIM54mBFgv7rcI1v/a4Q=";
+    hash = "sha256-qe99nLOyUvE6LJagtQ9whPF4zwIWiM7g5zn40QsmrmA=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "SNMP MIB parser";
     homepage = "https://github.com/pysnmp/pysmi";
+    changelog = "https://github.com/pysnmp/pysmi/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pysnmp/default.nix b/pkgs/development/python-modules/pysnmp/default.nix
index 0b0e298d5d001..6921ef3ad9a96 100644
--- a/pkgs/development/python-modules/pysnmp/default.nix
+++ b/pkgs/development/python-modules/pysnmp/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pysnmp";
   version = "4.4.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysocks/default.nix b/pkgs/development/python-modules/pysocks/default.nix
index 70fb74ab4ddfa..b007ef9a41417 100644
--- a/pkgs/development/python-modules/pysocks/default.nix
+++ b/pkgs/development/python-modules/pysocks/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pysocks";
   version = "1.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PySocks";
diff --git a/pkgs/development/python-modules/pysol-cards/default.nix b/pkgs/development/python-modules/pysol-cards/default.nix
index 5759b47005b95..9816445bc2f20 100644
--- a/pkgs/development/python-modules/pysol-cards/default.nix
+++ b/pkgs/development/python-modules/pysol-cards/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pysol-cards";
   version = "0.14.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/pysolr/default.nix b/pkgs/development/python-modules/pysolr/default.nix
index 1e2e3d5dbf6c1..2a4e57154cea1 100644
--- a/pkgs/development/python-modules/pysolr/default.nix
+++ b/pkgs/development/python-modules/pysolr/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pysolr";
   version = "3.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix
index 778b862ac2cca..abb395bb12832 100644
--- a/pkgs/development/python-modules/pysonos/default.nix
+++ b/pkgs/development/python-modules/pysonos/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "pysonos";
   version = "0.0.54";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pyspf/default.nix b/pkgs/development/python-modules/pyspf/default.nix
index 74e264b9da092..3bf3a296d5655 100644
--- a/pkgs/development/python-modules/pyspf/default.nix
+++ b/pkgs/development/python-modules/pyspf/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyspf";
   version = "2.0.14";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sdgathman";
diff --git a/pkgs/development/python-modules/pyspiflash/default.nix b/pkgs/development/python-modules/pyspiflash/default.nix
index fcab563b5ab39..24306c4893c32 100644
--- a/pkgs/development/python-modules/pyspiflash/default.nix
+++ b/pkgs/development/python-modules/pyspiflash/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyspiflash";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyspinel/default.nix b/pkgs/development/python-modules/pyspinel/default.nix
index 69c06b8876d26..c969b471e019e 100644
--- a/pkgs/development/python-modules/pyspinel/default.nix
+++ b/pkgs/development/python-modules/pyspinel/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyspinel";
   version = "unstable-2021-08-19";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyspnego/default.nix b/pkgs/development/python-modules/pyspnego/default.nix
index 9107961653401..650af9af50a6b 100644
--- a/pkgs/development/python-modules/pyspnego/default.nix
+++ b/pkgs/development/python-modules/pyspnego/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pyspnego";
   version = "0.9.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pysqlcipher3/default.nix b/pkgs/development/python-modules/pysqlcipher3/default.nix
index 7441689895cb3..1b573628edda1 100644
--- a/pkgs/development/python-modules/pysqlcipher3/default.nix
+++ b/pkgs/development/python-modules/pysqlcipher3/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pysqlcipher3";
   version = "1.2.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.3";
 
diff --git a/pkgs/development/python-modules/pysrt/default.nix b/pkgs/development/python-modules/pysrt/default.nix
index ff48960f815b8..17122d24089ef 100644
--- a/pkgs/development/python-modules/pysrt/default.nix
+++ b/pkgs/development/python-modules/pysrt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pysrt";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "byroot";
diff --git a/pkgs/development/python-modules/pyssim/default.nix b/pkgs/development/python-modules/pyssim/default.nix
index b69bf47c96d76..820400e9e4ecb 100644
--- a/pkgs/development/python-modules/pyssim/default.nix
+++ b/pkgs/development/python-modules/pyssim/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyssim";
   version = "0.6";
+  format = "setuptools";
 
   propagatedBuildInputs = [ numpy scipy pillow ];
 
diff --git a/pkgs/development/python-modules/pystemd/default.nix b/pkgs/development/python-modules/pystemd/default.nix
index ff4c6f6692239..43d51869ffb82 100644
--- a/pkgs/development/python-modules/pystemd/default.nix
+++ b/pkgs/development/python-modules/pystemd/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pystemd";
   version = "0.13.2";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-Tc+ksTpVaFxJ09F8EGMeyhjDN3D2Yxb47yM3uJUcwUQ=";
diff --git a/pkgs/development/python-modules/pysvg-py3/default.nix b/pkgs/development/python-modules/pysvg-py3/default.nix
index 6f9ba796132e9..1647ce892ec9b 100644
--- a/pkgs/development/python-modules/pysvg-py3/default.nix
+++ b/pkgs/development/python-modules/pysvg-py3/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pysvg-py3";
   version = "0.2.2-post3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alorence";
diff --git a/pkgs/development/python-modules/pysyncthru/default.nix b/pkgs/development/python-modules/pysyncthru/default.nix
index d5761bebee7f5..568152605c77d 100644
--- a/pkgs/development/python-modules/pysyncthru/default.nix
+++ b/pkgs/development/python-modules/pysyncthru/default.nix
@@ -1,33 +1,40 @@
 { lib
-, isPy27
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
+, setuptools
 , aiohttp
 , demjson3
-, python
+, unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pysyncthru";
-  version = "0.7.10";
+  version = "0.8.0";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
+
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nielstron";
     repo = "pysyncthru";
-    rev = "release-${version}";
-    sha256 = "1c29w2ldrnq0vxr9cfa2pjhwdvrpw393c84khgg2y56jrkbidq53";
+    rev = "refs/tags/${version}";
+    hash = "sha256-Zije1WzfgIU9pT0H7T/Mx+5gEBCsRgMLkfsa/KB0YtI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     demjson3
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
 
   pythonImportsCheck = [ "pysyncthru" ];
 
diff --git a/pkgs/development/python-modules/pytabix/default.nix b/pkgs/development/python-modules/pytabix/default.nix
index fb2e622eac9c0..7ad01093b212b 100644
--- a/pkgs/development/python-modules/pytabix/default.nix
+++ b/pkgs/development/python-modules/pytabix/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytabix";
   version = "0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytankerkoenig/default.nix b/pkgs/development/python-modules/pytankerkoenig/default.nix
index 0a6403107ab8d..83c73a9d93d2a 100644
--- a/pkgs/development/python-modules/pytankerkoenig/default.nix
+++ b/pkgs/development/python-modules/pytankerkoenig/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pytankerkoenig";
   version = "0.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytapo/default.nix b/pkgs/development/python-modules/pytapo/default.nix
index 2d4c8286d6103..d0f7f79c5636b 100644
--- a/pkgs/development/python-modules/pytapo/default.nix
+++ b/pkgs/development/python-modules/pytapo/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pytapo";
-  version = "3.3.16";
+  version = "3.3.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-omeJUF4bY/FfXMmBvpVo3dr7B/pUy8YXt0DPaSe3VkA=";
+    hash = "sha256-CiLZ+FUmawZaKQxkDxYCv0Qs/djFuIVSyQ0eSi41HDg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyte/default.nix b/pkgs/development/python-modules/pyte/default.nix
index d74ec86528272..6968f568941ae 100644
--- a/pkgs/development/python-modules/pyte/default.nix
+++ b/pkgs/development/python-modules/pyte/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyte";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "selectel";
diff --git a/pkgs/development/python-modules/pytest-astropy/default.nix b/pkgs/development/python-modules/pytest-astropy/default.nix
index 5e1f9223019ae..40fb270b199a5 100644
--- a/pkgs/development/python-modules/pytest-astropy/default.nix
+++ b/pkgs/development/python-modules/pytest-astropy/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "pytest-astropy";
   version = "0.10.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytest-black/default.nix b/pkgs/development/python-modules/pytest-black/default.nix
index 918d53c4fa7f7..a5fbb9874c576 100644
--- a/pkgs/development/python-modules/pytest-black/default.nix
+++ b/pkgs/development/python-modules/pytest-black/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-black";
   version = "0.3.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-catchlog/default.nix b/pkgs/development/python-modules/pytest-catchlog/default.nix
index 58b69c4ce560e..4fbfd57fe583e 100644
--- a/pkgs/development/python-modules/pytest-catchlog/default.nix
+++ b/pkgs/development/python-modules/pytest-catchlog/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytest-catchlog";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-click/default.nix b/pkgs/development/python-modules/pytest-click/default.nix
index ffc13ca9eb58d..eaf81fa468db8 100644
--- a/pkgs/development/python-modules/pytest-click/default.nix
+++ b/pkgs/development/python-modules/pytest-click/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-click";
   version = "1.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-cov/default.nix b/pkgs/development/python-modules/pytest-cov/default.nix
index 7df529a837382..08ab3e4d10343 100644
--- a/pkgs/development/python-modules/pytest-cov/default.nix
+++ b/pkgs/development/python-modules/pytest-cov/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-cov";
   version = "4.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-cram/default.nix b/pkgs/development/python-modules/pytest-cram/default.nix
index 44322ef2d1b87..7aa58096f1bf7 100644
--- a/pkgs/development/python-modules/pytest-cram/default.nix
+++ b/pkgs/development/python-modules/pytest-cram/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.2.2";
+  format = "setuptools";
   pname = "pytest-cram";
 
   nativeCheckInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-dependency/default.nix b/pkgs/development/python-modules/pytest-dependency/default.nix
index 8cecd7f7f0bd2..6bb6463d00883 100644
--- a/pkgs/development/python-modules/pytest-dependency/default.nix
+++ b/pkgs/development/python-modules/pytest-dependency/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-dependency";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-django/default.nix b/pkgs/development/python-modules/pytest-django/default.nix
index f78a637a5b8ad..048bd9d483380 100644
--- a/pkgs/development/python-modules/pytest-django/default.nix
+++ b/pkgs/development/python-modules/pytest-django/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pytest-django";
   version = "4.5.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-dotenv/default.nix b/pkgs/development/python-modules/pytest-dotenv/default.nix
index 05e5da7ffdd54..9f045315f6d13 100644
--- a/pkgs/development/python-modules/pytest-dotenv/default.nix
+++ b/pkgs/development/python-modules/pytest-dotenv/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytest-dotenv";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-error-for-skips/default.nix b/pkgs/development/python-modules/pytest-error-for-skips/default.nix
index 7ed7972792a30..574e36c11970d 100644
--- a/pkgs/development/python-modules/pytest-error-for-skips/default.nix
+++ b/pkgs/development/python-modules/pytest-error-for-skips/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-error-for-skips";
   version = "2.0.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jankatins";
diff --git a/pkgs/development/python-modules/pytest-expect/default.nix b/pkgs/development/python-modules/pytest-expect/default.nix
index dfd498c6b1e16..df5376e310e74 100644
--- a/pkgs/development/python-modules/pytest-expect/default.nix
+++ b/pkgs/development/python-modules/pytest-expect/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pytest-expect";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-fixture-config/default.nix b/pkgs/development/python-modules/pytest-fixture-config/default.nix
index 32392f8f14ce5..31ab985dbff2d 100644
--- a/pkgs/development/python-modules/pytest-fixture-config/default.nix
+++ b/pkgs/development/python-modules/pytest-fixture-config/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pytest-fixture-config";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-flakes/default.nix b/pkgs/development/python-modules/pytest-flakes/default.nix
index ae92c18766a9e..d6709da423adf 100644
--- a/pkgs/development/python-modules/pytest-flakes/default.nix
+++ b/pkgs/development/python-modules/pytest-flakes/default.nix
@@ -8,6 +8,7 @@ buildPythonPackage rec {
   # retaining package to not break other packages
   pname = "pytest-flakes";
   version = "4.0.5";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytest-freezegun/default.nix b/pkgs/development/python-modules/pytest-freezegun/default.nix
index 95ccd9b77cd4e..0435eb095124b 100644
--- a/pkgs/development/python-modules/pytest-freezegun/default.nix
+++ b/pkgs/development/python-modules/pytest-freezegun/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-freezegun";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ktosiek";
diff --git a/pkgs/development/python-modules/pytest-grpc/default.nix b/pkgs/development/python-modules/pytest-grpc/default.nix
index da106064a8042..9918faad2c2e3 100644
--- a/pkgs/development/python-modules/pytest-grpc/default.nix
+++ b/pkgs/development/python-modules/pytest-grpc/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pytest-grpc";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-helpers-namespace/default.nix b/pkgs/development/python-modules/pytest-helpers-namespace/default.nix
index 7ac3fdc47f28b..6d1c3cf4f136d 100644
--- a/pkgs/development/python-modules/pytest-helpers-namespace/default.nix
+++ b/pkgs/development/python-modules/pytest-helpers-namespace/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pytest-helpers-namespace";
   version = "2021.12.29";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytest-lazy-fixture/default.nix b/pkgs/development/python-modules/pytest-lazy-fixture/default.nix
index 8f41c5c55b9c2..1b49ea4ce8e57 100644
--- a/pkgs/development/python-modules/pytest-lazy-fixture/default.nix
+++ b/pkgs/development/python-modules/pytest-lazy-fixture/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pytest-lazy-fixture";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix
index 63b64f2331997..9e90f9533d855 100644
--- a/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pytest-mpl";
   version = "0.16.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-mypy/default.nix b/pkgs/development/python-modules/pytest-mypy/default.nix
index 8514fbb7202a4..4e368fb1f1693 100644
--- a/pkgs/development/python-modules/pytest-mypy/default.nix
+++ b/pkgs/development/python-modules/pytest-mypy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-mypy";
   version = "0.10.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-openfiles/default.nix b/pkgs/development/python-modules/pytest-openfiles/default.nix
index ac7936c0146ee..29ea593acc374 100644
--- a/pkgs/development/python-modules/pytest-openfiles/default.nix
+++ b/pkgs/development/python-modules/pytest-openfiles/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pytest-openfiles";
   version = "0.5.0";
+  format = "setuptools";
   disabled = isPy27; # abandoned
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytest-plt/default.nix b/pkgs/development/python-modules/pytest-plt/default.nix
index 4893635c220ea..c1163516500e9 100644
--- a/pkgs/development/python-modules/pytest-plt/default.nix
+++ b/pkgs/development/python-modules/pytest-plt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-plt";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-pytestrail/default.nix b/pkgs/development/python-modules/pytest-pytestrail/default.nix
index 9378454cfc389..228e952436daa 100644
--- a/pkgs/development/python-modules/pytest-pytestrail/default.nix
+++ b/pkgs/development/python-modules/pytest-pytestrail/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pytest-pytestrail";
   version = "0.10.5";
+  format = "setuptools";
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
diff --git a/pkgs/development/python-modules/pytest-raisesregexp/default.nix b/pkgs/development/python-modules/pytest-raisesregexp/default.nix
index 78b99714378f6..edca8cbaa97dd 100644
--- a/pkgs/development/python-modules/pytest-raisesregexp/default.nix
+++ b/pkgs/development/python-modules/pytest-raisesregexp/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pytest-raisesregexp";
   version = "2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-random-order/default.nix b/pkgs/development/python-modules/pytest-random-order/default.nix
index 153bd7da3a7e1..5218f0a778e52 100644
--- a/pkgs/development/python-modules/pytest-random-order/default.nix
+++ b/pkgs/development/python-modules/pytest-random-order/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.1.0";
+  format = "setuptools";
   pname = "pytest-random-order";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytest-resource-path/default.nix b/pkgs/development/python-modules/pytest-resource-path/default.nix
index f82e5a661e41d..28e62eaa7e459 100644
--- a/pkgs/development/python-modules/pytest-resource-path/default.nix
+++ b/pkgs/development/python-modules/pytest-resource-path/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-resource-path";
   version = "1.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-server-fixtures/default.nix b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
index 7de68cadbb1e3..b0b5e8bfb98a2 100644
--- a/pkgs/development/python-modules/pytest-server-fixtures/default.nix
+++ b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pytest-server-fixtures";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-services/default.nix b/pkgs/development/python-modules/pytest-services/default.nix
index 41890215025ca..2a965000d4f08 100644
--- a/pkgs/development/python-modules/pytest-services/default.nix
+++ b/pkgs/development/python-modules/pytest-services/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pytest-services";
   version = "2.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix
index d3ea76b8a1bbe..6a1d75be5315a 100644
--- a/pkgs/development/python-modules/pytest-subprocess/default.nix
+++ b/pkgs/development/python-modules/pytest-subprocess/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pytest-subprocess";
   version = "1.5.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pytest-subtesthack/default.nix b/pkgs/development/python-modules/pytest-subtesthack/default.nix
index 775b3cc55251c..319fffe01db35 100644
--- a/pkgs/development/python-modules/pytest-subtesthack/default.nix
+++ b/pkgs/development/python-modules/pytest-subtesthack/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytest-subtesthack";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-testinfra/default.nix b/pkgs/development/python-modules/pytest-testinfra/default.nix
index 3f2cbf8d874ae..bdf97e9c5c314 100644
--- a/pkgs/development/python-modules/pytest-testinfra/default.nix
+++ b/pkgs/development/python-modules/pytest-testinfra/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pytest-testinfra";
   version = "10.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-tornado/default.nix b/pkgs/development/python-modules/pytest-tornado/default.nix
index b1e46802b450a..0a39ce94b2e2b 100644
--- a/pkgs/development/python-modules/pytest-tornado/default.nix
+++ b/pkgs/development/python-modules/pytest-tornado/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-tornado";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-tornasync/default.nix b/pkgs/development/python-modules/pytest-tornasync/default.nix
index 9fca8d8602620..c95165ea01f6c 100644
--- a/pkgs/development/python-modules/pytest-tornasync/default.nix
+++ b/pkgs/development/python-modules/pytest-tornasync/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pytest-tornasync";
   version = "0.6.0.post2";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-trio/default.nix b/pkgs/development/python-modules/pytest-trio/default.nix
index 872e9dc8fc0dd..243ea9781f3e6 100644
--- a/pkgs/development/python-modules/pytest-trio/default.nix
+++ b/pkgs/development/python-modules/pytest-trio/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pytest-trio";
   version = "0.8.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytest-vcr/default.nix b/pkgs/development/python-modules/pytest-vcr/default.nix
index 3887261ba5b56..eb28f2f74c287 100644
--- a/pkgs/development/python-modules/pytest-vcr/default.nix
+++ b/pkgs/development/python-modules/pytest-vcr/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pytest-vcr";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ktosiek";
diff --git a/pkgs/development/python-modules/pytest-virtualenv/default.nix b/pkgs/development/python-modules/pytest-virtualenv/default.nix
index 0feb637f4b509..408430d5127c2 100644
--- a/pkgs/development/python-modules/pytest-virtualenv/default.nix
+++ b/pkgs/development/python-modules/pytest-virtualenv/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pytest-virtualenv";
   version = "1.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-warnings/default.nix b/pkgs/development/python-modules/pytest-warnings/default.nix
index d088bde8b0c9d..594c27f18ec8d 100644
--- a/pkgs/development/python-modules/pytest-warnings/default.nix
+++ b/pkgs/development/python-modules/pytest-warnings/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytest-warnings";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytest-watch/default.nix b/pkgs/development/python-modules/pytest-watch/default.nix
index 077b3eca6bfa1..6158106d92deb 100644
--- a/pkgs/development/python-modules/pytest-watch/default.nix
+++ b/pkgs/development/python-modules/pytest-watch/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pytest-watch";
   version = "4.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-axolotl-curve25519/default.nix b/pkgs/development/python-modules/python-axolotl-curve25519/default.nix
index 1bd44dc3fc7c0..9d039abd13f9d 100644
--- a/pkgs/development/python-modules/python-axolotl-curve25519/default.nix
+++ b/pkgs/development/python-modules/python-axolotl-curve25519/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-axolotl-curve25519";
   version = "0.4.1.post2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-axolotl/default.nix b/pkgs/development/python-modules/python-axolotl/default.nix
index 3b55811f4e47c..3725d0359a4e0 100644
--- a/pkgs/development/python-modules/python-axolotl/default.nix
+++ b/pkgs/development/python-modules/python-axolotl/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-axolotl";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-baseconv/default.nix b/pkgs/development/python-modules/python-baseconv/default.nix
index f9ac014919c2d..6e9acbb7873c7 100644
--- a/pkgs/development/python-modules/python-baseconv/default.nix
+++ b/pkgs/development/python-modules/python-baseconv/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "python-baseconv";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version ;
diff --git a/pkgs/development/python-modules/python-bidi/default.nix b/pkgs/development/python-modules/python-bidi/default.nix
index 1a4a5d5b77cce..ea180de55d56e 100644
--- a/pkgs/development/python-modules/python-bidi/default.nix
+++ b/pkgs/development/python-modules/python-bidi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-bidi";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-cinderclient/default.nix b/pkgs/development/python-modules/python-cinderclient/default.nix
index 6473cb660086e..ea79dcf2f80b3 100644
--- a/pkgs/development/python-modules/python-cinderclient/default.nix
+++ b/pkgs/development/python-modules/python-cinderclient/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "python-cinderclient";
   version = "9.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-codon-tables/default.nix b/pkgs/development/python-modules/python-codon-tables/default.nix
index a3a5397c96c9c..455ea329675d3 100644
--- a/pkgs/development/python-modules/python-codon-tables/default.nix
+++ b/pkgs/development/python-modules/python-codon-tables/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python-codon-tables";
   version = "0.1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "python_codon_tables";
diff --git a/pkgs/development/python-modules/python-constraint/default.nix b/pkgs/development/python-modules/python-constraint/default.nix
index d26d7e91c96c7..7b191010aac58 100644
--- a/pkgs/development/python-modules/python-constraint/default.nix
+++ b/pkgs/development/python-modules/python-constraint/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-constraint";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "python-constraint";
diff --git a/pkgs/development/python-modules/python-csxcad/default.nix b/pkgs/development/python-modules/python-csxcad/default.nix
index 1044fe0a2748f..b7dc56ed27746 100644
--- a/pkgs/development/python-modules/python-csxcad/default.nix
+++ b/pkgs/development/python-modules/python-csxcad/default.nix
@@ -10,14 +10,10 @@
 
 buildPythonPackage rec {
   pname = "python-csxcad";
-  version = "unstable-2020-02-18";
+  version = csxcad.version;
+  format = "setuptools";
 
-  src = fetchFromGitHub {
-    owner = "thliebig";
-    repo = "CSXCAD";
-    rev = "ef6e40931dbd80e0959f37c8e9614c437bf7e518";
-    sha256 = "072s765jyzpdq8qqysdy0dld17m6sr9zfcs0ip2zk8c4imxaysnb";
-  };
+  src = csxcad.src;
 
   sourceRoot = "${src.name}/python";
 
diff --git a/pkgs/development/python-modules/python-ctags3/default.nix b/pkgs/development/python-modules/python-ctags3/default.nix
index 4c987250e49fe..245fa3209ccb0 100644
--- a/pkgs/development/python-modules/python-ctags3/default.nix
+++ b/pkgs/development/python-modules/python-ctags3/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-ctags3";
   version = "1.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "universal-ctags";
diff --git a/pkgs/development/python-modules/python-dbusmock/default.nix b/pkgs/development/python-modules/python-dbusmock/default.nix
index acb47fceb8b12..a987dc12e6bbb 100644
--- a/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/pkgs/development/python-modules/python-dbusmock/default.nix
@@ -21,6 +21,7 @@ let
 in buildPythonPackage rec {
   pname = "python-dbusmock";
   version = "0.29.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "martinpitt";
diff --git a/pkgs/development/python-modules/python-didl-lite/default.nix b/pkgs/development/python-modules/python-didl-lite/default.nix
index f808efe2c1310..bd19b5f827c6c 100644
--- a/pkgs/development/python-modules/python-didl-lite/default.nix
+++ b/pkgs/development/python-modules/python-didl-lite/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "python-didl-lite";
   version = "1.3.2";
+  format = "setuptools";
   disabled = pythonOlder "3.5.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/python-docx/default.nix b/pkgs/development/python-modules/python-docx/default.nix
index 36146bbe05e3e..79ba5c871a5ff 100644
--- a/pkgs/development/python-modules/python-docx/default.nix
+++ b/pkgs/development/python-modules/python-docx/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "python-docx";
   version = "0.8.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-doi/default.nix b/pkgs/development/python-modules/python-doi/default.nix
index e0cb03d611d1e..b917611deb36a 100644
--- a/pkgs/development/python-modules/python-doi/default.nix
+++ b/pkgs/development/python-modules/python-doi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-doi";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "papis";
diff --git a/pkgs/development/python-modules/python-dotenv/default.nix b/pkgs/development/python-modules/python-dotenv/default.nix
index e98e7baac2d54..b335a8a9831c7 100644
--- a/pkgs/development/python-modules/python-dotenv/default.nix
+++ b/pkgs/development/python-modules/python-dotenv/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "python-dotenv";
   version = "1.0.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/python-ecobee-api/default.nix b/pkgs/development/python-modules/python-ecobee-api/default.nix
index 644acb8a4883a..4d12ee0c99d7c 100644
--- a/pkgs/development/python-modules/python-ecobee-api/default.nix
+++ b/pkgs/development/python-modules/python-ecobee-api/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-ecobee-api";
   version = "0.2.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-editor/default.nix b/pkgs/development/python-modules/python-editor/default.nix
index 212e191568c3d..948076b5f2767 100644
--- a/pkgs/development/python-modules/python-editor/default.nix
+++ b/pkgs/development/python-modules/python-editor/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "1.0.4";
+  format = "setuptools";
   pname = "python-editor";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix
index d4a2ca1dd6b5e..6bc480b315de6 100644
--- a/pkgs/development/python-modules/python-efl/default.nix
+++ b/pkgs/development/python-modules/python-efl/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "python-efl";
   version = "1.26.1";
+  format = "setuptools";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/bindings/python/${pname}-${version}.tar.xz";
diff --git a/pkgs/development/python-modules/python-etcd/default.nix b/pkgs/development/python-modules/python-etcd/default.nix
index f9b01802c4210..4e711d914086b 100644
--- a/pkgs/development/python-modules/python-etcd/default.nix
+++ b/pkgs/development/python-modules/python-etcd/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "python-etcd";
   version = "0.4.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-ethtool/default.nix b/pkgs/development/python-modules/python-ethtool/default.nix
index e758f4a1ef71b..d91550e029131 100644
--- a/pkgs/development/python-modules/python-ethtool/default.nix
+++ b/pkgs/development/python-modules/python-ethtool/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "python-ethtool";
   version = "0.15";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fedora-python";
diff --git a/pkgs/development/python-modules/python-ev3dev2/default.nix b/pkgs/development/python-modules/python-ev3dev2/default.nix
index b5fc2e4fe537d..219678ef24218 100644
--- a/pkgs/development/python-modules/python-ev3dev2/default.nix
+++ b/pkgs/development/python-modules/python-ev3dev2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-ev3dev2";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ev3dev";
diff --git a/pkgs/development/python-modules/python-frontmatter/default.nix b/pkgs/development/python-modules/python-frontmatter/default.nix
index 4670d58420bb9..c359d4ee87f7c 100644
--- a/pkgs/development/python-modules/python-frontmatter/default.nix
+++ b/pkgs/development/python-modules/python-frontmatter/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-frontmatter";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "eyeseast";
diff --git a/pkgs/development/python-modules/python-google-nest/default.nix b/pkgs/development/python-modules/python-google-nest/default.nix
index 3d086fa2684e9..060ee10805c0a 100644
--- a/pkgs/development/python-modules/python-google-nest/default.nix
+++ b/pkgs/development/python-modules/python-google-nest/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "python-google-nest";
-  version = "5.1.1";
+  version = "5.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-y3BOhorVkJ3rFPifNOopLMqk6y1fHX5vxHGiqWvWHhE=";
+    hash = "sha256-k7cOOyUqgh7Y/MIBgBTVgCZexXLVkvAaHz6irXGLdgA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-hglib/default.nix b/pkgs/development/python-modules/python-hglib/default.nix
index b7492239382fd..5cce7429173f0 100644
--- a/pkgs/development/python-modules/python-hglib/default.nix
+++ b/pkgs/development/python-modules/python-hglib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-hglib";
   version = "2.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-hpilo/default.nix b/pkgs/development/python-modules/python-hpilo/default.nix
index c23f9eb4ac264..8ee2dafc47b23 100644
--- a/pkgs/development/python-modules/python-hpilo/default.nix
+++ b/pkgs/development/python-modules/python-hpilo/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python-hpilo";
   version = "4.4.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "seveas";
diff --git a/pkgs/development/python-modules/python-i18n/default.nix b/pkgs/development/python-modules/python-i18n/default.nix
index d12d8b841344b..d452cde8a0d7c 100644
--- a/pkgs/development/python-modules/python-i18n/default.nix
+++ b/pkgs/development/python-modules/python-i18n/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-i18n";
   version = "0.3.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "danhper";
diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix
index d8a28d81fcb42..10af09c067201 100644
--- a/pkgs/development/python-modules/python-ironicclient/default.nix
+++ b/pkgs/development/python-modules/python-ironicclient/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "python-ironicclient";
   version = "5.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-jenkins/default.nix b/pkgs/development/python-modules/python-jenkins/default.nix
index e4ff8f1e7e511..2632372f0dd84 100644
--- a/pkgs/development/python-modules/python-jenkins/default.nix
+++ b/pkgs/development/python-modules/python-jenkins/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "python-jenkins";
   version = "1.8.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-json-logger/default.nix b/pkgs/development/python-modules/python-json-logger/default.nix
index 603bc629e5ac6..b9400a2239ae0 100644
--- a/pkgs/development/python-modules/python-json-logger/default.nix
+++ b/pkgs/development/python-modules/python-json-logger/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-json-logger";
   version = "2.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-jsonrpc-server/default.nix b/pkgs/development/python-modules/python-jsonrpc-server/default.nix
index d60c1edcf9679..2cb13c747742e 100644
--- a/pkgs/development/python-modules/python-jsonrpc-server/default.nix
+++ b/pkgs/development/python-modules/python-jsonrpc-server/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "python-jsonrpc-server";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "palantir";
diff --git a/pkgs/development/python-modules/python-ldap-test/default.nix b/pkgs/development/python-modules/python-ldap-test/default.nix
index ed7a31b0cfe77..e88a49f4cc35f 100644
--- a/pkgs/development/python-modules/python-ldap-test/default.nix
+++ b/pkgs/development/python-modules/python-ldap-test/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-ldap-test";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-linux-procfs/default.nix b/pkgs/development/python-modules/python-linux-procfs/default.nix
index 4c025b1add9cf..2eacf7a0d69d0 100644
--- a/pkgs/development/python-modules/python-linux-procfs/default.nix
+++ b/pkgs/development/python-modules/python-linux-procfs/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-linux-procfs";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/libs/python/${pname}/${pname}.git";
diff --git a/pkgs/development/python-modules/python-logstash/default.nix b/pkgs/development/python-modules/python-logstash/default.nix
index 3f281d9696ecd..0ce49d98de036 100644
--- a/pkgs/development/python-modules/python-logstash/default.nix
+++ b/pkgs/development/python-modules/python-logstash/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-logstash";
   version = "0.4.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-louvain/default.nix b/pkgs/development/python-modules/python-louvain/default.nix
index 32bd611e704aa..c6161735d4352 100644
--- a/pkgs/development/python-modules/python-louvain/default.nix
+++ b/pkgs/development/python-modules/python-louvain/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-louvain";
   version = "0.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-lsp-black/default.nix b/pkgs/development/python-modules/python-lsp-black/default.nix
index d3b6a90c59255..63caba5e9d022 100644
--- a/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "python-lsp-black";
   version = "1.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/python-ly/default.nix b/pkgs/development/python-modules/python-ly/default.nix
index 3b4a7ecc11948..b1aa0c68b2090 100644
--- a/pkgs/development/python-modules/python-ly/default.nix
+++ b/pkgs/development/python-modules/python-ly/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-ly";
   version = "0.9.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-lzf/default.nix b/pkgs/development/python-modules/python-lzf/default.nix
index 61194ff8f9cbf..d7548fd8446f1 100644
--- a/pkgs/development/python-modules/python-lzf/default.nix
+++ b/pkgs/development/python-modules/python-lzf/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.2.4";
+  format = "setuptools";
   pname = "python-lzf";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
index 890cfb50c2cc7..efb32d8444ab2 100644
--- a/pkgs/development/python-modules/python-magic/default.nix
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "python-magic";
   version = "0.4.27";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ahupp";
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
index 5eee8f59c39b5..d887e0c3ae836 100644
--- a/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -29,6 +29,7 @@
 buildPythonPackage rec {
   pname = "python-mapnik";
   version = "unstable-2020-09-08";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mapnik";
@@ -126,6 +127,7 @@ buildPythonPackage rec {
     "test_raster_warping_does_not_overclip_source"
     "test_render_points"
     "test_render_with_scale_factor"
+    "test_style_level_comp_op"
     "test_style_level_image_filter"
     "test_that_coordinates_do_not_overflow_and_polygon_is_rendered_csv"
     "test_that_coordinates_do_not_overflow_and_polygon_is_rendered_memory"
@@ -135,6 +137,7 @@ buildPythonPackage rec {
     "test_wgs84_inverse_forward"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_passing_pycairo_context_pdf"
+    "test_passing_pycairo_context_svg"
   ];
 
   pythonImportsCheck = [ "mapnik" ];
diff --git a/pkgs/development/python-modules/python-markdown-math/default.nix b/pkgs/development/python-modules/python-markdown-math/default.nix
index 959448d2ea226..9ea32e8606462 100644
--- a/pkgs/development/python-modules/python-markdown-math/default.nix
+++ b/pkgs/development/python-modules/python-markdown-math/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-markdown-math";
   version = "0.8";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/python-memcached/default.nix b/pkgs/development/python-modules/python-memcached/default.nix
index 180e70f1c1d32..27a9eed537bb2 100644
--- a/pkgs/development/python-modules/python-memcached/default.nix
+++ b/pkgs/development/python-modules/python-memcached/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "python-memcached";
   version = "1.59";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "linsomniac";
diff --git a/pkgs/development/python-modules/python-mimeparse/default.nix b/pkgs/development/python-modules/python-mimeparse/default.nix
index e5aa879136b18..ddf89c914ad0b 100644
--- a/pkgs/development/python-modules/python-mimeparse/default.nix
+++ b/pkgs/development/python-modules/python-mimeparse/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-mimeparse";
   version = "1.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-mnist/default.nix b/pkgs/development/python-modules/python-mnist/default.nix
index 131c0f2f5acba..5937fceb1a9c8 100644
--- a/pkgs/development/python-modules/python-mnist/default.nix
+++ b/pkgs/development/python-modules/python-mnist/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-mnist";
   version = "0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix
index 4834b6bd9aa79..c0e72be598252 100644
--- a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix
+++ b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "python-mpv-jsonipc";
   version = "1.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/python-mystrom/default.nix b/pkgs/development/python-modules/python-mystrom/default.nix
index 16b634999c894..2d663e71ff899 100644
--- a/pkgs/development/python-modules/python-mystrom/default.nix
+++ b/pkgs/development/python-modules/python-mystrom/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-mystrom";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-nmap/default.nix b/pkgs/development/python-modules/python-nmap/default.nix
index a68794af5a4d2..d0f3129a321c1 100644
--- a/pkgs/development/python-modules/python-nmap/default.nix
+++ b/pkgs/development/python-modules/python-nmap/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-nmap";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-nvd3/default.nix b/pkgs/development/python-modules/python-nvd3/default.nix
index 6ad6b6d56de0c..7abdfd1ab3d51 100644
--- a/pkgs/development/python-modules/python-nvd3/default.nix
+++ b/pkgs/development/python-modules/python-nvd3/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-nvd3";
   version = "0.15.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "areski";
diff --git a/pkgs/development/python-modules/python-oauth2/default.nix b/pkgs/development/python-modules/python-oauth2/default.nix
index cd45cbe7d284b..cd1baccf286c8 100644
--- a/pkgs/development/python-modules/python-oauth2/default.nix
+++ b/pkgs/development/python-modules/python-oauth2/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python-oauth2";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
index e255a9b8915c1..8d0459e6eb633 100644
--- a/pkgs/development/python-modules/python-olm/default.nix
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage {
   pname = "python-olm";
+  format = "setuptools";
   inherit (olm) src version;
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/python-openems/default.nix b/pkgs/development/python-modules/python-openems/default.nix
index 7a186276dfc79..8da6b87f8ba5d 100644
--- a/pkgs/development/python-modules/python-openems/default.nix
+++ b/pkgs/development/python-modules/python-openems/default.nix
@@ -12,14 +12,10 @@
 
 buildPythonPackage rec {
   pname = "python-openems";
-  version = "unstable-2020-02-15";
+  version = openems.version;
+  format = "setuptools";
 
-  src = fetchFromGitHub {
-    owner = "thliebig";
-    repo = "openEMS";
-    rev = "ba793ac84e2f78f254d6d690bb5a4c626326bbfd";
-    sha256 = "1dca6b6ccy771irxzsj075zvpa3dlzv4mjb8xyg9d889dqlgyl45";
-  };
+  src = openems.src;
 
   sourceRoot = "${src.name}/python";
 
diff --git a/pkgs/development/python-modules/python-opensky/default.nix b/pkgs/development/python-modules/python-opensky/default.nix
index 0f23163d9affa..e6b7a41f6e68b 100644
--- a/pkgs/development/python-modules/python-opensky/default.nix
+++ b/pkgs/development/python-modules/python-opensky/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "python-opensky";
-  version = "0.2.1";
-  format = "pyproject";
+  version = "1.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "joostlek";
     repo = "python-opensky";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xNXFvCUZ/x5ox3KxmG3eA73wpX4fwhvAVmlfcKiT1V8=";
+    hash = "sha256-Ia6/Lr/uNuF1u0s4g0tpYaW+hKeLbUKxYC/O+ZBqiXI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix
index fdafe57d5ccf0..670fdaad51c8c 100644
--- a/pkgs/development/python-modules/python-openstackclient/default.nix
+++ b/pkgs/development/python-modules/python-openstackclient/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "python-openstackclient";
   version = "6.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-openzwave-mqtt/default.nix b/pkgs/development/python-modules/python-openzwave-mqtt/default.nix
index 68b51fc2fb3dd..1138f3820a11b 100644
--- a/pkgs/development/python-modules/python-openzwave-mqtt/default.nix
+++ b/pkgs/development/python-modules/python-openzwave-mqtt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-openzwave-mqtt";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "cgarwood";
diff --git a/pkgs/development/python-modules/python-osc/default.nix b/pkgs/development/python-modules/python-osc/default.nix
index 500e6beb0b0ef..86c5894d81789 100644
--- a/pkgs/development/python-modules/python-osc/default.nix
+++ b/pkgs/development/python-modules/python-osc/default.nix
@@ -1,22 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-osc";
   version = "1.8.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-pc4bpWyNgt9Ryz8pRrXdM6cFInkazEuFZOYtKyCtnKo=";
   };
 
-  pythonImportsCheck = [ "pythonosc" ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pythonosc"
+  ];
 
   meta = with lib; {
     description = "Open Sound Control server and client in pure python";
     homepage = "https://github.com/attwad/python-osc";
+    changelog = "https://github.com/attwad/python-osc/blob/v${version}/CHANGELOG.md";
     license = licenses.unlicense;
     maintainers = with maintainers; [ anirrudh ];
   };
diff --git a/pkgs/development/python-modules/python-owasp-zap-v2-4/default.nix b/pkgs/development/python-modules/python-owasp-zap-v2-4/default.nix
index ad8117b996bfb..e9ad3d9893ef2 100644
--- a/pkgs/development/python-modules/python-owasp-zap-v2-4/default.nix
+++ b/pkgs/development/python-modules/python-owasp-zap-v2-4/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "python-owasp-zap-v2-4";
   version = "0.0.18";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zaproxy";
diff --git a/pkgs/development/python-modules/python-packer/default.nix b/pkgs/development/python-modules/python-packer/default.nix
index 2e2b59eb29d41..d4380da9b4e97 100644
--- a/pkgs/development/python-modules/python-packer/default.nix
+++ b/pkgs/development/python-modules/python-packer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-packer";
   version = "0.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-periphery/default.nix b/pkgs/development/python-modules/python-periphery/default.nix
index feeb22373d87c..6437bbffe01cc 100644
--- a/pkgs/development/python-modules/python-periphery/default.nix
+++ b/pkgs/development/python-modules/python-periphery/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-periphery";
   version = "2.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-picnic-api/default.nix b/pkgs/development/python-modules/python-picnic-api/default.nix
index 4ff18224d2d83..b467a1a36f843 100644
--- a/pkgs/development/python-modules/python-picnic-api/default.nix
+++ b/pkgs/development/python-modules/python-picnic-api/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-picnic-api";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-pidfile/default.nix b/pkgs/development/python-modules/python-pidfile/default.nix
index 4bcc21ba1c770..b9629d7303cec 100644
--- a/pkgs/development/python-modules/python-pidfile/default.nix
+++ b/pkgs/development/python-modules/python-pidfile/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-pidfile";
   version = "3.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-pipedrive/default.nix b/pkgs/development/python-modules/python-pipedrive/default.nix
index a8d96043d8d70..a3c37ab5a5daa 100644
--- a/pkgs/development/python-modules/python-pipedrive/default.nix
+++ b/pkgs/development/python-modules/python-pipedrive/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-pipedrive";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-pkcs11/default.nix b/pkgs/development/python-modules/python-pkcs11/default.nix
index d0d4b4e98d392..788ab4a35f916 100644
--- a/pkgs/development/python-modules/python-pkcs11/default.nix
+++ b/pkgs/development/python-modules/python-pkcs11/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-pkcs11";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "danni";
diff --git a/pkgs/development/python-modules/python-pptx/default.nix b/pkgs/development/python-modules/python-pptx/default.nix
index e49dccec8206a..b18a5606f66b8 100644
--- a/pkgs/development/python-modules/python-pptx/default.nix
+++ b/pkgs/development/python-modules/python-pptx/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-pptx";
   version = "0.6.23";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-prctl/default.nix b/pkgs/development/python-modules/python-prctl/default.nix
index 05b73e43a8598..6ebb017e7fd79 100644
--- a/pkgs/development/python-modules/python-prctl/default.nix
+++ b/pkgs/development/python-modules/python-prctl/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-prctl";
   version = "1.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-ptrace/default.nix b/pkgs/development/python-modules/python-ptrace/default.nix
index 0ea759d92dcfa..790f1e58c2958 100644
--- a/pkgs/development/python-modules/python-ptrace/default.nix
+++ b/pkgs/development/python-modules/python-ptrace/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-ptrace";
   version = "0.9.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-registry/default.nix b/pkgs/development/python-modules/python-registry/default.nix
index ef5ba5b438be6..4f8c4beae6c96 100644
--- a/pkgs/development/python-modules/python-registry/default.nix
+++ b/pkgs/development/python-modules/python-registry/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-registry";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "williballenthin";
diff --git a/pkgs/development/python-modules/python-sat/default.nix b/pkgs/development/python-modules/python-sat/default.nix
index d7f62a49f12ff..dfc512f6bc552 100644
--- a/pkgs/development/python-modules/python-sat/default.nix
+++ b/pkgs/development/python-modules/python-sat/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-sat";
   version = "0.1.7.dev1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pysathq";
diff --git a/pkgs/development/python-modules/python-simple-hipchat/default.nix b/pkgs/development/python-modules/python-simple-hipchat/default.nix
index 1a7974ecd267a..754d7e79807e6 100644
--- a/pkgs/development/python-modules/python-simple-hipchat/default.nix
+++ b/pkgs/development/python-modules/python-simple-hipchat/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-simple-hipchat";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-status/default.nix b/pkgs/development/python-modules/python-status/default.nix
index 2633d93c312f3..cf3beab789b67 100644
--- a/pkgs/development/python-modules/python-status/default.nix
+++ b/pkgs/development/python-modules/python-status/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python-status";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-string-utils/default.nix b/pkgs/development/python-modules/python-string-utils/default.nix
index d0164062b90bf..17619b1b4db72 100644
--- a/pkgs/development/python-modules/python-string-utils/default.nix
+++ b/pkgs/development/python-modules/python-string-utils/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python-string-utils";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix
index 262f1d22e8ca5..7fab5e1364a15 100644
--- a/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "20.6";
+  version = "20.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-t6yHl2uNdGaTLdbQTXp3+zds2pab4T6Pe69mu31HahA=";
+    hash = "sha256-lUErrBF4iucgWRRT535pwaayYY+gLgsT6Zmc+FM8aE0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-telegram/default.nix b/pkgs/development/python-modules/python-telegram/default.nix
index 50a14d6ccc279..003806712d0e0 100644
--- a/pkgs/development/python-modules/python-telegram/default.nix
+++ b/pkgs/development/python-modules/python-telegram/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "python-telegram";
   version = "0.18.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/python-trovo/default.nix b/pkgs/development/python-modules/python-trovo/default.nix
index 6c443400d1c02..ae2b610ca3c7b 100644
--- a/pkgs/development/python-modules/python-trovo/default.nix
+++ b/pkgs/development/python-modules/python-trovo/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "python-trovo";
   version = "0.1.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/python-u2flib-host/default.nix b/pkgs/development/python-modules/python-u2flib-host/default.nix
index 94f56698a3e7f..e2f16cef34d9c 100644
--- a/pkgs/development/python-modules/python-u2flib-host/default.nix
+++ b/pkgs/development/python-modules/python-u2flib-host/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python-u2flib-host";
   version = "3.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-uinput/default.nix b/pkgs/development/python-modules/python-uinput/default.nix
index 8a187257ca76d..12ba28e04e68c 100644
--- a/pkgs/development/python-modules/python-uinput/default.nix
+++ b/pkgs/development/python-modules/python-uinput/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-uinput";
   version = "0.11.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-unshare/default.nix b/pkgs/development/python-modules/python-unshare/default.nix
index f80721078dbb0..86958dfc003e0 100644
--- a/pkgs/development/python-modules/python-unshare/default.nix
+++ b/pkgs/development/python-modules/python-unshare/default.nix
@@ -8,6 +8,7 @@ buildPythonPackage {
   # pypi version doesn't support Python 3 and the package didn't update for a long time:
   # https://github.com/TheTincho/python-unshare/pull/8
   version = "unstable-2018-05-20";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TheTincho";
diff --git a/pkgs/development/python-modules/python-vipaccess/default.nix b/pkgs/development/python-modules/python-vipaccess/default.nix
index a5a76bf45282c..94b1dbba5628f 100644
--- a/pkgs/development/python-modules/python-vipaccess/default.nix
+++ b/pkgs/development/python-modules/python-vipaccess/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-vipaccess";
   version = "0.14.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-vlc/default.nix b/pkgs/development/python-modules/python-vlc/default.nix
index bb603396c7871..cdc557bbe879d 100644
--- a/pkgs/development/python-modules/python-vlc/default.nix
+++ b/pkgs/development/python-modules/python-vlc/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "python-vlc";
-  version = "3.0.18122";
+  version = "3.0.20123";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EDm94oeFO0t7Yboi2DdhgyQ094UG2nYt+wYCkb8yiX0=";
+    hash = "sha256-JE+7njkqAyaEH8qSbW0SoqNsVGmCGR9JPxSPoZ5msdQ=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/python-whois/default.nix b/pkgs/development/python-modules/python-whois/default.nix
index 0a52e0b25c3e5..6cdfb81628a3a 100644
--- a/pkgs/development/python-modules/python-whois/default.nix
+++ b/pkgs/development/python-modules/python-whois/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "python-whois";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-wifi/default.nix b/pkgs/development/python-modules/python-wifi/default.nix
index a679100d37605..05936274eef01 100644
--- a/pkgs/development/python-modules/python-wifi/default.nix
+++ b/pkgs/development/python-modules/python-wifi/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-wifi";
   version = "0.6.1";
+  format = "setuptools";
   disabled = !isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/python-wink/default.nix b/pkgs/development/python-modules/python-wink/default.nix
index fa0dc670133ee..45f3604624743 100644
--- a/pkgs/development/python-modules/python-wink/default.nix
+++ b/pkgs/development/python-modules/python-wink/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "python-wink";
   version = "1.10.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python-xmp-toolkit/default.nix b/pkgs/development/python-modules/python-xmp-toolkit/default.nix
index 428bf73beb151..73957c33da267 100644
--- a/pkgs/development/python-modules/python-xmp-toolkit/default.nix
+++ b/pkgs/development/python-modules/python-xmp-toolkit/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "python-xmp-toolkit";
   version = "2.0.2";
+  format = "setuptools";
 
   # PyPi has version 2.0.1; the tests fail
   # There are commits for a 2.0.2 release that was never published
diff --git a/pkgs/development/python-modules/python3-application/default.nix b/pkgs/development/python-modules/python3-application/default.nix
index 9170ce7981156..b71ae929d17ff 100644
--- a/pkgs/development/python-modules/python3-application/default.nix
+++ b/pkgs/development/python-modules/python3-application/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python3-application";
   version = "3.0.6";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/python3-eventlib/default.nix b/pkgs/development/python-modules/python3-eventlib/default.nix
index 74abe970399c0..8a394a2d13136 100644
--- a/pkgs/development/python-modules/python3-eventlib/default.nix
+++ b/pkgs/development/python-modules/python3-eventlib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python3-eventlib";
   version = "0.3.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/python3-gnutls/default.nix b/pkgs/development/python-modules/python3-gnutls/default.nix
index 4fcd528ad97cc..72f695326d758 100644
--- a/pkgs/development/python-modules/python3-gnutls/default.nix
+++ b/pkgs/development/python-modules/python3-gnutls/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "python3-gnutls";
   version = "3.1.9";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/python3-openid/default.nix b/pkgs/development/python-modules/python3-openid/default.nix
index 769067f53fb0d..9c70c1ff94787 100644
--- a/pkgs/development/python-modules/python3-openid/default.nix
+++ b/pkgs/development/python-modules/python3-openid/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "python3-openid";
   version = "3.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/python_openzwave/default.nix b/pkgs/development/python-modules/python_openzwave/default.nix
index e24f4f65d53e9..dbd9c3d8c469f 100644
--- a/pkgs/development/python-modules/python_openzwave/default.nix
+++ b/pkgs/development/python-modules/python_openzwave/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "python_openzwave";
   version = "0.4.19";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/pythondialog/default.nix b/pkgs/development/python-modules/pythondialog/default.nix
index 3aa139b64b0ce..abf7b8e9eb2a2 100644
--- a/pkgs/development/python-modules/pythondialog/default.nix
+++ b/pkgs/development/python-modules/pythondialog/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pythondialog";
   version = "3.5.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pythran/default.nix b/pkgs/development/python-modules/pythran/default.nix
index dcb03ad0c5179..2c4095b532f5b 100644
--- a/pkgs/development/python-modules/pythran/default.nix
+++ b/pkgs/development/python-modules/pythran/default.nix
@@ -18,6 +18,7 @@ let
 in buildPythonPackage rec {
   pname = "pythran";
   version = "0.13.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "serge-sans-paille";
diff --git a/pkgs/development/python-modules/pytidylib/default.nix b/pkgs/development/python-modules/pytidylib/default.nix
index 20aa6f817160c..e8d417f0cec59 100644
--- a/pkgs/development/python-modules/pytidylib/default.nix
+++ b/pkgs/development/python-modules/pytidylib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytidylib";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytikz-allefeld/default.nix b/pkgs/development/python-modules/pytikz-allefeld/default.nix
new file mode 100644
index 0000000000000..fe59dc0a5208c
--- /dev/null
+++ b/pkgs/development/python-modules/pytikz-allefeld/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, pymupdf
+, numpy
+, ipython
+, texlive
+}:
+
+buildPythonPackage rec {
+  pname = "pytikz-allefeld"; # "pytikz" on pypi is a different module
+  version = "unstable-2022-11-01";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "allefeld";
+    repo = "pytikz";
+    rev = "f878ebd6ce5a647b1076228b48181b147a61abc1";
+    hash = "sha256-G59UUkpjttJKNBN0MB/A9CftO8tO3nv8qlTxt3/fKHk=";
+  };
+
+  propagatedBuildInputs = [
+    pymupdf
+    numpy
+    ipython
+  ];
+
+  pythonImportsCheck = [ "tikz" ];
+
+  nativeCheckInputs = [ texlive.combined.scheme-small ];
+  checkPhase = ''
+    runHook preCheck
+    python -c 'if 1:
+      from tikz import *
+      pic = Picture()
+      pic.draw(line([(0, 0), (1, 1)]))
+      print(pic.code())
+      pic.write_image("test.pdf")
+    '
+    test -s test.pdf
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/allefeld/pytikz";
+    description = "A Python interface to TikZ";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pbsds ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/python-modules/pytimeparse/default.nix b/pkgs/development/python-modules/pytimeparse/default.nix
index 257314860d502..41cfa632dd2e9 100644
--- a/pkgs/development/python-modules/pytimeparse/default.nix
+++ b/pkgs/development/python-modules/pytimeparse/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
     pname = "pytimeparse";
     version = "1.1.8";
+    format = "setuptools";
 
     src = fetchPypi {
       inherit pname version;
diff --git a/pkgs/development/python-modules/pytimeparse2/default.nix b/pkgs/development/python-modules/pytimeparse2/default.nix
index becbbb267e481..b35202e6fd4b1 100644
--- a/pkgs/development/python-modules/pytimeparse2/default.nix
+++ b/pkgs/development/python-modules/pytimeparse2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytimeparse2";
   version = "1.7.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "onegreyonewhite";
diff --git a/pkgs/development/python-modules/pytm/default.nix b/pkgs/development/python-modules/pytm/default.nix
index a1567c9383ed1..be8f5089466ed 100644
--- a/pkgs/development/python-modules/pytm/default.nix
+++ b/pkgs/development/python-modules/pytm/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pytm";
   version = "1.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pytomlpp/default.nix b/pkgs/development/python-modules/pytomlpp/default.nix
index 1081f31479640..eb25af8282782 100644
--- a/pkgs/development/python-modules/pytomlpp/default.nix
+++ b/pkgs/development/python-modules/pytomlpp/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pytomlpp";
   version = "1.0.13";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bobfang1992";
diff --git a/pkgs/development/python-modules/pytomorrowio/default.nix b/pkgs/development/python-modules/pytomorrowio/default.nix
index 1b5bd96110e8d..83d5af50c96fc 100644
--- a/pkgs/development/python-modules/pytomorrowio/default.nix
+++ b/pkgs/development/python-modules/pytomorrowio/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pytomorrowio";
   version = "0.3.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.9";
 
diff --git a/pkgs/development/python-modules/pytools/default.nix b/pkgs/development/python-modules/pytools/default.nix
index 0da6f9c8eb2cf..b3fa77915ea21 100644
--- a/pkgs/development/python-modules/pytools/default.nix
+++ b/pkgs/development/python-modules/pytools/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "pytools";
   version = "2023.1.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index b73af6f8658bf..ef2aaf634d2cf 100644
--- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname   = "pytorch-metric-learning";
   version = "2.3.0";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 56473cc95ae26..69f33db742a6a 100644
--- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pytorch-pfn-extras";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pfnet";
diff --git a/pkgs/development/python-modules/pytricia/default.nix b/pkgs/development/python-modules/pytricia/default.nix
index 01c4ea014adca..88bbce684fca7 100644
--- a/pkgs/development/python-modules/pytricia/default.nix
+++ b/pkgs/development/python-modules/pytricia/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pytricia";
   version = "unstable-2019-01-16";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jsommers";
diff --git a/pkgs/development/python-modules/pytun/default.nix b/pkgs/development/python-modules/pytun/default.nix
index 3437c0fbe7a56..0c16d8eb5f55a 100644
--- a/pkgs/development/python-modules/pytun/default.nix
+++ b/pkgs/development/python-modules/pytun/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pytun";
   version = "2.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     rev = "v${version}";
diff --git a/pkgs/development/python-modules/pytweening/default.nix b/pkgs/development/python-modules/pytweening/default.nix
index c97f4f7341e0d..32a433cafbf12 100644
--- a/pkgs/development/python-modules/pytweening/default.nix
+++ b/pkgs/development/python-modules/pytweening/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "pytweening";
   version = "1.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pytzdata/default.nix b/pkgs/development/python-modules/pytzdata/default.nix
index 342bb088170db..f6b8e94389256 100644
--- a/pkgs/development/python-modules/pytzdata/default.nix
+++ b/pkgs/development/python-modules/pytzdata/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pytzdata";
   version = "2020.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyuavcan/default.nix b/pkgs/development/python-modules/pyuavcan/default.nix
index f5152f8e9bf2d..33efaf5f790a1 100644
--- a/pkgs/development/python-modules/pyuavcan/default.nix
+++ b/pkgs/development/python-modules/pyuavcan/default.nix
@@ -4,6 +4,7 @@
  buildPythonPackage rec {
   pname = "pyuavcan";
   version = "1.1.0.dev1";
+  format = "setuptools";
   disabled = pythonOlder "3.7"; # only python>=3.7 is supported
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyudev/default.nix b/pkgs/development/python-modules/pyudev/default.nix
index 8c3c0d86f3b8c..685da38ed2f18 100644
--- a/pkgs/development/python-modules/pyudev/default.nix
+++ b/pkgs/development/python-modules/pyudev/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pyudev";
   version = "0.24.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyunifi/default.nix b/pkgs/development/python-modules/pyunifi/default.nix
index 0ac0a6941254e..5b0272076b9fc 100644
--- a/pkgs/development/python-modules/pyunifi/default.nix
+++ b/pkgs/development/python-modules/pyunifi/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pyunifi";
   version = "2.21";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyunifiprotect/default.nix b/pkgs/development/python-modules/pyunifiprotect/default.nix
index 00b0f3740c352..5d13ea6ce704e 100644
--- a/pkgs/development/python-modules/pyunifiprotect/default.nix
+++ b/pkgs/development/python-modules/pyunifiprotect/default.nix
@@ -2,9 +2,13 @@
 , aiofiles
 , aiohttp
 , aioshutil
+, async-timeout
 , buildPythonPackage
 , dateparser
 , fetchFromGitHub
+, ffmpeg
+, hatch-vcs
+, hatchling
 , ipython
 , orjson
 , packaging
@@ -22,37 +26,34 @@
 , python-dotenv
 , pythonOlder
 , pytz
-, setuptools
-, setuptools-scm
 , termcolor
 , typer
-, ffmpeg
 }:
 
 buildPythonPackage rec {
   pname = "pyunifiprotect";
-  version = "4.21.0";
-  format = "pyproject";
+  version = "4.22.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "briis";
-    repo = pname;
+    repo = "pyunifiprotect";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BFcICpWq0aBjEww9EuO6UH8oGX8fufernFqh/gihIrM=";
+    hash = "sha256-qzom1mLTfP683GCYlUav/MlOkYj+AiEe13b74ceW7gI=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "--cov=pyunifiprotect --cov-append" ""
+      --replace "--strict-markers -ra -Wd --ignore=.* --no-cov-on-fail --cov=pyunifiprotect --cov-append --maxfail=10 -n=auto" ""
   '';
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
-
   nativeBuildInputs = [
-    setuptools
-    setuptools-scm
+    hatch-vcs
+    hatchling
   ];
 
   propagatedBuildInputs = [
@@ -67,7 +68,10 @@ buildPythonPackage rec {
     pyjwt
     pytz
     typer
-  ] ++ typer.optional-dependencies.all;
+  ] ++ typer.optional-dependencies.all
+  ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
+  ];
 
   passthru.optional-dependencies = {
     shell = [
diff --git a/pkgs/development/python-modules/pyunpack/default.nix b/pkgs/development/python-modules/pyunpack/default.nix
index b6dff5a97d03c..ea7ad7d416a3a 100644
--- a/pkgs/development/python-modules/pyunpack/default.nix
+++ b/pkgs/development/python-modules/pyunpack/default.nix
@@ -1,16 +1,18 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , pytestCheckHook
 , easyprocess
 , entrypoint2
 , patool
+, cabextract
 }:
 
 buildPythonPackage rec {
   pname = "pyunpack";
   version = "0.3";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ponty";
@@ -23,15 +25,20 @@ buildPythonPackage rec {
     substituteInPlace pyunpack/__init__.py \
       --replace \
        '_exepath("patool")' \
-       '"${patool}/bin/.patool-wrapped"'
+       '"${lib.getBin patool}/bin/.patool-wrapped"'
   '';
 
+  nativeBuildInputs = [ setuptools ];
+
   propagatedBuildInputs = [
     easyprocess
     entrypoint2
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    cabextract
+  ];
 
   pytestFlagsArray = [ "-x" ];
 
diff --git a/pkgs/development/python-modules/pyupdate/default.nix b/pkgs/development/python-modules/pyupdate/default.nix
index cd0460dc7e194..34c4d1f54ae68 100644
--- a/pkgs/development/python-modules/pyupdate/default.nix
+++ b/pkgs/development/python-modules/pyupdate/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "pyupdate";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyusb/default.nix b/pkgs/development/python-modules/pyusb/default.nix
index 05fb6b682716d..091ee1b5f4f48 100644
--- a/pkgs/development/python-modules/pyusb/default.nix
+++ b/pkgs/development/python-modules/pyusb/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyusb";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyuseragents/default.nix b/pkgs/development/python-modules/pyuseragents/default.nix
index beafd4bff271d..0bfae94e02752 100644
--- a/pkgs/development/python-modules/pyuseragents/default.nix
+++ b/pkgs/development/python-modules/pyuseragents/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyuseragents";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Animenosekai";
diff --git a/pkgs/development/python-modules/pyutil/default.nix b/pkgs/development/python-modules/pyutil/default.nix
index 12a74c3f192cc..9b4023bc498d0 100644
--- a/pkgs/development/python-modules/pyutil/default.nix
+++ b/pkgs/development/python-modules/pyutil/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "pyutil";
   version = "3.3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyutilib/default.nix b/pkgs/development/python-modules/pyutilib/default.nix
index a8af2db236229..ba1670a92645a 100644
--- a/pkgs/development/python-modules/pyutilib/default.nix
+++ b/pkgs/development/python-modules/pyutilib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyutilib";
   version = "6.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyUtilib";
diff --git a/pkgs/development/python-modules/pyuv/default.nix b/pkgs/development/python-modules/pyuv/default.nix
index f3209e3bdf218..594e1d7b34e08 100644
--- a/pkgs/development/python-modules/pyuv/default.nix
+++ b/pkgs/development/python-modules/pyuv/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyuv";
   version = "1.4.0";
+  format = "setuptools";
   disabled = pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyvcd/default.nix b/pkgs/development/python-modules/pyvcd/default.nix
index ad79a35d5e04c..9f206dcda1bff 100644
--- a/pkgs/development/python-modules/pyvcd/default.nix
+++ b/pkgs/development/python-modules/pyvcd/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage rec {
   version = "0.4.0";
+  format = "setuptools";
   pname = "pyvcd";
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/pyverilog/default.nix b/pkgs/development/python-modules/pyverilog/default.nix
index 54456cf42789e..bc526604d87b1 100644
--- a/pkgs/development/python-modules/pyverilog/default.nix
+++ b/pkgs/development/python-modules/pyverilog/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyverilog";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index 70272d54ac8d6..a3872cdb858ba 100644
--- a/pkgs/development/python-modules/pyvips/default.nix
+++ b/pkgs/development/python-modules/pyvips/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pyvips";
   version = "2.2.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyvirtualdisplay/default.nix b/pkgs/development/python-modules/pyvirtualdisplay/default.nix
index 0ba6c4ba6c00f..b4d29851ef34f 100644
--- a/pkgs/development/python-modules/pyvirtualdisplay/default.nix
+++ b/pkgs/development/python-modules/pyvirtualdisplay/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pyvirtualdisplay";
   version = "3.0";
+  format = "setuptools";
 
   propagatedBuildInputs = [ easyprocess ];
 
diff --git a/pkgs/development/python-modules/pyvisa/default.nix b/pkgs/development/python-modules/pyvisa/default.nix
index 850b19e5b1af6..a104726ac8034 100644
--- a/pkgs/development/python-modules/pyvisa/default.nix
+++ b/pkgs/development/python-modules/pyvisa/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyvisa";
   version = "1.13.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyvizio/default.nix b/pkgs/development/python-modules/pyvizio/default.nix
index 567e8c4d5ebbe..41b42b85b0d90 100644
--- a/pkgs/development/python-modules/pyvizio/default.nix
+++ b/pkgs/development/python-modules/pyvizio/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "pyvizio";
   version = "0.1.61";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyvo/default.nix b/pkgs/development/python-modules/pyvo/default.nix
index 4498b4f150908..21dc11f2d6668 100644
--- a/pkgs/development/python-modules/pyvo/default.nix
+++ b/pkgs/development/python-modules/pyvo/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "pyvo";
   version = "1.4.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8"; # according to setup.cfg
 
diff --git a/pkgs/development/python-modules/pyvolumio/default.nix b/pkgs/development/python-modules/pyvolumio/default.nix
index 05dcbce167e86..aac4f9c73a710 100644
--- a/pkgs/development/python-modules/pyvolumio/default.nix
+++ b/pkgs/development/python-modules/pyvolumio/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyvolumio";
   version = "0.1.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/pyvoro/default.nix b/pkgs/development/python-modules/pyvoro/default.nix
index 595fa345f303b..5c17554935d2e 100644
--- a/pkgs/development/python-modules/pyvoro/default.nix
+++ b/pkgs/development/python-modules/pyvoro/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "1.3.2";
+  format = "setuptools";
   pname = "pyvoro";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pywal/default.nix b/pkgs/development/python-modules/pywal/default.nix
index 2e09573d848c8..2f73d23eb70a0 100644
--- a/pkgs/development/python-modules/pywal/default.nix
+++ b/pkgs/development/python-modules/pywal/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pywal";
   version = "3.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pywatchman/default.nix b/pkgs/development/python-modules/pywatchman/default.nix
index a2cd2a6eed5ad..013ca015df94c 100644
--- a/pkgs/development/python-modules/pywatchman/default.nix
+++ b/pkgs/development/python-modules/pywatchman/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "pywatchman";
   version = "1.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pywayland/default.nix b/pkgs/development/python-modules/pywayland/default.nix
index 591fb0026c2bd..6930f4ba374d5 100644
--- a/pkgs/development/python-modules/pywayland/default.nix
+++ b/pkgs/development/python-modules/pywayland/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pywayland";
   version = "0.4.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pywebpush/default.nix b/pkgs/development/python-modules/pywebpush/default.nix
index 806f8e2138311..501d0a56f783a 100644
--- a/pkgs/development/python-modules/pywebpush/default.nix
+++ b/pkgs/development/python-modules/pywebpush/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "pywebpush";
   version = "1.14.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyworld/default.nix b/pkgs/development/python-modules/pyworld/default.nix
index bf31d646ff5f8..cf1547c8cab6f 100644
--- a/pkgs/development/python-modules/pyworld/default.nix
+++ b/pkgs/development/python-modules/pyworld/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyworld";
   version = "0.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyx/default.nix b/pkgs/development/python-modules/pyx/default.nix
index 1774e89ed753c..393f631233228 100644
--- a/pkgs/development/python-modules/pyx/default.nix
+++ b/pkgs/development/python-modules/pyx/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyx";
   version = "0.16";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyxattr/default.nix b/pkgs/development/python-modules/pyxattr/default.nix
index 2bc4a9bf950e6..ebb922c8d97a5 100644
--- a/pkgs/development/python-modules/pyxattr/default.nix
+++ b/pkgs/development/python-modules/pyxattr/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
     pname = "pyxattr";
     version = "0.8.1";
+    format = "setuptools";
 
     src = fetchPypi {
       inherit pname version;
diff --git a/pkgs/development/python-modules/pyxdg/default.nix b/pkgs/development/python-modules/pyxdg/default.nix
index 9e3c24fdb6d34..a5ef39c2f69a6 100644
--- a/pkgs/development/python-modules/pyxdg/default.nix
+++ b/pkgs/development/python-modules/pyxdg/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "pyxdg";
   version = "0.28";
+  format = "setuptools";
 
   src =  fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
diff --git a/pkgs/development/python-modules/pyxeoma/default.nix b/pkgs/development/python-modules/pyxeoma/default.nix
index 2fa840078df81..2036440a4699b 100644
--- a/pkgs/development/python-modules/pyxeoma/default.nix
+++ b/pkgs/development/python-modules/pyxeoma/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyxeoma";
   version = "1.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/pyxiaomigateway/default.nix b/pkgs/development/python-modules/pyxiaomigateway/default.nix
index dd9ceacc1f9ea..dde2e8df94ae3 100644
--- a/pkgs/development/python-modules/pyxiaomigateway/default.nix
+++ b/pkgs/development/python-modules/pyxiaomigateway/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "pyxiaomigateway";
   version = "0.14.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
diff --git a/pkgs/development/python-modules/pyxl3/default.nix b/pkgs/development/python-modules/pyxl3/default.nix
index 1242697abab32..e6f940e0272f0 100644
--- a/pkgs/development/python-modules/pyxl3/default.nix
+++ b/pkgs/development/python-modules/pyxl3/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyxl3";
   version = "1.4";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/pyxnat/default.nix b/pkgs/development/python-modules/pyxnat/default.nix
index e8956dba3484c..80b26e7080fcd 100644
--- a/pkgs/development/python-modules/pyxnat/default.nix
+++ b/pkgs/development/python-modules/pyxnat/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pyxnat";
   version = "1.6";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   # PyPI dist missing test configuration files:
diff --git a/pkgs/development/python-modules/pyyaml-env-tag/default.nix b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
index 208f608855c56..71488c1bb5eb7 100644
--- a/pkgs/development/python-modules/pyyaml-env-tag/default.nix
+++ b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "pyyaml-env-tag";
   version = "0.1";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyzbar/default.nix b/pkgs/development/python-modules/pyzbar/default.nix
index fca8feab0c3f6..60241e40773fa 100644
--- a/pkgs/development/python-modules/pyzbar/default.nix
+++ b/pkgs/development/python-modules/pyzbar/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "pyzbar";
   version = "0.1.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "NaturalHistoryMuseum";
diff --git a/pkgs/development/python-modules/qdarkstyle/default.nix b/pkgs/development/python-modules/qdarkstyle/default.nix
index f83a741dfd900..7c35ba6869292 100644
--- a/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/pkgs/development/python-modules/qdarkstyle/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "qdarkstyle";
   version = "3.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/qdldl/default.nix b/pkgs/development/python-modules/qdldl/default.nix
index 8369bbf2a33d3..1a988afce4288 100644
--- a/pkgs/development/python-modules/qdldl/default.nix
+++ b/pkgs/development/python-modules/qdldl/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "qdldl";
   version = "0.1.7.post0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/qgrid/default.nix b/pkgs/development/python-modules/qgrid/default.nix
index f5758c3182d91..778a9eae37145 100644
--- a/pkgs/development/python-modules/qgrid/default.nix
+++ b/pkgs/development/python-modules/qgrid/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "qgrid";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/qimage2ndarray/default.nix b/pkgs/development/python-modules/qimage2ndarray/default.nix
index 2aead62789f7a..2a5f575fb117d 100644
--- a/pkgs/development/python-modules/qimage2ndarray/default.nix
+++ b/pkgs/development/python-modules/qimage2ndarray/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "qimage2ndarray";
   version = "1.10.0";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix
index e774990fb9998..ecd8905583e2b 100644
--- a/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -147,7 +147,7 @@ buildPythonPackage rec {
   postCheck = "popd";
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
+    broken = true;
     description = "High performance simulators for Qiskit";
     homepage = "https://qiskit.org/aer";
     downloadPage = "https://github.com/QISKit/qiskit-aer/releases";
diff --git a/pkgs/development/python-modules/qiskit-finance/default.nix b/pkgs/development/python-modules/qiskit-finance/default.nix
index 880804ff8527c..559ed8f69bbea 100644
--- a/pkgs/development/python-modules/qiskit-finance/default.nix
+++ b/pkgs/development/python-modules/qiskit-finance/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "qiskit-finance";
   version = "0.3.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 4bf996a26507e..24bee7d9dbc4b 100644
--- a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
@@ -41,6 +41,7 @@ in
 buildPythonPackage rec {
   pname = "qiskit-ibmq-provider";
   version = "0.20.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-ignis/default.nix b/pkgs/development/python-modules/qiskit-ignis/default.nix
index 2c963271a4dbd..9fbaa5957fee8 100644
--- a/pkgs/development/python-modules/qiskit-ignis/default.nix
+++ b/pkgs/development/python-modules/qiskit-ignis/default.nix
@@ -24,6 +24,7 @@
 buildPythonPackage rec {
   pname = "qiskit-ignis";
   version = "0.7.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
index 1c23fb3b0398d..da26fa3a27318 100644
--- a/pkgs/development/python-modules/qiskit-machine-learning/default.nix
+++ b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "qiskit-machine-learning";
   version = "0.6.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-nature/default.nix b/pkgs/development/python-modules/qiskit-nature/default.nix
index 8fc30687f69e4..b9083bdcd51fd 100644
--- a/pkgs/development/python-modules/qiskit-nature/default.nix
+++ b/pkgs/development/python-modules/qiskit-nature/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "qiskit-nature";
   version = "0.6.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-optimization/default.nix b/pkgs/development/python-modules/qiskit-optimization/default.nix
index f68149529e648..bd3d8251f10a0 100644
--- a/pkgs/development/python-modules/qiskit-optimization/default.nix
+++ b/pkgs/development/python-modules/qiskit-optimization/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "qiskit-optimization";
   version = "0.5.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index 2c290493b063d..596f9d619d2ec 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -1,11 +1,13 @@
 { stdenv
 , lib
+, pythonAtLeast
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
 , cargo
 , rustPlatform
 , rustc
+, libiconv
   # Python requirements
 , dill
 , numpy
@@ -59,8 +61,9 @@ in
 buildPythonPackage rec {
   pname = "qiskit-terra";
   version = "0.25.1";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.7" || pythonAtLeast "3.11";
 
   src = fetchFromGitHub {
     owner = "qiskit";
@@ -71,10 +74,12 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools-rust rustc cargo rustPlatform.cargoSetupHook ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-SXC0UqWjWqLlZvKCRBylSX73r4Vale130KzS0zM8gjQ=";
+    hash = "sha256-f5VLNxv9DKwfRy5zacydfz4Zrkbiee7JecOAbVelSto=";
   };
 
   propagatedBuildInputs = [
@@ -116,6 +121,8 @@ buildPythonPackage rec {
     "test/randomized/"
     # These tests consistently fail on GitHub Actions build
     "test/python/quantum_info/operators/test_random.py"
+    # Too many floating point arithmetic errors
+    "test/visual/mpl/circuit/test_circuit_matplotlib_drawer.py"
   ];
   pytestFlagsArray = [ "--durations=10" ];
   disabledTests = [
@@ -125,6 +132,11 @@ buildPythonPackage rec {
     "TestGraphMatplotlibDrawer"
     "test_copy" # assertNotIn doesn't seem to work as expected w/ pytest vs unittest
 
+    "test_bound_pass_manager" # AssertionError: 0 != 2
+    "test_complex_parameter_bound_to_real" # qiskit.circuit.exceptions.CircuitError: "Invalid param type <class 'complex'> for gate rx."
+    "test_expressions_of_parameter_with_constant" # Floating point arithmetic error
+    "test_handle_measurement" # AssertionError: The two circuits are not equal
+
     # Flaky tests
     "test_pulse_limits" # Fails on GitHub Actions, probably due to minor floating point arithmetic error.
     "test_cx_equivalence"  # Fails due to flaky test
@@ -195,7 +207,6 @@ buildPythonPackage rec {
 
 
   meta = with lib; {
-    broken = true; # tests segfault python
     description = "Provides the foundations for Qiskit.";
     longDescription = ''
       Allows the user to write quantum circuits easily, and takes care of the constraints of real hardware.
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 9539564132636..13d70a2d472aa 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -29,6 +29,7 @@ buildPythonPackage rec {
   pname = "qiskit";
   # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
   version = "0.41.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/qt-material/default.nix b/pkgs/development/python-modules/qt-material/default.nix
index c7c195cdfc48f..25885676a9daf 100644
--- a/pkgs/development/python-modules/qt-material/default.nix
+++ b/pkgs/development/python-modules/qt-material/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "qt-material";
   version = "2.14";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/qt5reactor/default.nix b/pkgs/development/python-modules/qt5reactor/default.nix
index e479e53dec563..07420ca1502d9 100644
--- a/pkgs/development/python-modules/qt5reactor/default.nix
+++ b/pkgs/development/python-modules/qt5reactor/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "qt5reactor";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/qtile/default.nix b/pkgs/development/python-modules/qtile/default.nix
index 7e6d4a826eeb4..15806119cb787 100644
--- a/pkgs/development/python-modules/qtile/default.nix
+++ b/pkgs/development/python-modules/qtile/default.nix
@@ -33,6 +33,7 @@
 buildPythonPackage rec {
   pname = "qtile";
   version = "0.23.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "qtile";
diff --git a/pkgs/development/python-modules/quamash/default.nix b/pkgs/development/python-modules/quamash/default.nix
index bca7c8dc7d63c..7257f480696d0 100644
--- a/pkgs/development/python-modules/quamash/default.nix
+++ b/pkgs/development/python-modules/quamash/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "quamash";
   version = "0.6.1";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/queuelib/default.nix b/pkgs/development/python-modules/queuelib/default.nix
index 71e09ef98ed52..e9643b813d77b 100644
--- a/pkgs/development/python-modules/queuelib/default.nix
+++ b/pkgs/development/python-modules/queuelib/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "queuelib";
   version = "1.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/r2pipe/default.nix b/pkgs/development/python-modules/r2pipe/default.nix
index ad258fc123ef8..995a839ebf2d0 100644
--- a/pkgs/development/python-modules/r2pipe/default.nix
+++ b/pkgs/development/python-modules/r2pipe/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "r2pipe";
-  version = "1.8.0";
+  version = "1.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-T1w4QG0KBPBekETd+nMNbvPF2mgBZgQ/jhWcP9694mg=";
+    hash = "sha256-JloEScP6pvUcIdL7VidD60hFPCSqOByMDttDUwDJkxs=";
   };
 
   # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't
diff --git a/pkgs/development/python-modules/rachiopy/default.nix b/pkgs/development/python-modules/rachiopy/default.nix
index ccd1f9aef64d3..83a0ef3146d5a 100644
--- a/pkgs/development/python-modules/rachiopy/default.nix
+++ b/pkgs/development/python-modules/rachiopy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "rachiopy";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rfverbruggen";
diff --git a/pkgs/development/python-modules/radicale_infcloud/default.nix b/pkgs/development/python-modules/radicale_infcloud/default.nix
index e862c70c1223b..cbc4be6e7aa11 100644
--- a/pkgs/development/python-modules/radicale_infcloud/default.nix
+++ b/pkgs/development/python-modules/radicale_infcloud/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "radicale_infcloud";
   version = "unstable-2022-04-18";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Unrud";
diff --git a/pkgs/development/python-modules/radiotherm/default.nix b/pkgs/development/python-modules/radiotherm/default.nix
index e7cd4fb1f8541..1d62144e00cc8 100644
--- a/pkgs/development/python-modules/radiotherm/default.nix
+++ b/pkgs/development/python-modules/radiotherm/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "radiotherm";
   version = "2.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/rainbowstream/default.nix b/pkgs/development/python-modules/rainbowstream/default.nix
index a210429e98506..9d20fa6a09f6b 100644
--- a/pkgs/development/python-modules/rainbowstream/default.nix
+++ b/pkgs/development/python-modules/rainbowstream/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "rainbowstream";
   version = "1.5.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "orakaro";
diff --git a/pkgs/development/python-modules/ramlfications/default.nix b/pkgs/development/python-modules/ramlfications/default.nix
index 081a3a2857188..3c2be0da47928 100644
--- a/pkgs/development/python-modules/ramlfications/default.nix
+++ b/pkgs/development/python-modules/ramlfications/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ramlfications";
   version = "0.1.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/random2/default.nix b/pkgs/development/python-modules/random2/default.nix
index cb84d32ef414c..ee289b906d343 100644
--- a/pkgs/development/python-modules/random2/default.nix
+++ b/pkgs/development/python-modules/random2/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "random2";
   version = "1.0.1";
+  format = "setuptools";
   doCheck = !isPyPy;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/rapidfuzz-capi/default.nix b/pkgs/development/python-modules/rapidfuzz-capi/default.nix
index b0235f1eda448..9444b949a5105 100644
--- a/pkgs/development/python-modules/rapidfuzz-capi/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz-capi/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "rapidfuzz-capi";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "maxbachmann";
diff --git a/pkgs/development/python-modules/rarfile/default.nix b/pkgs/development/python-modules/rarfile/default.nix
index 2f988ddace7f6..702e47b4bdf63 100644
--- a/pkgs/development/python-modules/rarfile/default.nix
+++ b/pkgs/development/python-modules/rarfile/default.nix
@@ -9,6 +9,7 @@ assert !useUnrar -> libarchive != null;
 buildPythonPackage rec {
   pname = "rarfile";
   version = "4.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ratarmount/default.nix b/pkgs/development/python-modules/ratarmount/default.nix
index 1555dfca2197a..f07b28bec4f40 100644
--- a/pkgs/development/python-modules/ratarmount/default.nix
+++ b/pkgs/development/python-modules/ratarmount/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ratarmount";
   version = "0.14.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/ratarmountcore/default.nix b/pkgs/development/python-modules/ratarmountcore/default.nix
index 49ffdb17cfa5e..90a45cecdb7ad 100644
--- a/pkgs/development/python-modules/ratarmountcore/default.nix
+++ b/pkgs/development/python-modules/ratarmountcore/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "ratarmountcore";
   version = "0.6.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/ratelim/default.nix b/pkgs/development/python-modules/ratelim/default.nix
index 8fc3323ce1b5b..c271b44ca32f9 100644
--- a/pkgs/development/python-modules/ratelim/default.nix
+++ b/pkgs/development/python-modules/ratelim/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "ratelim";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ratelimit/default.nix b/pkgs/development/python-modules/ratelimit/default.nix
index 7a1af77df0e26..5a2c40efd1055 100644
--- a/pkgs/development/python-modules/ratelimit/default.nix
+++ b/pkgs/development/python-modules/ratelimit/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "ratelimit";
   version = "2.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tomasbasham";
diff --git a/pkgs/development/python-modules/raven/default.nix b/pkgs/development/python-modules/raven/default.nix
index cdcec2bf249d0..dec666782d12c 100644
--- a/pkgs/development/python-modules/raven/default.nix
+++ b/pkgs/development/python-modules/raven/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "raven";
   version = "6.10.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "getsentry";
diff --git a/pkgs/development/python-modules/rawkit/default.nix b/pkgs/development/python-modules/rawkit/default.nix
index 83252b1c3338f..7a644220e93a9 100644
--- a/pkgs/development/python-modules/rawkit/default.nix
+++ b/pkgs/development/python-modules/rawkit/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "rawkit";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 1c99ee0fc8df8..470a8051020fb 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "rbtools";
   version = "1.0.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/readability-lxml/default.nix b/pkgs/development/python-modules/readability-lxml/default.nix
index 6b04c0f1cd916..b1360d7bf5206 100644
--- a/pkgs/development/python-modules/readability-lxml/default.nix
+++ b/pkgs/development/python-modules/readability-lxml/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "readability-lxml";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "buriy";
diff --git a/pkgs/development/python-modules/readlike/default.nix b/pkgs/development/python-modules/readlike/default.nix
index 6fc271f7811a0..da43d1cec2ceb 100644
--- a/pkgs/development/python-modules/readlike/default.nix
+++ b/pkgs/development/python-modules/readlike/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "readlike";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jangler";
diff --git a/pkgs/development/python-modules/readme/default.nix b/pkgs/development/python-modules/readme/default.nix
index 6a43bcdc3e069..3d18bb8df7f5e 100644
--- a/pkgs/development/python-modules/readme/default.nix
+++ b/pkgs/development/python-modules/readme/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "readme";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index fc2fd653083d5..0ce923663f886 100644
--- a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
   version = "2.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/recommonmark/default.nix b/pkgs/development/python-modules/recommonmark/default.nix
index ebe070f2735f7..3faf8493043ab 100644
--- a/pkgs/development/python-modules/recommonmark/default.nix
+++ b/pkgs/development/python-modules/recommonmark/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "recommonmark";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rtfd";
diff --git a/pkgs/development/python-modules/redbaron/default.nix b/pkgs/development/python-modules/redbaron/default.nix
index 46123c39496f0..52a3ac5b265e9 100644
--- a/pkgs/development/python-modules/redbaron/default.nix
+++ b/pkgs/development/python-modules/redbaron/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "redbaron";
   version = "0.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/reflink/default.nix b/pkgs/development/python-modules/reflink/default.nix
index 44106c6ca8142..ab7504cf2f312 100644
--- a/pkgs/development/python-modules/reflink/default.nix
+++ b/pkgs/development/python-modules/reflink/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "reflink";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 316d81b706582..86a41f4a9f0d9 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "reikna";
   version = "0.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/remi/default.nix b/pkgs/development/python-modules/remi/default.nix
index 1a6ac76db05c0..b1f28e269099e 100644
--- a/pkgs/development/python-modules/remi/default.nix
+++ b/pkgs/development/python-modules/remi/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "remi";
   version = "2022.7.27";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rawpython";
diff --git a/pkgs/development/python-modules/remote-pdb/default.nix b/pkgs/development/python-modules/remote-pdb/default.nix
index cbaf07ebe2b96..5081c34c3c464 100644
--- a/pkgs/development/python-modules/remote-pdb/default.nix
+++ b/pkgs/development/python-modules/remote-pdb/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "remote-pdb";
   version = "2.1.0";
+  format = "setuptools";
   src = fetchFromGitHub {
     owner = "ionelmc";
     repo = "python-remote-pdb";
diff --git a/pkgs/development/python-modules/renson-endura-delta/default.nix b/pkgs/development/python-modules/renson-endura-delta/default.nix
new file mode 100644
index 0000000000000..013678d5eeec9
--- /dev/null
+++ b/pkgs/development/python-modules/renson-endura-delta/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "renson-endura-delta";
+  version = "1.7.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jimmyd-be";
+    repo = "Renson-endura-delta-library";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ndk0qcRUWxUimNHg62UgeYK/MRKQd3e4JQDh9x8vFj8=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'" ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [
+    "renson_endura_delta"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Renson endura delta";
+    homepage = "https://github.com/jimmyd-be/Renson-endura-delta-library";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/reolink-aio/default.nix b/pkgs/development/python-modules/reolink-aio/default.nix
index 2fbacc6ea9809..9cd9b8c22aaeb 100644
--- a/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/pkgs/development/python-modules/reolink-aio/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-zxIx7+cpYKN811yz+nxjtOagHOMMIs1YU0ZLN9q5T7M=";
+    hash = "sha256-HqGxKIP1Zdj7wgHVvnWXdHol9tvGKiXbEytnon4epFU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/reorder-python-imports/default.nix b/pkgs/development/python-modules/reorder-python-imports/default.nix
index 1c5417c75a19e..e3af1cb11cc5d 100644
--- a/pkgs/development/python-modules/reorder-python-imports/default.nix
+++ b/pkgs/development/python-modules/reorder-python-imports/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "reorder-python-imports";
   version = "3.12.0";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/reparser/default.nix b/pkgs/development/python-modules/reparser/default.nix
index 90d701a0e4651..fe0befde9db1b 100644
--- a/pkgs/development/python-modules/reparser/default.nix
+++ b/pkgs/development/python-modules/reparser/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "reparser";
   version = "1.4.3";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/repath/default.nix b/pkgs/development/python-modules/repath/default.nix
index f66a42155da0d..b052b408e9f4c 100644
--- a/pkgs/development/python-modules/repath/default.nix
+++ b/pkgs/development/python-modules/repath/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "repath";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/repocheck/default.nix b/pkgs/development/python-modules/repocheck/default.nix
index 9d6c2c419216d..0fbfbbb25269c 100644
--- a/pkgs/development/python-modules/repocheck/default.nix
+++ b/pkgs/development/python-modules/repocheck/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "repocheck";
   version = "2015-08-05";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     sha256 = "1jc4v5zy7z7xlfmbfzvyzkyz893f5x2k6kvb3ni3rn2df7jqhc81";
diff --git a/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch b/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch
deleted file mode 100644
index 5c9d4404f97e6..0000000000000
--- a/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 7625074..b3aa2fc 100644
---- a/setup.py
-+++ b/setup.py
-@@ -249,7 +249,7 @@ class inc_lib_dirs:
-             aDir(L, os.path.join("/usr/lib", "python%s" % sys.version[:3], "config"))
-         elif platform == "darwin":
-             machine = sysconfig_platform.split('-')[-1]
--            if machine=='arm64' or os.environ.get('ARCHFLAGS','')=='-arch arm64':
-+            if False and machine=='arm64' or os.environ.get('ARCHFLAGS','')=='-arch arm64':
-                 #print('!!!!! detected darwin arm64 build')
-                 #probably an M1
-                 target = pjoin(
diff --git a/pkgs/development/python-modules/requests-hawk/default.nix b/pkgs/development/python-modules/requests-hawk/default.nix
index 74bafbcabca5e..0f4b040be5826 100644
--- a/pkgs/development/python-modules/requests-hawk/default.nix
+++ b/pkgs/development/python-modules/requests-hawk/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "requests-hawk";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/requests-oauthlib/default.nix b/pkgs/development/python-modules/requests-oauthlib/default.nix
index 225bf1ecbbdfc..150719c6fff62 100644
--- a/pkgs/development/python-modules/requests-oauthlib/default.nix
+++ b/pkgs/development/python-modules/requests-oauthlib/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "requests-oauthlib";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/requests-wsgi-adapter/default.nix b/pkgs/development/python-modules/requests-wsgi-adapter/default.nix
index 77386c21a8698..906bf06f8eafc 100644
--- a/pkgs/development/python-modules/requests-wsgi-adapter/default.nix
+++ b/pkgs/development/python-modules/requests-wsgi-adapter/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "requests-wsgi-adapter";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/requestsexceptions/default.nix b/pkgs/development/python-modules/requestsexceptions/default.nix
index 55b3209553510..5530c2ecd48cb 100644
--- a/pkgs/development/python-modules/requestsexceptions/default.nix
+++ b/pkgs/development/python-modules/requestsexceptions/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "requestsexceptions";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/reretry/default.nix b/pkgs/development/python-modules/reretry/default.nix
index c4c6928af0420..e5db5b50cbaaa 100644
--- a/pkgs/development/python-modules/reretry/default.nix
+++ b/pkgs/development/python-modules/reretry/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "reretry";
   version = "0.11.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/resize-right/default.nix b/pkgs/development/python-modules/resize-right/default.nix
index 6a0b9b5cd7731..99b42faf39952 100644
--- a/pkgs/development/python-modules/resize-right/default.nix
+++ b/pkgs/development/python-modules/resize-right/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "resize-right";
   version = "0.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/resolvelib/default.nix b/pkgs/development/python-modules/resolvelib/default.nix
index dc809ecbdee07..e1ba1bcf557e6 100644
--- a/pkgs/development/python-modules/resolvelib/default.nix
+++ b/pkgs/development/python-modules/resolvelib/default.nix
@@ -13,6 +13,7 @@ buildPythonPackage rec {
   # https://github.com/NixOS/nixpkgs/pull/128636
   # https://github.com/ansible/ansible/blob/devel/requirements.txt
   version = "0.5.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sarugaku";
diff --git a/pkgs/development/python-modules/result/default.nix b/pkgs/development/python-modules/result/default.nix
index e969764f90cfe..3f15c2ce4c1a7 100644
--- a/pkgs/development/python-modules/result/default.nix
+++ b/pkgs/development/python-modules/result/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "result";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rustedpy";
diff --git a/pkgs/development/python-modules/rethinkdb/default.nix b/pkgs/development/python-modules/rethinkdb/default.nix
index d0ba2a4da77bd..889c729950e08 100644
--- a/pkgs/development/python-modules/rethinkdb/default.nix
+++ b/pkgs/development/python-modules/rethinkdb/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "rethinkdb";
   version = "2.4.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/retry/default.nix b/pkgs/development/python-modules/retry/default.nix
index e093f761f251d..993c7270b8073 100644
--- a/pkgs/development/python-modules/retry/default.nix
+++ b/pkgs/development/python-modules/retry/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "retry";
   version = "0.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rfc3339-validator/default.nix b/pkgs/development/python-modules/rfc3339-validator/default.nix
index e1a9f03188820..9de6919692a4e 100644
--- a/pkgs/development/python-modules/rfc3339-validator/default.nix
+++ b/pkgs/development/python-modules/rfc3339-validator/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "rfc3339-validator";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "rfc3339_validator";
diff --git a/pkgs/development/python-modules/rfc3339/default.nix b/pkgs/development/python-modules/rfc3339/default.nix
index 4b1355e511a8a..9c5faa38131cb 100644
--- a/pkgs/development/python-modules/rfc3339/default.nix
+++ b/pkgs/development/python-modules/rfc3339/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "rfc3339";
   version = "6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rfc3987/default.nix b/pkgs/development/python-modules/rfc3987/default.nix
index 41beb1c8c17f5..51c6d04ea6dc5 100644
--- a/pkgs/development/python-modules/rfc3987/default.nix
+++ b/pkgs/development/python-modules/rfc3987/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rfc3987";
   version = "1.3.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rfc7464/default.nix b/pkgs/development/python-modules/rfc7464/default.nix
index 9e5a5d3689da6..e65c9ec3ab2ab 100644
--- a/pkgs/development/python-modules/rfc7464/default.nix
+++ b/pkgs/development/python-modules/rfc7464/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rfc7464";
   version = "17.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/riprova/default.nix b/pkgs/development/python-modules/riprova/default.nix
index c4a0ee950704b..cafe14e01bd91 100644
--- a/pkgs/development/python-modules/riprova/default.nix
+++ b/pkgs/development/python-modules/riprova/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec{
   pname = "riprova";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rising/default.nix b/pkgs/development/python-modules/rising/default.nix
index ab52aec1a2362..5df3998f80154 100644
--- a/pkgs/development/python-modules/rising/default.nix
+++ b/pkgs/development/python-modules/rising/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "rising";
   version = "0.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/rlax/default.nix b/pkgs/development/python-modules/rlax/default.nix
index 6793cf747b5f1..c73433e146a1c 100644
--- a/pkgs/development/python-modules/rlax/default.nix
+++ b/pkgs/development/python-modules/rlax/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "rlax";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rlp/default.nix b/pkgs/development/python-modules/rlp/default.nix
index b0e7d123e6910..9938ad1c44102 100644
--- a/pkgs/development/python-modules/rlp/default.nix
+++ b/pkgs/development/python-modules/rlp/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "rlp";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ethereum";
diff --git a/pkgs/development/python-modules/rmsd/default.nix b/pkgs/development/python-modules/rmsd/default.nix
index 2a0f2ecb50b2c..1def479816f6e 100644
--- a/pkgs/development/python-modules/rmsd/default.nix
+++ b/pkgs/development/python-modules/rmsd/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "rmsd";
   version = "1.5.1";
+  format = "setuptools";
 
   propagatedBuildInputs = [ scipy ];
 
diff --git a/pkgs/development/python-modules/rnc2rng/default.nix b/pkgs/development/python-modules/rnc2rng/default.nix
index 104a6f12a675d..e6abf4f189f00 100644
--- a/pkgs/development/python-modules/rnc2rng/default.nix
+++ b/pkgs/development/python-modules/rnc2rng/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "rnc2rng";
   version = "2.6.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix
index 0640ce63db351..4b1ccc9bad622 100644
--- a/pkgs/development/python-modules/rns/default.nix
+++ b/pkgs/development/python-modules/rns/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.6.8";
+  version = "0.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-MDD0Vs5XIWqxKHbrAa0vXJRd8uYZDlr//hP1NBf4b7U=";
+    hash = "sha256-L99eeDGbXXS9bff+r4j5AmmuICfeNKRD8+71+ojw320=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/robot-detection/default.nix b/pkgs/development/python-modules/robot-detection/default.nix
index 31b1f43a4e24f..87475e14e0916 100644
--- a/pkgs/development/python-modules/robot-detection/default.nix
+++ b/pkgs/development/python-modules/robot-detection/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "robot-detection";
   version = "0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
index eea465ee8fb94..0586fccd8853f 100644
--- a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "1.3.1";
+  format = "setuptools";
   pname = "robotframework-databaselibrary";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix b/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
index 43da9125f1ae7..797bda0d3ea40 100644
--- a/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
+++ b/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
@@ -2,30 +2,37 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , pytest-mockito
 , pytestCheckHook
 , robotframework
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "robotframework-pythonlibcore";
-  version = "4.2.0";
+  version = "4.3.0";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "robotframework";
     repo = "PythonLibCore";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RJTn1zSVJYgbh93Idr77uHl02u0wpj6p6llSJfQVTQk=";
+    hash = "sha256-5ayOQyOhCg4nLpAyH/eQ6NYEApix0wsL2nhJzEXKJRo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytest-mockito
     pytestCheckHook
     robotframework
+    typing-extensions
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/robotframework-selenium2library/default.nix b/pkgs/development/python-modules/robotframework-selenium2library/default.nix
index 6d079a99b4f1d..5d88338758088 100644
--- a/pkgs/development/python-modules/robotframework-selenium2library/default.nix
+++ b/pkgs/development/python-modules/robotframework-selenium2library/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "3.0.0";
+  format = "setuptools";
   pname = "robotframework-selenium2library";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index 114c24aa1c98b..1412fbe22a7f3 100644
--- a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
@@ -14,6 +14,7 @@
 
 buildPythonPackage rec {
   version = "6.1.2";
+  format = "setuptools";
   pname = "robotframework-seleniumlibrary";
 
   # no tests included in PyPI tarball
diff --git a/pkgs/development/python-modules/robotframework-sshlibrary/default.nix b/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
index e72a723086432..0a55d66b0a60d 100644
--- a/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-sshlibrary/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "3.8.0";
+  format = "setuptools";
   pname = "robotframework-sshlibrary";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/robotframework-tools/default.nix b/pkgs/development/python-modules/robotframework-tools/default.nix
index 3dcf1606c8ceb..48cf214986c2c 100644
--- a/pkgs/development/python-modules/robotframework-tools/default.nix
+++ b/pkgs/development/python-modules/robotframework-tools/default.nix
@@ -12,6 +12,7 @@
 
 buildPythonPackage rec {
   version = "0.1rc4";
+  format = "setuptools";
   pname = "robotframework-tools";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index 122e2ff326ff3..31bd894f5c01e 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "robotframework";
   version = "6.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
diff --git a/pkgs/development/python-modules/robotstatuschecker/default.nix b/pkgs/development/python-modules/robotstatuschecker/default.nix
index d11c38444a35d..ef338ef0d341a 100644
--- a/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/pkgs/development/python-modules/robotstatuschecker/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "3.0.1";
+  format = "setuptools";
   pname = "robotstatuschecker";
 
   # no tests included in PyPI tarball
diff --git a/pkgs/development/python-modules/robotsuite/default.nix b/pkgs/development/python-modules/robotsuite/default.nix
index 544beaf120726..ffc86ec86815b 100644
--- a/pkgs/development/python-modules/robotsuite/default.nix
+++ b/pkgs/development/python-modules/robotsuite/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "robotsuite";
   version = "2.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rocket-errbot/default.nix b/pkgs/development/python-modules/rocket-errbot/default.nix
index 65b7c62b9e34c..9d86e73bd8517 100644
--- a/pkgs/development/python-modules/rocket-errbot/default.nix
+++ b/pkgs/development/python-modules/rocket-errbot/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rocket-errbot";
   version = "1.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/roku/default.nix b/pkgs/development/python-modules/roku/default.nix
index c4826e6bc4add..354e2f650fac7 100644
--- a/pkgs/development/python-modules/roku/default.nix
+++ b/pkgs/development/python-modules/roku/default.nix
@@ -3,6 +3,7 @@
 
 buildPythonPackage rec {
   version = "4.1";
+  format = "setuptools";
   pname = "roku";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/roman/default.nix b/pkgs/development/python-modules/roman/default.nix
index cde0ab0f271b6..f1a0ac31e1e6a 100644
--- a/pkgs/development/python-modules/roman/default.nix
+++ b/pkgs/development/python-modules/roman/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "2.0.0";
+  format = "setuptools";
   pname = "roman";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ronin/default.nix b/pkgs/development/python-modules/ronin/default.nix
index c9b0a0d25617f..5b001aa392a39 100644
--- a/pkgs/development/python-modules/ronin/default.nix
+++ b/pkgs/development/python-modules/ronin/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ronin";
   version = "1.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version pname;
diff --git a/pkgs/development/python-modules/routeros-api/default.nix b/pkgs/development/python-modules/routeros-api/default.nix
index 622d29584f021..52bc4295a89f6 100644
--- a/pkgs/development/python-modules/routeros-api/default.nix
+++ b/pkgs/development/python-modules/routeros-api/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "routeros-api";
   version = "0.17.0";
+  format = "setuptools";
 
   # N.B. The version published on PyPI is missing tests.
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/routes/default.nix b/pkgs/development/python-modules/routes/default.nix
index ea548fcfe56f9..0a05e54741b95 100644
--- a/pkgs/development/python-modules/routes/default.nix
+++ b/pkgs/development/python-modules/routes/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "routes";
   version = "2.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Routes";
diff --git a/pkgs/development/python-modules/rpdb/default.nix b/pkgs/development/python-modules/rpdb/default.nix
index 69a886f6e0da2..7b3fb288f26ce 100644
--- a/pkgs/development/python-modules/rpdb/default.nix
+++ b/pkgs/development/python-modules/rpdb/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "rpdb";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rpi-gpio/default.nix b/pkgs/development/python-modules/rpi-gpio/default.nix
index f1ef22515eb0a..a045744d122ed 100644
--- a/pkgs/development/python-modules/rpi-gpio/default.nix
+++ b/pkgs/development/python-modules/rpi-gpio/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rpi-gpio";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "RPi.GPIO";
diff --git a/pkgs/development/python-modules/rpi-gpio2/default.nix b/pkgs/development/python-modules/rpi-gpio2/default.nix
index 43f6e0bbb95ec..2836cd7e3703a 100644
--- a/pkgs/development/python-modules/rpi-gpio2/default.nix
+++ b/pkgs/development/python-modules/rpi-gpio2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rpi-gpio2";
   version = "0.4.0";
+  format = "setuptools";
 
   # PyPi source does not work for some reason
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/rplcd/default.nix b/pkgs/development/python-modules/rplcd/default.nix
index 466bfa0ae9665..1022f40141c72 100644
--- a/pkgs/development/python-modules/rplcd/default.nix
+++ b/pkgs/development/python-modules/rplcd/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rplcd";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/rpmfile/default.nix b/pkgs/development/python-modules/rpmfile/default.nix
index 6af50237e4bb8..2b4d718fc3d44 100644
--- a/pkgs/development/python-modules/rpmfile/default.nix
+++ b/pkgs/development/python-modules/rpmfile/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "rpmfile";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rpmfluff/default.nix b/pkgs/development/python-modules/rpmfluff/default.nix
index 9957393770b35..2d8a45fd102fd 100644
--- a/pkgs/development/python-modules/rpmfluff/default.nix
+++ b/pkgs/development/python-modules/rpmfluff/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "rpmfluff";
   version = "0.5.7.1";
+  format = "setuptools";
 
   src = fetchurl {
   url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz";
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 837d77b4dce29..b957fb1170417 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -25,6 +25,7 @@
 
 buildPythonPackage rec {
     version = "3.5.14";
+    format = "setuptools";
     pname = "rpy2";
 
     disabled = isPyPy;
diff --git a/pkgs/development/python-modules/rst2ansi/default.nix b/pkgs/development/python-modules/rst2ansi/default.nix
index 7e09d32a0a80d..763a3913bd604 100644
--- a/pkgs/development/python-modules/rst2ansi/default.nix
+++ b/pkgs/development/python-modules/rst2ansi/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rst2ansi";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rstr/default.nix b/pkgs/development/python-modules/rstr/default.nix
new file mode 100644
index 0000000000000..3c80a274ceaf6
--- /dev/null
+++ b/pkgs/development/python-modules/rstr/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, setuptools-scm
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rstr";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-xKVk1N+0Ry2THRRcQ9HPGteMJFkhQud1W4hmF57qwBI=";
+  };
+
+  pyproject = true;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to generate random strings";
+    homepage = "https://github.com/leapfrogonline/rstr";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/rtmidi-python/default.nix b/pkgs/development/python-modules/rtmidi-python/default.nix
index 02bb45fd6bc05..33f6ba217882b 100644
--- a/pkgs/development/python-modules/rtmidi-python/default.nix
+++ b/pkgs/development/python-modules/rtmidi-python/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "rtmidi-python";
   version = "0.2.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/rtmixer/default.nix b/pkgs/development/python-modules/rtmixer/default.nix
index 361ba5e7fb56e..83d6198403773 100644
--- a/pkgs/development/python-modules/rtmixer/default.nix
+++ b/pkgs/development/python-modules/rtmixer/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "rtmixer";
   version = "0.1.4";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/rtoml/default.nix b/pkgs/development/python-modules/rtoml/default.nix
index a7130a1019287..2ccec6d9e5b10 100644
--- a/pkgs/development/python-modules/rtoml/default.nix
+++ b/pkgs/development/python-modules/rtoml/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "rtoml";
   version = "0.8";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/rtree/default.nix b/pkgs/development/python-modules/rtree/default.nix
index 0de516ec85f03..b4a2cc68ab8fa 100644
--- a/pkgs/development/python-modules/rtree/default.nix
+++ b/pkgs/development/python-modules/rtree/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "rtree";
   version = "1.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 808dca3d44f9a..d43065300feea 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rtslib";
   version = "2.1.76";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
diff --git a/pkgs/development/python-modules/ruamel-base/default.nix b/pkgs/development/python-modules/ruamel-base/default.nix
index 675ae527b311e..a3906794bd845 100644
--- a/pkgs/development/python-modules/ruamel-base/default.nix
+++ b/pkgs/development/python-modules/ruamel-base/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "ruamel-base";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "ruamel.base";
diff --git a/pkgs/development/python-modules/ruamel-yaml/default.nix b/pkgs/development/python-modules/ruamel-yaml/default.nix
index 0c34a24d0864c..56df9d20c5911 100644
--- a/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ruamel-yaml";
   version = "0.17.32";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "ruamel.yaml";
diff --git a/pkgs/development/python-modules/rubymarshal/default.nix b/pkgs/development/python-modules/rubymarshal/default.nix
index 51cec6f860253..08303c74ae717 100644
--- a/pkgs/development/python-modules/rubymarshal/default.nix
+++ b/pkgs/development/python-modules/rubymarshal/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rubymarshal";
   version = "1.2.7";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/ruffus/default.nix b/pkgs/development/python-modules/ruffus/default.nix
index 57d3005929959..eecd65b513de6 100644
--- a/pkgs/development/python-modules/ruffus/default.nix
+++ b/pkgs/development/python-modules/ruffus/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ruffus";
   version = "2.8.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "cgat-developers";
diff --git a/pkgs/development/python-modules/rustworkx/default.nix b/pkgs/development/python-modules/rustworkx/default.nix
index 4c929ceef965a..b199defc2a080 100644
--- a/pkgs/development/python-modules/rustworkx/default.nix
+++ b/pkgs/development/python-modules/rustworkx/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "rustworkx";
   version = "0.13.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Qiskit";
diff --git a/pkgs/development/python-modules/rx/default.nix b/pkgs/development/python-modules/rx/default.nix
index 3dc07cd0def4b..852dfcb7e6631 100644
--- a/pkgs/development/python-modules/rx/default.nix
+++ b/pkgs/development/python-modules/rx/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "rx";
   version = "3.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   # Use fetchPypi to avoid the updater script to migrate it to `reactivex` which
diff --git a/pkgs/development/python-modules/s2clientprotocol/default.nix b/pkgs/development/python-modules/s2clientprotocol/default.nix
index 43c89aa9e7763..0bbc0fefe2d89 100644
--- a/pkgs/development/python-modules/s2clientprotocol/default.nix
+++ b/pkgs/development/python-modules/s2clientprotocol/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "s2clientprotocol";
   version = "3.19.1.58600.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index bc4ea00f055c3..e1bcdda29268c 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2023.10.0";
+  version = "2023.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xA8jjMyf7/8/bQnUtXYqvWyRO6QuGjKJdrVNA4kBuDU=";
+    hash = "sha256-Y+Qpu2tegUVoys0/KoVR/DVJPoxBjd/LROb4aqhpbM0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sabyenc/default.nix b/pkgs/development/python-modules/sabyenc/default.nix
index e8294ce7bcdc1..8ba0b1df0db9d 100644
--- a/pkgs/development/python-modules/sabyenc/default.nix
+++ b/pkgs/development/python-modules/sabyenc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sabyenc";
   version = "3.3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sacremoses/default.nix b/pkgs/development/python-modules/sacremoses/default.nix
index 9efb29ba76f20..63584a0437783 100644
--- a/pkgs/development/python-modules/sacremoses/default.nix
+++ b/pkgs/development/python-modules/sacremoses/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "sacremoses";
   version = "0.0.35";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alvations";
diff --git a/pkgs/development/python-modules/safeio/default.nix b/pkgs/development/python-modules/safeio/default.nix
index 313c32156c4c5..d0dd6c4ca5e16 100644
--- a/pkgs/development/python-modules/safeio/default.nix
+++ b/pkgs/development/python-modules/safeio/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "safeio";
   version = "1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "safeIO";
diff --git a/pkgs/development/python-modules/salmon-mail/default.nix b/pkgs/development/python-modules/salmon-mail/default.nix
index d213026bd5b86..60b745a384559 100644
--- a/pkgs/development/python-modules/salmon-mail/default.nix
+++ b/pkgs/development/python-modules/salmon-mail/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "salmon-mail";
   version = "3.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sampledata/default.nix b/pkgs/development/python-modules/sampledata/default.nix
index 93d45b3d1a0da..ae5086fe47b78 100644
--- a/pkgs/development/python-modules/sampledata/default.nix
+++ b/pkgs/development/python-modules/sampledata/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "sampledata";
   version = "0.3.7";
+  format = "setuptools";
 
   meta = {
     description = "Sample Data generator for Python ";
diff --git a/pkgs/development/python-modules/samsungctl/default.nix b/pkgs/development/python-modules/samsungctl/default.nix
index 92af8775d81db..665c740b4f637 100644
--- a/pkgs/development/python-modules/samsungctl/default.nix
+++ b/pkgs/development/python-modules/samsungctl/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "samsungctl";
   version = "0.7.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sane/default.nix b/pkgs/development/python-modules/sane/default.nix
index b02feb9e2192e..4198549f24ccc 100644
--- a/pkgs/development/python-modules/sane/default.nix
+++ b/pkgs/development/python-modules/sane/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sane";
   version = "2.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/saneyaml/default.nix b/pkgs/development/python-modules/saneyaml/default.nix
index acbaca9ff018a..37ba299b8f5ba 100644
--- a/pkgs/development/python-modules/saneyaml/default.nix
+++ b/pkgs/development/python-modules/saneyaml/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "saneyaml";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sarif-om/default.nix b/pkgs/development/python-modules/sarif-om/default.nix
index b7b334ebf9ba3..dafaad9d11e33 100644
--- a/pkgs/development/python-modules/sarif-om/default.nix
+++ b/pkgs/development/python-modules/sarif-om/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "sarif-om";
   version = "1.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "sarif_om";
diff --git a/pkgs/development/python-modules/scales/default.nix b/pkgs/development/python-modules/scales/default.nix
index 93e566fd380b5..9c7ebfe8e9a02 100644
--- a/pkgs/development/python-modules/scales/default.nix
+++ b/pkgs/development/python-modules/scales/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "scales";
   version = "1.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index 2affddbb6a4c0..13bee07a1859f 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -16,7 +16,6 @@
 , extractcode-libarchive
 , fasteners
 , fetchPypi
-, fetchpatch
 , fingerprints
 , ftfy
 , gemfileparser2
@@ -48,12 +47,12 @@
 , pythonOlder
 , requests
 , saneyaml
+, setuptools
 , spdx-tools
 , text-unidecode
 , toml
 , typecode
 , typecode-libmagic
-, typing
 , urlpy
 , xmltodict
 , zipp
@@ -61,17 +60,22 @@
 
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "32.0.6";
+  version = "32.0.8";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-suqk7LOnZgSJGlaHq81LDOSCHZWdsJOUbma6MEpHxSM=";
+    hash = "sha256-W6Ev1MV8cZU4bauAfmuZsBzMJKz7xpw8siO3Afn5mc8=";
   };
 
   dontConfigure = true;
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     beautifulsoup4
@@ -126,33 +130,12 @@ buildPythonPackage rec {
     xmltodict
   ] ++ lib.optionals (pythonOlder "3.9") [
     zipp
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    typing
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "${pname}-allow-stable-spdx-tools.patch";
-      url = "https://github.com/nexB/scancode-toolkit/commit/d89ab6584d3df6b7eb1d1394559e9d967d6db6ae.patch";
-      includes = [ "src/*" ];
-      hash = "sha256-AU3vJlOxmCy3yvkupVaAVxAKxJI3ymXEk+A5DWSkfOM=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pdfminer.six >= 20200101" "pdfminer.six" \
-      --replace "pluggy >= 0.12.0, < 1.0" "pluggy" \
-      --replace "pygmars >= 0.7.0" "pygmars" \
-      --replace "license_expression >= 21.6.14" "license_expression" \
-      --replace "intbitset >= 2.3.0,  < 3.0" "intbitset" \
-      --replace "spdx_tools == 0.7.0a3" "spdx_tools"
-  '';
-
   # Importing scancode needs a writeable home, and preCheck happens in between
   # pythonImportsCheckPhase and pytestCheckPhase.
   postInstall = ''
@@ -163,7 +146,13 @@ buildPythonPackage rec {
     "scancode"
   ];
 
-  # takes a long time and doesn't appear to do anything
+  disabledTestPaths = [
+    # Tests are outdated
+    "src/formattedcode/output_spdx.py"
+    "src/scancode/cli.py"
+  ];
+
+  # Takes a long time and doesn't appear to do anything
   dontStrip = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index 4f2c9cad8e360..472bbe084319e 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "scapy";
   version = "2.5.0";
+  format = "setuptools";
 
   disabled = isPyPy;
 
diff --git a/pkgs/development/python-modules/scikit-bio/default.nix b/pkgs/development/python-modules/scikit-bio/default.nix
index a1b355f1b8324..c08f992f2293b 100644
--- a/pkgs/development/python-modules/scikit-bio/default.nix
+++ b/pkgs/development/python-modules/scikit-bio/default.nix
@@ -21,6 +21,7 @@
 
 buildPythonPackage rec {
   version = "0.5.9";
+  format = "setuptools";
   pname = "scikit-bio";
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix
index 553afcd8a1fab..b3e4891333acc 100644
--- a/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "scikit-fmm";
   version = "2023.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/scikit-learn-extra/default.nix b/pkgs/development/python-modules/scikit-learn-extra/default.nix
index 23718fde945a7..c6d897fb49fec 100644
--- a/pkgs/development/python-modules/scikit-learn-extra/default.nix
+++ b/pkgs/development/python-modules/scikit-learn-extra/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "scikit-learn-extra";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "scikit-learn-contrib";
diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix
index fa2510b0a441c..6a7c5fa705735 100644
--- a/pkgs/development/python-modules/scikit-learn/default.nix
+++ b/pkgs/development/python-modules/scikit-learn/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "scikit-learn";
   version = "1.3.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/scikit-optimize/default.nix b/pkgs/development/python-modules/scikit-optimize/default.nix
index 09c9547fd5832..0456d3697ad25 100644
--- a/pkgs/development/python-modules/scikit-optimize/default.nix
+++ b/pkgs/development/python-modules/scikit-optimize/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "scikit-optimize";
   version = "0.9.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/scikit-tda/default.nix b/pkgs/development/python-modules/scikit-tda/default.nix
index e2b6fae9aa018..c4730484f7265 100644
--- a/pkgs/development/python-modules/scikit-tda/default.nix
+++ b/pkgs/development/python-modules/scikit-tda/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "scikit-tda";
   version = "1.0.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/scour/default.nix b/pkgs/development/python-modules/scour/default.nix
index b38d095a845f8..66f0613fc5f74 100644
--- a/pkgs/development/python-modules/scour/default.nix
+++ b/pkgs/development/python-modules/scour/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "scour";
   version = "0.38.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix
index d85d8f1dac75e..3be97953547f5 100644
--- a/pkgs/development/python-modules/scp/default.nix
+++ b/pkgs/development/python-modules/scp/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "scp";
   version = "0.14.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/scrapy-deltafetch/default.nix b/pkgs/development/python-modules/scrapy-deltafetch/default.nix
index 95091a0be765c..755b3f02df658 100644
--- a/pkgs/development/python-modules/scrapy-deltafetch/default.nix
+++ b/pkgs/development/python-modules/scrapy-deltafetch/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "scrapy-deltafetch";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/scrapy-splash/default.nix b/pkgs/development/python-modules/scrapy-splash/default.nix
index 5559586d04ce0..da37c1712abad 100644
--- a/pkgs/development/python-modules/scrapy-splash/default.nix
+++ b/pkgs/development/python-modules/scrapy-splash/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "scrapy-splash";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/screed/default.nix b/pkgs/development/python-modules/screed/default.nix
index 604d77c493d73..4d8f88772dff9 100644
--- a/pkgs/development/python-modules/screed/default.nix
+++ b/pkgs/development/python-modules/screed/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "screed";
   version = "1.1.2";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/scripttest/default.nix b/pkgs/development/python-modules/scripttest/default.nix
index c6102f1453105..f61c1747e0595 100644
--- a/pkgs/development/python-modules/scripttest/default.nix
+++ b/pkgs/development/python-modules/scripttest/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "scripttest";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sdnotify/default.nix b/pkgs/development/python-modules/sdnotify/default.nix
index a447283c63ab0..c6c0fb224b317 100644
--- a/pkgs/development/python-modules/sdnotify/default.nix
+++ b/pkgs/development/python-modules/sdnotify/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "sdnotify";
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     sha256 = "1wdrdg2j16pmqhk0ify20s5pngijh7zc6hyxhh8w8v5k8v3pz5vk";
diff --git a/pkgs/development/python-modules/seabreeze/default.nix b/pkgs/development/python-modules/seabreeze/default.nix
index 92923170c0de4..9101c654b9c6d 100644
--- a/pkgs/development/python-modules/seabreeze/default.nix
+++ b/pkgs/development/python-modules/seabreeze/default.nix
@@ -21,6 +21,7 @@
 buildPythonPackage rec {
   pname = "seabreeze";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ap--";
diff --git a/pkgs/development/python-modules/secp256k1/default.nix b/pkgs/development/python-modules/secp256k1/default.nix
index 17c2324598e53..2e2455d4e349e 100644
--- a/pkgs/development/python-modules/secp256k1/default.nix
+++ b/pkgs/development/python-modules/secp256k1/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "secp256k1";
   version = "0.14.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/secure/default.nix b/pkgs/development/python-modules/secure/default.nix
index 890d022f1a997..c1fbd3e83e2a7 100644
--- a/pkgs/development/python-modules/secure/default.nix
+++ b/pkgs/development/python-modules/secure/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.3.0";
+  format = "setuptools";
   pname = "secure";
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/securesystemslib/default.nix b/pkgs/development/python-modules/securesystemslib/default.nix
index 4a0ce694866b4..17689019a4065 100644
--- a/pkgs/development/python-modules/securesystemslib/default.nix
+++ b/pkgs/development/python-modules/securesystemslib/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "securesystemslib";
-  version = "0.30.0";
+  version = "0.31.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "secure-systems-lab";
     repo = "securesystemslib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jqw65VTMLA/X7VQGxN0BlTzF/lxBYirDKBf+xI9cfhg=";
+    hash = "sha256-REi38rIVZmWawFGcrPl9QzSthW4jHZDr/0ug7kJRz3Y=";
   };
 
   nativeBuildInputs = [
@@ -88,7 +88,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Cryptographic and general-purpose routines";
     homepage = "https://github.com/secure-systems-lab/securesystemslib";
-    changelog = "https://github.com/secure-systems-lab/securesystemslib/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/secure-systems-lab/securesystemslib/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/seekpath/default.nix b/pkgs/development/python-modules/seekpath/default.nix
index 8788bf6653635..39b173d0875f0 100644
--- a/pkgs/development/python-modules/seekpath/default.nix
+++ b/pkgs/development/python-modules/seekpath/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "seekpath";
   version = "2.0.1";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/segments/default.nix b/pkgs/development/python-modules/segments/default.nix
index 97805642dc4c9..19a833bd0ee5c 100644
--- a/pkgs/development/python-modules/segments/default.nix
+++ b/pkgs/development/python-modules/segments/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "segments";
   version = "2.2.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/selectors2/default.nix b/pkgs/development/python-modules/selectors2/default.nix
index 297a6514ec632..ef9df617b6df3 100644
--- a/pkgs/development/python-modules/selectors2/default.nix
+++ b/pkgs/development/python-modules/selectors2/default.nix
@@ -3,6 +3,7 @@
 
 buildPythonPackage rec {
   version = "2.0.2";
+  format = "setuptools";
   pname = "selectors2";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/sentence-splitter/default.nix b/pkgs/development/python-modules/sentence-splitter/default.nix
index a544a006ce805..7e7891433cd7e 100644
--- a/pkgs/development/python-modules/sentence-splitter/default.nix
+++ b/pkgs/development/python-modules/sentence-splitter/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "sentence-splitter";
   version = "1.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/sentencepiece/default.nix b/pkgs/development/python-modules/sentencepiece/default.nix
index dc7335b351f87..0307cd4be7fcc 100644
--- a/pkgs/development/python-modules/sentencepiece/default.nix
+++ b/pkgs/development/python-modules/sentencepiece/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   pname = "sentencepiece";
+  format = "setuptools";
   inherit (sentencepiece) version src;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/sentinel/default.nix b/pkgs/development/python-modules/sentinel/default.nix
index 33d5f2990320c..adec747c772ad 100644
--- a/pkgs/development/python-modules/sentinel/default.nix
+++ b/pkgs/development/python-modules/sentinel/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sentinel";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sentinels/default.nix b/pkgs/development/python-modules/sentinels/default.nix
index ba2412cecbf6f..331c957a9f4f6 100644
--- a/pkgs/development/python-modules/sentinels/default.nix
+++ b/pkgs/development/python-modules/sentinels/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sentinels";
   version = "1.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/serpent/default.nix b/pkgs/development/python-modules/serpent/default.nix
index 4ee432a9fce92..8be976ca36428 100644
--- a/pkgs/development/python-modules/serpent/default.nix
+++ b/pkgs/development/python-modules/serpent/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "serpent";
   version = "1.41";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/servefile/default.nix b/pkgs/development/python-modules/servefile/default.nix
index 13d21b1be6c59..b90ab00a4789a 100644
--- a/pkgs/development/python-modules/servefile/default.nix
+++ b/pkgs/development/python-modules/servefile/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "servefile";
   version = "0.5.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sebageek";
diff --git a/pkgs/development/python-modules/serverfiles/default.nix b/pkgs/development/python-modules/serverfiles/default.nix
index 955e18e589e81..9c8fa8cb14973 100644
--- a/pkgs/development/python-modules/serverfiles/default.nix
+++ b/pkgs/development/python-modules/serverfiles/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "serverfiles";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/setproctitle/default.nix b/pkgs/development/python-modules/setproctitle/default.nix
index 5e4fbecccba69..09d29ad34533a 100644
--- a/pkgs/development/python-modules/setproctitle/default.nix
+++ b/pkgs/development/python-modules/setproctitle/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "setproctitle";
   version = "1.3.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix b/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
index fbf05cce22b20..4e090aac53b6c 100644
--- a/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
+++ b/pkgs/development/python-modules/setuptools-declarative-requirements/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "setuptools-declarative-requirements";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/setuptools-git/default.nix b/pkgs/development/python-modules/setuptools-git/default.nix
index 06e699e19a31d..8e0b4af312b5f 100644
--- a/pkgs/development/python-modules/setuptools-git/default.nix
+++ b/pkgs/development/python-modules/setuptools-git/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "setuptools-git";
   version = "1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/setuptools-lint/default.nix b/pkgs/development/python-modules/setuptools-lint/default.nix
index f1eb2903f03ee..561b75e804832 100644
--- a/pkgs/development/python-modules/setuptools-lint/default.nix
+++ b/pkgs/development/python-modules/setuptools-lint/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "setuptools-lint";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix b/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
index d2f6a10a3700f..7e555298907aa 100644
--- a/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
+++ b/pkgs/development/python-modules/setuptools-scm-git-archive/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "setuptools-scm-git-archive";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/sfepy/default.nix b/pkgs/development/python-modules/sfepy/default.nix
index 7b981be995575..676c2510f6b94 100644
--- a/pkgs/development/python-modules/sfepy/default.nix
+++ b/pkgs/development/python-modules/sfepy/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "sfepy";
   version = "2023.1";
+  format = "setuptools";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sgp4/default.nix b/pkgs/development/python-modules/sgp4/default.nix
index 9f6693603e046..daa6a08f67f15 100644
--- a/pkgs/development/python-modules/sgp4/default.nix
+++ b/pkgs/development/python-modules/sgp4/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sgp4";
   version = "2.23";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/shamir-mnemonic/default.nix b/pkgs/development/python-modules/shamir-mnemonic/default.nix
index 5fbd75d7e42ac..9a5d5fe57a7a1 100644
--- a/pkgs/development/python-modules/shamir-mnemonic/default.nix
+++ b/pkgs/development/python-modules/shamir-mnemonic/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "shamir-mnemonic";
   version = "0.2.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/shaperglot/default.nix b/pkgs/development/python-modules/shaperglot/default.nix
new file mode 100644
index 0000000000000..f1ea7e5a723a3
--- /dev/null
+++ b/pkgs/development/python-modules/shaperglot/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gflanguages
+, num2words
+, poetry-core
+, protobuf
+, pytestCheckHook
+, strictyaml
+, termcolor
+, ufo2ft
+, vharfbuzz
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "shaperglot";
+  version = "0.3.1";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "googlefonts";
+    repo = "shaperglot";
+    rev = "v${version}";
+    hash = "sha256-29MzD42rgh+7n/0kjqKGDxXPnUEvj/xxEIKWZg03pxw=";
+  };
+
+  pyproject = true;
+
+  propagatedBuildInputs = [
+    gflanguages
+    num2words
+    protobuf
+    strictyaml
+    termcolor
+    ufo2ft
+    vharfbuzz
+    youseedee
+  ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Tool to test OpenType fonts for language support";
+    homepage = "https://github.com/googlefonts/shaperglot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/sharedmem/default.nix b/pkgs/development/python-modules/sharedmem/default.nix
index 942e272229a7f..0e4a36f6ce276 100644
--- a/pkgs/development/python-modules/sharedmem/default.nix
+++ b/pkgs/development/python-modules/sharedmem/default.nix
@@ -4,6 +4,7 @@ buildPythonPackage rec {
 
   pname = "sharedmem";
   version = "0.3.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/shellescape/default.nix b/pkgs/development/python-modules/shellescape/default.nix
index 6244baca90d52..6ea61402c0493 100644
--- a/pkgs/development/python-modules/shellescape/default.nix
+++ b/pkgs/development/python-modules/shellescape/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "shellescape";
   version = "3.8.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "chrissimpkins";
diff --git a/pkgs/development/python-modules/shippai/default.nix b/pkgs/development/python-modules/shippai/default.nix
index e7efb1ef2dc6d..b0591385b961d 100644
--- a/pkgs/development/python-modules/shippai/default.nix
+++ b/pkgs/development/python-modules/shippai/default.nix
@@ -4,6 +4,7 @@ buildPythonPackage rec {
   pname = "shippai";
   # Please make sure that vdirsyncer still builds if you update this package.
   version = "0.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/shlib/default.nix b/pkgs/development/python-modules/shlib/default.nix
index 03c94140a54e5..a29ba450df8d3 100644
--- a/pkgs/development/python-modules/shlib/default.nix
+++ b/pkgs/development/python-modules/shlib/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "shlib";
   version = "1.6";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "KenKundert";
diff --git a/pkgs/development/python-modules/should-dsl/default.nix b/pkgs/development/python-modules/should-dsl/default.nix
index 7510ba88d1d52..444e04b7f36f8 100644
--- a/pkgs/development/python-modules/should-dsl/default.nix
+++ b/pkgs/development/python-modules/should-dsl/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "should-dsl";
   version = "2.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/shouldbe/default.nix b/pkgs/development/python-modules/shouldbe/default.nix
index 20634f4a9f024..0c03d6d58d420 100644
--- a/pkgs/development/python-modules/shouldbe/default.nix
+++ b/pkgs/development/python-modules/shouldbe/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   version = "0.1.2";
+  format = "setuptools";
   pname = "shouldbe";
   # incompatible, https://github.com/DirectXMan12/should_be/issues/4
   disabled = pythonAtLeast "3.8";
diff --git a/pkgs/development/python-modules/show-in-file-manager/default.nix b/pkgs/development/python-modules/show-in-file-manager/default.nix
index d5f95aa466b59..c77d547bf6f84 100644
--- a/pkgs/development/python-modules/show-in-file-manager/default.nix
+++ b/pkgs/development/python-modules/show-in-file-manager/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "show-in-file-manager";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/showit/default.nix b/pkgs/development/python-modules/showit/default.nix
index bb74352b1a8c5..4b424f76a2e39 100644
--- a/pkgs/development/python-modules/showit/default.nix
+++ b/pkgs/development/python-modules/showit/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "showit";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "freeman-lab";
diff --git a/pkgs/development/python-modules/shutilwhich/default.nix b/pkgs/development/python-modules/shutilwhich/default.nix
index 5bcd2bca8bdd0..c3c48f47e6cd5 100644
--- a/pkgs/development/python-modules/shutilwhich/default.nix
+++ b/pkgs/development/python-modules/shutilwhich/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "shutilwhich";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mbr";
diff --git a/pkgs/development/python-modules/signify/certificate-expiration-date.patch b/pkgs/development/python-modules/signify/certificate-expiration-date.patch
deleted file mode 100644
index 6554211a4bc71..0000000000000
--- a/pkgs/development/python-modules/signify/certificate-expiration-date.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/tests/test_authenticode.py b/tests/test_authenticode.py
-index 7e2c709..2f27e09 100644
---- a/tests/test_authenticode.py
-+++ b/tests/test_authenticode.py
-@@ -153,10 +153,12 @@ class AuthenticodeParserTestCase(unittest.TestCase):
-         """this certificate is revoked"""
-         with open(str(root_dir / "test_data" / "jameslth"), "rb") as f:
-             pefile = SignedPEFile(f)
--            pefile.verify()
-+            pefile.verify(verification_context_kwargs=
-+                          {'timestamp': datetime.datetime(2021, 1, 1, tzinfo=datetime.timezone.utc)})
-
-     def test_jameslth_revoked(self):
-         """this certificate is revoked"""
-+        # TODO: this certificate is now expired, so it will not show up as valid anyway
-         with open(str(root_dir / "test_data" / "jameslth"), "rb") as f:
-             pefile = SignedPEFile(f)
-             with self.assertRaises(VerificationError):
diff --git a/pkgs/development/python-modules/simanneal/default.nix b/pkgs/development/python-modules/simanneal/default.nix
index 6145279c3258f..9bd957780adee 100644
--- a/pkgs/development/python-modules/simanneal/default.nix
+++ b/pkgs/development/python-modules/simanneal/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "simanneal";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "perrygeo";
diff --git a/pkgs/development/python-modules/simple-rlp/default.nix b/pkgs/development/python-modules/simple-rlp/default.nix
index 06837ba1f3421..f91f21a67d0c4 100644
--- a/pkgs/development/python-modules/simple-rlp/default.nix
+++ b/pkgs/development/python-modules/simple-rlp/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "simple-rlp";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/simple-websocket-server/default.nix b/pkgs/development/python-modules/simple-websocket-server/default.nix
index 7228e6d9f3e90..485a9a5c7cd4a 100644
--- a/pkgs/development/python-modules/simple-websocket-server/default.nix
+++ b/pkgs/development/python-modules/simple-websocket-server/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "simple-websocket-server";
   version = "20180414";
+  format = "setuptools";
   src = fetchFromGitHub {
     owner = "dpallot";
     repo = "simple-websocket-server";
diff --git a/pkgs/development/python-modules/simpleaudio/default.nix b/pkgs/development/python-modules/simpleaudio/default.nix
index 4ab18efe332ae..ed90911dfc9b5 100644
--- a/pkgs/development/python-modules/simpleaudio/default.nix
+++ b/pkgs/development/python-modules/simpleaudio/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "simpleaudio";
   version = "1.0.4";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/simplebayes/default.nix b/pkgs/development/python-modules/simplebayes/default.nix
index 40bc248d8a0bb..1db9ff589e982 100644
--- a/pkgs/development/python-modules/simplebayes/default.nix
+++ b/pkgs/development/python-modules/simplebayes/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "simplebayes";
   version = "1.5.8";
+  format = "setuptools";
 
   # Use GitHub instead of pypi, because it contains tests.
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/simplegeneric/default.nix b/pkgs/development/python-modules/simplegeneric/default.nix
index ea320a2ad5af5..4bc1683404d6c 100644
--- a/pkgs/development/python-modules/simplegeneric/default.nix
+++ b/pkgs/development/python-modules/simplegeneric/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "simplegeneric";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/simplehound/default.nix b/pkgs/development/python-modules/simplehound/default.nix
index 307010f3feaf3..af97b7cc96197 100644
--- a/pkgs/development/python-modules/simplehound/default.nix
+++ b/pkgs/development/python-modules/simplehound/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "simplehound";
   version = "0.6";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/simplekml/default.nix b/pkgs/development/python-modules/simplekml/default.nix
index 0d5020c59958d..550cd81a4f4e8 100644
--- a/pkgs/development/python-modules/simplekml/default.nix
+++ b/pkgs/development/python-modules/simplekml/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "simplekml";
   version = "1.3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/simplemma/default.nix b/pkgs/development/python-modules/simplemma/default.nix
index 6c7f5f7c1afb2..4c70b8a8df19e 100644
--- a/pkgs/development/python-modules/simplemma/default.nix
+++ b/pkgs/development/python-modules/simplemma/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "simplemma";
   version = "0.9.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/simplenote/default.nix b/pkgs/development/python-modules/simplenote/default.nix
index 5cde9b794cdf4..1a00b7ef5b6a4 100644
--- a/pkgs/development/python-modules/simplenote/default.nix
+++ b/pkgs/development/python-modules/simplenote/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "simplenote";
   version = "2.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "simplenote-vim";
diff --git a/pkgs/development/python-modules/simplesat/default.nix b/pkgs/development/python-modules/simplesat/default.nix
index 406283fc8b09d..7000b010af966 100644
--- a/pkgs/development/python-modules/simplesat/default.nix
+++ b/pkgs/development/python-modules/simplesat/default.nix
@@ -9,6 +9,7 @@
 
 let
   version = "0.8.2";
+  format = "setuptools";
 
   versionFile = writeText "simplesat_ver" ''
     version = '${version}'
diff --git a/pkgs/development/python-modules/sipyco/default.nix b/pkgs/development/python-modules/sipyco/default.nix
index a44977c062790..568134d94d152 100644
--- a/pkgs/development/python-modules/sipyco/default.nix
+++ b/pkgs/development/python-modules/sipyco/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sipyco";
   version = "1.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/skein/default.nix b/pkgs/development/python-modules/skein/default.nix
index d3896772bb8eb..d21b21542e4c8 100644
--- a/pkgs/development/python-modules/skein/default.nix
+++ b/pkgs/development/python-modules/skein/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "skein";
   version = "0.8.2";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-nXTqsJNX/LwAglPcPZkmdYPfF+vDLN+nNdZaDFTrHzE=";
diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix
index d12726ec391c9..2c35cba96937d 100644
--- a/pkgs/development/python-modules/skia-pathops/default.nix
+++ b/pkgs/development/python-modules/skia-pathops/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "skia-pathops";
   version = "0.8.0.post1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "skia-pathops";
diff --git a/pkgs/development/python-modules/skidl/default.nix b/pkgs/development/python-modules/skidl/default.nix
index 3b4f42c1feeed..5afcc931ac541 100644
--- a/pkgs/development/python-modules/skidl/default.nix
+++ b/pkgs/development/python-modules/skidl/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "skidl";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "xesscorp";
diff --git a/pkgs/development/python-modules/skl2onnx/default.nix b/pkgs/development/python-modules/skl2onnx/default.nix
index 1698d2de4573e..83a403ff7cd0c 100644
--- a/pkgs/development/python-modules/skl2onnx/default.nix
+++ b/pkgs/development/python-modules/skl2onnx/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "skl2onnx";
   version = "1.15.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/skorch/default.nix b/pkgs/development/python-modules/skorch/default.nix
index 13757f13e1aac..01d23f596dd9e 100644
--- a/pkgs/development/python-modules/skorch/default.nix
+++ b/pkgs/development/python-modules/skorch/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "skorch";
   version = "0.15.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/skybellpy/default.nix b/pkgs/development/python-modules/skybellpy/default.nix
index 093df95b56579..d09939ea853c0 100644
--- a/pkgs/development/python-modules/skybellpy/default.nix
+++ b/pkgs/development/python-modules/skybellpy/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "skybellpy";
   version = "0.6.3";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/skyfield/default.nix b/pkgs/development/python-modules/skyfield/default.nix
index 9b6d92e217d69..b3dc5a236ea46 100644
--- a/pkgs/development/python-modules/skyfield/default.nix
+++ b/pkgs/development/python-modules/skyfield/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "skyfield";
   version = "1.45";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "skyfielders";
diff --git a/pkgs/development/python-modules/skytemple-eventserver/default.nix b/pkgs/development/python-modules/skytemple-eventserver/default.nix
index e258b46c584f1..dc31cbcbd9eca 100644
--- a/pkgs/development/python-modules/skytemple-eventserver/default.nix
+++ b/pkgs/development/python-modules/skytemple-eventserver/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "skytemple-eventserver";
   version = "1.6.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
diff --git a/pkgs/development/python-modules/skytemple-icons/default.nix b/pkgs/development/python-modules/skytemple-icons/default.nix
index 0bcbff47ade2d..34b9dd5cee730 100644
--- a/pkgs/development/python-modules/skytemple-icons/default.nix
+++ b/pkgs/development/python-modules/skytemple-icons/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "skytemple-icons";
   version = "1.3.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index a015400616e3d..6f2305962d425 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.26.0";
+  version = "3.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jvLzZFlR2msyCc9C7WvYpXIGoKCDRxJI5lgNUtbGh/w=";
+    hash = "sha256-jg4mUVT1sB9hxRqhLOeZxQHTpBK/N76b2XUaFe/nBKY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sleekxmpp/default.nix b/pkgs/development/python-modules/sleekxmpp/default.nix
index 41578b3dc0478..4f4554b5a4ae9 100644
--- a/pkgs/development/python-modules/sleekxmpp/default.nix
+++ b/pkgs/development/python-modules/sleekxmpp/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sleekxmpp";
   version = "1.3.3";
+  format = "setuptools";
 
   disabled = pythonAtLeast "3.10"; # Deprecated in favor of Slixmpp
 
diff --git a/pkgs/development/python-modules/sleepyq/default.nix b/pkgs/development/python-modules/sleepyq/default.nix
index 0a335de3177f2..e93a77fd2e79e 100644
--- a/pkgs/development/python-modules/sleepyq/default.nix
+++ b/pkgs/development/python-modules/sleepyq/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sleepyq";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix
index f74447750cc3a..eb96fb50928c2 100644
--- a/pkgs/development/python-modules/slicedimage/default.nix
+++ b/pkgs/development/python-modules/slicedimage/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "slicedimage";
   version = "4.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "spacetx";
diff --git a/pkgs/development/python-modules/slob/default.nix b/pkgs/development/python-modules/slob/default.nix
index 363bd0ab62d78..a615192aa7be2 100644
--- a/pkgs/development/python-modules/slob/default.nix
+++ b/pkgs/development/python-modules/slob/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "slob";
   version = "unstable-2020-06-26";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/slugid/default.nix b/pkgs/development/python-modules/slugid/default.nix
index 34f394bee3029..3d3e541872673 100644
--- a/pkgs/development/python-modules/slugid/default.nix
+++ b/pkgs/development/python-modules/slugid/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "slugid";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "taskcluster";
diff --git a/pkgs/development/python-modules/smart-meter-texas/default.nix b/pkgs/development/python-modules/smart-meter-texas/default.nix
index bd0d181a3ede3..556f978c73124 100644
--- a/pkgs/development/python-modules/smart-meter-texas/default.nix
+++ b/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "smart-meter-texas";
   version = "0.5.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/smarthab/default.nix b/pkgs/development/python-modules/smarthab/default.nix
index f26e294b938fd..f317e9a008ede 100644
--- a/pkgs/development/python-modules/smarthab/default.nix
+++ b/pkgs/development/python-modules/smarthab/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "smarthab";
   version = "0.21";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "SmartHab";
diff --git a/pkgs/development/python-modules/smartypants/default.nix b/pkgs/development/python-modules/smartypants/default.nix
index af21271edc51b..0e5ef76927e44 100644
--- a/pkgs/development/python-modules/smartypants/default.nix
+++ b/pkgs/development/python-modules/smartypants/default.nix
@@ -9,6 +9,7 @@
 
 buildPythonPackage rec {
   version = "2.0.1";
+  format = "setuptools";
   pname = "smartypants";
   disabled = isPyPy;
 
diff --git a/pkgs/development/python-modules/smbus-cffi/default.nix b/pkgs/development/python-modules/smbus-cffi/default.nix
index 1612a606f3167..b32cde3a87a4b 100644
--- a/pkgs/development/python-modules/smbus-cffi/default.nix
+++ b/pkgs/development/python-modules/smbus-cffi/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "smbus-cffi";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/smdebug-rulesconfig/default.nix b/pkgs/development/python-modules/smdebug-rulesconfig/default.nix
index 864a395cc88cd..1c64184c093bd 100644
--- a/pkgs/development/python-modules/smdebug-rulesconfig/default.nix
+++ b/pkgs/development/python-modules/smdebug-rulesconfig/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "smdebug-rulesconfig";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/smhi-pkg/default.nix b/pkgs/development/python-modules/smhi-pkg/default.nix
index e1310a0a386ce..a6b5334cedfcc 100644
--- a/pkgs/development/python-modules/smhi-pkg/default.nix
+++ b/pkgs/development/python-modules/smhi-pkg/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "smhi-pkg";
   version = "1.0.16";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joysoftware";
diff --git a/pkgs/development/python-modules/smmap/default.nix b/pkgs/development/python-modules/smmap/default.nix
index 53afd01afcfa2..5cfc8917a8c1d 100644
--- a/pkgs/development/python-modules/smmap/default.nix
+++ b/pkgs/development/python-modules/smmap/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "smmap";
   version = "5.0.0";
+  format = "setuptools";
   src = fetchPypi {
     inherit pname version;
     sha256 = "c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936";
diff --git a/pkgs/development/python-modules/snakebite/default.nix b/pkgs/development/python-modules/snakebite/default.nix
index a5b8a99311026..898ba52a4eeed 100644
--- a/pkgs/development/python-modules/snakebite/default.nix
+++ b/pkgs/development/python-modules/snakebite/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "snakebite";
   version = "2.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/snapshottest/default.nix b/pkgs/development/python-modules/snapshottest/default.nix
index a36c8e48d4900..b19873318fd7d 100644
--- a/pkgs/development/python-modules/snapshottest/default.nix
+++ b/pkgs/development/python-modules/snapshottest/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "snapshottest";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/snowballstemmer/default.nix b/pkgs/development/python-modules/snowballstemmer/default.nix
index 60ba22e903906..a1723bd15792a 100644
--- a/pkgs/development/python-modules/snowballstemmer/default.nix
+++ b/pkgs/development/python-modules/snowballstemmer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "snowballstemmer";
   version = "2.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index fc3974db138bd..8db6256a886ab 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "3.3.1";
+  version = "3.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-u2ZyK9ZKvNdqarBqZCPWdLy3Kfm6ORBWl375Lzg6rbg=";
+    hash = "sha256-ZU5KH2ikkVRL2PfFqwLrhTHfZ8X0MJ1SU70gQET4obM=";
   };
 
   # snowflake-connector-python requires arrow 10.0.1, which we don't have in
diff --git a/pkgs/development/python-modules/snuggs/default.nix b/pkgs/development/python-modules/snuggs/default.nix
index 9290e2f369874..17b2c4bd8f3ce 100644
--- a/pkgs/development/python-modules/snuggs/default.nix
+++ b/pkgs/development/python-modules/snuggs/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "snuggs";
   version = "1.4.7";
+  format = "setuptools";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/social-auth-core/default.nix b/pkgs/development/python-modules/social-auth-core/default.nix
index 5506f417be04c..d81101ac9a9dc 100644
--- a/pkgs/development/python-modules/social-auth-core/default.nix
+++ b/pkgs/development/python-modules/social-auth-core/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "social-auth-core";
-  version = "4.4.2";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "python-social-auth";
     repo = "social-core";
     rev = "refs/tags/${version}";
-    hash = "sha256-o/qx3bwaj2fiNKM3fafFxOW27JrJ9jG4M4uSnnJDpes=";
+    hash = "sha256-5WEXXLl0IUPMbji8bWjTbAjY8VSLOTQvrfSCE9+ui5Y=";
   };
 
   propagatedBuildInputs = [
@@ -75,6 +75,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for social authentication/registration mechanisms";
     homepage = "https://github.com/python-social-auth/social-core";
+    changelog = "https://github.com/python-social-auth/social-core/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ n0emis ];
   };
diff --git a/pkgs/development/python-modules/socketio-client/default.nix b/pkgs/development/python-modules/socketio-client/default.nix
index 43587824e01a7..3c45ee1d54622 100644
--- a/pkgs/development/python-modules/socketio-client/default.nix
+++ b/pkgs/development/python-modules/socketio-client/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "socketio-client";
   version = "0.7.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "invisibleroads";
diff --git a/pkgs/development/python-modules/sockjs-tornado/default.nix b/pkgs/development/python-modules/sockjs-tornado/default.nix
index c7235468370f2..37d75b76edd9f 100644
--- a/pkgs/development/python-modules/sockjs-tornado/default.nix
+++ b/pkgs/development/python-modules/sockjs-tornado/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sockjs-tornado";
   version = "1.0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sockjs/default.nix b/pkgs/development/python-modules/sockjs/default.nix
index d589179338fd5..228ac2fd6bbf8 100644
--- a/pkgs/development/python-modules/sockjs/default.nix
+++ b/pkgs/development/python-modules/sockjs/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sockjs";
   version = "0.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/solaredge/default.nix b/pkgs/development/python-modules/solaredge/default.nix
index f593ff5016202..6dc0fa09be312 100644
--- a/pkgs/development/python-modules/solaredge/default.nix
+++ b/pkgs/development/python-modules/solaredge/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "solaredge";
   version = "0.0.4";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/solc-select/default.nix b/pkgs/development/python-modules/solc-select/default.nix
index d9910e570d5d5..f0724bd241ad3 100644
--- a/pkgs/development/python-modules/solc-select/default.nix
+++ b/pkgs/development/python-modules/solc-select/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "solc-select";
   version = "1.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/somfy-mylink-synergy/default.nix b/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
index b0fa5948c0da1..fce4af2086804 100644
--- a/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
+++ b/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "somfy-mylink-synergy";
   version = "1.0.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/sonarr/default.nix b/pkgs/development/python-modules/sonarr/default.nix
index 2cc1095b9ede3..0d2fe50b39762 100644
--- a/pkgs/development/python-modules/sonarr/default.nix
+++ b/pkgs/development/python-modules/sonarr/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "sonarr";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ctalkington";
diff --git a/pkgs/development/python-modules/sortedcollections/default.nix b/pkgs/development/python-modules/sortedcollections/default.nix
index 73bc2757c6f27..97cf9d8afa159 100644
--- a/pkgs/development/python-modules/sortedcollections/default.nix
+++ b/pkgs/development/python-modules/sortedcollections/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sortedcollections";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "grantjenks";
diff --git a/pkgs/development/python-modules/sortedcontainers/default.nix b/pkgs/development/python-modules/sortedcontainers/default.nix
index 3b60be8c4877d..5cf34d566dcef 100644
--- a/pkgs/development/python-modules/sortedcontainers/default.nix
+++ b/pkgs/development/python-modules/sortedcontainers/default.nix
@@ -8,6 +8,7 @@ let
   sortedcontainers = buildPythonPackage rec {
     pname = "sortedcontainers";
     version = "2.4.0";
+    format = "setuptools";
 
     src = fetchFromGitHub {
       owner = "grantjenks";
diff --git a/pkgs/development/python-modules/soundcloud-v2/default.nix b/pkgs/development/python-modules/soundcloud-v2/default.nix
index ca21c4cebb8ea..573d1a108027b 100644
--- a/pkgs/development/python-modules/soundcloud-v2/default.nix
+++ b/pkgs/development/python-modules/soundcloud-v2/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "soundcloud-v2";
   version = "1.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sounddevice/default.nix b/pkgs/development/python-modules/sounddevice/default.nix
index 46e16e58a35dc..783469c27795d 100644
--- a/pkgs/development/python-modules/sounddevice/default.nix
+++ b/pkgs/development/python-modules/sounddevice/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "sounddevice";
   version = "0.4.6";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/soundfile/default.nix b/pkgs/development/python-modules/soundfile/default.nix
index a6875d5edca32..01e41ebd2e860 100644
--- a/pkgs/development/python-modules/soundfile/default.nix
+++ b/pkgs/development/python-modules/soundfile/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "soundfile";
   version = "0.12.1";
+  format = "setuptools";
   # https://github.com/bastibe/python-soundfile/issues/157
   disabled = isPyPy || stdenv.isi686;
 
diff --git a/pkgs/development/python-modules/spacy-alignments/default.nix b/pkgs/development/python-modules/spacy-alignments/default.nix
index 9bcb74a242fff..103c100492843 100644
--- a/pkgs/development/python-modules/spacy-alignments/default.nix
+++ b/pkgs/development/python-modules/spacy-alignments/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "spacy-alignments";
   version = "0.9.0";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/spacy-loggers/default.nix b/pkgs/development/python-modules/spacy-loggers/default.nix
index 293224c3d07c0..72361aa04bf85 100644
--- a/pkgs/development/python-modules/spacy-loggers/default.nix
+++ b/pkgs/development/python-modules/spacy-loggers/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "spacy-loggers";
   version = "1.0.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/spacy-pkuseg/default.nix b/pkgs/development/python-modules/spacy-pkuseg/default.nix
index b904569010f7e..02f47d7911541 100644
--- a/pkgs/development/python-modules/spacy-pkuseg/default.nix
+++ b/pkgs/development/python-modules/spacy-pkuseg/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "spacy-pkuseg";
   version = "0.0.33";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/spake2/default.nix b/pkgs/development/python-modules/spake2/default.nix
index a5f5f6bf92a4c..87d05612e7125 100644
--- a/pkgs/development/python-modules/spake2/default.nix
+++ b/pkgs/development/python-modules/spake2/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "spake2";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/spark_parser/default.nix b/pkgs/development/python-modules/spark_parser/default.nix
index fb30daf81fe7e..6751a8f3cfecb 100644
--- a/pkgs/development/python-modules/spark_parser/default.nix
+++ b/pkgs/development/python-modules/spark_parser/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "spark_parser";
   version = "1.8.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sparklines/default.nix b/pkgs/development/python-modules/sparklines/default.nix
index b94a56439d53b..a41b8af8418d0 100644
--- a/pkgs/development/python-modules/sparklines/default.nix
+++ b/pkgs/development/python-modules/sparklines/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sparklines";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "deeplook";
diff --git a/pkgs/development/python-modules/sparqlwrapper/default.nix b/pkgs/development/python-modules/sparqlwrapper/default.nix
index 41248d73b8fab..f3b85e5b0bec4 100644
--- a/pkgs/development/python-modules/sparqlwrapper/default.nix
+++ b/pkgs/development/python-modules/sparqlwrapper/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sparqlwrapper";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "SPARQLWrapper";
diff --git a/pkgs/development/python-modules/speaklater/default.nix b/pkgs/development/python-modules/speaklater/default.nix
index a9acfb2dbb386..1ae66d9f4ffec 100644
--- a/pkgs/development/python-modules/speaklater/default.nix
+++ b/pkgs/development/python-modules/speaklater/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "speaklater";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/speaklater3/default.nix b/pkgs/development/python-modules/speaklater3/default.nix
index 60c4c99fd3a28..5898dfe5cd1aa 100644
--- a/pkgs/development/python-modules/speaklater3/default.nix
+++ b/pkgs/development/python-modules/speaklater3/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "speaklater3";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix
index 98132c9f17d34..f0eda6956e2cb 100644
--- a/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/pkgs/development/python-modules/spectral-cube/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "spectral-cube";
-  version = "0.6.3";
+  version = "0.6.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7wfvsravSkAGkTtuPE01wPW7wEHKVWT8kYQn93Q2B4M=";
+    hash = "sha256-gJzrr3+/FsQN/HHDERxf/NECArwOaTqFwmI/Q2Z9HTM=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
index b4842a547610a..d91edda3a546a 100644
--- a/pkgs/development/python-modules/speedtest-cli/default.nix
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "speedtest-cli";
   version = "2.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/speg/default.nix b/pkgs/development/python-modules/speg/default.nix
index 5c969f55b1681..93ae40d326038 100644
--- a/pkgs/development/python-modules/speg/default.nix
+++ b/pkgs/development/python-modules/speg/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "speg";
   version = "0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphfile/default.nix b/pkgs/development/python-modules/sphfile/default.nix
index 79f7aa0739cdd..99e366a5c29a7 100644
--- a/pkgs/development/python-modules/sphfile/default.nix
+++ b/pkgs/development/python-modules/sphfile/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sphfile";
   version = "1.0.3";
+  format = "setuptools";
 
   src = fetchurl {
     url = "mirror://pypi/s/sphfile/${pname}-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/sphinx-argparse/default.nix b/pkgs/development/python-modules/sphinx-argparse/default.nix
index d2720bd1246ed..7ab3ae03c3433 100644
--- a/pkgs/development/python-modules/sphinx-argparse/default.nix
+++ b/pkgs/development/python-modules/sphinx-argparse/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinx-argparse";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "sphinx_argparse";
diff --git a/pkgs/development/python-modules/sphinx-autoapi/default.nix b/pkgs/development/python-modules/sphinx-autoapi/default.nix
index 3d47f22c87261..ca80a717ba545 100644
--- a/pkgs/development/python-modules/sphinx-autoapi/default.nix
+++ b/pkgs/development/python-modules/sphinx-autoapi/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx-autoapi";
-  version = "2.1.1";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+625bnkCDWsOxF2IhRe/gW1rWHotNA++HsMRNeMApsg=";
+    hash = "sha256-CevWdKMrREZyIrD7ipF7l8iVI/INvwW1LLij8OFXFN4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx-autobuild/default.nix b/pkgs/development/python-modules/sphinx-autobuild/default.nix
index 379dbdd0b3da9..d090d2b8b56a2 100644
--- a/pkgs/development/python-modules/sphinx-autobuild/default.nix
+++ b/pkgs/development/python-modules/sphinx-autobuild/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sphinx-autobuild";
   version = "2021.3.14";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinx-basic-ng/default.nix b/pkgs/development/python-modules/sphinx-basic-ng/default.nix
index a3da400d10705..990be1979b4e2 100644
--- a/pkgs/development/python-modules/sphinx-basic-ng/default.nix
+++ b/pkgs/development/python-modules/sphinx-basic-ng/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinx-basic-ng";
   version = "1.0.0.beta2";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sphinx-better-theme/default.nix b/pkgs/development/python-modules/sphinx-better-theme/default.nix
index 8227eca47d844..8000c8bbb820f 100644
--- a/pkgs/development/python-modules/sphinx-better-theme/default.nix
+++ b/pkgs/development/python-modules/sphinx-better-theme/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sphinx-better-theme";
   version = "0.1.5";
+  format = "setuptools";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sphinx-copybutton/default.nix b/pkgs/development/python-modules/sphinx-copybutton/default.nix
index 040bed82cdec4..5a765e7c120c5 100644
--- a/pkgs/development/python-modules/sphinx-copybutton/default.nix
+++ b/pkgs/development/python-modules/sphinx-copybutton/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinx-copybutton";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
diff --git a/pkgs/development/python-modules/sphinx-fortran/default.nix b/pkgs/development/python-modules/sphinx-fortran/default.nix
index cd47d3c4743f8..b4e2b7dd6e4f4 100644
--- a/pkgs/development/python-modules/sphinx-fortran/default.nix
+++ b/pkgs/development/python-modules/sphinx-fortran/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "sphinx-fortran";
   version = "unstable-2022-03-02";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "VACUMM";
diff --git a/pkgs/development/python-modules/sphinx-issues/default.nix b/pkgs/development/python-modules/sphinx-issues/default.nix
index 4ea94b7618908..9cf4b680c7cd5 100644
--- a/pkgs/development/python-modules/sphinx-issues/default.nix
+++ b/pkgs/development/python-modules/sphinx-issues/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sphinx-issues";
   version = "3.0.1";
+  format = "setuptools";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sphinx-jinja/default.nix b/pkgs/development/python-modules/sphinx-jinja/default.nix
index 68590ed24ecd6..c557325cd376c 100644
--- a/pkgs/development/python-modules/sphinx-jinja/default.nix
+++ b/pkgs/development/python-modules/sphinx-jinja/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sphinx-jinja";
   version = "2.0.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/sphinx-markdown-parser/default.nix b/pkgs/development/python-modules/sphinx-markdown-parser/default.nix
index 626e8dba585b2..dc9ab56ed3fc1 100644
--- a/pkgs/development/python-modules/sphinx-markdown-parser/default.nix
+++ b/pkgs/development/python-modules/sphinx-markdown-parser/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "sphinx-markdown-parser";
   version = "0.2.4";
+  format = "setuptools";
 
   # PyPi release does not include requirements.txt
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sphinx-markdown-tables/default.nix b/pkgs/development/python-modules/sphinx-markdown-tables/default.nix
index 55fb0b41f43e9..a560314a29865 100644
--- a/pkgs/development/python-modules/sphinx-markdown-tables/default.nix
+++ b/pkgs/development/python-modules/sphinx-markdown-tables/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinx-markdown-tables";
   version = "0.0.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinx-serve/default.nix b/pkgs/development/python-modules/sphinx-serve/default.nix
index ca2b587e3acc0..1f1c7b0e071db 100644
--- a/pkgs/development/python-modules/sphinx-serve/default.nix
+++ b/pkgs/development/python-modules/sphinx-serve/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "sphinx-serve";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinx-testing/default.nix b/pkgs/development/python-modules/sphinx-testing/default.nix
index d29cfdb7a761c..0aaad111f73db 100644
--- a/pkgs/development/python-modules/sphinx-testing/default.nix
+++ b/pkgs/development/python-modules/sphinx-testing/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "sphinx-testing";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix b/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
index 77fe8929b2faa..3945f8bf4c4f3 100644
--- a/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-apidoc";
   version = "0.4.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
index 2d8dca9912909..b08ecd9ebea23 100644
--- a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-bibtex";
   version = "2.6.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix b/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
index 44c4de9570dd8..9f0790c0d6431 100644
--- a/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-blockdiag/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-blockdiag";
   version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix b/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix
index d7cea5a6418a5..732ed446aa28e 100644
--- a/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-excel-table";
   version = "1.0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-fulltoc/default.nix b/pkgs/development/python-modules/sphinxcontrib-fulltoc/default.nix
index 79a326150073f..f29e46b014e0f 100644
--- a/pkgs/development/python-modules/sphinxcontrib-fulltoc/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-fulltoc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-fulltoc";
   version = "1.2.0";
+  format = "setuptools";
 
   # pkgutil namespaces are broken in nixpkgs (because they can't scan multiple
   # directories). But python2 is EOL, so not supporting it, should be ok.
diff --git a/pkgs/development/python-modules/sphinxcontrib-httpdomain/default.nix b/pkgs/development/python-modules/sphinxcontrib-httpdomain/default.nix
index 96dad44be8bf2..8be6779391a36 100644
--- a/pkgs/development/python-modules/sphinxcontrib-httpdomain/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-httpdomain/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-httpdomain";
   version = "1.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix b/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
index 2b8c2cd75826e..f0728a67adb2e 100644
--- a/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-jsmath";
   version = "1.0.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix b/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
index 6e3279b4de966..7fd16c67bdd46 100644
--- a/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-openapi/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-openapi";
   version = "0.8.3";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix b/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
index 67d7d9b587f90..63dcfb16242b5 100644
--- a/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-programoutput";
   version = "0.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
index dd83acb3d2057..f74a43687be09 100644
--- a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sphinxcontrib-tikz";
   version = "0.4.16";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/spidev/default.nix b/pkgs/development/python-modules/spidev/default.nix
index fd3a12d7da45d..b4e5344cca85c 100644
--- a/pkgs/development/python-modules/spidev/default.nix
+++ b/pkgs/development/python-modules/spidev/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "spidev";
   version = "3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/spinners/default.nix b/pkgs/development/python-modules/spinners/default.nix
index 1e71296fd1762..6328a43df8f77 100644
--- a/pkgs/development/python-modules/spinners/default.nix
+++ b/pkgs/development/python-modules/spinners/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "spinners";
   version = "0.0.24";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/spsdk/default.nix b/pkgs/development/python-modules/spsdk/default.nix
index d8e6b0ab45ef3..a05a02966e07a 100644
--- a/pkgs/development/python-modules/spsdk/default.nix
+++ b/pkgs/development/python-modules/spsdk/default.nix
@@ -38,6 +38,7 @@
 buildPythonPackage rec {
   pname = "spsdk";
   version = "1.11.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nxp-mcuxpresso";
diff --git a/pkgs/development/python-modules/sqlalchemy-citext/default.nix b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
index 9bf638647680a..b040ee597ef8b 100644
--- a/pkgs/development/python-modules/sqlalchemy-citext/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sqlalchemy-citext";
   version = "1.8.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index c71172764af79..cf3a6b64cfcc0 100644
--- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "sqlalchemy-migrate";
   version = "0.13.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/sqlglot/default.nix b/pkgs/development/python-modules/sqlglot/default.nix
index a5d3e5ea11fb4..b0bb24399122b 100644
--- a/pkgs/development/python-modules/sqlglot/default.nix
+++ b/pkgs/development/python-modules/sqlglot/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "sqlglot";
   version = "17.14.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/sqlitedict/default.nix b/pkgs/development/python-modules/sqlitedict/default.nix
index f506430619a99..41889bfce1377 100644
--- a/pkgs/development/python-modules/sqlitedict/default.nix
+++ b/pkgs/development/python-modules/sqlitedict/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sqlitedict";
   version = "2.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "RaRe-Technologies";
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 936d904c65237..b44d2efcb184b 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.7.11";
+  version = "1.7.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gjObtmEvvyCnqd+bLdirzW18/AarmvhF6ItvqJ2Qmuo=";
+    hash = "sha256-9sl/tH/TNXGkeTcXhG9i6/QByOO7SC0GkzyEhzVfJdk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sqlsoup/default.nix b/pkgs/development/python-modules/sqlsoup/default.nix
index 6a06ef247a0b8..d75621cc6345c 100644
--- a/pkgs/development/python-modules/sqlsoup/default.nix
+++ b/pkgs/development/python-modules/sqlsoup/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sqlsoup";
   version = "0.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/squarify/default.nix b/pkgs/development/python-modules/squarify/default.nix
index e0fe054156c67..5bdc4c43f3fb1 100644
--- a/pkgs/development/python-modules/squarify/default.nix
+++ b/pkgs/development/python-modules/squarify/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "squarify";
   version = "0.4.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "laserson";
diff --git a/pkgs/development/python-modules/sre-yield/default.nix b/pkgs/development/python-modules/sre-yield/default.nix
new file mode 100644
index 0000000000000..33b64d38d6296
--- /dev/null
+++ b/pkgs/development/python-modules/sre-yield/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sre-yield";
+  version = "1.2";
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "sre_yield";
+    inherit version;
+    hash = "sha256-6U8aKjy6//4dzRXB1U5AGhUX4FKqZMfTFk+I3HYde4o=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to efficiently generate all values that can match a given regular expression";
+    homepage = "https://github.com/sre-yield/sre-yield";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/srpenergy/default.nix b/pkgs/development/python-modules/srpenergy/default.nix
index e36bd7c2e4b86..35a937f960888 100644
--- a/pkgs/development/python-modules/srpenergy/default.nix
+++ b/pkgs/development/python-modules/srpenergy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "srpenergy";
   version = "1.3.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/srt/default.nix b/pkgs/development/python-modules/srt/default.nix
index 62d03be0b177e..8fb0d72761418 100644
--- a/pkgs/development/python-modules/srt/default.nix
+++ b/pkgs/development/python-modules/srt/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "srt";
   version = "3.5.3";
+  format = "setuptools";
 
   disabled = pythonOlder "2.7";
 
diff --git a/pkgs/development/python-modules/sshfs/default.nix b/pkgs/development/python-modules/sshfs/default.nix
index 17378c8611a08..07c8f6a6c5849 100644
--- a/pkgs/development/python-modules/sshfs/default.nix
+++ b/pkgs/development/python-modules/sshfs/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "sshfs";
   version = "2023.10.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fsspec";
diff --git a/pkgs/development/python-modules/sshpubkeys/default.nix b/pkgs/development/python-modules/sshpubkeys/default.nix
index 955eb905ac29f..a63b456292f37 100644
--- a/pkgs/development/python-modules/sshpubkeys/default.nix
+++ b/pkgs/development/python-modules/sshpubkeys/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "3.3.1";
+  format = "setuptools";
   pname = "sshpubkeys";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix
index 2e585c2bbc312..905ecc9258f0a 100644
--- a/pkgs/development/python-modules/sshtunnel/default.nix
+++ b/pkgs/development/python-modules/sshtunnel/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "0.4.0";
+  format = "setuptools";
   pname = "sshtunnel";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/sslib/default.nix b/pkgs/development/python-modules/sslib/default.nix
index 407053785f09c..4f0492b84b37e 100644
--- a/pkgs/development/python-modules/sslib/default.nix
+++ b/pkgs/development/python-modules/sslib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "sslib";
   version = "0.2.0";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/stack-data/default.nix b/pkgs/development/python-modules/stack-data/default.nix
index cba83f5df09b2..370aaf8746f96 100644
--- a/pkgs/development/python-modules/stack-data/default.nix
+++ b/pkgs/development/python-modules/stack-data/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "stack-data";
   version = "0.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alexmojaki";
diff --git a/pkgs/development/python-modules/starline/default.nix b/pkgs/development/python-modules/starline/default.nix
index ce7418a887342..cdaca053ee1da 100644
--- a/pkgs/development/python-modules/starline/default.nix
+++ b/pkgs/development/python-modules/starline/default.nix
@@ -2,20 +2,36 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, fetchpatch
+, setuptools
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "starline";
-  version = "0.2.0";
+  version = "0.1.5";
 
   disabled = pythonOlder "3.5";
 
+  pyproject = true;
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "550b00ab95cf59d933f7708abab40a4e41e5790e62b653471afe86a3af3320e6";
+    hash = "sha256-F1P1/NKml2rtd1r7A/g5IVnwQMZzkXzAxjRRDZXBPLk=";
   };
 
+  patches = [
+    # https://github.com/Anonym-tsk/starline/pull/5
+    (fetchpatch {
+      url = "https://github.com/Anonym-tsk/starline/commit/4e6cdf8e05c5fb8509ee384e77b39a2495587160.patch";
+      hash = "sha256-y9b6ePH3IEgmt3ALHQGwH102rlm4KfmH4oIoIC93cWU=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
   ];
diff --git a/pkgs/development/python-modules/stashy/default.nix b/pkgs/development/python-modules/stashy/default.nix
index fa866cc260378..fbac0df71f1de 100644
--- a/pkgs/development/python-modules/stashy/default.nix
+++ b/pkgs/development/python-modules/stashy/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "stashy";
   version = "0.7";
+  format = "setuptools";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/statistics/default.nix b/pkgs/development/python-modules/statistics/default.nix
index 40a51373c70e3..2e3c62671a1cb 100644
--- a/pkgs/development/python-modules/statistics/default.nix
+++ b/pkgs/development/python-modules/statistics/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "statistics";
   version = "1.0.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stdiomask/default.nix b/pkgs/development/python-modules/stdiomask/default.nix
index 1ad09c22da8ec..90d73baceecf3 100644
--- a/pkgs/development/python-modules/stdiomask/default.nix
+++ b/pkgs/development/python-modules/stdiomask/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "stdiomask";
   version = "0.0.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stestr/default.nix b/pkgs/development/python-modules/stestr/default.nix
index afce80b83c342..160b3d15b1133 100644
--- a/pkgs/development/python-modules/stestr/default.nix
+++ b/pkgs/development/python-modules/stestr/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "stestr";
   version = "4.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stevedore/default.nix b/pkgs/development/python-modules/stevedore/default.nix
index 45a3e744f1ec5..b2328f8d9ff43 100644
--- a/pkgs/development/python-modules/stevedore/default.nix
+++ b/pkgs/development/python-modules/stevedore/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "stevedore";
   version = "5.1.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/stim/default.nix b/pkgs/development/python-modules/stim/default.nix
index 734a3b3c9ff1c..0e779f3850a44 100644
--- a/pkgs/development/python-modules/stim/default.nix
+++ b/pkgs/development/python-modules/stim/default.nix
@@ -1,33 +1,32 @@
 { lib
-, pkgs
 , buildPythonPackage
-, pythonOlder
-, pytestCheckHook
-, pytest-xdist
-, fetchFromGitHub
-, numpy
-, pybind11
 , cirq-core
+, fetchFromGitHub
 , matplotlib
 , networkx
+, numpy
+, pandas
+, pybind11
+, pytest-xdist
+, pytestCheckHook
+, pythonOlder
 , scipy
 , setuptools
 , wheel
-, pandas
 }:
 
 buildPythonPackage rec {
   pname = "stim";
-  version = "1.9.0";
-  format = "pyproject";
+  version = "1.12.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "quantumlib";
     repo = "Stim";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zXWdJjFkf74FCWxyVMF8dx0P8GmUkuHFxUo5wYNU2o0=";
+    hash = "sha256-vDpW8cn1JPARDIXpLyK9uenhHmva0FwnWIDV7dSHbIY=";
   };
 
   postPatch = ''
@@ -47,34 +46,31 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
-    pytest-xdist
-
     cirq-core
     matplotlib
     networkx
-    scipy
     pandas
+    pytest-xdist
+    pytestCheckHook
+    scipy
   ];
 
-  meta = {
-    description = "A tool for high performance simulation and analysis of quantum stabilizer circuits, especially quantum error correction (QEC) circuits.";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ chrispattison ];
-    homepage = "https://github.com/quantumlib/stim";
-  };
-
-  pythonImportsCheck = [ "stim" ];
+  pythonImportsCheck = [
+    "stim"
+  ];
 
   enableParallelBuilding = true;
 
   disabledTestPaths = [
-    # No pymatching
-    "glue/sample/src/sinter/main_test.py"
-    "glue/sample/src/sinter/decoding_test.py"
-    "glue/sample/src/sinter/predict_test.py"
-    "glue/sample/src/sinter/collection_test.py"
-    "glue/sample/src/sinter/collection_work_manager.py"
-    "glue/sample/src/sinter/worker_test.py"
+    # Don't test sample
+    "glue/sample/"
   ];
+
+  meta = with lib; {
+    description = "A tool for high performance simulation and analysis of quantum stabilizer circuits, especially quantum error correction (QEC) circuits";
+    homepage = "https://github.com/quantumlib/stim";
+    changelog = "https://github.com/quantumlib/Stim/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ chrispattison ];
+  };
 }
diff --git a/pkgs/development/python-modules/stm32loader/default.nix b/pkgs/development/python-modules/stm32loader/default.nix
index f79caf582f93a..55a86231aa708 100644
--- a/pkgs/development/python-modules/stm32loader/default.nix
+++ b/pkgs/development/python-modules/stm32loader/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "stm32loader";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stopit/default.nix b/pkgs/development/python-modules/stopit/default.nix
index 7fdb46764e6b9..06ed79491ed71 100644
--- a/pkgs/development/python-modules/stopit/default.nix
+++ b/pkgs/development/python-modules/stopit/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "stopit";
   version = "1.1.2";
+  format = "setuptools";
 
   # tests are missing from the PyPi tarball
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/strategies/default.nix b/pkgs/development/python-modules/strategies/default.nix
index f11ce2ce5c8fd..f9f31e34d1586 100644
--- a/pkgs/development/python-modules/strategies/default.nix
+++ b/pkgs/development/python-modules/strategies/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "strategies";
   version = "0.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/streamdeck/default.nix b/pkgs/development/python-modules/streamdeck/default.nix
index 8354b840238fa..7c17ba2d49a9e 100644
--- a/pkgs/development/python-modules/streamdeck/default.nix
+++ b/pkgs/development/python-modules/streamdeck/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "streamdeck";
   version = "0.9.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/streaming-form-data/default.nix b/pkgs/development/python-modules/streaming-form-data/default.nix
index f3aa0aa281163..8c631510ec430 100644
--- a/pkgs/development/python-modules/streaming-form-data/default.nix
+++ b/pkgs/development/python-modules/streaming-form-data/default.nix
@@ -4,6 +4,7 @@ cython, smart-open, pytestCheckHook, moto, requests-toolbelt }:
 buildPythonPackage rec {
   pname = "streaming-form-data";
   version = "1.13.0";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/streamlit/default.nix b/pkgs/development/python-modules/streamlit/default.nix
index 73c36577413ab..a043430f8584c 100644
--- a/pkgs/development/python-modules/streamlit/default.nix
+++ b/pkgs/development/python-modules/streamlit/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.28.2";
+  version = "1.29.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wUQWiIG/e9bWAXqb/eWFtS0gCHsQstXIXTdu9tUqqO4=";
+    hash = "sha256-tt//nF4TLlUYySFQ781FKYDbSSpF+v6sPUaI0jNO+gc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/strict-rfc3339/default.nix b/pkgs/development/python-modules/strict-rfc3339/default.nix
index e76365a525adf..783aa49904d7f 100644
--- a/pkgs/development/python-modules/strict-rfc3339/default.nix
+++ b/pkgs/development/python-modules/strict-rfc3339/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "strict-rfc3339";
   version = "0.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stringbrewer/default.nix b/pkgs/development/python-modules/stringbrewer/default.nix
new file mode 100644
index 0000000000000..d93552816cd26
--- /dev/null
+++ b/pkgs/development/python-modules/stringbrewer/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, rstr
+, sre-yield
+, pythonImportsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "stringbrewer";
+  version = "0.0.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-wtETgi+Tk1ALJzzIM6Ic5zkDbALGL0cELg8X75uepkk=";
+  };
+
+  propagatedBuildInputs = [
+    rstr
+    sre-yield
+  ];
+  nativeBuildInputs = [
+    pythonImportsCheckHook
+  ];
+
+  # Package has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "stringbrewer" ];
+
+  meta = with lib; {
+    description = "Python library to generate random strings matching a pattern";
+    homepage = "https://github.com/simoncozens/stringbrewer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/stringcase/default.nix b/pkgs/development/python-modules/stringcase/default.nix
index e02cc0384f9a4..3875afcc72baa 100644
--- a/pkgs/development/python-modules/stringcase/default.nix
+++ b/pkgs/development/python-modules/stringcase/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "stringcase";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stringly/default.nix b/pkgs/development/python-modules/stringly/default.nix
index 777fc11ed37f5..b0b8f0515b59a 100644
--- a/pkgs/development/python-modules/stringly/default.nix
+++ b/pkgs/development/python-modules/stringly/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "stringly";
   version = "1.0b2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 3f91435b3aa79..0a17d51a77488 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "7.5.0";
+  version = "7.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-duDfcHHaXvORNNkpuMf6zxMZqkfCIr8ScrSKxVq/PW8=";
+    hash = "sha256-4T/gfU0jNMgzjqJpohZzpOf4YqdUjh7drEqgILWW25Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/stups-cli-support/default.nix b/pkgs/development/python-modules/stups-cli-support/default.nix
index 1ec1bb017dfa7..33673f7a47af5 100644
--- a/pkgs/development/python-modules/stups-cli-support/default.nix
+++ b/pkgs/development/python-modules/stups-cli-support/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "stups-cli-support";
   version = "1.1.20";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/stups-fullstop/default.nix b/pkgs/development/python-modules/stups-fullstop/default.nix
index 46b5f9046f605..2b668871f57f6 100644
--- a/pkgs/development/python-modules/stups-fullstop/default.nix
+++ b/pkgs/development/python-modules/stups-fullstop/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "stups-fullstop";
   version = "1.1.31";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/stups-tokens/default.nix b/pkgs/development/python-modules/stups-tokens/default.nix
index 8f046986a0257..dd95394632659 100644
--- a/pkgs/development/python-modules/stups-tokens/default.nix
+++ b/pkgs/development/python-modules/stups-tokens/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "stups-tokens";
   version = "1.1.19";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/stups-zign/default.nix b/pkgs/development/python-modules/stups-zign/default.nix
index e9a1bad22e32a..3fd99c0621678 100644
--- a/pkgs/development/python-modules/stups-zign/default.nix
+++ b/pkgs/development/python-modules/stups-zign/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "stups-zign";
   version = "1.2";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix
index 0b6d801c8ed0c..b72d8e0311ccc 100644
--- a/pkgs/development/python-modules/subliminal/default.nix
+++ b/pkgs/development/python-modules/subliminal/default.nix
@@ -90,6 +90,11 @@ buildPythonPackage rec {
     homepage = "https://github.com/Diaoul/subliminal";
     changelog = "https://github.com/Diaoul/subliminal/blob/${version}/HISTORY.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ doronbehar ];
+    # Too many tests fail ever since a certain python-updates merge, see:
+    # https://github.com/Diaoul/subliminal/issues/1062 . Disabling tests
+    # alltogether may produce a not completly failing executable, but that
+    # executable apparently isn't able to download subtitles at all.
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/subunit2sql/default.nix b/pkgs/development/python-modules/subunit2sql/default.nix
index 2f29322b9a8ab..d52180a3d0c47 100644
--- a/pkgs/development/python-modules/subunit2sql/default.nix
+++ b/pkgs/development/python-modules/subunit2sql/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "subunit2sql";
   version = "1.10.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/svgwrite/default.nix b/pkgs/development/python-modules/svgwrite/default.nix
index 7f03007ee5f26..7ac6fd9f13cfc 100644
--- a/pkgs/development/python-modules/svgwrite/default.nix
+++ b/pkgs/development/python-modules/svgwrite/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "svgwrite";
   version = "1.4.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mozman";
diff --git a/pkgs/development/python-modules/swagger-spec-validator/default.nix b/pkgs/development/python-modules/swagger-spec-validator/default.nix
index 124b69135253b..7b9ed410106be 100644
--- a/pkgs/development/python-modules/swagger-spec-validator/default.nix
+++ b/pkgs/development/python-modules/swagger-spec-validator/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "swagger-spec-validator";
   version = "2.7.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Yelp";
diff --git a/pkgs/development/python-modules/swagger-ui-bundle/default.nix b/pkgs/development/python-modules/swagger-ui-bundle/default.nix
index e44fd471bc79e..6f3cd92d90eda 100644
--- a/pkgs/development/python-modules/swagger-ui-bundle/default.nix
+++ b/pkgs/development/python-modules/swagger-ui-bundle/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "swagger-ui-bundle";
   version = "0.0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "swagger_ui_bundle";
diff --git a/pkgs/development/python-modules/swift/default.nix b/pkgs/development/python-modules/swift/default.nix
index 95dd8e55d4a4e..464b044ad15a9 100644
--- a/pkgs/development/python-modules/swift/default.nix
+++ b/pkgs/development/python-modules/swift/default.nix
@@ -25,6 +25,7 @@
 buildPythonPackage rec {
   pname = "swift";
   version = "2.32.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/swisshydrodata/default.nix b/pkgs/development/python-modules/swisshydrodata/default.nix
index 38ed15981fd44..1ab94a63df381 100644
--- a/pkgs/development/python-modules/swisshydrodata/default.nix
+++ b/pkgs/development/python-modules/swisshydrodata/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "swisshydrodata";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Bouni";
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
index a88e21021e419..cf250568b6099 100644
--- a/pkgs/development/python-modules/sympy/default.nix
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "sympy";
   version = "1.12";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/syncedlyrics/default.nix b/pkgs/development/python-modules/syncedlyrics/default.nix
index a8482b18d56a4..48e2f79ef2d5f 100644
--- a/pkgs/development/python-modules/syncedlyrics/default.nix
+++ b/pkgs/development/python-modules/syncedlyrics/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "syncedlyrics";
-  version = "0.6.1";
-  format = "pyproject";
+  version = "0.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "rtcq";
-    repo = pname;
+    repo = "syncedlyrics";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oMG3TqCJfEyfF5zK8hNhyhQ1z7G+S+De8hI1GLCfctM=";
+    hash = "sha256-qZVUptmLouFFBCWiRviYFO0sQKlyz65GjWMg/b1idXY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/syncer/default.nix b/pkgs/development/python-modules/syncer/default.nix
index 48345b94e4213..cb86cd2e7ceea 100644
--- a/pkgs/development/python-modules/syncer/default.nix
+++ b/pkgs/development/python-modules/syncer/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "syncer";
   version = "2.0.3";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/synergy/default.nix b/pkgs/development/python-modules/synergy/default.nix
index 0b6c367db6eea..570390d67f153 100644
--- a/pkgs/development/python-modules/synergy/default.nix
+++ b/pkgs/development/python-modules/synergy/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "synergy";
   version = "0.5.1";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   # Pypi does not contain unit tests
diff --git a/pkgs/development/python-modules/systembridge/default.nix b/pkgs/development/python-modules/systembridge/default.nix
index 5cac083229bea..f60a1c3298c4b 100644
--- a/pkgs/development/python-modules/systembridge/default.nix
+++ b/pkgs/development/python-modules/systembridge/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "systembridge";
   version = "2.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "timmo001";
diff --git a/pkgs/development/python-modules/systemd/default.nix b/pkgs/development/python-modules/systemd/default.nix
index da81905fca37f..de195da11240d 100644
--- a/pkgs/development/python-modules/systemd/default.nix
+++ b/pkgs/development/python-modules/systemd/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "systemd";
   version = "235";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "systemd";
diff --git a/pkgs/development/python-modules/sysv_ipc/default.nix b/pkgs/development/python-modules/sysv_ipc/default.nix
index a58b714a4ac80..faf5b5d7d9922 100644
--- a/pkgs/development/python-modules/sysv_ipc/default.nix
+++ b/pkgs/development/python-modules/sysv_ipc/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "sysv_ipc";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tabcmd/default.nix b/pkgs/development/python-modules/tabcmd/default.nix
index 0569b2e661c3e..6179680068434 100644
--- a/pkgs/development/python-modules/tabcmd/default.nix
+++ b/pkgs/development/python-modules/tabcmd/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "tabcmd";
   version = "2.0.12";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/tabledata/default.nix b/pkgs/development/python-modules/tabledata/default.nix
index b178665628a60..290774b17b41d 100644
--- a/pkgs/development/python-modules/tabledata/default.nix
+++ b/pkgs/development/python-modules/tabledata/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "tabledata";
   version = "1.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "thombashi";
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
index c1726ee97a853..3879520b25100 100644
--- a/pkgs/development/python-modules/tables/default.nix
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -22,6 +22,7 @@
 buildPythonPackage rec {
   pname = "tables";
   version = "3.8.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
diff --git a/pkgs/development/python-modules/tadasets/default.nix b/pkgs/development/python-modules/tadasets/default.nix
index 7eab0e9cda51e..7b9001cd132e2 100644
--- a/pkgs/development/python-modules/tadasets/default.nix
+++ b/pkgs/development/python-modules/tadasets/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "tadasets";
   version = "0.0.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tahoma-api/default.nix b/pkgs/development/python-modules/tahoma-api/default.nix
index 14989f9ac750d..edd3469416680 100644
--- a/pkgs/development/python-modules/tahoma-api/default.nix
+++ b/pkgs/development/python-modules/tahoma-api/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tahoma-api";
   version = "0.0.17";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "philklei";
diff --git a/pkgs/development/python-modules/tailer/default.nix b/pkgs/development/python-modules/tailer/default.nix
index b8e19b7d97d83..8079d7d2c614e 100644
--- a/pkgs/development/python-modules/tailer/default.nix
+++ b/pkgs/development/python-modules/tailer/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tailer";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "six8";
diff --git a/pkgs/development/python-modules/takethetime/default.nix b/pkgs/development/python-modules/takethetime/default.nix
index 7bc914ed85db2..c79df0b179f12 100644
--- a/pkgs/development/python-modules/takethetime/default.nix
+++ b/pkgs/development/python-modules/takethetime/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "takethetime";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "TakeTheTime";
diff --git a/pkgs/development/python-modules/tasklib/default.nix b/pkgs/development/python-modules/tasklib/default.nix
index 126ea75f6a51c..b7fdbcd5a9fbb 100644
--- a/pkgs/development/python-modules/tasklib/default.nix
+++ b/pkgs/development/python-modules/tasklib/default.nix
@@ -14,6 +14,7 @@ wsl_stub = writeShellScriptBin "wsl" "true";
 in buildPythonPackage rec {
   pname = "tasklib";
   version = "2.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/taskw/default.nix b/pkgs/development/python-modules/taskw/default.nix
index 5e9b2f3269e1c..40acca5735e3b 100644
--- a/pkgs/development/python-modules/taskw/default.nix
+++ b/pkgs/development/python-modules/taskw/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "taskw";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/taxi/default.nix b/pkgs/development/python-modules/taxi/default.nix
index 1d7c80e4dd0aa..beda64f22eb5d 100644
--- a/pkgs/development/python-modules/taxi/default.nix
+++ b/pkgs/development/python-modules/taxi/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "taxi";
   version = "6.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sephii";
diff --git a/pkgs/development/python-modules/tblib/default.nix b/pkgs/development/python-modules/tblib/default.nix
index 0441fb2894fd2..e735f6aae217a 100644
--- a/pkgs/development/python-modules/tblib/default.nix
+++ b/pkgs/development/python-modules/tblib/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "tblib";
   version = "2.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tcolorpy/default.nix b/pkgs/development/python-modules/tcolorpy/default.nix
index 9114043e149be..87c9f5b8147d3 100644
--- a/pkgs/development/python-modules/tcolorpy/default.nix
+++ b/pkgs/development/python-modules/tcolorpy/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tcolorpy";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "thombashi";
diff --git a/pkgs/development/python-modules/telegram/default.nix b/pkgs/development/python-modules/telegram/default.nix
index c297efc0efdd9..d07baaa4169fd 100644
--- a/pkgs/development/python-modules/telegram/default.nix
+++ b/pkgs/development/python-modules/telegram/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "telegram";
   version = "0.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/telepath/default.nix b/pkgs/development/python-modules/telepath/default.nix
index 5a38142eade3c..40aa3ca5982b9 100644
--- a/pkgs/development/python-modules/telepath/default.nix
+++ b/pkgs/development/python-modules/telepath/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "telepath";
   version = "0.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = "telepath";
diff --git a/pkgs/development/python-modules/telethon-session-sqlalchemy/default.nix b/pkgs/development/python-modules/telethon-session-sqlalchemy/default.nix
index 346f7de2b8984..8cea09fea3a02 100644
--- a/pkgs/development/python-modules/telethon-session-sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/telethon-session-sqlalchemy/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "telethon-session-sqlalchemy";
   version = "0.2.16";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/telfhash/default.nix b/pkgs/development/python-modules/telfhash/default.nix
index 40198cddb681f..787824d503884 100644
--- a/pkgs/development/python-modules/telfhash/default.nix
+++ b/pkgs/development/python-modules/telfhash/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "telfhash";
   version = "0.9.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "trendmicro";
diff --git a/pkgs/development/python-modules/tempita/default.nix b/pkgs/development/python-modules/tempita/default.nix
index 344ed1ea68d9a..d7e2c91357721 100644
--- a/pkgs/development/python-modules/tempita/default.nix
+++ b/pkgs/development/python-modules/tempita/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage {
   version = "0.5.3-2016-09-28";
+  format = "setuptools";
   pname = "tempita";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/tensorflow-datasets/default.nix b/pkgs/development/python-modules/tensorflow-datasets/default.nix
index 3fd7a441106d9..e857a2916e202 100644
--- a/pkgs/development/python-modules/tensorflow-datasets/default.nix
+++ b/pkgs/development/python-modules/tensorflow-datasets/default.nix
@@ -49,6 +49,7 @@
 buildPythonPackage rec {
   pname = "tensorflow-datasets";
   version = "4.9.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tensorflow";
diff --git a/pkgs/development/python-modules/tensorflow-metadata/default.nix b/pkgs/development/python-modules/tensorflow-metadata/default.nix
index be299e867d320..0f11461eb9d66 100644
--- a/pkgs/development/python-modules/tensorflow-metadata/default.nix
+++ b/pkgs/development/python-modules/tensorflow-metadata/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "tensorflow-metadata";
   version = "1.14.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tensorflow";
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index fa70e4cc4a305..1040023619262 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -22,7 +22,7 @@
 , tensorboard
 , config
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 , zlib
 , python
 , keras-applications
@@ -43,7 +43,7 @@ assert ! (stdenv.isDarwin && cudaSupport);
 
 let
   packages = import ./binary-hashes.nix;
-  inherit (cudaPackages) cudatoolkit cudnn;
+  inherit (cudaPackagesGoogle) cudatoolkit cudnn;
 in buildPythonPackage {
   pname = "tensorflow" + lib.optionalString cudaSupport "-gpu";
   inherit (packages) version;
@@ -200,7 +200,7 @@ in buildPythonPackage {
   ];
 
   passthru = {
-    inherit cudaPackages;
+    cudaPackages = cudaPackagesGoogle;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index ff95c847eae5e..53659c8e52bc8 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -19,8 +19,8 @@
 # https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
 , config
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? { }
-, cudaCapabilities ? cudaPackages.cudaFlags.cudaCapabilities
+, cudaPackagesGoogle
+, cudaCapabilities ? cudaPackagesGoogle.cudaFlags.cudaCapabilities
 , mklSupport ? false, mkl
 , tensorboardSupport ? true
 # XLA without CUDA is broken
@@ -50,14 +50,15 @@ let
   # __ZN4llvm11SmallPtrSetIPKNS_10AllocaInstELj8EED1Ev in any of the
   # translation units, so the build fails at link time
   stdenv =
-    if cudaSupport then cudaPackages.backendStdenv
+    if cudaSupport then cudaPackagesGoogle.backendStdenv
     else if originalStdenv.isDarwin then llvmPackages_11.stdenv
     else originalStdenv;
-  inherit (cudaPackages) cudatoolkit nccl;
+  inherit (cudaPackagesGoogle) cudatoolkit nccl;
   # use compatible cuDNN (https://www.tensorflow.org/install/source#gpu)
   # cudaPackages.cudnn led to this:
   # https://github.com/tensorflow/tensorflow/issues/60398
-  cudnn = cudaPackages.cudnn_8_6;
+  cudnnAttribute = "cudnn_8_6";
+  cudnn = cudaPackagesGoogle.${cudnnAttribute};
   gentoo-patches = fetchzip {
     url = "https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-2.12.0.tar.bz2";
     hash = "sha256-SCRX/5/zML7LmKEPJkcM5Tebez9vv/gmE4xhT/jyqWs=";
@@ -65,15 +66,7 @@ let
   protobuf-extra = linkFarm "protobuf-extra" [
     { name = "include"; path = protobuf-core.src; }
   ];
-in
-
-assert cudaSupport -> cudatoolkit != null
-                   && cudnn != null;
 
-# unsupported combination
-assert ! (stdenv.isDarwin && cudaSupport);
-
-let
   withTensorboard = (pythonOlder "3.6") || tensorboardSupport;
 
   # FIXME: migrate to redist cudaPackages
@@ -111,6 +104,7 @@ let
   tfFeature = x: if x then "1" else "0";
 
   version = "2.13.0";
+  format = "setuptools";
   variant = lib.optionalString cudaSupport "-gpu";
   pname = "tensorflow${variant}";
 
@@ -427,7 +421,9 @@ let
       x86_64-linux = if cudaSupport
         then "sha256-5VFMNHeLrUxW5RTr6EhT3pay9nWJ5JkZTGirDds5QkU="
         else "sha256-KzgWV69Btr84FdwQ5JI2nQEsqiPg1/+TWdbw5bmxXOE=";
-      aarch64-linux = "sha256-9btXrNHqd720oXTPDhSmFidv5iaZRLjCVX8opmrMjXk=";
+      aarch64-linux = if cudaSupport
+        then "sha256-ty5+51BwHWE1xR4/0WcWTp608NzSAS/iiyN+9zx7/wI="
+        else "sha256-9btXrNHqd720oXTPDhSmFidv5iaZRLjCVX8opmrMjXk=";
       x86_64-darwin = "sha256-gqb03kB0z2pZQ6m1fyRp1/Nbt8AVVHWpOJSeZNCLc4w=";
       aarch64-darwin = "sha256-WdgAaFZU+ePwWkVBhLzjlNT7ELfGHOTaMdafcAMD5yo=";
       }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
@@ -490,7 +486,11 @@ let
       license = licenses.asl20;
       maintainers = with maintainers; [ abbradar ];
       platforms = with platforms; linux ++ darwin;
-      broken = stdenv.isDarwin || !(xlaSupport -> cudaSupport);
+      broken =
+        stdenv.isDarwin
+        || !(xlaSupport -> cudaSupport)
+        || !(cudaSupport -> builtins.hasAttr cudnnAttribute cudaPackagesGoogle)
+        || !(cudaSupport -> cudaPackagesGoogle ? cudatoolkit);
     } // lib.optionalAttrs stdenv.isDarwin {
       timeout = 86400; # 24 hours
       maxSilent = 14400; # 4h, double the default of 7200s
@@ -593,7 +593,7 @@ in buildPythonPackage {
   # Regression test for #77626 removed because not more `tensorflow.contrib`.
 
   passthru = {
-    inherit cudaPackages;
+    cudaPackages = cudaPackagesGoogle;
     deps = bazel-build.deps;
     libtensorflow = bazel-build.out;
   };
diff --git a/pkgs/development/python-modules/tensorrt/default.nix b/pkgs/development/python-modules/tensorrt/default.nix
index 475e7627e4baa..e108b1a773cba 100644
--- a/pkgs/development/python-modules/tensorrt/default.nix
+++ b/pkgs/development/python-modules/tensorrt/default.nix
@@ -11,7 +11,7 @@ let
 in
 buildPythonPackage rec {
   pname = "tensorrt";
-  version = cudaPackages.tensorrt.version;
+  version = lib.optionalString (cudaPackages ? tensorrt) cudaPackages.tensorrt.version;
 
   src = cudaPackages.tensorrt.src;
 
@@ -48,5 +48,8 @@ buildPythonPackage rec {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ aidalgol ];
+    broken =
+      !(cudaPackages ? tensorrt)
+      || !(cudaPackages ? cudnn);
   };
 }
diff --git a/pkgs/development/python-modules/terminaltables/default.nix b/pkgs/development/python-modules/terminaltables/default.nix
index 7b548b763fdf2..83895d7ad0bc2 100644
--- a/pkgs/development/python-modules/terminaltables/default.nix
+++ b/pkgs/development/python-modules/terminaltables/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "terminaltables";
   version = "3.1.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/termstyle/default.nix b/pkgs/development/python-modules/termstyle/default.nix
index 0a1c4e764129c..862cea1741687 100644
--- a/pkgs/development/python-modules/termstyle/default.nix
+++ b/pkgs/development/python-modules/termstyle/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "termstyle";
   version = "0.1.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tess/default.nix b/pkgs/development/python-modules/tess/default.nix
index be8e8ff45e053..b11cf5535d1d1 100644
--- a/pkgs/development/python-modules/tess/default.nix
+++ b/pkgs/development/python-modules/tess/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "tess";
   version = "unstable-2019-05-07";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wackywendell";
diff --git a/pkgs/development/python-modules/tesserocr/default.nix b/pkgs/development/python-modules/tesserocr/default.nix
index 4b7a89ea7b73e..7959d38d2d3c5 100644
--- a/pkgs/development/python-modules/tesserocr/default.nix
+++ b/pkgs/development/python-modules/tesserocr/default.nix
@@ -18,6 +18,7 @@
 buildPythonPackage rec {
   pname = "tesserocr";
   version = "2.6.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/test-tube/default.nix b/pkgs/development/python-modules/test-tube/default.nix
index b2044e2f07323..0c4e75169c9f5 100644
--- a/pkgs/development/python-modules/test-tube/default.nix
+++ b/pkgs/development/python-modules/test-tube/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "test-tube";
   version = "0.628";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/testrepository/default.nix b/pkgs/development/python-modules/testrepository/default.nix
index 908779a45d696..60abdaa863847 100644
--- a/pkgs/development/python-modules/testrepository/default.nix
+++ b/pkgs/development/python-modules/testrepository/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "testrepository";
   version = "0.0.20";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/testresources/default.nix b/pkgs/development/python-modules/testresources/default.nix
index 8a7a6160e1af5..4a9d43d6246d6 100644
--- a/pkgs/development/python-modules/testresources/default.nix
+++ b/pkgs/development/python-modules/testresources/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "testresources";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/testscenarios/default.nix b/pkgs/development/python-modules/testscenarios/default.nix
index 8df35ac4b8895..4e7dcef3e90d8 100644
--- a/pkgs/development/python-modules/testscenarios/default.nix
+++ b/pkgs/development/python-modules/testscenarios/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "testscenarios";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index c4f74d377d5fb..24fa17a446239 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "testtools";
   version = "2.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/text-unidecode/default.nix b/pkgs/development/python-modules/text-unidecode/default.nix
index 30f5b73f5fd36..b971b94c99ab6 100644
--- a/pkgs/development/python-modules/text-unidecode/default.nix
+++ b/pkgs/development/python-modules/text-unidecode/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "text-unidecode";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/textwrap3/default.nix b/pkgs/development/python-modules/textwrap3/default.nix
index 2ba2ea4944c17..17832c11b8cf0 100644
--- a/pkgs/development/python-modules/textwrap3/default.nix
+++ b/pkgs/development/python-modules/textwrap3/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "textwrap3";
   version = "0.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tflearn/default.nix b/pkgs/development/python-modules/tflearn/default.nix
index 91a92d6b8de45..d2eee46f14ce8 100644
--- a/pkgs/development/python-modules/tflearn/default.nix
+++ b/pkgs/development/python-modules/tflearn/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "tflearn";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/theano-pymc/default.nix b/pkgs/development/python-modules/theano-pymc/default.nix
index 441843a852724..fa8218237cc12 100644
--- a/pkgs/development/python-modules/theano-pymc/default.nix
+++ b/pkgs/development/python-modules/theano-pymc/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "theano-pymc";
   version = "1.1.2";
+  format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/theano/default.nix b/pkgs/development/python-modules/theano/default.nix
index 428bf4310d6b5..78a2a0836e765 100644
--- a/pkgs/development/python-modules/theano/default.nix
+++ b/pkgs/development/python-modules/theano/default.nix
@@ -51,6 +51,7 @@ let
 in buildPythonPackage rec {
   pname = "theano";
   version = "1.0.5";
+  format = "setuptools";
 
   disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3");
 
diff --git a/pkgs/development/python-modules/thermopro-ble/default.nix b/pkgs/development/python-modules/thermopro-ble/default.nix
index 1a07edc441d48..b03038c4aa5fd 100644
--- a/pkgs/development/python-modules/thermopro-ble/default.nix
+++ b/pkgs/development/python-modules/thermopro-ble/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "thermopro-ble";
-  version = "0.4.5";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bluetooth-devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-z3RrPOV7NGl3aNor+baeVivn+DKwYHcrdlM5sNMGVD0=";
+    hash = "sha256-4lk/K9XW9naPDRXmuqKFBdOwMtLlQE8etJFEbNgfIvA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/thespian/default.nix b/pkgs/development/python-modules/thespian/default.nix
index b1f994fde7634..564e7d73e6191 100644
--- a/pkgs/development/python-modules/thespian/default.nix
+++ b/pkgs/development/python-modules/thespian/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "3.10.7";
+  format = "setuptools";
   pname = "thespian";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/threadloop/default.nix b/pkgs/development/python-modules/threadloop/default.nix
index 2fb8dd4420efe..fdf0e3a08114a 100644
--- a/pkgs/development/python-modules/threadloop/default.nix
+++ b/pkgs/development/python-modules/threadloop/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "threadloop";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/threadpool/default.nix b/pkgs/development/python-modules/threadpool/default.nix
index 9c83e7e45c287..4b08fd7acef83 100644
--- a/pkgs/development/python-modules/threadpool/default.nix
+++ b/pkgs/development/python-modules/threadpool/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "threadpool";
   version = "1.3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/three-merge/default.nix b/pkgs/development/python-modules/three-merge/default.nix
index 2bb1891cd0bbc..18d9eea211e5d 100644
--- a/pkgs/development/python-modules/three-merge/default.nix
+++ b/pkgs/development/python-modules/three-merge/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "three-merge";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/thrift/default.nix b/pkgs/development/python-modules/thrift/default.nix
index 4ff39c59c4687..5d210e3f3f3a1 100644
--- a/pkgs/development/python-modules/thrift/default.nix
+++ b/pkgs/development/python-modules/thrift/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "thrift";
   version = "0.16.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/throttler/default.nix b/pkgs/development/python-modules/throttler/default.nix
index 2742cdaa29350..dea390403592a 100644
--- a/pkgs/development/python-modules/throttler/default.nix
+++ b/pkgs/development/python-modules/throttler/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "throttler";
   version = "1.2.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "uburuntu";
diff --git a/pkgs/development/python-modules/tika/default.nix b/pkgs/development/python-modules/tika/default.nix
index 551813db15edd..7e2ce76f9f762 100644
--- a/pkgs/development/python-modules/tika/default.nix
+++ b/pkgs/development/python-modules/tika/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "tika";
   version = "2.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tilestache/default.nix b/pkgs/development/python-modules/tilestache/default.nix
index ce46fd56f243f..a33a219b1f02a 100644
--- a/pkgs/development/python-modules/tilestache/default.nix
+++ b/pkgs/development/python-modules/tilestache/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "tilestache";
   version = "1.51.14";
+  format = "setuptools";
   disabled = !isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/timeago/default.nix b/pkgs/development/python-modules/timeago/default.nix
index 6a84d909f3639..8f450d2c03a80 100644
--- a/pkgs/development/python-modules/timeago/default.nix
+++ b/pkgs/development/python-modules/timeago/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "timeago";
   version = "1.0.16";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hustcc";
diff --git a/pkgs/development/python-modules/timecop/default.nix b/pkgs/development/python-modules/timecop/default.nix
index 272657dfaafdf..fb455d079b0e4 100644
--- a/pkgs/development/python-modules/timecop/default.nix
+++ b/pkgs/development/python-modules/timecop/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "timecop";
   version = "0.5.0dev";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/timelib/default.nix b/pkgs/development/python-modules/timelib/default.nix
index e0f76c0c2e654..2667867505a6c 100644
--- a/pkgs/development/python-modules/timelib/default.nix
+++ b/pkgs/development/python-modules/timelib/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "timelib";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/timeout-decorator/default.nix b/pkgs/development/python-modules/timeout-decorator/default.nix
index c2d21fea153fe..2907117d34836 100644
--- a/pkgs/development/python-modules/timeout-decorator/default.nix
+++ b/pkgs/development/python-modules/timeout-decorator/default.nix
@@ -2,6 +2,7 @@
 buildPythonPackage rec {
   pname = "timeout-decorator";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tinyobjloader-py/default.nix b/pkgs/development/python-modules/tinyobjloader-py/default.nix
index 3c36dded5ee7a..21dc0a5f4ddf2 100644
--- a/pkgs/development/python-modules/tinyobjloader-py/default.nix
+++ b/pkgs/development/python-modules/tinyobjloader-py/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   pname = "tinyobjloader-py";
+  format = "setuptools";
   inherit (tinyobjloader) version src;
 
   # Build needs headers from ${src}, setting sourceRoot or fetching from pypi won't work.
diff --git a/pkgs/development/python-modules/tissue/default.nix b/pkgs/development/python-modules/tissue/default.nix
index e1ef7f9edf46a..3c5b1a452b5d3 100644
--- a/pkgs/development/python-modules/tissue/default.nix
+++ b/pkgs/development/python-modules/tissue/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "tissue";
   version = "0.9.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tlsh/default.nix b/pkgs/development/python-modules/tlsh/default.nix
index c6809a06a4066..a64fd4fd79c2a 100644
--- a/pkgs/development/python-modules/tlsh/default.nix
+++ b/pkgs/development/python-modules/tlsh/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tlsh";
   version = "4.10.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "trendmicro";
diff --git a/pkgs/development/python-modules/tlslite-ng/default.nix b/pkgs/development/python-modules/tlslite-ng/default.nix
index c6146140163cd..467a50a4027e5 100644
--- a/pkgs/development/python-modules/tlslite-ng/default.nix
+++ b/pkgs/development/python-modules/tlslite-ng/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tlslite-ng";
   version = "0.7.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/tokenize-rt/default.nix b/pkgs/development/python-modules/tokenize-rt/default.nix
index 107c3ae75c5a9..46af9553fcd15 100644
--- a/pkgs/development/python-modules/tokenize-rt/default.nix
+++ b/pkgs/development/python-modules/tokenize-rt/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "tokenize-rt";
   version = "4.2.1";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/tokenlib/default.nix b/pkgs/development/python-modules/tokenlib/default.nix
index bed053f828268..f417235613818 100644
--- a/pkgs/development/python-modules/tokenlib/default.nix
+++ b/pkgs/development/python-modules/tokenlib/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "tokenlib";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mozilla-services";
diff --git a/pkgs/development/python-modules/toml/default.nix b/pkgs/development/python-modules/toml/default.nix
index bdc1b141eed72..aa12d2936c42b 100644
--- a/pkgs/development/python-modules/toml/default.nix
+++ b/pkgs/development/python-modules/toml/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "toml";
   version = "0.10.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index c6c9ecf31d84f..60e38571a7593 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "toolz";
   version = "0.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index 49ed033bd6a15..19bf8a8a1d40c 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -56,10 +56,7 @@
 
 let
   inherit (lib) attrsets lists strings trivial;
-  inherit (cudaPackages) cudaFlags cudnn;
-
-  # Some packages are not available on all platforms
-  nccl = cudaPackages.nccl or null;
+  inherit (cudaPackages) cudaFlags cudnn nccl;
 
   setBool = v: if v then "1" else "0";
 
@@ -137,7 +134,9 @@ in buildPythonPackage rec {
     "out" # output standard python package
     "dev" # output libtorch headers
     "lib" # output libtorch libraries
+    "cxxdev" # propagated deps for the cmake consumers of torch
   ];
+  cudaPropagateToOutput = "cxxdev";
 
   src = fetchFromGitHub {
     owner = "pytorch";
@@ -183,7 +182,7 @@ in buildPythonPackage rec {
     # Strangely, this is never set in cmake
     substituteInPlace cmake/public/LoadHIP.cmake \
       --replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \
-        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." rocmPackages.clr.version))})"
+        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitVersion rocmPackages.clr.version))})"
   ''
   # Detection of NCCL version doesn't work particularly well when using the static binary.
   + lib.optionalString cudaSupport ''
@@ -212,10 +211,11 @@ in buildPythonPackage rec {
   # For more, see https://github.com/open-mpi/ompi/issues/7733#issuecomment-629806195.
   preConfigure = lib.optionalString cudaSupport ''
     export TORCH_CUDA_ARCH_LIST="${gpuTargetString}"
-    export CUDNN_INCLUDE_DIR=${cudnn.dev}/include
-    export CUDNN_LIB_DIR=${cudnn.lib}/lib
     export CUPTI_INCLUDE_DIR=${cudaPackages.cuda_cupti.dev}/include
     export CUPTI_LIBRARY_DIR=${cudaPackages.cuda_cupti.lib}/lib
+  '' + lib.optionalString (cudaSupport && cudaPackages ? cudnn) ''
+    export CUDNN_INCLUDE_DIR=${cudnn.dev}/include
+    export CUDNN_LIB_DIR=${cudnn.lib}/lib
   '' + lib.optionalString rocmSupport ''
     export ROCM_PATH=${rocmtoolkit_joined}
     export ROCM_SOURCE_DIR=${rocmtoolkit_joined}
@@ -273,7 +273,7 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
-  USE_NCCL = setBool (nccl != null);
+  USE_NCCL = setBool (cudaPackages ? nccl);
   USE_SYSTEM_NCCL = setBool useSystemNccl;                  # don't build pytorch's third_party NCCL
   USE_STATIC_NCCL = setBool useSystemNccl;
 
@@ -339,7 +339,9 @@ in buildPythonPackage rec {
   buildInputs = [ blas blas.provider ]
     ++ lib.optionals cudaSupport (with cudaPackages; [
       cuda_cccl.dev # <thrust/*>
-      cuda_cudart # cuda_runtime.h and libraries
+      cuda_cudart.dev # cuda_runtime.h and libraries
+      cuda_cudart.lib
+      cuda_cudart.static
       cuda_cupti.dev # For kineto
       cuda_cupti.lib # For kineto
       cuda_nvcc.dev # crt/host_config.h; even though we include this in nativeBuildinputs, it's needed here too
@@ -348,8 +350,6 @@ in buildPythonPackage rec {
       cuda_nvrtc.lib
       cuda_nvtx.dev
       cuda_nvtx.lib # -llibNVToolsExt
-      cudnn.dev
-      cudnn.lib
       libcublas.dev
       libcublas.lib
       libcufft.dev
@@ -360,7 +360,10 @@ in buildPythonPackage rec {
       libcusolver.lib
       libcusparse.dev
       libcusparse.lib
-    ] ++ lists.optionals (nccl != null) [
+    ] ++ lists.optionals (cudaPackages ? cudnn) [
+      cudnn.dev
+      cudnn.lib
+    ] ++ lists.optionals (useSystemNccl && cudaPackages ? nccl) [
       # Some platforms do not support NCCL (i.e., Jetson)
       nccl.dev # Provides nccl.h AND a static copy of NCCL!
     ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
@@ -371,7 +374,10 @@ in buildPythonPackage rec {
     ++ lib.optionals rocmSupport [ rocmPackages.llvm.openmp ]
     ++ lib.optionals (cudaSupport || rocmSupport) [ effectiveMagma ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
-    ++ lib.optionals stdenv.isDarwin [ Accelerate CoreServices libobjc ];
+    ++ lib.optionals stdenv.isDarwin [ Accelerate CoreServices libobjc ]
+    ++ lib.optionals tritonSupport [ openai-triton ]
+    ++ lib.optionals MPISupport [ mpi ]
+    ++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
 
   propagatedBuildInputs = [
     cffi
@@ -392,8 +398,10 @@ in buildPythonPackage rec {
 
     # torch/csrc requires `pybind11` at runtime
     pybind11
+  ] ++ lib.optionals tritonSupport [ openai-triton ];
+
+  propagatedCxxBuildInputs = [
   ]
-  ++ lib.optionals tritonSupport [ openai-triton ]
   ++ lib.optionals MPISupport [ mpi ]
   ++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
 
@@ -454,7 +462,10 @@ in buildPythonPackage rec {
       --replace "/build/source/torch/include" "$dev/include"
   '';
 
-  postFixup = lib.optionalString stdenv.isDarwin ''
+  postFixup = ''
+    mkdir -p "$cxxdev/nix-support"
+    printWords "''${propagatedCxxBuildInputs[@]}" >> "$cxxdev/nix-support/propagated-build-inputs"
+  '' + lib.optionalString stdenv.isDarwin ''
     for f in $(ls $lib/lib/*.dylib); do
         install_name_tool -id $lib/lib/$(basename $f) $f || true
     done
diff --git a/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch b/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch
new file mode 100644
index 0000000000000..a1f6b5ea8aeb7
--- /dev/null
+++ b/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch
@@ -0,0 +1,32 @@
+From 789ec77d09171f22d82006493cafbcf2496b4f8f Mon Sep 17 00:00:00 2001
+From: Someone Serge <sergei.kozlukov@aalto.fi>
+Date: Sat, 2 Dec 2023 12:47:00 +0000
+Subject: [PATCH] setup.py: propagate cmakeFlags
+
+---
+ tools/setup_helpers/extension.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/setup_helpers/extension.py b/tools/setup_helpers/extension.py
+index 2415bbae..7c2a9351 100644
+--- a/tools/setup_helpers/extension.py
++++ b/tools/setup_helpers/extension.py
+@@ -1,6 +1,7 @@
+ import distutils.sysconfig
+ import os
+ import platform
++import shlex
+ import subprocess
+ from pathlib import Path
+ 
+@@ -141,6 +142,8 @@ class CMakeBuild(build_ext):
+             f"-DUSE_OPENMP:BOOL={'ON' if _USE_OPENMP else 'OFF'}",
+             f"-DUSE_FFMPEG:BOOL={'ON' if _USE_FFMPEG else 'OFF'}",
+         ]
++        if "cmakeFlags" in os.environ:
++            cmake_args.extend(shlex.split(os.environ["cmakeFlags"]))
+         build_args = ["--target", "install"]
+         # Pass CUDA architecture to cmake
+         if _TORCH_CUDA_ARCH_LIST is not None:
+-- 
+2.42.0
diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix
index 4ff44d123a487..f09175547ebfe 100644
--- a/pkgs/development/python-modules/torchaudio/default.nix
+++ b/pkgs/development/python-modules/torchaudio/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "torchaudio";
   version = "2.1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pytorch";
@@ -24,6 +25,10 @@ buildPythonPackage rec {
     hash = "sha256-5UlnOGXXFu1p9M5B+Ixc9DW5hLZ1nskv81Y+McbWu6Q=";
   };
 
+  patches = [
+    ./0001-setup.py-propagate-cmakeFlags.patch
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'print(" --- Initializing submodules")' "return" \
@@ -56,17 +61,7 @@ buildPythonPackage rec {
     ffmpeg-full
     pybind11
     sox
-  ] ++ lib.optionals cudaSupport [
-    cudaPackages.libcurand.dev
-    cudaPackages.libcurand.lib
-    cudaPackages.cuda_cudart # cuda_runtime.h and libraries
-    cudaPackages.cuda_cccl.dev # <thrust/*>
-    cudaPackages.cuda_nvtx.dev
-    cudaPackages.cuda_nvtx.lib # -llibNVToolsExt
-    cudaPackages.libcublas.dev
-    cudaPackages.libcublas.lib
-    cudaPackages.libcufft.dev
-    cudaPackages.libcufft.lib
+    torch.cxxdev
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/torchgpipe/default.nix b/pkgs/development/python-modules/torchgpipe/default.nix
index 0ebce5b66ddb7..f96add92f0cc7 100644
--- a/pkgs/development/python-modules/torchgpipe/default.nix
+++ b/pkgs/development/python-modules/torchgpipe/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "torchgpipe";
   version = "0.0.7";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix
index ee66ee817d1f7..9b980206c32a9 100644
--- a/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/pkgs/development/python-modules/torchmetrics/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "torchmetrics";
-  version = "1.2.0";
+  version = "1.2.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
     owner = "Lightning-AI";
     repo = "torchmetrics";
     rev = "refs/tags/v${version}";
-    hash = "sha256-g5JuTbiRd8yWx2nM3UE8ejOhuZ0XpAQdS5AC9AlrSFY=";
+    hash = "sha256-uvebKCJL2TSQUGmtVE1MtYwzgs+0lWvHvsN5PwJyl/g=";
   };
 
   disabled = pythonOlder "3.8";
@@ -90,6 +90,7 @@ buildPythonPackage {
   meta = with lib; {
     description = "Machine learning metrics for distributed, scalable PyTorch applications (used in pytorch-lightning)";
     homepage = "https://lightning.ai/docs/torchmetrics/";
+    changelog = "https://github.com/Lightning-AI/torchmetrics/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [
       SomeoneSerge
diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix
index 223130918af59..f2db9c3d1550b 100644
--- a/pkgs/development/python-modules/torchvision/default.nix
+++ b/pkgs/development/python-modules/torchvision/default.nix
@@ -17,30 +17,9 @@ let
   inherit (torch) cudaCapabilities cudaPackages cudaSupport;
   inherit (cudaPackages) backendStdenv cudaVersion;
 
-  # NOTE: torchvision doesn't use cudnn; torch does!
-  #   For this reason it is not included.
-  cuda-common-redist = with cudaPackages; [
-    cuda_cccl # <thrust/*>
-    libcublas # cublas_v2.h
-    libcusolver # cusolverDn.h
-    libcusparse # cusparse.h
-  ];
-
-  cuda-native-redist = symlinkJoin {
-    name = "cuda-native-redist-${cudaVersion}";
-    paths = with cudaPackages; [
-      cuda_cudart # cuda_runtime.h
-      cuda_nvcc
-    ] ++ cuda-common-redist;
-  };
-
-  cuda-redist = symlinkJoin {
-    name = "cuda-redist-${cudaVersion}";
-    paths = cuda-common-redist;
-  };
-
   pname = "torchvision";
   version = "0.16.1";
+  format = "setuptools";
 in
 buildPythonPackage {
   inherit pname version;
@@ -52,9 +31,15 @@ buildPythonPackage {
     hash = "sha256-TsYBDtedTQ3+F3LM4JwzkGH2XOr0WSp1Au5YoR07rSA=";
   };
 
-  nativeBuildInputs = [ libpng ninja which ] ++ lib.optionals cudaSupport [ cuda-native-redist ];
+  nativeBuildInputs = [
+    libpng
+    ninja
+    which
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_nvcc
+  ];
 
-  buildInputs = [ libjpeg_turbo libpng ] ++ lib.optionals cudaSupport [ cuda-redist ];
+  buildInputs = [ libjpeg_turbo libpng torch.cxxdev ];
 
   propagatedBuildInputs = [ numpy pillow torch scipy ];
 
diff --git a/pkgs/development/python-modules/tornado/default.nix b/pkgs/development/python-modules/tornado/default.nix
index ac57f212d229e..75187d12d29f3 100644
--- a/pkgs/development/python-modules/tornado/default.nix
+++ b/pkgs/development/python-modules/tornado/default.nix
@@ -20,6 +20,7 @@
 buildPythonPackage rec {
   pname = "tornado";
   version = "6.3.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tornadoweb";
diff --git a/pkgs/development/python-modules/torpy/default.nix b/pkgs/development/python-modules/torpy/default.nix
index ea9c96d33e153..cfaaef421926f 100644
--- a/pkgs/development/python-modules/torpy/default.nix
+++ b/pkgs/development/python-modules/torpy/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "torpy";
   version = "1.1.6";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/torrequest/default.nix b/pkgs/development/python-modules/torrequest/default.nix
index 99ea0e4e53515..90a0ab747a88a 100644
--- a/pkgs/development/python-modules/torrequest/default.nix
+++ b/pkgs/development/python-modules/torrequest/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "torrequest";
   version = "0.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/traceback2/default.nix b/pkgs/development/python-modules/traceback2/default.nix
index 040874286bde0..9992cd1470b76 100644
--- a/pkgs/development/python-modules/traceback2/default.nix
+++ b/pkgs/development/python-modules/traceback2/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "1.4.0";
+  format = "setuptools";
   pname = "traceback2";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/tracerite/default.nix b/pkgs/development/python-modules/tracerite/default.nix
index e94e8a8d1d95b..981cd2087456d 100644
--- a/pkgs/development/python-modules/tracerite/default.nix
+++ b/pkgs/development/python-modules/tracerite/default.nix
@@ -4,18 +4,21 @@
 , setuptools-scm
 , html5tagger
 , python
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tracerite";
-  version = "1.1.0";
+  version = "1.1.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "sanic-org";
     repo = "tracerite";
-    rev = "v${version}";
-    hash = "sha256-At8wVR3EcHEi051BBfjb+sOhs93GyzWlEAjtehTMeNU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-rI1MNdYl/P64tUHyB3qV9gfLbGbCVOXnEFoqFTkaqgg=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -40,8 +43,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Tracebacks for Humans (in Jupyter notebooks";
+    description = "Tracebacks for Humans in Jupyter notebooks";
     homepage = "https://github.com/sanic-org/tracerite";
+    changelog = "https://github.com/sanic-org/tracerite/releases/tag/v${version}";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/tracing/default.nix b/pkgs/development/python-modules/tracing/default.nix
index c2adc9ec9c5aa..a447ae2ad0bae 100644
--- a/pkgs/development/python-modules/tracing/default.nix
+++ b/pkgs/development/python-modules/tracing/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tracing";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchurl {
     url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_${version}.orig.tar.gz";
diff --git a/pkgs/development/python-modules/traittypes/default.nix b/pkgs/development/python-modules/traittypes/default.nix
index 152b9e640040a..3f8ab6fa4dd12 100644
--- a/pkgs/development/python-modules/traittypes/default.nix
+++ b/pkgs/development/python-modules/traittypes/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "traittypes";
   version = "unstable-2019-06-23";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/transaction/default.nix b/pkgs/development/python-modules/transaction/default.nix
index 12a86a1344578..acb0488e41cd5 100644
--- a/pkgs/development/python-modules/transaction/default.nix
+++ b/pkgs/development/python-modules/transaction/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "transaction";
-  version = "3.1.0";
+  version = "4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZdCx6pLb58Tjsjf7a9i0Heoj10Wee92MOIC//a+RL6Q=";
+    hash = "sha256-aANduRP2DRvhL2Vj0gHaqzbIPnY94ViZ/4M48m5eYvI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/translatepy/default.nix b/pkgs/development/python-modules/translatepy/default.nix
index 08e7dfab61779..cb3c6c19d8b13 100644
--- a/pkgs/development/python-modules/translatepy/default.nix
+++ b/pkgs/development/python-modules/translatepy/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "translatepy";
   version = "2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Animenosekai";
diff --git a/pkgs/development/python-modules/translationstring/default.nix b/pkgs/development/python-modules/translationstring/default.nix
index f7036128e08ec..ab6c1808e428d 100644
--- a/pkgs/development/python-modules/translationstring/default.nix
+++ b/pkgs/development/python-modules/translationstring/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "translationstring";
   version = "1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/transmissionrpc/default.nix b/pkgs/development/python-modules/transmissionrpc/default.nix
index 3a484692d1a23..5c2cf2ee85dee 100644
--- a/pkgs/development/python-modules/transmissionrpc/default.nix
+++ b/pkgs/development/python-modules/transmissionrpc/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "transmissionrpc";
   version = "0.11";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/trectools/default.nix b/pkgs/development/python-modules/trectools/default.nix
index 3948d0441d90b..f6870bd48c1ab 100644
--- a/pkgs/development/python-modules/trectools/default.nix
+++ b/pkgs/development/python-modules/trectools/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "trectools";
   version = "0.0.49";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/tree-sitter/default.nix b/pkgs/development/python-modules/tree-sitter/default.nix
index 6eb833b92d50a..cd572618a2fd8 100644
--- a/pkgs/development/python-modules/tree-sitter/default.nix
+++ b/pkgs/development/python-modules/tree-sitter/default.nix
@@ -35,6 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python bindings to the Tree-sitter parsing library";
     homepage = "https://github.com/tree-sitter/py-tree-sitter";
+    changelog = "https://github.com/tree-sitter/py-tree-sitter/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/treelog/default.nix b/pkgs/development/python-modules/treelog/default.nix
index e3b85cd64fb8f..5f825bee623c8 100644
--- a/pkgs/development/python-modules/treelog/default.nix
+++ b/pkgs/development/python-modules/treelog/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "treelog";
   version = "1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index 540e52f0793bf..69e0c2c9d40d6 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "treq";
   version = "22.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 23af30faefbab..42e1352049b56 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -25,6 +25,7 @@
 buildPythonPackage rec {
   pname = "trezor";
   version = "0.13.8";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/trezor_agent/default.nix b/pkgs/development/python-modules/trezor_agent/default.nix
index d6ff9bb36dfa0..0cece3cc0a98a 100644
--- a/pkgs/development/python-modules/trezor_agent/default.nix
+++ b/pkgs/development/python-modules/trezor_agent/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "trezor_agent";
   version = "0.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/trfl/default.nix b/pkgs/development/python-modules/trfl/default.nix
index b81481e3841b6..8538b47598ede 100644
--- a/pkgs/development/python-modules/trfl/default.nix
+++ b/pkgs/development/python-modules/trfl/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "trfl";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "deepmind";
diff --git a/pkgs/development/python-modules/trueskill/default.nix b/pkgs/development/python-modules/trueskill/default.nix
index db16ed7fafbc8..ae17c8fa83c21 100644
--- a/pkgs/development/python-modules/trueskill/default.nix
+++ b/pkgs/development/python-modules/trueskill/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "trueskill";
   version = "0.4.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ttach/default.nix b/pkgs/development/python-modules/ttach/default.nix
index 5a7420a270748..39d504cf1b46d 100644
--- a/pkgs/development/python-modules/ttach/default.nix
+++ b/pkgs/development/python-modules/ttach/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ttach";
   version = "0.0.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/tubes/default.nix b/pkgs/development/python-modules/tubes/default.nix
index 4c787af378a23..28d7b7bc4be22 100644
--- a/pkgs/development/python-modules/tubes/default.nix
+++ b/pkgs/development/python-modules/tubes/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "tubes";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Tubes";
diff --git a/pkgs/development/python-modules/tunigo/default.nix b/pkgs/development/python-modules/tunigo/default.nix
index c69f00f251b7a..600228b0d66f7 100644
--- a/pkgs/development/python-modules/tunigo/default.nix
+++ b/pkgs/development/python-modules/tunigo/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "tunigo";
   version = "1.0.0";
+  format = "setuptools";
 
   propagatedBuildInputs = [ requests ];
 
diff --git a/pkgs/development/python-modules/tuyaha/default.nix b/pkgs/development/python-modules/tuyaha/default.nix
index 53d6c83d48ab2..5973b763ef636 100644
--- a/pkgs/development/python-modules/tuyaha/default.nix
+++ b/pkgs/development/python-modules/tuyaha/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "tuyaha";
   version = "0.0.11";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "PaulAnnekov";
diff --git a/pkgs/development/python-modules/tvdb-api/default.nix b/pkgs/development/python-modules/tvdb-api/default.nix
index bec0964acc0d6..f4255d8e854b7 100644
--- a/pkgs/development/python-modules/tvdb-api/default.nix
+++ b/pkgs/development/python-modules/tvdb-api/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "tvdb-api";
   version = "3.2.0-beta";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbr";
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index c053a9294fe99..8989def66bc07 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "8.10.2";
+  version = "8.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-3Gm1oKhKcTb3c+awMKVQ3qFKkdXC3azR1ECTdw60oCg=";
+    hash = "sha256-6aTPPuQRRPd9mYJI8CHusejTTYdJX/06x+TubPgagJY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twitch-python/default.nix b/pkgs/development/python-modules/twitch-python/default.nix
index e2f9c8caf31cb..a42f80b36da86 100644
--- a/pkgs/development/python-modules/twitch-python/default.nix
+++ b/pkgs/development/python-modules/twitch-python/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "twitch-python";
   version = "0.0.20";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/twofish/default.nix b/pkgs/development/python-modules/twofish/default.nix
index 1fe541b072907..5076de1ad3c33 100644
--- a/pkgs/development/python-modules/twofish/default.nix
+++ b/pkgs/development/python-modules/twofish/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "twofish";
   version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/txdbus/default.nix b/pkgs/development/python-modules/txdbus/default.nix
index 31afbd4fdf950..3f377313a0bd2 100644
--- a/pkgs/development/python-modules/txdbus/default.nix
+++ b/pkgs/development/python-modules/txdbus/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "txdbus";
   version = "1.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/txgithub/default.nix b/pkgs/development/python-modules/txgithub/default.nix
index 45e366764980b..8fa0229f0ca52 100644
--- a/pkgs/development/python-modules/txgithub/default.nix
+++ b/pkgs/development/python-modules/txgithub/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "txgithub";
   version = "15.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/txrequests/default.nix b/pkgs/development/python-modules/txrequests/default.nix
index afe4b0f93b239..706a97b6297ab 100644
--- a/pkgs/development/python-modules/txrequests/default.nix
+++ b/pkgs/development/python-modules/txrequests/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "txrequests";
   version = "0.9.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index c1acef68d19a5..03da40472d5ba 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "txtorcon";
-  version = "23.5.0";
+  version = "23.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k/2Aqd1QX2mNCGT+k9uLapwRRLX+uRUwggtw7YmCZRw=";
+    hash = "sha256-cfha6T121yZRAFnJ7XTmCLxaXJ99EDhTtJ5BQoBAai8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/txzmq/default.nix b/pkgs/development/python-modules/txzmq/default.nix
index 4f6a4067d55ad..a8e75896b7c26 100644
--- a/pkgs/development/python-modules/txzmq/default.nix
+++ b/pkgs/development/python-modules/txzmq/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "txzmq";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/type-infer/default.nix b/pkgs/development/python-modules/type-infer/default.nix
index 55fe29e972a83..7983ac8d29bf8 100644
--- a/pkgs/development/python-modules/type-infer/default.nix
+++ b/pkgs/development/python-modules/type-infer/default.nix
@@ -24,7 +24,7 @@ let
 in
 buildPythonPackage rec {
   pname = "type-infer";
-  version = "0.0.15";
+  version = "0.0.17";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "type_infer";
     inherit version;
-    hash = "sha256-AnThYE6hHc3Pwu8fl0VBiQJfGVjeEKo4RrCsOl2pfCA=";
+    hash = "sha256-2bPXJuGDXTVoYUP9IfwyRy8LbMT/ySoHDzuelrOq/DU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-aiobotocore-packages/default.nix b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
index 7bc93024121e1..d0db763ad86fb 100644
--- a/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
@@ -44,709 +44,709 @@ let
     };
 in
 rec {
-  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.6.0" "sha256-Bit55lGYI8+VOEm+6NKlfxWldFWdiAFwRZjJsgwuv7Q=";
+  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.8.0" "sha256-7TmekyZVc2l2er1TIJURP7Qy0n7xRYnXt44FJr5XBWA=";
 
-  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.5.2.post3" "sha256-zuBKsuPD3Sjl8KWKIlMgKtzfmtVc8ZZyIMKyPC2QjmY=";
+  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.8.0" "sha256-rVwj3gN9+U5m6xXwytQpE8mSVPTlezzeNIwNH2vgR4Y=";
 
-  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.5.4" "sha256-B7SsW+FtSOMfFFdfmH9iv/i9R/qj6ImAr95gpPAf3G4=";
+  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.8.0" "sha256-VzV8viXJpHfI1aD1UtCX+GSSZKhRSTzMX5dnkGhm+9Y=";
 
-  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.6.0" "sha256-AO3CEqWkLBTkx4k8YamcUUCg2TwHODCMjz6ujubzLjA=";
+  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.8.0" "sha256-ib044RjF+1projrSoyiMdj9LkbT1BJrfObxs1ukSNHo=";
 
-  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.6.0" "sha256-Pjfm+q8Wq7BT3QfFcLuODteOZdvNXSegde1sc6z2UOk=";
+  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.8.0" "sha256-rLWMVLKsvuyhBzVg0aI4lcw4ASz/nzVXnzCEWS3/3tY=";
 
-  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.6.0" "sha256-EZ/wSfcWnT7DoSRegMZnzukVLlTFYP2UsR+rEiLwtnE=";
+  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.8.0" "sha256-rLx9YbbysJ61FxKJgNbqPPFjUB2oT1B98p8nGPByyQc=";
 
-  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.6.0" "sha256-IkvRE9xD0y8l48rWuV1cvnOQ7eHr0hYsrD3NusofgyI=";
+  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.8.0" "sha256-+hfKzZ21VBfv4zv8AWlKJIzw4k4mR8XjYUkmJW+dv+A=";
 
-  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.6.0" "sha256-4sSNDhmNuOnYPq0X/G8m0XDP08W+MUQ3xiWK9Yc8U6Q=";
+  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.8.0" "sha256-4FdDQnj7h/WfOZ9V3Xwg7vCMfohyOl3Gb+bhauyBYqU=";
 
-  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.6.0" "sha256-K1esoNUDYWzqK12X6o5c12XJQGGDNlCyUiVsNsUaQhI=";
+  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.8.0" "sha256-KfyG5FI+P/5zO7D/qOocipzk4p2DFtzx4cXtNYP23gA=";
 
-  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.6.0" "sha256-r4eDPDqkcQhApN/+4xjDuillQnDOqu2xqyACYHqXRpw=";
+  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.8.0" "sha256-NNgVburmRUEVgIAyGPUz+MX1vtS8fBuyen/jQiGKrKo=";
 
-  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.6.0" "sha256-sAJW4q/mUaRsiN7Yt/uBMbxDfKhTSdiZaDd7nvvM3og=";
+  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.8.0" "sha256-Xh7PmcAqF/JC8x+29ZO+OWj0gaC3nJJZIJycnWez00A=";
 
-  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.6.0" "sha256-cNNVvAX1o+ZieUaW59yp5ELFf2S96XdCOLeVe91oFI8=";
+  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.8.0" "sha256-u4074E+mZOxwGKkTDcWDEMooTYWpbqMoaRNRzOpFT5k=";
 
-  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.6.0" "sha256-qliKZTlmnPwRdhQs26M0PlCM91Mn7cHCmccCAhDtryU=";
+  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.8.0" "sha256-F75m9QZZ8msaFdXW3K/DL2r4WTxLtqQkMmVWgmnMa/A=";
 
-  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.6.0" "sha256-DcLOpKbUl/YOinXXtlo2su0uMh0Ja5cGrpbmKuQVGvw=";
+  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.8.0" "sha256-P0nhXebQhixtvCaky/8NRBJpEa0mGh3VTLgmBMTtzUc=";
 
-  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.6.0" "sha256-yQvNa3iBsoAD4oBVmt0ZNjziBEhzTUE6E6FFLluxTZw=";
+  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.8.0" "sha256-BqugOZAUVA4I3MXJ4JXKYvnHghL99rxnNlvdc4yilMk=";
 
-  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.6.0" "sha256-ILdWiqipfSnSjdToIq++JIu1WUmv+lMX72Ymo9KGZ9s=";
+  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.8.0" "sha256-Bl1RZc33s6ej5SWdpt1qAJkXzuuaYnSHN/VxnR9fU9I=";
 
-  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.6.0" "sha256-ZPNB2PUpeTttagX1rRmgINgahj3cNuBdKQMvdFNK15Y=";
+  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.8.0" "sha256-zetVe/ySSidCFpP+LSRoBEWjn/GAQIDjdgl+soYjAJY=";
 
-  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.6.0" "sha256-p5EgvysfhIHz4ZALV8tJz/7ZkRIu2BIZwENiiVho67w=";
+  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.8.0" "sha256-R1QCz40T9ZuVB7Hr4N1BpTtyRmkiTrXQIuE1QUPY3xQ=";
 
-  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.6.0" "sha256-PUDqMFJu2BG3WVCS6SYyltrSr64VblVAgrCYQ6FR2sk=";
+  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.8.0" "sha256-0etunSEPkT6kmVP/ZkV9Ok+nF0lpzXrFeuUnabaqtOk=";
 
-  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.6.0" "sha256-bGlbP0d38vFHkITC84N43Vt1Nrsf3+ByWSvvteDejBw=";
+  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.8.0" "sha256-EeAKZH/VNhmL5UZaJcM0euEXxaRr+tSxaIiNZDtmEtg=";
 
-  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.6.0" "sha256-Lcoc/IJ9o1glV8gNNA/t9B3J6K5Qz/50fqPMsF78WVI=";
+  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.8.0" "sha256-mKQU3vw2QtGWQhIcXGzaxzTpsIG1ejQkeXzWqR1EU8Q=";
 
-  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.6.0" "sha256-zyesnbNmSrQEsBVQJouP05zxhBTikGZVCR/VFdEkHNE=";
+  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.8.0" "sha256-76pk9XHOeSXbvbFKUwGQPcJb/Ut5b4O4+S3v7HT+SCI=";
 
-  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.6.0" "sha256-+4LWBHHwL1R4jBGHChSUOq9vFc+k7NmRXvo8ZjDIyXk=";
+  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.8.0" "sha256-bMy/4tAWUEj9AjJN7/Qu+iFw0dZjtt81t0a6Dy3oeOc=";
 
-  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.6.0" "sha256-JFrBy9Ck/Ni4lwHV47fkzt/YI5cX9FvTeaT0tNgzdqs=";
+  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.8.0" "sha256-5pGJ3ior1etS1JK2c7wv+VzYUoB8QgEms3z2lEJiJPk=";
 
-  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.6.0" "sha256-qTW58yyFwbBYyisuL4NkaEXqblJ3vevXI1lHZVX4mZY=";
+  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.8.0" "sha256-84sEwc0M779PRvYUgcT2/VS+p7RH5TFOLqFPywiBY1Y=";
 
-  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.6.0" "sha256-xmTKI8q82UohBE+Wh+j1xivsY8wmrcvOlDAlwTpJmxE=";
+  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.8.0" "sha256-4WiLJWVjKJE8FSmBuEg7YgytBRuWoSpXeE9csNBD+ow=";
 
-  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.6.0" "sha256-a+47CFM19RM3Y+9wLLe8D4II7rKeDQ93dy68jqJqBD4=";
+  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.8.0" "sha256-VztKu0+MvK5coK8SWs6FL/ciRlxls39WNtOwED9rvoI=";
 
-  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.6.0" "sha256-s0ClcRgYJcd5GZXYWMn2FieNXebdlS9206mLtKCSy44=";
+  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.8.0" "sha256-xqsgm/VIdGAXN4dqdsDWlCA0VzfAWXvzZzNhmiKab9Y=";
 
-  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.6.0" "sha256-ZhOokFIm5KHBc5X+Lp19z5N7BudTQHU5KjHGYCrW/aE=";
+  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.8.0" "sha256-tfpMpfTvloPaqWpoyEMNHfi6Ymkh7lA0y1mDFHAzx0Y=";
 
-  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.6.0" "sha256-rmm10kZXRkmj0TxqARf+57Nz8LapZF7TaH9GGwhIHys=";
+  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.8.0" "sha256-m7geIWHzhqxU1SWsMkYza0XaeNYI1vOZetow2s1LDjY=";
 
-  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.6.0" "sha256-/YH0nuyWaEVPlZFxJarGkWOnLcpiIvvf/GCmxMOaybI=";
+  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.8.0" "sha256-qMlqrncnxIEkdvZGN44Dh3BIFFHaSt3iylvQgn638PY=";
 
-  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.6.0" "sha256-OC1xWUT0BjBoelAxHkprhD54kF+YbK30H/42Q3XxdwY=";
+  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.8.0" "sha256-djpEYsrh5qrtNUbW+ikBzCa7OXIOXm4nzMCHnAPSy60=";
 
-  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.6.0" "sha256-/5yrgR7NbQ6GbkC9SsHaAhDa3juBjyRt705wHTu6Mr8=";
+  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.8.0" "sha256-0S48ou1U1ljMTBGSYGwqGa0aYHdN6PDSIsHNky5RbVY=";
 
-  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.6.0" "sha256-bDEICyyIUCRxbTWZFXHsj5yncQI+F+geC92vvsrKCxw=";
+  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.8.0" "sha256-SjMg8/b9Rv9XmjVqlWebjSAqnnNLJf/Il8fRyp9Uf5Q=";
 
-  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.6.0" "sha256-aobQZov192xNkN7cwIKLgJnhxltyLpWw1oKk2m1HkV8=";
+  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.8.0" "sha256-ZTuPhI3zOrNOknN5IWVYidDWfPC3q0M5qvJPMIubduo=";
 
-  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.6.0" "sha256-0tFKq0VomVAD9NRtlQzilQEZHFOZp40vtTKfoBqjpyU=";
+  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.8.0" "sha256-rr5RchXwvcf8ZQF8pjho/6BtFHzUMse/VAsFvy4z/lQ=";
 
-  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.6.0" "sha256-eKYNFMlDt9uUaqsK8PPTpt1wghN3nGgM+idQBVei8eY=";
+  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.8.0" "sha256-t26Am75QquCNPYdjKbSeXykEgkZRYKb7CRR6RBXJh3s=";
 
-  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.6.0" "sha256-5d9LUaSDvYI/Nrsmg4MnM0ucXmyzUQKV4DpX9pZst2s=";
+  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.8.0" "sha256-bBrjIOxySDuGFAMHyJKXorwmDMtfmJdUqCbG+LA2ZbI=";
 
-  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.6.0" "sha256-UXVS4iTbkv9/xmL5AFv3xlWtWk5qN/dam/ic4mg3+cI=";
+  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.8.0" "sha256-fMwbG2A5WZ/1mbqZvdMDD+perKLIWhNLWt+Tqzx2HoM=";
 
-  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.6.0" "sha256-+2AioI5B/K5QhDsaBSAFyNW0Fd49EA8ZBVrULd3u7qQ=";
+  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.8.0" "sha256-zNNSGbrlGnpx3yj1rOdXlyJ0lyBS5z/SjO/qHz00ElM=";
 
-  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.6.0" "sha256-oxlFkYpDoi7pidqzDOYdeTazVl/HjnuZmnjMGZa/WIE=";
+  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.8.0" "sha256-R7lyvOfJ0/IFxzNgzjDThviGqJ/YhKUdwI67dNchFQ4=";
 
-  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.6.0" "sha256-THOQl3ZUILwLRwYlBb7fQDgpYz7wkMyd+tSLEmHHBVY=";
+  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.8.0" "sha256-nMnZAW5ISP9GMlvJFbGSK07oSnTA13QqxMtkIK9gel0=";
 
-  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.6.0" "sha256-RwMXK2NrM4BDzeg5lcpxfVzxFzrqjZw+xhZnJL81Uqw=";
+  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.8.0" "sha256-tKTa/QHFVuxYI4k3CPfGLNJeaLj6zYtpZTrB94N53a8=";
 
-  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.6.0" "sha256-i2XmS1m6YO7dOaMZKb0WRQB2WpRue+OCLbdR59oWA1Q=";
+  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.8.0" "sha256-knD9hkqQkdLuFAIKH0S00ASAGMLocCY0n/vpd7+n0GE=";
 
-  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.6.0" "sha256-W3ni8q7n4l8+SP/RyxibCTptextx4Vd8bmiQ3lhgszQ=";
+  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.8.0" "sha256-Y6/YwykcKW3HbTjinru1qpzTAMlddIkFw7SvMpmNyCk=";
 
-  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.6.0" "sha256-qWbYfegOQ6QcEWA/gce9ZiIOBIVeWIj1qjfsksncDxY=";
+  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.8.0" "sha256-1C6spvemQ1WzHVQZuDbezfFMkJ6syAbFbLATQwyBZtc=";
 
-  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.6.0" "sha256-5TzDHj/t0tqxbRYfnGRP9LNq9pSFj7aidadVB03ZY1k=";
+  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.8.0" "sha256-aUOBhHnNUerjhIrSExrc4EIDPSHh/XxbUp/PFg7uvWc=";
 
-  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.6.0" "sha256-EyiQY0NCVa3XuRpBH7aXEA7cBx8BzyRP917f/Ogx0mw=";
+  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.8.0" "sha256-d+noaSxDVvJCPNfHtMi9atEAv89DQvqeE3XfpF9LOK8=";
 
-  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.6.0" "sha256-f9nqoXlg7sgY2QCkE1/+Q72N/8Besrl6gncmU+vNt/I=";
+  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.8.0" "sha256-bq2rlB1ZLNC6px5JLfNvUBcBW4RtCoVgoWxv3A2kvk8=";
 
-  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.6.0" "sha256-a3QRjQhW+cRJykNjhhJREGwuZxR0b+WxgRuS2yuGcTQ=";
+  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.8.0" "sha256-kwgziSxlWJv52iKNxfFLpvzS1gHoYxC7RUmlX1TVDy0=";
 
-  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.6.0" "sha256-FyktFlTQAbS6YnoXljvtn6CabJHGLkRv1jCgb9dbz+s=";
+  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.8.0" "sha256-zBXksiAWMns5Jnoa34FINjkpXwiwhjjRKYX1lpRtlN0=";
 
-  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.6.0" "sha256-eKLM+GYjbm3cweMtF/XI6k+P8t9gaJeRCeMHQbc832g=";
+  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.8.0" "sha256-N4GAfbF2PWvzEA0zrJTI3QbLiiFm24M+5FP3NjDcao0=";
 
-  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.6.0" "sha256-wn03HlgBaZIAkw8gxPehSKpcfQGOhYp0U1CF/84M/lg=";
+  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.8.0" "sha256-DW3ap0LIE1V8eD9ARJbgtYKYLvBIluULWNJ2+WcrpPU=";
 
-  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.6.0" "sha256-/vpOE8tU7SsjHmn/YyVfku05ZGBZIiVuFsG6aK47K28=";
+  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.8.0" "sha256-6/0xJRTqXDtE6MrYwtTE9QnuhK4fLi0oybDuPs/F+B8=";
 
-  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.6.0" "sha256-8W7TrB1EXp5JeBQ9xqkqFhf+Frflpd5bfVxpqju2ZPM=";
+  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.8.0" "sha256-2F/an3hVpMI85xGQyfLFWnyCyo0rKEpPeWBo6ILWF54=";
 
-  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.6.0" "sha256-ntQkDjM3I3wuMH5jsifODEwRna2ctRW1M9bzyEjIF7w=";
+  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.8.0" "sha256-qQrfYLcfX/0mRtBCOmAQHZwR3zbV7IsNDFV0ykJCuFw=";
 
-  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.6.0" "sha256-NuMqaomry4ezNNRKBLOJ0xNwGUO2Prl4nf/5O38oyqI=";
+  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.8.0" "sha256-7EJIKZ25ZA82bf8uU1kbxZEkzpyuaf79mDP40VdjWWM=";
 
-  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.6.0" "sha256-dYe3uLk0ssQPQPEo+3glh+ic6recgV5WPIN09lLuuA4=";
+  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.8.0" "sha256-YXSPRxsl863LS47LBsEmTqiaCAuY0ouhqfDyj5VOrv8=";
 
-  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.6.0" "sha256-7MKRVJ4fgberRmkHWHfvrfzU2+BYhMZxgb2ge7NAQp4=";
+  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.8.0" "sha256-tsz4qg8ssAsoLSHYRVOp0ghu4RMA/9h/o72bRUW/7Aw=";
 
-  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.6.0" "sha256-7StmPVxVNfFpqQmjyM4cn9NBrAsuUjxRkP0WgGCnuso=";
+  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.8.0" "sha256-n1VEViswcAUTFIAPDz2zWFYVPAG2NC46puBzP0zNv0E=";
 
-  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.6.0" "sha256-4TUcqf3kuRqsMjhfrUTX3/aOSl43NtwmbSgM6KtjAlk=";
+  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.8.0" "sha256-gSmJKijCivSIkgPZti5FleLVMiWqLnLJ7wauUosw+Cw=";
 
-  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.6.0" "sha256-qD42WySh9NpQBOveTRGP3hIp8zD1Y1DzSiM7kbbfR88=";
+  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.8.0" "sha256-VsajDkzOcj03DgkNjvQxN6YkDZvZ5gyNASOV5hHeq7o=";
 
-  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.6.0" "sha256-1qgsFoogu8MnWoCeKnqy4KIY7UdMeUPnaS1zVSVl2Mg=";
+  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.8.0" "sha256-Oim8bYEgvOZSMRDJ9P7uRiOcmTb3N6EiOGt8TmUgbpg=";
 
-  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.6.0" "sha256-7Nbb+l7y5ccrVGymZ46nKwnGoa5nThrIOZ1AG0ykPEw=";
+  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.8.0" "sha256-royRK5ELM8Z2fgoIYVtQVaNgDS8jE10cwRVRlP7llXA=";
 
-  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.6.0" "sha256-cIvM4g/CldgLuN10a3lNhISz08gT6VxZHMS5xo+B2IA=";
+  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.8.0" "sha256-zKCzBEpZcwwvjkdQl+fNIkkLBPz58LREriYGQ4eJmkA=";
 
-  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.6.0" "sha256-6b3QfRecmprhRU+loWafrcL1mWNLFmZXZOAhUMkpGqU=";
+  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.8.0" "sha256-NaRDyPKZewpsBZyZWohqxVZJ7MmzwS3691CcrAROeHY=";
 
-  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.6.0" "sha256-D/icEGVsuYSU7hCw2VEojLTkdaBcK6SoEZqpvD/NKV0=";
+  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.8.0" "sha256-pmqVB/DKGDbVjhXfdIeEbnKP8ypZZhIwE/7rim2OCss=";
 
-  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.6.0" "sha256-7vWHwrG7Z80Zb3ncGBqN4ItKAVWLR0XHITJxMmE8y8Y=";
+  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.8.0" "sha256-KURihIUc/9HOCoGlywltbujh3XOuBNCiaAVYsLsG0ls=";
 
-  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.6.0" "sha256-C1JRefgyuiKDOJMhShyDPDjfKp5S5OMCaHcnORLxnvY=";
+  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.8.0" "sha256-Owvm6zxUQe+MtrspLuSPxx3ie6ylG/ElXVLrdXJzP/4=";
 
-  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.6.0" "sha256-ks8MmuhrmdTS509vgxZ0raZqISMPaAItEjf93ppWhrU=";
+  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.8.0" "sha256-oKCtGQYbWtqMzSzx6FK3+jGwYfNXyztEBVowDOAOUfw=";
 
-  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.6.0" "sha256-pOLa8tDqPexDigPbRqTjnr7/ricz92/Ml79AyUXvXBg=";
+  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.8.0" "sha256-EcVaX6bv5yhxxJtKfZdAR8E91v02OIr8t27nQSQQ348=";
 
-  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.6.0" "sha256-qXIwjiNksQbQiTtwaKWNHaUCras/moRuFXN3sOEPYMc=";
+  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.8.0" "sha256-4mvabiQmzJ8AhHpwr81ypQIWDOaxYZczrwhnubFP0AM=";
 
-  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.6.0" "sha256-C98s7dkFRgj8m4M+MmjvCWwrdohkLJafgo9j2ACQ2l4=";
+  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.8.0" "sha256-KaNZF8MkD6/rD3d+ttULQEbx5XWTx4Jidd3PyRROoJM=";
 
-  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.6.0" "sha256-4MRGtyFWceAuspTW6Xqwjf2ta0VC1SIoK/U80QZw7UA=";
+  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.8.0" "sha256-tCSPh8w+Z6DtCdfDWUZZ4d5NU5gLnTz5vS8peOFo78s=";
 
-  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.6.0" "sha256-qW+R5X/fu784kjARjISaNxwzIJn74SXfUaPEuGqsM1M=";
+  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.8.0" "sha256-FHGQPr4ffAZOp4j2YMNtHlnDNNhPw6eUrgsZB26EfPg=";
 
-  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.6.0" "sha256-d+7VqW5H0hyINQVXoy6djyFmkGzlhLnEpzURuPQLyBc=";
+  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.8.0" "sha256-9hcI+d+jXFRT9b7Sz4hk0Dh3At/U8m8Fnp/kh9W8R58=";
 
-  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.6.0" "sha256-3d2WJQpohaiwdsKOS2u5kNhHVsgELMxgjunHAk6v7Y8=";
+  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.8.0" "sha256-4rbJt87KAKaQyNdB+4HjomtrHeF37orixFgM3ZliX40=";
 
-  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.6.0" "sha256-lsDs0yxFf4ForZ2bU719LFCDHzR9lOE211XuYGYKZCw=";
+  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.8.0" "sha256-VgNcK7WG8AwW/FeiMXIP426cuYgfYTuM83iKLMCdSao=";
 
-  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.6.0" "sha256-/MRl46K5h5mtboGhWDop0psxPyxhm3tKhzvMpr91d/w=";
+  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.8.0" "sha256-fG5K6MqRz0TkawqzSw5kG5dgg5/RQ+lwkbHHfodTL+0=";
 
-  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.6.0" "sha256-3E+8scTPCcNm8RDoxGWSm/u6drT12aiFqf3LbxWTy8w=";
+  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.8.0" "sha256-BBPPTCfXWzgeSX2Z0u/h4tPOvXa5h//D76nok8pYDsk=";
 
-  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.6.0" "sha256-Df25Lah8FBdCrbWMC+Y9ayQCO3ijG8cMdypA2+sE3oY=";
+  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.8.0" "sha256-QGwSsXsqVHByl6dZmJdsVo/Ox59hnnDWMWD7NbFNVmM=";
 
-  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.6.0" "sha256-i+n53Eejdz26WGsHBmLR3V0ZxOBHPtTTzoxH0mmKPig=";
+  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.8.0" "sha256-bdMw5CRpYlqdLM1wFckX0h6k7piWLxvxnoe1m7BJfAA=";
 
-  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.6.0" "sha256-i1mv2M3bboOF3+iIKYhp4raYb7mHiQTirlWsttB/dXY=";
+  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.8.0" "sha256-T97SWapbhIg1FRD54qnyAvLs0+0YX5ZVoWBO5zq7UG4=";
 
-  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.6.0" "sha256-WMVPGbQkdbKc2T+gR9P3oWUxl5VSVf4IdcLeuW9SNUo=";
+  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.8.0" "sha256-50wPMaGUGyDddUAa6IXmiHdtDD85ZEoQxsoGPachoyY=";
 
-  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.6.0" "sha256-okcgm0Lx5s2AM2mprVwNjeI1TTmlR73FgjWbYa9uRdE=";
+  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.8.0" "sha256-0S22iMkvJoHpvr40CepEEJUP5K9T2kPOB+JKzi0JktM=";
 
-  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.6.0" "sha256-k0tYIWqPEnETISThasPHa9AaWdAs0p+hfrUuCI7VTJk=";
+  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.8.0" "sha256-TiipaJX01wo41VEzgSxLhfgBZxVRAyrKhhhnevysJLo=";
 
-  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.6.0" "sha256-C138viPl57+Z79k1C0c4IjgdpMd4PhO352fUs6/YnE0=";
+  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.8.0" "sha256-LLr/S9JLpHT3FozgZjtzXwASv4GeccPbwNU65lzjaug=";
 
-  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.6.0" "sha256-1BtV4vajDTlmNhX4oh1h81+1MsIe63gxnkd1oWn0yeI=";
+  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.8.0" "sha256-7d+3z9joliSl7XDQ1FkHgqXYEI2kPn1M62E81D15j2g=";
 
-  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.6.0" "sha256-UP8rTuCwNq6Eu5gYrMj5c+JaNy9grOOL9RRi/QsDvzE=";
+  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.8.0" "sha256-+vwERLMPe5Ha+uygROSLoW+bsGi0hWDFPQTUqGx6Hko=";
 
-  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.6.0" "sha256-Mc4Kl4dZyn9y+9V44QilacOHN9+E1M79uNLATsoH2Ks=";
+  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.8.0" "sha256-URNJRlSUor/amET0qPFoulAIBXDJpDTFjG/6nAaUVpw=";
 
-  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.6.0" "sha256-pPn7O3oK75zRmOFMQmyzmRcjpRTswrVhdbkcqaI5Sj8=";
+  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.8.0" "sha256-CyEiHL+wiR5/cUR1ACocSSPbeCZCGaHGfTfTYrzWapE=";
 
-  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.6.0" "sha256-LwbqLf3BEwW/+f6vsddXt+FiyGkRKIPXfaqW5rtDrig=";
+  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.8.0" "sha256-7c3g+e3T7iTX6J0RzdsYJZjCfwTG0Apr35HYLF3O5mA=";
 
-  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.6.0" "sha256-mBruXgMAELLGyEg7ON8PFesERMf5og8As58U9pvIKRc=";
+  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.8.0" "sha256-blP+kDtXBRMrHr/ln6Y0bRmNrWiOxThjUeAcWAhTUNY=";
 
-  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.6.0" "sha256-JLOVu9OlJgrfTBlmzVNN5saYO8AFk8N54hRzDAjq7WI=";
+  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.8.0" "sha256-ZaBTDN+CU52H4bRnV1qczhLeIGyk7q2tKlq490s36Do=";
 
-  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.6.0" "sha256-cWGwdGBTgEag5SeRDLvAJtCS1dAxtt5R0uanPI6RjkY=";
+  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.8.0" "sha256-ml54TuAu+VXfROUokYvR9FRG8eYHhwvVtlJb5/4hQIQ=";
 
-  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.6.0" "sha256-yYm/H31gRIDV+r2H+8cTHkc5h40aFFUQ7zlX1wyLPAI=";
+  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.8.0" "sha256-/vT6Wkfw2iCgF3vAPgZ9HJP8vxMv90ONVVfLxkaVIIE=";
 
-  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.6.0" "sha256-ro0xv2HHzTXA6tRNnr3eQjCj5iaqc1wOcsKny8j/hoQ=";
+  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.8.0" "sha256-spD7EH0Q/vrdq1YEwtxRgioGrWWWAYoXGdS5qG73zgU=";
 
-  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.6.0" "sha256-4CeNeftLpPSZYqw09LcPRC+8yVp+84azRHQ8O0JFOOo=";
+  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.8.0" "sha256-f25S6KvWDeYoCBoJG/UfNk1igwnaMftlRoORw1rGJwY=";
 
-  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.6.0" "sha256-HZEA8fivN05Puxycyl+2z4kIJMbGtF0J7ohLOwx+IzM=";
+  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.8.0" "sha256-v0G12k/bIshmiOcyg7AuLNzytqpWGH5qFLFvcxhTNz4=";
 
-  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.6.0" "sha256-dFo/YsEQg7TXB5NENmFOv37R3B2GoN0TlIiULWEQr9I=";
+  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.8.0" "sha256-2lVSmrTDTaIaahOa/jp1vQcv7C7OU24Tse21u4LacCs=";
 
-  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.6.0" "sha256-8wsE774l7M8Qb3UiaxkAdN6sdnXs5oS4cFhncW0joBI=";
+  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.8.0" "sha256-gZmm8UUPiPyIZvCO6ffEy7Lq6Q5KeMs5E1bj2ohSORs=";
 
-  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.6.0" "sha256-95lUlfOjLVgHufSv3UvaKB1K0F2N0cvtCcKh96VBtqg=";
+  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.8.0" "sha256-yf6w8gbyo4y1XnFK8lLt8XUL45XSLoXA+MepuqvQHCg=";
 
-  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.6.0" "sha256-hSuwPcQEk9Qgkc/JtcZp2vqLXnMQN9gtzjkuC1Bv1C4=";
+  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.8.0" "sha256-U6vuxYzmWSr9tkh1kbRNYTmRtVbjGqHWqgFimJxH72E=";
 
-  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.6.0" "sha256-0Lwxob43TzJHNcriUEa3BAZE64iqS9Js4TtfL20YRj0=";
+  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.8.0" "sha256-TGfpfuEXcjhy1hrAh9fKH7B8XTdhBfQ4vlzDk/kssTs=";
 
-  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.6.0" "sha256-bMPp7QPa2f8GCRmX3y78XvZTUyYNfYxXDKj5lckBBvE=";
+  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.8.0" "sha256-VgyDlLTgaTTTt8l8Li/BWvdJYCtPtIpXoLDU7si0QAY=";
 
-  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.6.0" "sha256-O2RieTv4vyZ6/mR8BRltfbGcPUjAyIIqriskSlmNcb4=";
+  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.8.0" "sha256-GW7FwDUmsgqbI/H/lNnqgYUkN4X75hypdnyBfiJYISc=";
 
-  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.6.0" "sha256-C660Ync/6dV8c9i+N7bgV0TYaPScrJ40KPdG3LItGGs=";
+  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.8.0" "sha256-A16c14ccCvuy+PIMEKvmCyJxoKmZoIwHSyGFAe6jzHo=";
 
-  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.6.0" "sha256-jhIpP0cJEv2SqvmBJtxNVoWF4AOWci2sPj04dN3N+bo=";
+  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.8.0" "sha256-3DF/GvvCJetJyyJc7pQG9mMmqdfW+96UBwlBxOxP3XQ=";
 
-  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.6.0" "sha256-MXMbA1QAyRMhTqihwKztK3EoRp1iesCvPEz30Xc/in8=";
+  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.8.0" "sha256-eoUHLMl0o9ZeKdhlB0RYPanhfDXJcKarKfOcKLHex4I=";
 
-  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.6.0" "sha256-xjMVOk0fzyvDoSNb+kxVQT9emfvIG/6Ws3h3MfCCTOY=";
+  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.8.0" "sha256-kFmVPs5s/IpP2tdeZDrIZt/b9TU391eRjW0ZdzQtjFw=";
 
-  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.6.0" "sha256-7iUYuPOerdp1+fxI/KdC4sEWDOTJQAgYYheEmSvjBFo=";
+  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.8.0" "sha256-FPhZJgbXhpaTWf3Y3LBHIq34eUcjXpXC91hygddmdEs=";
 
-  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.6.0" "sha256-yCF9EHyTsf1hmoeSGrNiM2Dd8gtGlcX79zqF25btN04=";
+  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.8.0" "sha256-OOUnw+mdFa1NFd2y3ZyHnKpxDgbwyYkTKWd2RZU9zS4=";
 
-  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.6.0" "sha256-vRVH67/SbkncE4q3gssGce4NtTYgFM56RLzDKyvBCpc=";
+  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.8.0" "sha256-cf7wUcsGZqm4KU7v85AIvHpNM2cwwRfaPYRC8F977tc=";
 
-  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.6.0" "sha256-+mFIAOecS21QFsnB+V1EFyGLv6uW+oMzkRi051HvPGA=";
+  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.8.0" "sha256-qtLIXieOk9lhcZbfO5K2xVKYBx0HCXMvAfPpGIGAJ6c=";
 
-  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.6.0" "sha256-OIWzkp7AC2bK55bl3WvL2Zk7M0WRPc8jVHekPAGDtyw=";
+  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.8.0" "sha256-OWow8bdLey5/PtSpeOIj6h54bqoQfQ8JKVM16UW1AYg=";
 
-  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.6.0" "sha256-TWCgT2xBi3UajaF6L+m61Q27YV8RCm+e/jRVnZKjwrI=";
+  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.8.0" "sha256-Q8kSD8x3wt5IZ+24aT1zWfdxQ39AEjNOgUbQu16FhI0=";
 
-  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.6.0" "sha256-pBr9zVqEbP0na385scKW28d0qIB+7HQdYC5QTdhxHNA=";
+  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.8.0" "sha256-vsioxVeIVvz+tY5OLroU2soCkZyEd+FO5HKN9eoBtGA=";
 
-  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.6.0" "sha256-mdpuehCY0ki+sZSlNS0kIwijZphoyQixNWY4WKEcrMs=";
+  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.8.0" "sha256-5Q5cJjcKtGTDrdn8bgE+OjpyUJOdPDXHn8QF83f+ubA=";
 
-  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.6.0" "sha256-lFbcxmw7Le/rVVL70cOY/vEUShSRnsOdul+eI1jzX7Y=";
+  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.8.0" "sha256-+3Y4KbPdnbhArlXi307a0+v6heQKY8Ot+DrjiND2qvo=";
 
-  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.6.0" "sha256-A/1kM0X4bKrPIXBpir9FuEkuYmUb/K06gfut6faGN0A=";
+  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.8.0" "sha256-E7aB4eyePZZ2r4Ssm27q2joppoGMkRI8Wy7sL0bBDUQ=";
 
-  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.6.0" "sha256-X0r0VZ/ZWYrn2NdE5dJrcS74OyWIvWMDJGSNheIOm0A=";
+  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.8.0" "sha256-VCoKp5d+bl7+x2ytIrKaD12uO41qyDTS0GScuWff4MA=";
 
-  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.6.0" "sha256-ec9XPmiGjhH+MsW81JtH13KACasiWqtmxOC/O8ewbgE=";
+  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.8.0" "sha256-6Rh+9NzGRbFXF2ywE/q6SV6PwDgFgZvScoNkr9T3sZg=";
 
-  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.6.0" "sha256-fPG/13VJzvdfoADYZXTZ2ssdJrKQ/MEic6rhsNUE4tU=";
+  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.8.0" "sha256-EO38upjPJy7jonxOynE07eN04MDd+WfNkJoinrQZVgY=";
 
-  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.6.0" "sha256-2mAHrKw7Hur/nrVQpuRwGae5CumbjbQb4V9Z6NlsSmo=";
+  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.8.0" "sha256-28QBXGIuxWUGF5aiokxFRhEoHaK3XjeEjZJzA5luvMo=";
 
-  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.6.0" "sha256-viWUrt2F0O1jVhkxK5G776A4r7d4jJJVI/5UsUS+cao=";
+  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.8.0" "sha256-QGIMg0SfTpj1ScHsEsp9dMikNGRxbJ/8RmwuouQvGSs=";
 
-  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.6.0" "sha256-4T/EcdB+5TV8PnX1Z9c8Ato19kznO3yQPZohuWD1+J8=";
+  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.8.0" "sha256-ePYrb4K8gyuLNmYgUZvOHclFraK3sYSt+NwTyBjSt8A=";
 
-  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.6.0" "sha256-VIGEXyDyUEWshdYFUJ3VmCS1z/ZBOKq2PYCosalPZAw=";
+  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.8.0" "sha256-9TZhIEBwYO9442veI9rINUCVYbJvvdcBfYnlF6Wgt0w=";
 
-  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.6.0" "sha256-rMjrKtR8BWtAYoyBY52o/5wbZCHqX1aFMRsVCunZTeo=";
+  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.8.0" "sha256-cdVmSqqR9NhYEKBza+bWAmOuasCNbO3dG7zn4qgSdws=";
 
-  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.6.0" "sha256-rh53/1tmYyADrkUtQjrwrcEe78ji6II0yYnMQO38AOU=";
+  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.8.0" "sha256-la6LEpXrunQgsjCkKUuVKZgRFRAU0gC+GnLQ5iIsIkI=";
 
-  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.6.0" "sha256-ICRkb+GIWginbc2LvsJTzBaEXDlwg+JOqWQwNRzu+CI=";
+  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.8.0" "sha256-9GIxWYLp9CzyK8UUYIpVgDxF5iUCtd05+7mRYJYdjrk=";
 
-  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.6.0" "sha256-vZiK+Kat3RKN/OcKny5qLF+pYljoVlJGG9Kdlb75GWk=";
+  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.8.0" "sha256-TsHhIEv90847QEX6ZgipnQ2zaTkWgDXMGRL1m6U1VF0=";
 
-  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.6.0" "sha256-9qk0jvEAU6vh++k18ccjrZNLnYlOqiAGuVvBGS5QetQ=";
+  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.8.0" "sha256-abYWCco23+IPKmBsJxlhzu0x9jyAy/h4QwPM5Elifoc=";
 
   types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.6.0" "sha256-9iV7bpGMnzz9TH+g1YpPjbKBSKY3rcL/OJvMOzwLC1M=";
 
-  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.6.0" "sha256-shUgv/KntAP0kuD8pJFLEAp/aIukEsLhte6C5odtNJs=";
+  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.8.0" "sha256-GcNrtfUzhXefhTzbHa97UI/N7yaGLgMu0aJeo8WG1U8=";
 
-  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.6.0" "sha256-U/74XOX/pXh4JJ4n6Fu6quL6gQwz+zt9bOWj/QYOS+8=";
+  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.8.0" "sha256-b2GoHqcX7PPzo519rgvd628dgkRZWt+m8SLG3vS66Ag=";
 
-  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.6.0" "sha256-K2asnioD1r9BJCX2PaNaN+fKDyA+oQhvdM0h0LgxbEY=";
+  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.8.0" "sha256-BRUmyStCMakZGwu0HXZYk/cbJv0LuVmiUfFK/I0mwTQ=";
 
-  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.6.0" "sha256-acNr8U/E2Eq4wp68Td0k8xdORhT6ZOJBOi0enBnaacE=";
+  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.8.0" "sha256-ac/wgoPE5GW2EKvyHdlfpq7C8qEHsbZypeSzeztKeyw=";
 
-  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.6.0" "sha256-9mqnIWlLUoz28qp8AH8LiNdDgcJ04P0Z+jxNb/91jUg=";
+  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.8.0" "sha256-JTL/sa7d11x59/Rg08LWtir6qe3jFl+acyjR4qM3BVI=";
 
-  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.6.0" "sha256-+G6nPOY2Suxa8LPTG8SHOZfwaIJQIyVGTRcsAQYXZzY=";
+  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.8.0" "sha256-whuWWF0xWEyYLfhjL4gQIYVRoNH+KcJBpJ/9797skn8=";
 
-  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.6.0" "sha256-VGGDcARvtSeukjgVB9jwSamIrlrNCF+0pNszN6VkMC0=";
+  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.8.0" "sha256-WHsizbn5+L3Lk25bZf90G61ndJA4H34h4sZjhdJ0KHU=";
 
-  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.6.0" "sha256-3bScTMTc7PMrHvZpfPYENj55w2JjnK/pVuNLcxCjw5Q=";
+  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.8.0" "sha256-b/JbVyWLxmzfQP5RFwFcWxbvMxJL5EZZj/qDJIo/v6o=";
 
-  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.6.0" "sha256-WBxZlnWrZ6b0MIEomvgUDqiKNe9KIIgOrNrRhRw07EA=";
+  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.8.0" "sha256-WknloMADb2N8iIQgpre6pKL9I1Xnf0yLaqu+H1NltEk=";
 
-  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.6.0" "sha256-8ofimJ4eTxq8yQjCc23FQ2OktMCNwlIBCn+eC+HLqlc=";
+  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.8.0" "sha256-SIRHkOJnivOxTnyvFCIiYrOxgq1K4abAe6ug5E2xYGA=";
 
-  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.6.0" "sha256-dCjt22yHlShPdG6Jipy3m4Rx3G4OLPiuUi1gyubcQ/g=";
+  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.8.0" "sha256-IssoNzRVyHdc9SvBrzBnekUCpV9zG0Tsd2fd7NlMBDQ=";
 
-  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.6.0" "sha256-NPvYTwvZY5MjfdIlTMRZEQ1S9IvxvQjoi5K2LOlSrMM=";
+  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.8.0" "sha256-OG0989m7yAWgNDOk8L21p95ShJyfDH7ITGVIjYT8LNU=";
 
-  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.6.0" "sha256-u4d+/kVZ+qtLyueNSGy6a2VoB0jIYdKZqvCQQfarbx4=";
+  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.8.0" "sha256-Te5zV+wjrZAUvH/v0umOfs/L6h6bij8+a6cTQ/OavEw=";
 
-  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.6.0" "sha256-uhkFIVr68n0ShrpZY9qyghd0XgMb0ZT6fF9WdjtF7g0=";
+  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.8.0" "sha256-4ogMLE65UK7rUZME0Lw6Tr0YN12w49WpcMMILURIJmI=";
 
-  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.6.0" "sha256-m0fUuupB8Eb9pJQnuir4THb4TdDstKcxHQRgz8Ce2Zg=";
+  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.8.0" "sha256-27gETFJhrTm8XEP8Ox1EeUmoPRRvt9fL/xwvYkDp+0M=";
 
-  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.6.0" "sha256-dJQnb6AwtmScEIun0QB9CiiPkbdKti9+mc5LN3vf7e0=";
+  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.8.0" "sha256-nVboEaKNKDxVTeK6nbxWfIy3BwXZntX8Gvb+eA4S0JQ=";
 
-  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.6.0" "sha256-kAhdyymMdbrPoCFzKiVCFzBlfpmz4aGlZ1Ilkrc8EiQ=";
+  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.8.0" "sha256-lDSpabN4WiqSuHEpHwpAgOIDAWVK3gj7gnmMrOb5EN8=";
 
-  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.6.0" "sha256-3oJbkuU013LR7DUXvr8y0nbYh3caAF1c4GtgM1CizdU=";
+  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.8.0" "sha256-40MuIYHCKg2632yRA/vJg0eOv4cNHbzN4w2I9Qi3gms=";
 
-  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.6.0" "sha256-Rt6dsE/9aR5AZC47G3RayV56VVobDWEah64cNHsaYII=";
+  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.8.0" "sha256-/t5dRl3Kbri/Em6YiWhNRIDjS8KSQZNkx/X7yWTR6/c=";
 
-  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.6.0" "sha256-KpgEjoEsCSiC6aKyHy64it0k87XYICbxMhUFYUjCBuo=";
+  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.8.0" "sha256-nozk/q5hK94LImV+I80nlPm2Q7hVCzGU5ngOLrW8jVo=";
 
-  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.6.0" "sha256-IQRarMn1ZAh+kUG1I4Cyt/6WrIoby07g3qcSzpWUWWM=";
+  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.8.0" "sha256-iwkxJNDboNQVXnm5UVZ/n1+TtSZm0vVUZyQs+rGpFzE=";
 
-  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.6.0" "sha256-BFSV0lfXriD43UFXjdomHIQO60TjrYWmL6+htf9Z3mE=";
+  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.8.0" "sha256-SnDBBZqjP0n291gy8wl9xjDejQjEu7Xwp4wCN6R0qt0=";
 
-  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.6.0" "sha256-MRRil8KuR88NvjAOQHQSftplzk7+sdAJBb1Koxj1j8o=";
+  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.8.0" "sha256-+yfTXuyYUD9KHRmOEtYzDTbH9miJ+piI3EfT3eKhfPk=";
 
-  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.6.0" "sha256-6YRdsbNw685KvSLCPP6cpCVA5zqht9gF/SthHHtjxfI=";
+  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.8.0" "sha256-FlhYtD34tO5tQrcPmHNya+33abKEb88IRLnnXxwA+YQ=";
 
-  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.6.0" "sha256-uhxX742flhdDM7zoYm6yggc41NW7glGPijiql4XKJa4=";
+  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.8.0" "sha256-BnWehHwrmywOC7Dce0dvEBVSHxnm78Kh9oqciL3UdIo=";
 
-  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.6.0" "sha256-jrOVxsJHgpEvyLhreMrzttu3yQ4FXm4+MVDlNNIKWVU=";
+  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.8.0" "sha256-Oa7sjr6XaHm0xrkLErBUlN6x9hqLLT70e1jmlCngd/c=";
 
-  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.6.0" "sha256-M3wUbFFGsYQesy7ASen+b6yokGkjXY0P5wpGexO2CGg=";
+  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.8.0" "sha256-PQ6IRTBMrW+4/Lad7y+aIr73iTDKLgMQxSM5mLRHdMA=";
 
-  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.6.0" "sha256-ESm7ZCtEvHo/r9LXnBaIAVAb4bQkGjIlmUNlo/JuzjE=";
+  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.8.0" "sha256-gbVRHSyYwkD/Fahy0uFZJ71nZajc2ra04Vyptrm+12E=";
 
-  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.6.0" "sha256-0NMp62HDGZ0FHVtyHOvgfMUaedqZG9bY46d2OrpGK7E=";
+  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.8.0" "sha256-k0oLgKH4D6HUQOIdF1WBhcIPDe7bkE/8iEthVY3GxcE=";
 
-  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.6.0" "sha256-jbLoJOgFRNSPaFv/diM8L0mTGIB2IjAzHqx/QH7lriQ=";
+  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.8.0" "sha256-22LIZgrsNzGAjW9K+BJAgE/BcyY1SplQFVcRncx7FxI=";
 
-  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.6.0" "sha256-8zvG95bDvJWNRmw9sCdBfPxQPdb4TNAzqMcth+hliLI=";
+  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.8.0" "sha256-6Pec8uYl4diA7V6gNhUrrocMvRSfmbfL6UhJ1MM36DQ=";
 
-  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.6.0" "sha256-1i4Z4CE9PG7JByR9RpPazu7RmPIjNeDecnz5LH2ls2A=";
+  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.8.0" "sha256-+s2fRs6c/5/Q+72Eg7E9QmEk78o/Vg33WaQ/dA0ETAw=";
 
-  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.6.0" "sha256-6161RDBwnvqvBtJWs5bPieI6AdwKFCmiT6ixKRE9GuM=";
+  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.8.0" "sha256-cCD0v23PWxUEvTSonDz+B8a4a+EAwUP9J4IOnIVP4VQ=";
 
-  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.6.0" "sha256-/h85AoG+poq4t0EvpXdofWfbaEBD6CiCxhdaGKLi4C0=";
+  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.8.0" "sha256-L+MVCQ0RMa9v5/fRirAQFzPZwfNR4pCmycKuflYrdzE=";
 
-  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.6.0" "sha256-kuOboqDTHpdSW6vD/JGOdLL2U639wM+2V2KaSm1j0xo=";
+  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.8.0" "sha256-po1Hnh51v5d1Q3XVU0gu4ss9QPFai5NUfOVhRGYJnvo=";
 
-  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.6.0" "sha256-CiMKW2suhsU2dZsLQkL3hK2qKRJ56FS4Ix7Dt347bMA=";
+  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.8.0" "sha256-T68P1ccYgmixKvMSfFQ39G9gEXKs0MSdX5quyV8xbkY=";
 
-  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.6.0" "sha256-y4RRQdjaJS9GLW7HUNC9f3kWCOAGijlisrlB0MYQ1As=";
+  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.8.0" "sha256-MKFEunzwmhkDahqjPqXd/zTuFIMlcpjIeb0DEze/7YQ=";
 
-  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.6.0" "sha256-5ANdk601wY6vtjYbe8CxtY9lK4Fe6wbl5uB6Mq6uqII=";
+  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.8.0" "sha256-Bz57PqqBgRY6NEIDX3lAIeRg+Iqsv4eoeTZt1Us38m0=";
 
-  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.6.0" "sha256-cvmNob4pGa18W/2uh16zFJ58f0MHRDL2LwOKrsO16uI=";
+  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.8.0" "sha256-eNUSf2MjSraDN6CG9RdsmWQYmIybqHwXgMNspBrJrb8=";
 
-  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.6.0" "sha256-pOk51+FrlKDNPPDaa1mf3HjpCqlUskeRYITkFp91l6M=";
+  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.8.0" "sha256-iRGe/VeSY7WILNzo3acJgfetOW4k1qKRwM4zov1423k=";
 
-  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.6.0" "sha256-1WeJI++z4QiF0bZ4FyNgoNWY6X62ZCyq7PGNM9urFn4=";
+  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.8.0" "sha256-cg4SlEYrFH+b8nvDeSBARdIraQic9MKybJNexM/PRJ0=";
 
-  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.6.0" "sha256-uaeHdW8lew6jq2KQApkY76eWRkYVLffN0h71icP9viE=";
+  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.8.0" "sha256-vIDdXNmrmwu4+j+hQLFMZ4V3RRSIeA4/zW1rBieFb00=";
 
-  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.6.0" "sha256-vbWWkLbVnzfWHp3Yy3S6mh0+tHrkA/5Krw4GVSdILls=";
+  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.8.0" "sha256-PkaBaYS7QLLwKXBEOzGMH0ClkDp06lCF4Q5SAklNyaI=";
 
-  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.6.0" "sha256-n5u7dzAnZ7YRGIC2qyynlsALR7tONulc0ZmimW+xotk=";
+  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.8.0" "sha256-/Xm+yspnTA1zcBRJpteFa+nv958XLiM54lqzPqLy6LY=";
 
-  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.6.0" "sha256-mjY7GbQ20pzL38tQMoluJISpaxk/IreluvmX7XsLfTg=";
+  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.8.0" "sha256-kNq2F4BiLqCFaPWPRP/yMfVtUmeTOnv3zdglW/r/UxE=";
 
-  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.6.0" "sha256-8kK4JurIaid4k0BkpoZkaosn7cOIyMTt0RXnoJZUtSc=";
+  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.8.0" "sha256-Ir5qnsd8n3fuEbSkFu+iMb+r1qASHZD2JcQdMvXlQO4=";
 
-  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.6.0" "sha256-nUOb5NwCsz/7Z0bUMUsxysn2bgNi+yTvyGGCkwzCU1o=";
+  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.8.0" "sha256-5hhNHELrmQnGnNDaBkeuYNMx9vljiDNLPuOOeHloHXU=";
 
-  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.6.0" "sha256-Tw+ozecMKAw56x47Wqq3wwwcmDT+5LvoUDAZSX0z2I4=";
+  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.8.0" "sha256-qobp+/oElcwlYNIxsrI0S8GGV++CnvO4O1So2acyYto=";
 
-  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.6.0" "sha256-QY5tN7QVP2WC7P/se6wNrnLp3sJVIr/rTEs9ePpADPE=";
+  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.8.0" "sha256-JFz1l+iA9eMQGdvJYNdz2NvqpWggzRoOEFTUexhVH9o=";
 
-  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.6.0" "sha256-aedmxGOuU70uX/+bQL8coUWBpk9IQHAL7VqusH8zPbs=";
+  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.8.0" "sha256-66Mv1d/h1TFKHbA2wclYvlLNgdhaxM01OTghPPQErLI=";
 
-  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.6.0" "sha256-wyT6YahL3sRGHQcBTAyLd7l75wVWRp2waS+Q46Me/ok=";
+  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.8.0" "sha256-+tPbtG2X8deDjC23e/64CZ8mEbGzmS5ThDVjt1RrFtE=";
 
-  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.6.0" "sha256-mY26ICYSENAruEn4986zxi5R9ong4nyuRAHgMZDliqo=";
+  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.8.0" "sha256-PMKkT6vIs/Qix8N2HqgoM9F7oH5GX5bZnVC2TtJQjgA=";
 
-  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.6.0" "sha256-CR3Uopf6izBTlR16yIA3CUikWrS3OzkFZFpbJNDhBVs=";
+  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.8.0" "sha256-dtm2xetYQ/9lUKGOgunTvNQDLoqu8q7YIhkf2GKWVyo=";
 
-  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.6.0" "sha256-pkZMQu5himEPO7z/AF7INb7H7jjmkyQV1ql2epF4yYA=";
+  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.8.0" "sha256-SMEIIrua1lma7uMlFjlU6lRj34cy1tAe8J5QTqr8ffA=";
 
-  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.6.0" "sha256-sIQ85LzkQgMvVfAKEc5HxIXx85Tckx4HVXcex2hxZ6I=";
+  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.8.0" "sha256-Rdd6zRTmn0rciGg9OrkGRbwLzN/qI+JjgylbtWy8/gU=";
 
-  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.6.0" "sha256-IZvLF0Wg7od/LqC2bcCxtvNun0n9JViuXE/CQMoBdMc=";
+  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.8.0" "sha256-suwMfcgffGOGDUaeZgGklDyE7S2FK4ft/hwYlb2GkSY=";
 
-  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.6.0" "sha256-9eebhFQqnsParfZ1poJJX/ehx1lNHIynFwXEzAo10JM=";
+  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.8.0" "sha256-wKNauKxrrR/Vx76RedpTH1wwJv+vS3avb7x5IkqFiuc=";
 
-  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.6.0" "sha256-ot+oM2a+CA/92d+tY54tqdOlsZWReknv+Pt3Aw8V1GU=";
+  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.8.0" "sha256-SHOMEY1sS50PCAn9tHKSd1Xu2Fk8v1XW3n9OH/z+WCk=";
 
-  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.6.0" "sha256-iNlzgcjg3VrIZJEi2f+7msFqrfWsUS24k7OERB28uRo=";
+  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.8.0" "sha256-agkuc41utwpZG5CdKt6wzLXWo/rlho4wvnRJQlyBEEQ=";
 
-  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.6.0" "sha256-1exWgnbG5ikd1pHWClPGq3Luku5qyTtG6pwvqL/zWdk=";
+  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.8.0" "sha256-I50/A3TUWjf4fzATA1E3TOlSLt8fjUTNJNwGZyRTvN4=";
 
-  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.6.0" "sha256-0fLwCr5eDRxcGZdw3sqExh8awX1qu5XmEYMD63xhD3w=";
+  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.8.0" "sha256-CreNvz6ympQ5J2FO61pDGzQn+3fm+PkmgNWu0VVcPlk=";
 
-  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.6.0" "sha256-eiibXP8S+xvn+PTX8cd3WiN6yL2JmjK9EG9BryexFjY=";
+  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.8.0" "sha256-Yl+HggZfJUh+zpb6TCTX7iDZXLlepiDgn23Gg7VO+mA=";
 
-  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.6.0" "sha256-3zQZyDgaMuj5SAQ7Nc+XzF5dUi1E9bAjv9mIscJxfqM=";
+  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.8.0" "sha256-1gim+G8UlGjVTk/UWFdjqCTZqVFXTXNQXottnNG6Ixs=";
 
-  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.6.0" "sha256-qyA1uCrAFGZHMlfL8Dou1YkM6rb9xwcrDQmteSqOadM=";
+  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.8.0" "sha256-OtEwyQN3NqMKorgfiSNs/HD8ojcpsqCqhgkLz4YIrwE=";
 
-  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.6.0" "sha256-ilPodAPj7J6xVCPEjsBQcQ4I5dNMEM2/hM1j8PJMUto=";
+  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.8.0" "sha256-b/vxkp9iou75uyuDtbK59L3L6gUsHe3aeK1d7NW9LfA=";
 
-  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.6.0" "sha256-m/13nELWqdPNkZXmA3FhArlOKhB1CcbTaAsI9Iqzrik=";
+  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.8.0" "sha256-3KLXy6uN58VNE6x5ZbX+LFhTJz6Vwmp14d33dRCLVjM=";
 
-  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.6.0" "sha256-gW+GFoQhI1Mj412Gh3MXfoSMKpNscUB4AqC9WMF4ACI=";
+  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.8.0" "sha256-M5B+jYeD12lcfwo7wMQcQhC5IIY0dDgUGI+c5cH/IZ4=";
 
-  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.6.0" "sha256-DoFG4FxvJFnN54G5F2LZY5M0aYlCU9H5wwnAsiHaRmc=";
+  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.8.0" "sha256-ICdR9U35k/RKjqnzHC6Gnyg0xAwGK5049apIjR6JkmE=";
 
-  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.6.0" "sha256-VZajCqSzofQLUBrXbMzdaPmbIDNp5YuUUk1wberVcFs=";
+  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.8.0" "sha256-kqg2ElTdAnxKZmNWVQxBDSW4OABiETVa2CPiv89Z8S0=";
 
   types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.6.0" "sha256-gbl7jEgjk4twoxGM+WRg4MZ/nkGg7btiPOsPptR7yfw=";
 
-  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.6.0" "sha256-IX2KY/guFLJ6jL4gRdTS6cQbNuFJuz8xa4QzqZ8j5h8=";
+  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.8.0" "sha256-VFjPIdUbWmzbQLowlv9/R6RejjXIlI4odOc90xFIddQ=";
 
-  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.6.0" "sha256-k/J7hBJDfGXMFR9jn7Tiec8bClrXIz6XyLMqLJad6oU=";
+  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.8.0" "sha256-QWrhzab5MFOOWrlhkwlXyyFx4yRPKQbbW8KxqLAxU7E=";
 
-  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.6.0" "sha256-swmAlpVrP1eSvJatWaJL6QDfgZ0xzBttrpHt1aNULUk=";
+  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.8.0" "sha256-F88BhmFRiU/wYHSgk0+iupLdI5nrD/hhp+fDgyfwilM=";
 
-  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.6.0" "sha256-9yD3FIFrRDMAckbztjrKeUEyXCUOggF5UfsPe5hcQ1Q=";
+  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.8.0" "sha256-1HOSZnvboIvb5ApQnADgSwJac3mQi16xtXuU5JGMudQ=";
 
-  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.6.0" "sha256-Q6S9pTfquW+Hv4uB9tbS/TEsC/i7iDfA+LyZCHq3cRI=";
+  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.8.0" "sha256-63r5ZWbQIqf52VnF2R7o0PQoZlpr8Qq1YCW+UDFATjs=";
 
-  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.6.0" "sha256-iyHFWN8tWgQoShTO6bJQB89K+4JVWjMihzjMr2Lssvw=";
+  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.8.0" "sha256-a88m9GasfGk/NEyc3rdD4hkroqcJ3aDBXZBjifJqMPI=";
 
-  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.6.0" "sha256-hEwlISpSm6r+a1MXxSH3UrBOiNu+Cx9d1T2RsFfrcyA=";
+  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.8.0" "sha256-8VATnN1PtxWs/yJokcJcmAxa4gFroiH7gfCwMWfwrp4=";
 
-  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.6.0" "sha256-VdxG2yvN6g9UAn54OP6uafHGN+iHjNrfO4H5f5h6w18=";
+  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.8.0" "sha256-6ho22HIqC2kB53psJYJwuFpyenpfr0aVlozOdFEW19w=";
 
-  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.6.0" "sha256-hrfqkhKWIcP+fjDaeFjvk6c6GBTgsY3yxPodx9fFpxk=";
+  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.8.0" "sha256-RCjrki2KQASXIpd4i6XKPKWLVSzUCTFKN/o8wAwnOMA=";
 
-  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.6.0" "sha256-c7XLKvwiQL6e0tWH0DmOyauTz3q5b0hOVpjVzR1rmH8=";
+  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.8.0" "sha256-evq8LtTmpIsSU/gW6/PYMGw96aqy/Bfo42b538Gtd4U=";
 
-  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.6.0" "sha256-zw2mJFQgX9xqjsvldssfMeulgCEY0kqaNg+nUe9PpCc=";
+  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.8.0" "sha256-9YSYyjyCocfjrah3hTrUEpEjZYuiwt8GaDyvc/ogius=";
 
-  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.6.0" "sha256-fdZn+f03iIzzkpSCdTh2uUY4WcU1DcyRxozP7SSkGyo=";
+  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.8.0" "sha256-hT62oK9VXVcOzTXD6cVk8e1PKOdo60yM92hGBCFLz98=";
 
-  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.6.0" "sha256-KoZKeJPlIWhgifauIOSSLZaSJWn3E0lSNUOhKPfI0Go=";
+  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.8.0" "sha256-HPJnlV6RlewLpJ/Wg4oaOxJVMw2jrVRVxVwtdKrXzNA=";
 
-  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.6.0" "sha256-HT/Kvi15YJLEno70ayEXQLPi9Y6NlRD8134IRJ7gdRY=";
+  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.8.0" "sha256-uuB9ysAebww5JDftftIU75l3c1b5R1FCk159UcoyH0Q=";
 
-  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.6.0" "sha256-3F1Gpd2kOU1rS7iSyDr0pkRECqYsyeeEQKDH2OO9H/A=";
+  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.8.0" "sha256-gV53OmupgM6JD0V3KbK8e3NaVf2viUdxFj+6pWNd9gw=";
 
-  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.6.0" "sha256-zUXGqquEveHHDqA8XeJX++Yc42rnyW9Vzt5A7LOImfk=";
+  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.8.0" "sha256-nr1BcwhbQPLJQeHrL9QmYBC4tyl16CaMVUIodtAs368=";
 
-  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.6.0" "sha256-FJ9aeZRCY+bhot3cU3qX4EuFAowPCc7kT2D0FGVTpys=";
+  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.8.0" "sha256-cXMDqWSiRWkehXQlmzL/3tCC0OYMmTqK7CAc45bXrO4=";
 
-  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.6.0" "sha256-WsWw1y5XueMQnRTWYQP73GawsSzEsliPzu9Xlij3UAo=";
+  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.8.0" "sha256-Kz7huJpsAyNTLaBjNNYRXnnLG1W9yXUcmH06cf6yvAg=";
 
-  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.6.0" "sha256-7wvX7X/NdB+GlWDogT2benTSC7ZCdVv97Zi6r+s5B2E=";
+  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.8.0" "sha256-854ZymXpthw99nHiE9CmYeW8T7rD7rFsdN4hrcrh7P4=";
 
-  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.6.0" "sha256-e6TTldFkZXf8A8bV7RKkIl6AD/lCC9elB6mT3WeWEiM=";
+  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.8.0" "sha256-6PS+wvH3lFGSK6JgNt6bjQyyain/ISRb8ojU6FasNCM=";
 
-  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.6.0" "sha256-HVoia2UZMrjgH6aUQGit+MueUk0qW3KjWKYJy2pHlp0=";
+  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.8.0" "sha256-+LTl446lEgVxS+W1O9fhYAN9oGsxQ5H3pCOkTuVBX8I=";
 
-  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.6.0" "sha256-hXju28oSNGlQ0qCwFD+qoyWFpKMbFkGWEXteOVOKiII=";
+  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.8.0" "sha256-XzDASRMfmnSKzNiGfCF4vI6ppACUwqwe7a7FH2yNS3g=";
 
-  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.6.0" "sha256-mo4vH/xsbRf1UViSRu4P2YzI+7LFkkzXsHeZZLdXg+U=";
+  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.8.0" "sha256-Rghip34bceNr7OsCI0BaNmlGoJEU2DtloMtTqzQrOqo=";
 
-  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.6.0" "sha256-eU4j+9z++Kgp2TaUX214XGuIXPxCriKu9w+XW8mZp+c=";
+  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.8.0" "sha256-jcEK5kmgvFPXExUmgebZ089X4OZO4rRFmCsAe9lIP4Y=";
 
-  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.6.0" "sha256-HKolI0fcGWye3Xow73qXOJRQ/Wb23ZXWLYyfA94zZT0=";
+  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.8.0" "sha256-Qe/gzlCT51Tz0HrmhIon5ZjFPEPh+GV18/+0A4zGGCM=";
 
-  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.6.0" "sha256-61iFbkOYLF6y1QUGePVAVEFqGgTmPbLYS7VDbvzmInA=";
+  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.8.0" "sha256-dCrFTzU0a7t7dAMWHklUe3m6/6O2FhvSMU/YRkhvk4M=";
 
-  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.6.0" "sha256-pdRp9XjLVLCHeMSMV+NycKNt9kbH93/ZJKbiwNlb+A4=";
+  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.8.0" "sha256-GyHtUoLyBMelhpeecXA760o2kMOjoUmdZNcQyxRzfPM=";
 
-  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.6.0" "sha256-3/LXxvsVmKHpZPr1BISTndLFPmF3LF75kihknSt2cMk=";
+  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.8.0" "sha256-TBTyn6VaHthO5ytB9dtsWB/Un1uON7iWT/YGkWFB5pI=";
 
-  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.6.0" "sha256-2EIBP4NhRy+/OeFuPP/SIf1q6BhlKU9CFH7AM+y3558=";
+  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.8.0" "sha256-FdhFyfJm78jITAxc0b4S9/Pfhqo29ElRG09s+dEOmvM=";
 
-  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.6.0" "sha256-3bVNQSzaMhkpiN1mhS9Lz2EfeEJpkSIcPCKPC6s02Uo=";
+  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.8.0" "sha256-/0p6ogWaWHF5U3ZnFKAjmFZHu0TyZbr2q5/Ts18E0tI=";
 
-  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.6.0" "sha256-Pwmgi4ybpOtLWlY62+QcBHT0iF/6B4Hxbv4CQPA+7/o=";
+  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.8.0" "sha256-nr/6VzCy8n1/wSgTTVJuB2DRa+Hm8wwsnnLM97gq2Wk=";
 
-  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.6.0" "sha256-x+wmTG6jeK8KpSDdhOZkbkRZ7ai7N4xaU4cEmHhO5xA=";
+  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.8.0" "sha256-vuER3haEKEX1Dorw5FGvYr2gSHqrTPjZ8PDuMtD0A3E=";
 
-  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.6.0" "sha256-Q/msYeaXs9MxXj6X0p8Gw08/Y4FvvV2xAbEXU6iqi2g=";
+  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.8.0" "sha256-GfgKHugRZPyPhkzyZibRBodDvxYlHKW735sC7JOOSnU=";
 
-  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.6.0" "sha256-UB0y0l2fb58yNJr36WpCeTDETAcdQkYd2ueETFEQSTo=";
+  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.8.0" "sha256-XhoBrVmqs39kFPykKvha4MX+jHrYM0eoArCASR9Pj3U=";
 
-  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.6.0" "sha256-ynRq7qRVNgpsP4lp6pbZqTv3zrF5Zu1v+STvv/yPgKw=";
+  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.8.0" "sha256-XMdFJ81JK2dkwwb8nKgqaDFQhHoako5IFt1iygZcWUs=";
 
-  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.6.0" "sha256-M2tvTKjIg8aEP3KZvrMTCgiJqb6oWL9T5ylkj+Fr184=";
+  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.8.0" "sha256-uCd7c/vALl2DCXayCLlrvQzwANOMhKVKfSSDgkhWITE=";
 
-  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.6.0" "sha256-XY9DqNQUjFaumcOd2dvX/kV2sWt67Ni26H5SzCarr2E=";
+  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.8.0" "sha256-AI7r1EUOW9gmEgjxwLpeUvD4TsIFsZJXNx2nSrREZRU=";
 
-  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.6.0" "sha256-k1QO54TXJJG5jAvPcoEyZEdEXSmLzHdSPDyF60Zmf78=";
+  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.8.0" "sha256-MrOpFV1Rvr9pqipkDAk0YfNn9W87GTARQWZTdTafM2U=";
 
-  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.6.0" "sha256-kDxDdLaWlaNLfSCOc5Kho73cbk33FnK9c12PYKhdbFQ=";
+  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.8.0" "sha256-lXb5rXS9gNMdalbX3Bqkq/MZwnkQXjVqnBWMAacTVNo=";
 
-  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.6.0" "sha256-Q8EIdCvT0Zjj9udUNpWZzgNClVjNBWTW3V7emhdf+yg=";
+  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.8.0" "sha256-IJiZ6PYC2wgqHdqZ5+d2IWmfqTWzNiMouUyScv7+AeI=";
 
-  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.6.0" "sha256-tXAQ+tNeZUF1snrB+76Ku+j1Wdslah38s0YMBOINrlo=";
+  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.8.0" "sha256-gRaXVGJuzBpwKBP+PuHeBhBwPi7ADaMqO3yXSiwAwZI=";
 
-  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.6.0" "sha256-/XJsZV5Yhp5BMSheF9zVf+MSJsH2zUrpnrkSwo+4PfI=";
+  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.8.0" "sha256-6pKdo0HePlZ8vdDagIKcAEz9FQWxdD0DCxeJGCqV1Yc=";
 
-  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.6.0" "sha256-x6uUO578BIDl1kFdyKXSPnegKLAX3FG4U5rDjsQpVQQ=";
+  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.8.0" "sha256-FrA3aGo9VoZknc8B8dQVuvgPLutxr/sUwqXKv5GfvVU=";
 
-  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.6.0" "sha256-+eHgcPA+egPBR06Mddw0RXuivpiprPMnBhPfCmh0sS4=";
+  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.8.0" "sha256-XnHVJ/FSjP4xk9Won9uBKZn50wgJgNUrNIKWUrey1UI=";
 
-  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.6.0" "sha256-5s0KmOdQyPtcFtb+XkR/zHEiEdZcDwZwldwUy+dvC4s=";
+  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.8.0" "sha256-+Gsp9WbKQY+xxmrVQzlBTYXNmio4rLrEFYiaAg4lU7s=";
 
-  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.6.0" "sha256-+9wtXNgXQhACa8NYfcjbZcJj0j9PlOavxs+c4NXy0kE=";
+  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.8.0" "sha256-rbL+0tgTnhfx4wNCMqV/Bzs29MiVadiFVCuTR9vYNDQ=";
 
-  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.6.0" "sha256-tvLfXhaFpdivIBtFYp0G4/QihOMSGXK1nVDFKuMJCto=";
+  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.8.0" "sha256-87UjieqBzXgTWAFEtnNrxXAOT/0mbCtMIb77iKuGxLM=";
 
-  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.6.0" "sha256-j0ngXkDGIhSh/b1RPn+NY6V2BAUZJdvuT18iALwRkAY=";
+  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.8.0" "sha256-3mU5YeNavmdeRLEhqXNklmkpNh/DEIzywgcSXoH5Vxg=";
 
-  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.6.0" "sha256-Txme0jlgoF9IYywdKqv71kcEqBfF1juTJcagi/2wQ20=";
+  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.8.0" "sha256-55EeFiHspJRWJbYcjZGZpRhKirAzvvyTxVW+/Z8OiyA=";
 
-  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.6.0" "sha256-c6tqmW7i5AXrH2PFyVPCpBkDaiMdTu2fmbHeuc3SzPg=";
+  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.8.0" "sha256-hVrQQcYyqq05XlSVmZfgNVhxDpWnkAyzSjzWUP1A998=";
 
-  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.6.0" "sha256-qvVYusxMw+ZrMJAKXqk1HzEDYHsvaUthnYMDF6b0xbQ=";
+  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.8.0" "sha256-CGWyKB7lGLpYPHShXShC+OVTbm9eZiQEScLd2QL4Y5s=";
 
-  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.6.0" "sha256-ErqAFQYtKfsNABPm+KpOKm88Mh5MmXou6bqJfsqXdt0=";
+  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.8.0" "sha256-xeS5Z23qOQpO2OnXH8trhr6b6BR0cEYpNFA+t+yJW7k=";
 
-  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.6.0" "sha256-vOszu7z/DiZwXrdqoiLUlpLQLNNuRbskI59BBippizI=";
+  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.8.0" "sha256-z2eeckCHLYTLF60XG1ybVJNTuyAUr98VlXP7SZneqfU=";
 
-  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.6.0" "sha256-AKP23N3xMzdOti6J7vONDM/cwdqTHYkiM6c/njspSXI=";
+  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.8.0" "sha256-GwCP8lukUapXQ05O6QJg3Y3MobUdFiky2Gv4auhT6ug=";
 
-  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.6.0" "sha256-PccslOI6F2k50g03j22AYN3xtTsTW3ie4W4pEaT2XwY=";
+  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.8.0" "sha256-BSDgRuzvJXwyaF0CGHa3A+Q6sg/dAZDkEL8OG+7k4Pw=";
 
-  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.6.0" "sha256-3e6/IA6QYgGhipt5XP/b4h3soko1tLntMieXOmeWjlI=";
+  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.8.0" "sha256-7DeAE5HloRZ/kTi5LteeMIl0/iesoL1miemdgYW7sHI=";
 
-  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.6.0" "sha256-rtJ+idGSdRVZafFNppQgIQUobKzClCKHf4RqlBtppBw=";
+  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.8.0" "sha256-EbGoeT3eIUK1axbtsc+jxgN9Qw1CNC/Ak5vD8kmPnU0=";
 
-  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.6.0" "sha256-AqV8yAUYTT8nc3jQkq0qDzZRKxewsrxIR/kVJiX3fwI=";
+  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.8.0" "sha256-vPOarQWZaf+5147n3pHM0zSwVRWBTxX7eE6JCpTASeg=";
 
-  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.6.0" "sha256-N4YntFIEyhhryAaIFY8Gu4Uehw6D/VcTeIlBxx7ej4c=";
+  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.8.0" "sha256-hOPua7NJQHoA/m3j9/doMLZJKV6rfQbGdkd3fo+aKpk=";
 
-  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.6.0" "sha256-DOum/vx6URynxImQN9SRhAr5rFgZdSJMdtAMom5YHe8=";
+  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.8.0" "sha256-SYoyW04NxJsNP7uS3KxZpxi/PRTIS9uSVJA/sVTD/20=";
 
-  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.6.0" "sha256-pZ/h8/1njNNp9+nhpbU/VhGevrZkSrWnhWm3weHAxWQ=";
+  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.8.0" "sha256-QhMDbdjH/bCDLKHEFpMb41YaPf59TSEs2bu151W8IlA=";
 
-  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.6.0" "sha256-TOI2FQdO71XT1NESXGrZN+UI6c7CGRmsBbp4ipuQwhg=";
+  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.8.0" "sha256-sdBDhiq8lLHUWQ6QPQdNAOulN8mbN/ClA6M6epNoMtM=";
 
-  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.6.0" "sha256-M0IDOMbqGdLl0WSipPirjDn3Fr4AQ06+j3m0Ci3jyBE=";
+  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.8.0" "sha256-jPsnB5nI2bgEASmjUGZF+68maAn2xhRzJRiML/DeGqw=";
 
-  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.6.0" "sha256-GYddRqZeBP5f6chzZON9y59KcBiss9eWa8rVGo53C0g=";
+  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.8.0" "sha256-hR0sIaIyBFlbzg/M7CsHMFy0K6xqVSkEA9UL2bM0B9g=";
 
-  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.6.0" "sha256-6znZQUxNKE7SB6G+9l4iQSP9hZt+plKFA8VkE1scxrU=";
+  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.8.0" "sha256-4t6A4Lf9uRlM8RwU+kLXHzj4mqg6K9N9P6EwqQZaCfA=";
 
-  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.6.0" "sha256-FRJeBjA5dfnnZ586VShmPt0CBgi5+ZYbldOUZIGR2L0=";
+  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.8.0" "sha256-KsWZO1WJcQmeFjrIgFVWKWv1A3J1QIyyV/eyNd7wVOA=";
 
-  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.6.0" "sha256-lMNUId8z4h/m0FmusvEjYoQj+PUSLaiOREd27vF3qxI=";
+  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.8.0" "sha256-jOiSQFXLHFTIqRLICkrnO52PY6OjbxC1itz7nvUC+Hw=";
 
-  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.6.0" "sha256-8luG3yWj82hmMq5KYjNG58pbiDBMk+D6ykgzqE752T8=";
+  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.8.0" "sha256-4pIfKFKErbYgifG2EzImfI0bq2l18j/S4LMNkFppAEg=";
 
-  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.6.0" "sha256-nXZ7ZrpEOSdXdcuGVMNI7hjx6oisnnej18vALIEEzGQ=";
+  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.8.0" "sha256-m2VZ6PUAlwv1J3sTu1b0JjvVCStJUhmmPA0OStUBkQU=";
 
-  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.6.0" "sha256-cjBd3Ns1ckr7DT9gpaeb8CbXOrmwU3gENN5Is5BwrZI=";
+  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.8.0" "sha256-qIOrsQb5b99tKyh4sLxl10M8lPHGfNGFDY0LQO0HSes=";
 
-  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.6.0" "sha256-GcbI21WVdMmwMcpbBkma4VrLsLVRP24/Uk43+4vE864=";
+  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.8.0" "sha256-XuP4BReFtJeG2RxWkLcSY0sA66qad/XPYfXnkRTu1hY=";
 
-  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.6.0" "sha256-pW8/wn2Qk1jf1d2kYZ84yEaNUcl6xgHw+yuT0bHnsBE=";
+  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.8.0" "sha256-FSySNIUKn3zXXQ22Bs123tdUd638XNaIbr9SDwenuF0=";
 
-  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.6.0" "sha256-aKO/fGT4UANiYkZOUuOQ4ungKpW8p+yAT5+42WHgp3M=";
+  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.8.0" "sha256-ZFg/a0f4jd9FRTs3VtjXqLrnaSATnx3RyAvo1yE4OQw=";
 
-  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.6.0" "sha256-jTAe8nMwbXwb+1uf9ITVIKtKyOLIwFH6yi+2IYYVIyU=";
+  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.8.0" "sha256-gDxYlHHVpMi1Tij7WjZ19I7h1ds5n15+Nv10nvQMpRo=";
 
-  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.6.0" "sha256-RMIrcFD+1RbA3AcRw3TSjENBzmHQL1zHX7FoOFA+UP0=";
+  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.8.0" "sha256-2IFoKB/F8si+6t8NJhTLnkTfmrxUuawvmTPL/xjpisc=";
 
-  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.6.0" "sha256-mBwT11n8moLt/j46AayYES6rjVo3Tpa5UWJ4Klb1N0g=";
+  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.8.0" "sha256-YZMIJRsydm7OXN4U9odFPcpTSolErDg1w/APTfitns8=";
 
-  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.6.0" "sha256-qYYT1FRpqxtR9LPGMOH+p0+kbeGvfrlIE6rp5Nupioc=";
+  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.8.0" "sha256-Z9MO4KbvY8KmNI/P5xfHxZXg4UDlPOPNAQmDUaqB6x8=";
 
-  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.6.0" "sha256-66kGFeDv4PkKYd4UEL4Feqw5LnygBMGvHqctC4EWnNU=";
+  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.8.0" "sha256-HT4WZXmPxB3RusYeyZez6edNiMx/D1R1z2ltdnzadVA=";
 
-  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.6.0" "sha256-TQ7aNPrky6O+xQefuSkHyFN0XJC5u3xMaT0yrjwYv3E=";
+  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.8.0" "sha256-rgAqcvNylkiF1QqMcQ5mERQzH2BRwOog2GukJRy4hDE=";
 
-  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.6.0" "sha256-55qUjFm6ryLjGAmxGLFkl9dPHXjDWyIINZQRQXe4bnk=";
+  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.8.0" "sha256-nBdBFNLndUyWTAHI9IoOOCqfNnfKDYtIpF/8+j25WE8=";
 
-  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.6.0" "sha256-e8LzXHMfEgkcJKx5a/I//L4/oCz1l7N487wNoTtBP1Y=";
+  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.8.0" "sha256-RpL6fTjQ0Nem0WzzMZU17RlYyWhTBEEPSsZsnvr3vGY=";
 
-  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.6.0" "sha256-MIp/lGwJah2Jj/2KFfoeW2uQlV1DZbP8TYcdsNvEMU8=";
+  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.8.0" "sha256-bXxNPmXNmTp/J+QmKAluRM0D39C0ypDgmBPZsWQzmgc=";
 
-  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.6.0" "sha256-eyiAFFT5KOtTDT2EZNah1KRdcWw1v1titjHwG3DnRj4=";
+  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.8.0" "sha256-y/RVSdtFwjt1WIYJi+CqI0Up2v+T8h0+SwG34jgnyjs=";
 
-  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.6.0" "sha256-g4wAsVc3gqiovsXZtEey4XKmLp/UkIeKD1pEjiey5DE=";
+  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.8.0" "sha256-HbRv5VHTRKJgZKqZVROwC6zqyuQgP+JLFZPYoq2Bc6o=";
 
-  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.6.0" "sha256-GUcRyWviI+JCG7XTGBQcUljxAdjBzso76d5A3ql5lbA=";
+  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.8.0" "sha256-5zeuzcfNiyMzvc9vR04WJtEZMkIELrPsKnstYPwZfKg=";
 
-  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.6.0" "sha256-7znJt8gJGnBbTndTPeFOpN6iytOPTJPgvA/tHeYQVoo=";
+  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.8.0" "sha256-c5a8uIoR0GNfH2Q35S6BdrXEWq3tKQA1yhV3TUYM1K8=";
 
-  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.6.0" "sha256-O3oCXuvREHW7lcwDzbJRogb9Qa2Wfb8C5/rbpjhVm8A=";
+  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.8.0" "sha256-AIh2DZXWuMFjX8opA08MXWLN5K5CVWyjLo8yYmsJRaE=";
 
-  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.6.0" "sha256-mcU7ZGAGzbV7i8H1qMWFI9vm/8APRfmaAncxKBJL+NU=";
+  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.8.0" "sha256-MzAYMFEpZZtLS59bBSOLwLkwpU8H9kOseEPcxj6Eonw=";
 
-  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.6.0" "sha256-uKvgKNZHFZIYsE0hMWjuHN+QzI/eQcCn4HD2C8H+d2I=";
+  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.8.0" "sha256-nesFHgQyGtzmUfdOItfMlbWvBFHU+v7VNz4foE7SX2o=";
 
-  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.6.0" "sha256-Hnq9JAdPiqfhb/uLQhMk7JWZ8xHko06KqHXh9f6al/8=";
+  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.8.0" "sha256-hJYVJObV7tT9jV3h5oykjI0cRI9VlnEa4tLyWc9Htek=";
 
-  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.6.0" "sha256-/7Zzo383eWFjEHxZST1QKzTNHunhR8mjSE2uEHUw9IE=";
+  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.8.0" "sha256-FjrthSpe9zRvmg+nS2E+ZoXKt7kdR13F1mwMzya7Dsw=";
 
-  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.6.0" "sha256-6sIHmILzIg1aOskXnjbDDzbkygXDwFcnd9mfuuhRFZQ=";
+  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.8.0" "sha256-OWIx0v5n89afasRAkrPxfFWZvUm0k2ItHIOyQcVsX3I=";
 
-  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.6.0" "sha256-2BnFCPgaAWxBsc+79oQT+DDj6IM7cV7F+LjqsFG6BBc=";
+  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.8.0" "sha256-uMtA82NpANN591t6RyunEDtguv5CVPMtF+XoFc8DTao=";
 
-  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.6.0" "sha256-TW57DJw0QgnPrIWlOlAvESYSEPUD/UKbXVs+NYW+7r0=";
+  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.8.0" "sha256-pONqi41QAjLUsiX/iI1SFc8BEMCKSdXvhZsE/P/GnSw=";
 
-  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.6.0" "sha256-cLciwg4d5EZKYquNitl3yD+8eJnemEiF27LcXfxy0Zs=";
+  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.8.0" "sha256-iy9m+iioGBhUSTTL48TCEmlxSPac31Nyh5OOShQ6SN8=";
 
-  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.6.0" "sha256-dvte4Yjl+a/UqL5v7xJ9626igVjx/ZPdM2SsLGsVdDk=";
+  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.8.0" "sha256-tHlwGQTuoY6WVMlwunucy/IoPQ4d8fbj8iJN/Rwd3sE=";
 
-  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.6.0" "sha256-36BIOCHnkFyEp3MPa5NfjNJNBeqVMCmx9C907Bw3YWQ=";
+  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.8.0" "sha256-ghW0dULuXuj3ZBpFNe30W8Wr8e/19rXlHbE/7B7thKU=";
 
-  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.6.0" "sha256-DKmk2ddd7b0g6mnt0d37Y1ofb6dgN/6XFBCElqdQ9+A=";
+  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.8.0" "sha256-vrtlZBYIMx+G66E1B/setODz2Ebw8oEZAr7MwgeWYpk=";
 
-  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.6.0" "sha256-PRzh/JFCHUqXTSAR4IoftxvkRBsVq4XEX7ihC9FzqSI=";
+  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.8.0" "sha256-i55VJJ1lB4TDF+aMpBBlAicP015G5C6HfbmkRneKRj0=";
 
-  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.6.0" "sha256-GcDl3LIy+urPEzXINmU4g7xgk8IIIJ6fBFFXhv18eSA=";
+  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.8.0" "sha256-wBn9opW2nBTJ8AlSkQb3Vudn5M0MoujBJJQv3wpzd/U=";
 
-  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.6.0" "sha256-5IoQuLh6bh3mlzInR+Aci6yIRCSYJXfbvv49FEs2tPA=";
+  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.8.0" "sha256-FJbynDHyf1Rzz68l6m2Nx3Z/gbz1xKvyti+Y+TKToCs=";
 
-  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.6.0" "sha256-l0xrQXkDYmB3+RFtwJ70l6GgKeA0z1V107HG8Ddvb8U=";
+  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.8.0" "sha256-fOJzjEmaDu61tPKSk3+AqRB5YML/t0E4Pph/vYBCbqI=";
 
-  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.6.0" "sha256-KLdOmaO6x7AmQInP1RRAf8s5rlpD0PpDHeBnor5gl2A=";
+  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.8.0" "sha256-NG8amAmPBM9zxeBjFOjHjJWv0n02kmkQ3t2p2a8ueDs=";
 
-  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.6.0" "sha256-QNjpM0m1PKSQx2f1eNkOeNP7pHN0PfHZlMFVQbGOgGU=";
+  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.8.0" "sha256-2lXqLkIdTHQnt81eQ8gMY3rTqEdrAIr0sLdbSpDqsBk=";
 
-  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.6.0" "sha256-5g1LUvS324evqH+Rv+pUKlePnE3QqMqpiLCrknxjQX8=";
+  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.8.0" "sha256-ZA0GffcyOufLp7eL2nXJ/I9J2d4nPMSO6oGnINu1r3c=";
 
-  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.6.0" "sha256-5NbnrGPo9jTCIxq7ubNX/OuKZOXU0PoSwgTjfuMvnKY=";
+  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.8.0" "sha256-t7TLwIPwyvE8kdehytLbDm833wv5/VHkq2fMXS8GTYY=";
 
-  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.6.0" "sha256-AZRsUZpKhzPiHoUcboBeX5zYlVD9kY6F4n6/ifRTpr8=";
+  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.8.0" "sha256-ZgHWKACxm1LFxS9W+lEktaQI5ZEupWxLre+aET497kg=";
 
-  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.6.0" "sha256-WrkKQxXI7eIaX4GimyDyBqDWVjw0eF3jJTA40JScvG0=";
+  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.8.0" "sha256-RmZn+M23w5LeEN94GL++5G3KqPxHdK7yS45HrexO254=";
 
-  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.6.0" "sha256-I//ZK5HolYkCfpTCPYhEDALfcn9AYcLk7x7vfRjTDlo=";
+  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.8.0" "sha256-0suDa/XD5mmYIa+xLLS1ctmJNvUSkXKb1JM9ypUImgo=";
 
-  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.6.0" "sha256-Qz+ZXVBSe3kHgGlqQjgxWoQhnguqauxmPKaISQbAG/8=";
+  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.8.0" "sha256-aYf/FX2jFSiJCbOD4DgNV2wtPUaQIFFVJMwYa43+SH0=";
 
-  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.6.0" "sha256-Fh35RpHExkL/PeqEnWNR2pJYWERDJzOF9oE3SvIxxQ4=";
+  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.8.0" "sha256-43zwyMqYz/tIeFSD8sFrnUhy0GgfIV57eP5TebUfa7g=";
 
-  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.6.0" "sha256-Wia4Xc/Kt8j6X5rZ9vvxupr6tCv1XQQQFOwRnugL0lE=";
+  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.8.0" "sha256-+wGCOB7OMw8ocImLAKTrbLAMk7Svy9IrV43d88++iNM=";
 
-  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.6.0" "sha256-hDPU7e14iYcpt8dXzjx7PgT4TQloAn2ZYrq6cMtMncc=";
+  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.8.0" "sha256-nHXh6Pn01PrBP1pfPIYEFDJHVBcMyCHrbugzFitFNlI=";
 
-  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.6.0" "sha256-J5QSpJQjhO6T2uGpDstHdEVJTLuTIxilmYmKdtB7u6g=";
+  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.8.0" "sha256-/HXBFrcsKbFP23+sbYIhDAMKCTvC8RcY0Yd7LjDw+0Y=";
 
-  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.6.0" "sha256-NxTwgcrDNOHZ8PReIgfTOGLTl7bL1948NKAyjJ0QYKc=";
+  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.8.0" "sha256-8WqU8zVfd4ks3v2taDDb9a/SIhbbNQ9nvN5RtwUiFtQ=";
 
-  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.6.0" "sha256-fWnCKnG6ikXzDx40HFxlh9DyLVlX9pBB4CMcJxUt+Ps=";
+  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.8.0" "sha256-geKe1U86jmBHNmMoxtzk+s+la44cJTmdxNt+eIRNPrk=";
 
-  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.6.0" "sha256-6wkvuRGT91a0Ggxt13amMzjWd6Pj62w4nrvWQNQ0GxI=";
+  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.8.0" "sha256-pI0awh2ykT+1piQXVEVWtM95hzo9T2i3afBudGBKKDI=";
 
-  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.6.0" "sha256-7NkEDcuph8xxjlDjuEiSuhvM5srAeY4QfAKLwFLhCsU=";
+  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.8.0" "sha256-eTQq35NWsj0XFmX60i9f1zMftUQy16zAMHjL4rMF/+0=";
 
-  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.6.0" "sha256-pM6yxg0MxTXjSWZ/CLsatlIMx4tO0p9ZKRzOhyJYXWc=";
+  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.8.0" "sha256-crnFBiGAgZ69htxJ1p8sTX5NGnbc3qEsdFHL4LiLsig=";
 
-  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.6.0" "sha256-idc5d/Kvjhd7RkTHuErSoP/f64/Q1+jg0TE3UMiL4pQ=";
+  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.8.0" "sha256-XmBDoWgfEkVT2u8Ms1ag3JtUCpencUoX0EfB7/VsSmM=";
 
-  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.6.0" "sha256-3eJaNx/Tzy9XQtHSPGKlkMG7klB2KDgL60knGghWAn8=";
+  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.8.0" "sha256-U5Ll1edEe3eNbLqGWd7O9uNef0b32JXwEfu+M8Kg2uI=";
 
-  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.6.0" "sha256-7y8SiLa09lDqnMZtlG0Qw5tvAvQMvTNqMuCpRecOpXc=";
+  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.8.0" "sha256-A9if+EGhVRR9PpXb7Ai1u2XcWS/HlHNgFPI+oy4Xf3Q=";
 
-  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.6.0" "sha256-Umq4Slts9RHPJRJCWRAIAizLxB9Clcz8GomLsUr5gNE=";
+  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.8.0" "sha256-xZYge7wyTJA6TDkiMqIgESv/xEb3e/4WFxTMD9hedG0=";
 
-  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.6.0" "sha256-iRwalkojzQCUiAQcxl8hEYFFbnIxhuaJfrATnK18ltI=";
+  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.8.0" "sha256-TWDc+OQ1ZQH4hs2yyKGzJWxImRsTiSHsNT64eBSg9+E=";
 
-  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.6.0" "sha256-+4rnAV2Qr29bvWRO6TnSaRZkUVCoefB3SDXc2Ye9kpE=";
+  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.8.0" "sha256-6rTtWFb0W7A6kK9vn+OmLW8eaMmeYcUgC3u71HBEk78=";
 
-  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.6.0" "sha256-CXYfdtO1TdmEz39v2AEeCTJmgiA/EF1gmaBBYGRgYV0=";
+  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.8.0" "sha256-CA6oHF9JMvOx+hayuBoQ6y/FlZEoZTtfmej6sW25UY0=";
 
-  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.6.0" "sha256-x9cBjUe4LC9uSsFpPciZP1QlUEqfNo3xZFKUqPuVV6E=";
+  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.8.0" "sha256-M21DsVjEP2foyd8DMJjnlalM7vwAPLorSBU7P3Bt1vg=";
 
-  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.6.0" "sha256-Wew0A2xIYOGXzfZf3sBpHnRW/dZD1s6wHveNMwYj1s4=";
+  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.8.0" "sha256-bJH/5ltKeojYXOuiaDSWE5LUv2dqE78CROzeRXOqV84=";
 
-  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.6.0" "sha256-vWUMopzR+1095nN6POsHShvCKZIcUwfW11oMOJ9R94c=";
+  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.8.0" "sha256-AudV7RCbIPYvy1IgYrSC1I8PPT9lLCVR28RCtJ1Fd8o=";
 
-  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.6.0" "sha256-4QpCK14NogeYR9DB877zh760GEXYieiyOgepB9DZd+8=";
+  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.8.0" "sha256-QMZKTjNdfz2Oxjdtnc3tICe823R4Vp1ETJfupXMX2lE=";
 
-  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.6.0" "sha256-bBcMTJOVFq1mJQZtc9M/EMT45Xxxk2DqDgVHfM3qt3A=";
+  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.8.0" "sha256-QiNnwX+NCknSAlsrMDTBFBaDoD1iXcJBA19VEVFh8CY=";
 
-  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.6.0" "sha256-c4Y5kilT50Ips16/YhwduNbm89gB4iLHFv8eN8T4NDM=";
+  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.8.0" "sha256-9uQX3ssLhPM2ErTvyXpC+346+BCkyB19DRhGVyLeDRw=";
 
-  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.6.0" "sha256-HB1CKe9mkD0+0TdFXmdiphDUqc+4xbwBIXSu0PulBE4=";
+  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.8.0" "sha256-LuLHmUEyOCimS4xUhE6zizTfn4MQBj27T2obwnsSK/w=";
 
-  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.6.0" "sha256-59SvnKQ+WpAKUZNYunFywLLah1aBnF0maZrFbALXcIM=";
+  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.8.0" "sha256-vq0nimWY3nho1u2lgl8f0CDMFc5aFYzI/TmE3XAqXXg=";
 
-  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.6.0" "sha256-cgxE6GYG9c4234RAiyFfF22NPHJ29oytOvLpETnjdS4=";
+  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.8.0" "sha256-ir/tmp8wb5+dZ8ldydMAtm4kWJ5/g4NeZVG0Aly2lOk=";
 
-  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.6.0" "sha256-yg4zDBjgSB7JuuS2DXIUe3PFQq9stIfEJSMF1IP2BWI=";
+  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.8.0" "sha256-825T4k/GtzClkQRFf0JtiHz7BkrSuN2ZLTm/Gg8VIzU=";
 
-  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.6.0" "sha256-Pnn3CGL5rr3MtzaakjDXmReVKXnyB76IxSnAPnKU45I=";
+  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.8.0" "sha256-TIBXAir9uhnBw+XUC+uF0PxX2YqSy++0lzmrZA7dNrQ=";
 
-  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.6.0" "sha256-kxniFLA2e7aDKulF5z1Ap3z6wbE3eY3QVqhK+CVhrcE=";
+  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.8.0" "sha256-MQZdWFYWOgFQwcoPa7XjV+W6CU0B4TGsYlWPAX3wP7o=";
 
-  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.6.0" "sha256-adKf+AbPmeN57r93T36IewoiLZ+05CbpuS7NxCkQgMw=";
+  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.8.0" "sha256-ZV/Niqalk80HEjLmhSKMMrckRqbgMfa5SR/ld9HOkGs=";
 
-  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.6.0" "sha256-56SIq8Q6B405aqKU8UMddGHyrJeFaVKZSG4ImBWBZLU=";
+  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.8.0" "sha256-rHA7mkFCAs8vlxD37aqpmDQTEt9glaCkDNdNZF+Zkao=";
 
-  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.6.0" "sha256-nAGK0tN42UhDUmpztGeAPRS5FuuTt+LugQmcgkR0oLA=";
+  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.8.0" "sha256-yJ5OgSx/7OhwA5IrzTwFJqJjOWsy4Z5muJNqOckrvqo=";
 
-  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.6.0" "sha256-p/2uqdRwKgsS2EUCr8ZLds6WHUjVQz8mEv35qcyMTYA=";
+  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.8.0" "sha256-pdBZddHeWEJF0Va3ylwqNlCixcNCucqhJS4E6MOlstk=";
 
-  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.6.0" "sha256-EInqI5EqriiI2L/tdQiy3/jY8tnZ6+QOk9PdEyDuSj4=";
+  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.8.0" "sha256-8pAUOTT8QHEyT0EvQCT9B0YL9k7hYIblPKCbWqaL7rI=";
 
-  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.6.0" "sha256-cNegCM7a4QlI+NLzIRIoGHYzQqbFkNRKqDKLOqE3OUY=";
+  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.8.0" "sha256-WJU83Td6vRgmKyfhYlRU4miHJHb2h7tg/12IJClHGrY=";
 
-  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.6.0" "sha256-hMPU0wmTi0BQ+AWo4T6DIOl6FrAQbzdal8rcPoY3wP0=";
+  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.8.0" "sha256-AfXk/UyL5feDePCN4+pgSH3eCfpyeEimn8T/+JsD/tw=";
 
-  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.6.0" "sha256-W/kHZMLFQ7kv8i/3urxbjdXc7RorMyy5joJNtFPAhVU=";
+  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.8.0" "sha256-DAigC9aIAEXYcIPCNihBI89LRZ5WAdWdlTPwzMmAwqE=";
 
-  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.6.0" "sha256-Mc3h0CSmJRoV+ncwhtd4Tu5LSoasWqK8V9hXK5+XYfs=";
+  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.8.0" "sha256-esJylPZPnj2zGsoKikbckg4/3cXXCdLe/x8PiLtDveQ=";
 
-  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.6.0" "sha256-xtsxrIzhjJSoGqd1fEgXP55bRtDsJTtdoWn8eooHCmY=";
+  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.8.0" "sha256-c023BH5DuggzCOWjPAmG1luA+d2PKJzU/wKMyy5wUp4=";
 
-  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.6.0" "sha256-J3lsLnwcttamV4NroDuXz9EupXrsoN/SumKrykQkwVU=";
+  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.8.0" "sha256-7ZbI/QXl4N8OFFviPSsWWx0rX4Lpr9zIV/dQTSLLnMQ=";
 
-  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.6.0" "sha256-DPirH1s636ZW6VKyD4wMiJEfM+u9NknH0ODLQagaLrs=";
+  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.8.0" "sha256-dlrCaCiX4Sc/jClstj/pZLyeTNpLJEpGJHVIkpWQsQA=";
 }
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index 81be449f7f0c0..13cfe48209a00 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,12 +364,12 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.7.0";
+  version = "2.8.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JVtG3t6rkZ5nrttMlryqdcU35DSblNe3MfvlqLqHJp0=";
+    hash = "sha256-s6F2fipCzJKd4jn2flSircKuDBn2OsEEi0nX8aSxbnY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-appdirs/default.nix b/pkgs/development/python-modules/types-appdirs/default.nix
index f6fe4cf6e1b3c..ce7bb9cd53df9 100644
--- a/pkgs/development/python-modules/types-appdirs/default.nix
+++ b/pkgs/development/python-modules/types-appdirs/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "types-appdirs";
   version = "1.4.3.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/types-enum34/default.nix b/pkgs/development/python-modules/types-enum34/default.nix
index 6c186f2d8756d..d82c84c5c5da0 100644
--- a/pkgs/development/python-modules/types-enum34/default.nix
+++ b/pkgs/development/python-modules/types-enum34/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "types-enum34";
   version = "1.1.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/types-futures/default.nix b/pkgs/development/python-modules/types-futures/default.nix
index afff438efef1f..9eb4b956d3ebb 100644
--- a/pkgs/development/python-modules/types-futures/default.nix
+++ b/pkgs/development/python-modules/types-futures/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "types-futures";
   version = "3.3.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/types-ipaddress/default.nix b/pkgs/development/python-modules/types-ipaddress/default.nix
index 19e048d1a9f46..3bdffafb34e3e 100644
--- a/pkgs/development/python-modules/types-ipaddress/default.nix
+++ b/pkgs/development/python-modules/types-ipaddress/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "types-ipaddress";
   version = "1.0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/types-s3transfer/default.nix b/pkgs/development/python-modules/types-s3transfer/default.nix
index 44f025c23c1a2..5e87bd726bf74 100644
--- a/pkgs/development/python-modules/types-s3transfer/default.nix
+++ b/pkgs/development/python-modules/types-s3transfer/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-s3transfer";
-  version = "0.8.1";
+  version = "0.8.2";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_s3transfer";
     inherit version;
-    hash = "sha256-tng+wpElwAtWCzVNL+KhhdxcznahfCOsLWMGdK+nAEA=";
+    hash = "sha256-LkF1b8+Ud1qZSa+oVkiaxFcDCGCbBJPfvXtNMz60I+Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix
index 123aaa346171e..9aa9fc0f5f67f 100644
--- a/pkgs/development/python-modules/types-tabulate/default.nix
+++ b/pkgs/development/python-modules/types-tabulate/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "types-tabulate";
   version = "0.9.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/typesentry/default.nix b/pkgs/development/python-modules/typesentry/default.nix
index 5aa12fb041ad9..f38947c04677b 100644
--- a/pkgs/development/python-modules/typesentry/default.nix
+++ b/pkgs/development/python-modules/typesentry/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage {
   pname = "typesentry";
   version = "0.2.7";
+  format = "setuptools";
 
   # Only wheel distribution is available on PyPi.
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/typing-inspect/default.nix b/pkgs/development/python-modules/typing-inspect/default.nix
index 59eb745547882..f88a718c736c3 100644
--- a/pkgs/development/python-modules/typing-inspect/default.nix
+++ b/pkgs/development/python-modules/typing-inspect/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "typing-inspect";
   version = "0.9.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/tzlocal/default.nix b/pkgs/development/python-modules/tzlocal/default.nix
index e9ab0bc6abe35..4f74b552b0c4d 100644
--- a/pkgs/development/python-modules/tzlocal/default.nix
+++ b/pkgs/development/python-modules/tzlocal/default.nix
@@ -4,32 +4,25 @@
 , pythonOlder
 , fetchPypi
 , setuptools
-, wheel
-, pytz-deprecation-shim
 , pytest-mock
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "tzlocal";
-  version = "5.0.1"; # version needs to be compatible with APScheduler
+  version = "5.2"; # version needs to be compatible with APScheduler
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RuuZrUvbcfP3K30k9CZ3U+JAlE7PwW8l0nGbqJgnqAM=";
+    hash = "sha256-jTmSBVePGpNCgWQJzB5GqT69V1XjnqLYUzS+qRG/Dm4=";
   };
 
   nativeBuildInputs = [
     setuptools
-    wheel
-  ];
-
-  propagatedBuildInputs = [
-    pytz-deprecation-shim
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/uamqp/default.nix b/pkgs/development/python-modules/uamqp/default.nix
index c306068f7fdbf..2e69e4568f829 100644
--- a/pkgs/development/python-modules/uamqp/default.nix
+++ b/pkgs/development/python-modules/uamqp/default.nix
@@ -17,6 +17,7 @@
 buildPythonPackage rec {
   pname = "uamqp";
   version = "1.6.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Azure";
diff --git a/pkgs/development/python-modules/uarray/default.nix b/pkgs/development/python-modules/uarray/default.nix
index 31f55ebdea794..74ad0eb708a09 100644
--- a/pkgs/development/python-modules/uarray/default.nix
+++ b/pkgs/development/python-modules/uarray/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "uarray";
   version = "0.8.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Quansight-Labs";
diff --git a/pkgs/development/python-modules/udatetime/default.nix b/pkgs/development/python-modules/udatetime/default.nix
index 9eef1512490d1..6b378f4aa3651 100644
--- a/pkgs/development/python-modules/udatetime/default.nix
+++ b/pkgs/development/python-modules/udatetime/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "udatetime";
   version = "0.0.17";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/ueagle/default.nix b/pkgs/development/python-modules/ueagle/default.nix
index fc61123377aa9..d54b18925e900 100644
--- a/pkgs/development/python-modules/ueagle/default.nix
+++ b/pkgs/development/python-modules/ueagle/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ueagle";
   version = "0.0.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/ueberzug/default.nix b/pkgs/development/python-modules/ueberzug/default.nix
index 69cc04ee2d9c2..e216bdc714126 100644
--- a/pkgs/development/python-modules/ueberzug/default.nix
+++ b/pkgs/development/python-modules/ueberzug/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "ueberzug";
   version = "18.1.9";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch b/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
deleted file mode 100644
index 56aba78b5b31a..0000000000000
--- a/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From eb63747509b2c18793b95eb12cc0141277520798 Mon Sep 17 00:00:00 2001
-From: Simon Cozens <simon@simon-cozens.org>
-Date: Thu, 11 Feb 2021 09:43:41 +0000
-Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu
-
----
- Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++--
- Lib/ufo2ft/preProcessor.py             | 4 ++--
- setup.py                               | 1 -
- tests/outlineCompiler_test.py          | 2 +-
- tests/preProcessor_test.py             | 2 +-
- 5 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
-index 87d81b1..4b77144 100644
---- a/Lib/ufo2ft/filters/cubicToQuadratic.py
-+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
-@@ -1,7 +1,7 @@
- import logging
- 
--from cu2qu.pens import Cu2QuPointPen
--from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
-+from fontTools.pens.cu2quPen import Cu2QuPointPen
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
- 
- from ufo2ft.filters import BaseFilter
- from ufo2ft.fontInfoData import getAttrWithFallback
-diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py
-index e239152..9463aea 100644
---- a/Lib/ufo2ft/preProcessor.py
-+++ b/Lib/ufo2ft/preProcessor.py
-@@ -267,7 +267,7 @@ class TTFInterpolatablePreProcessor:
-         skipExportGlyphs=None,
-         filters=None,
-     ):
--        from cu2qu.ufo import DEFAULT_MAX_ERR
-+        from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR
- 
-         self.ufos = ufos
-         self.inplace = inplace
-@@ -304,7 +304,7 @@ class TTFInterpolatablePreProcessor:
-         self.postFilters = [[f for f in filters if not f.pre] for filters in filterses]
- 
-     def process(self):
--        from cu2qu.ufo import fonts_to_quadratic
-+        from fontTools.cu2qu.ufo import fonts_to_quadratic
- 
-         needs_decomposition = set()
- 
-diff --git a/setup.py b/setup.py
-index d8d9982..a165ab1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -30,7 +30,6 @@ setup(
-     tests_require=["pytest>=2.8"],
-     install_requires=[
-         "fonttools[ufo]>=4.34.0",
--        "cu2qu>=1.6.7",
-         "cffsubr>=0.2.8",
-         "booleanOperations>=0.9.0",
-     ],
-diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py
-index b31319c..ee51920 100644
---- a/tests/outlineCompiler_test.py
-+++ b/tests/outlineCompiler_test.py
-@@ -2,7 +2,7 @@ import logging
- import os
- 
- import pytest
--from cu2qu.ufo import font_to_quadratic
-+from fontTools.cu2qu.ufo import font_to_quadratic
- from fontTools.ttLib import TTFont
- from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS
- 
-diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
-index 11196f8..bc32d55 100644
---- a/tests/preProcessor_test.py
-+++ b/tests/preProcessor_test.py
-@@ -2,7 +2,7 @@ import logging
- import os
- 
- import pytest
--from cu2qu.ufo import CURVE_TYPE_LIB_KEY
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- from fontTools import designspaceLib
- 
- import ufo2ft
--- 
-2.36.1
-
-From 58f3ab5e5db8090aba10fefd58ad8df4b507e7c3 Mon Sep 17 00:00:00 2001
-From: Simon Cozens <simon@simon-cozens.org>
-Date: Thu, 11 Feb 2021 09:49:28 +0000
-Subject: [PATCH 2/2] Sort the imports
-
----
- Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +-
- tests/preProcessor_test.py             | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
-index 4b77144..5f28ea4 100644
---- a/Lib/ufo2ft/filters/cubicToQuadratic.py
-+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
-@@ -1,7 +1,7 @@
- import logging
- 
--from fontTools.pens.cu2quPen import Cu2QuPointPen
- from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
-+from fontTools.pens.cu2quPen import Cu2QuPointPen
- 
- from ufo2ft.filters import BaseFilter
- from ufo2ft.fontInfoData import getAttrWithFallback
-diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
-index bc32d55..41c579c 100644
---- a/tests/preProcessor_test.py
-+++ b/tests/preProcessor_test.py
-@@ -2,8 +2,8 @@ import logging
- import os
- 
- import pytest
--from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- from fontTools import designspaceLib
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- 
- import ufo2ft
- from ufo2ft.constants import (
--- 
-2.36.1
-
diff --git a/pkgs/development/python-modules/ufolint/default.nix b/pkgs/development/python-modules/ufolint/default.nix
new file mode 100644
index 0000000000000..ab997b30097db
--- /dev/null
+++ b/pkgs/development/python-modules/ufolint/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, commandlines
+, fonttools
+, fs
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ufolint";
+  version = "1.2.0";
+  format = "setuptools";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "ufolint";
+    rev = "v${version}";
+    hash = "sha256-sv8WbnDd2LFHkwNsB9FO04OlLhemdzwjq0tC9+Fd6/M=";
+  };
+
+  propagatedBuildInputs = [
+    commandlines
+    fs
+    fonttools
+  ];
+
+  doCheck = true;
+  nativeBuildInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Linter for Unified Font Object (UFO) source code";
+    homepage = "https://github.com/source-foundry/ufolint";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/ufonormalizer/default.nix b/pkgs/development/python-modules/ufonormalizer/default.nix
index dbc02750de9a6..dd1e6bd08a1da 100644
--- a/pkgs/development/python-modules/ufonormalizer/default.nix
+++ b/pkgs/development/python-modules/ufonormalizer/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "ufonormalizer";
   version = "0.6.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix
index 9816c88f3e6b2..7eb4e5e3814b1 100644
--- a/pkgs/development/python-modules/ujson/default.nix
+++ b/pkgs/development/python-modules/ujson/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "ujson";
   version = "5.8.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/umalqurra/default.nix b/pkgs/development/python-modules/umalqurra/default.nix
index 0e1b4c681e5ba..f06f1d4731046 100644
--- a/pkgs/development/python-modules/umalqurra/default.nix
+++ b/pkgs/development/python-modules/umalqurra/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "umalqurra";
   version = "0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix
index bf08374ece230..8299effe6f5ea 100644
--- a/pkgs/development/python-modules/uncertainties/default.nix
+++ b/pkgs/development/python-modules/uncertainties/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "uncertainties";
   version = "3.1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/uncompyle6/default.nix b/pkgs/development/python-modules/uncompyle6/default.nix
index 16be16d443acf..db7972fb51432 100644
--- a/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/pkgs/development/python-modules/uncompyle6/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "uncompyle6";
   version = "3.9.0";
+  format = "setuptools";
   disabled = pythonAtLeast "3.9"; # See: https://github.com/rocky/python-uncompyle6/issues/331
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/unicode-slugify/default.nix b/pkgs/development/python-modules/unicode-slugify/default.nix
index 1a4ccb1ee7d98..e967e187d9f1d 100644
--- a/pkgs/development/python-modules/unicode-slugify/default.nix
+++ b/pkgs/development/python-modules/unicode-slugify/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "unicode-slugify";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/unicodecsv/default.nix b/pkgs/development/python-modules/unicodecsv/default.nix
index ede2b0d3f093b..4690590c03fad 100644
--- a/pkgs/development/python-modules/unicodecsv/default.nix
+++ b/pkgs/development/python-modules/unicodecsv/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "0.14.1";
+  format = "setuptools";
   pname = "unicodecsv";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/unidata-blocks/default.nix b/pkgs/development/python-modules/unidata-blocks/default.nix
new file mode 100644
index 0000000000000..cded041c46b84
--- /dev/null
+++ b/pkgs/development/python-modules/unidata-blocks/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, langcodes
+}:
+
+buildPythonPackage rec {
+  pname = "unidata-blocks";
+  version = "0.0.8";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "unidata_blocks";
+    inherit version;
+    hash = "sha256-Y7OSFuPHgzNc/KtmBWwdVqH7Xy4v4w2UGHBUF9pIuSU=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  propagatedBuildInputs = [ langcodes ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/unidata-blocks";
+    description = "A library that helps query unicode blocks by Blocks.txt";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/unidiff/default.nix b/pkgs/development/python-modules/unidiff/default.nix
index 85ec596a89121..3dd206d509f57 100644
--- a/pkgs/development/python-modules/unidiff/default.nix
+++ b/pkgs/development/python-modules/unidiff/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "unidiff";
   version = "0.7.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/unifi/default.nix b/pkgs/development/python-modules/unifi/default.nix
index fc98695dd6fa1..bc868f0ed4f40 100644
--- a/pkgs/development/python-modules/unifi/default.nix
+++ b/pkgs/development/python-modules/unifi/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "unifi";
   version = "1.2.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/unifiled/default.nix b/pkgs/development/python-modules/unifiled/default.nix
index 68fa57165df2d..9b3b7274a4957 100644
--- a/pkgs/development/python-modules/unifiled/default.nix
+++ b/pkgs/development/python-modules/unifiled/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "unifiled";
   version = "1.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "florisvdk";
diff --git a/pkgs/development/python-modules/unify/default.nix b/pkgs/development/python-modules/unify/default.nix
index 1935374d37e11..58bee2b6e52e5 100644
--- a/pkgs/development/python-modules/unify/default.nix
+++ b/pkgs/development/python-modules/unify/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "unify";
   version = "0.5";
+  format = "setuptools";
 
   # PyPi release is missing tests (see https://github.com/myint/unify/pull/18)
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/units/default.nix b/pkgs/development/python-modules/units/default.nix
index 8e9742d2f6a8f..90e7c73b56a51 100644
--- a/pkgs/development/python-modules/units/default.nix
+++ b/pkgs/development/python-modules/units/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "units";
   version = "0.07";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/unittest-data-provider/default.nix b/pkgs/development/python-modules/unittest-data-provider/default.nix
index 67a3cf313aecf..9d60e7ccaeb66 100644
--- a/pkgs/development/python-modules/unittest-data-provider/default.nix
+++ b/pkgs/development/python-modules/unittest-data-provider/default.nix
@@ -5,6 +5,7 @@
 
 buildPythonPackage rec {
   version = "1.0.1";
+  format = "setuptools";
   pname = "unittest-data-provider";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index be25e21a43f30..36768b0fccb77 100644
--- a/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
   version = "3.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/unrardll/default.nix b/pkgs/development/python-modules/unrardll/default.nix
index e6d746165144e..c11cf39546ce8 100644
--- a/pkgs/development/python-modules/unrardll/default.nix
+++ b/pkgs/development/python-modules/unrardll/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "unrardll";
   version = "0.1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/unstructured-inference/default.nix b/pkgs/development/python-modules/unstructured-inference/default.nix
index 549c0b6dd0f20..9ead7548bb9ff 100644
--- a/pkgs/development/python-modules/unstructured-inference/default.nix
+++ b/pkgs/development/python-modules/unstructured-inference/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "unstructured-inference";
-  version = "0.7.11";
+  version = "0.7.18";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Unstructured-IO";
     repo = "unstructured-inference";
     rev = "refs/tags/${version}";
-    hash = "sha256-cUd1umD61xHPehutBh5pUWTLyOdn3vbgerRQmsOpuDM=";
+    hash = "sha256-zCsWFiQlaUGlIr0PjaNl6FuiiWmVDtKTJQQDPj6g12M=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/unstructured/default.nix b/pkgs/development/python-modules/unstructured/default.nix
index 582d0040e109b..a8322db252180 100644
--- a/pkgs/development/python-modules/unstructured/default.nix
+++ b/pkgs/development/python-modules/unstructured/default.nix
@@ -56,7 +56,7 @@
 , grpcio
 }:
 let
-  version = "0.10.30";
+  version = "0.11.2";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -90,7 +90,7 @@ buildPythonPackage {
     owner = "Unstructured-IO";
     repo = "unstructured";
     rev = "refs/tags/${version}";
-    hash = "sha256-RaVg4XNmh1S5G1CHQiME7t/BmK0MI9M8wI2YTKjpqzM=";
+    hash = "sha256-kMgmvUUn8AA0md412WJgHdlkAA8bBGWOdi2C4ief8Iw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/untangle/default.nix b/pkgs/development/python-modules/untangle/default.nix
index 6456bdd3cbd89..253fd6bf9f9a8 100644
--- a/pkgs/development/python-modules/untangle/default.nix
+++ b/pkgs/development/python-modules/untangle/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "untangle";
   version = "1.2.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "stchris";
diff --git a/pkgs/development/python-modules/untokenize/default.nix b/pkgs/development/python-modules/untokenize/default.nix
index 3ee6b53d05866..079a915cee190 100644
--- a/pkgs/development/python-modules/untokenize/default.nix
+++ b/pkgs/development/python-modules/untokenize/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "untokenize";
   version = "0.1.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/upb-lib/default.nix b/pkgs/development/python-modules/upb-lib/default.nix
index 092cb5ed50b1a..ea00a6c97e815 100644
--- a/pkgs/development/python-modules/upb-lib/default.nix
+++ b/pkgs/development/python-modules/upb-lib/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "upb-lib";
   version = "0.5.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/upcloud-api/default.nix b/pkgs/development/python-modules/upcloud-api/default.nix
index 17fec99811e38..304feaf069ffe 100644
--- a/pkgs/development/python-modules/upcloud-api/default.nix
+++ b/pkgs/development/python-modules/upcloud-api/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "upcloud-api";
   version = "2.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "UpCloudLtd";
diff --git a/pkgs/development/python-modules/update-copyright/default.nix b/pkgs/development/python-modules/update-copyright/default.nix
index 169c361e50743..1502e92f9e7b6 100644
--- a/pkgs/development/python-modules/update-copyright/default.nix
+++ b/pkgs/development/python-modules/update-copyright/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "update-copyright";
   version = "0.6.2";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/update_checker/default.nix b/pkgs/development/python-modules/update_checker/default.nix
index 432232c60f916..d3bd5522d122b 100644
--- a/pkgs/development/python-modules/update_checker/default.nix
+++ b/pkgs/development/python-modules/update_checker/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "update_checker";
   version = "0.18.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/upnpy/default.nix b/pkgs/development/python-modules/upnpy/default.nix
index d64ff4b875c8e..62cc708f5cc23 100644
--- a/pkgs/development/python-modules/upnpy/default.nix
+++ b/pkgs/development/python-modules/upnpy/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "upnpy";
   version = "1.1.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "5kyc0d3r";
diff --git a/pkgs/development/python-modules/uptime/default.nix b/pkgs/development/python-modules/uptime/default.nix
index 640d2a6ed570b..7dd3710b81d36 100644
--- a/pkgs/development/python-modules/uptime/default.nix
+++ b/pkgs/development/python-modules/uptime/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "uptime";
   version = "3.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/uritemplate/default.nix b/pkgs/development/python-modules/uritemplate/default.nix
index 363313163d6b2..400d7d54e3265 100644
--- a/pkgs/development/python-modules/uritemplate/default.nix
+++ b/pkgs/development/python-modules/uritemplate/default.nix
@@ -1,15 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, simplejson
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "uritemplate";
   version = "4.1.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -18,8 +18,8 @@ buildPythonPackage rec {
     hash = "sha256-Q0bt/Fw7efaUvM1tYJmjIrvrYo2/LNhu6lWkVs5RJPA=";
   };
 
-  propagatedBuildInputs = [
-    simplejson
+  nativeBuildInputs = [
+    setuptools
   ];
 
   nativeCheckInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Implementation of RFC 6570 URI templates";
     homepage = "https://github.com/python-hyper/uritemplate";
+    changelog = "https://github.com/python-hyper/uritemplate/blob/${version}/HISTORY.rst";
     license = with licenses; [ asl20 bsd3 ];
     maintainers = with maintainers; [ matthiasbeyer ];
   };
diff --git a/pkgs/development/python-modules/urlgrabber/default.nix b/pkgs/development/python-modules/urlgrabber/default.nix
index e78dc9b904dc7..18c7ba59b5841 100644
--- a/pkgs/development/python-modules/urlgrabber/default.nix
+++ b/pkgs/development/python-modules/urlgrabber/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "urlgrabber";
   version = "4.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/urlpy/default.nix b/pkgs/development/python-modules/urlpy/default.nix
index f03b8b564508d..ad793f593969e 100644
--- a/pkgs/development/python-modules/urlpy/default.nix
+++ b/pkgs/development/python-modules/urlpy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "urlpy";
   version = "0.5.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "nexB";
diff --git a/pkgs/development/python-modules/urwidtrees/default.nix b/pkgs/development/python-modules/urwidtrees/default.nix
index e9b3556043010..82744984d007c 100644
--- a/pkgs/development/python-modules/urwidtrees/default.nix
+++ b/pkgs/development/python-modules/urwidtrees/default.nix
@@ -8,6 +8,7 @@
 
 buildPythonPackage rec {
   pname = "urwidtrees";
+  format = "setuptools";
   version  = "1.0.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/usbtmc/default.nix b/pkgs/development/python-modules/usbtmc/default.nix
index 57f2819ecc656..62d7b47dea91f 100644
--- a/pkgs/development/python-modules/usbtmc/default.nix
+++ b/pkgs/development/python-modules/usbtmc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "usbtmc";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "python-ivi";
diff --git a/pkgs/development/python-modules/user-agents/default.nix b/pkgs/development/python-modules/user-agents/default.nix
index d01c601c82a0a..af61caba82c48 100644
--- a/pkgs/development/python-modules/user-agents/default.nix
+++ b/pkgs/development/python-modules/user-agents/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "user-agents";
   version = "2.2.0";
+  format = "setuptools";
 
   # PyPI is missing devices.json
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/ush/default.nix b/pkgs/development/python-modules/ush/default.nix
index a2b83bff3b387..db66feca8d949 100644
--- a/pkgs/development/python-modules/ush/default.nix
+++ b/pkgs/development/python-modules/ush/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "ush";
   version = "3.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tarruda";
diff --git a/pkgs/development/python-modules/utils/default.nix b/pkgs/development/python-modules/utils/default.nix
index c2ad8a87904c2..36b399bed4778 100644
--- a/pkgs/development/python-modules/utils/default.nix
+++ b/pkgs/development/python-modules/utils/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "utils";
   version = "1.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "haaksmash";
diff --git a/pkgs/development/python-modules/uuid/default.nix b/pkgs/development/python-modules/uuid/default.nix
index c7bcb77007017..571e79a862941 100644
--- a/pkgs/development/python-modules/uuid/default.nix
+++ b/pkgs/development/python-modules/uuid/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "uuid";
   version = "1.30";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/uvcclient/default.nix b/pkgs/development/python-modules/uvcclient/default.nix
index 61a14b85ebebb..59e6f93aff8d1 100644
--- a/pkgs/development/python-modules/uvcclient/default.nix
+++ b/pkgs/development/python-modules/uvcclient/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "uvcclient";
   version = "0.11.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kk7ds";
diff --git a/pkgs/development/python-modules/validate-email/default.nix b/pkgs/development/python-modules/validate-email/default.nix
index 2b1fdb4963d56..1c8e8d3c384a0 100644
--- a/pkgs/development/python-modules/validate-email/default.nix
+++ b/pkgs/development/python-modules/validate-email/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "validate-email";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/vapoursynth/default.nix b/pkgs/development/python-modules/vapoursynth/default.nix
index da75653962efa..2043fb2d4a588 100644
--- a/pkgs/development/python-modules/vapoursynth/default.nix
+++ b/pkgs/development/python-modules/vapoursynth/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage {
   pname = "vapoursynth";
+  format = "setuptools";
 
   inherit (vapoursynth) version src;
 
diff --git a/pkgs/development/python-modules/varint/default.nix b/pkgs/development/python-modules/varint/default.nix
index 143a452344eee..dcc24c8de7029 100644
--- a/pkgs/development/python-modules/varint/default.nix
+++ b/pkgs/development/python-modules/varint/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "varint";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version ;
diff --git a/pkgs/development/python-modules/vcard/default.nix b/pkgs/development/python-modules/vcard/default.nix
index 5e83f498722b2..1c207387ea852 100644
--- a/pkgs/development/python-modules/vcard/default.nix
+++ b/pkgs/development/python-modules/vcard/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "vcard";
   version = "0.15.4";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8" || pythonAtLeast "3.12";
 
diff --git a/pkgs/development/python-modules/vcver/default.nix b/pkgs/development/python-modules/vcver/default.nix
index 503a8f7df7e01..56afec9127da0 100644
--- a/pkgs/development/python-modules/vcver/default.nix
+++ b/pkgs/development/python-modules/vcver/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "vcver";
   version = "0.2.12";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "toumorokoshi";
diff --git a/pkgs/development/python-modules/vcversioner/default.nix b/pkgs/development/python-modules/vcversioner/default.nix
index 236bb8d149b6f..f3f64015e2a70 100644
--- a/pkgs/development/python-modules/vcversioner/default.nix
+++ b/pkgs/development/python-modules/vcversioner/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "vcversioner";
   version = "2.16.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix
index 91c6fe3085f55..d473ded6c24ae 100644
--- a/pkgs/development/python-modules/vdf/default.nix
+++ b/pkgs/development/python-modules/vdf/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "vdf";
   version = "3.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ValvePython";
diff --git a/pkgs/development/python-modules/venstarcolortouch/default.nix b/pkgs/development/python-modules/venstarcolortouch/default.nix
index 9945c09ea972a..04d632b0a185e 100644
--- a/pkgs/development/python-modules/venstarcolortouch/default.nix
+++ b/pkgs/development/python-modules/venstarcolortouch/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "venstarcolortouch";
   version = "0.19";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/venusian/default.nix b/pkgs/development/python-modules/venusian/default.nix
index 2e81a9559fc6b..5b48ee52fadc7 100644
--- a/pkgs/development/python-modules/venusian/default.nix
+++ b/pkgs/development/python-modules/venusian/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "venusian";
   version = "3.0.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/versiontag/default.nix b/pkgs/development/python-modules/versiontag/default.nix
index 3e250cd5ea4cc..76024a9e8795a 100644
--- a/pkgs/development/python-modules/versiontag/default.nix
+++ b/pkgs/development/python-modules/versiontag/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "versiontag";
   version = "1.2.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "thelabnyc";
diff --git a/pkgs/development/python-modules/versiontools/default.nix b/pkgs/development/python-modules/versiontools/default.nix
index f74c8610b4ccc..3f7afae09fd79 100644
--- a/pkgs/development/python-modules/versiontools/default.nix
+++ b/pkgs/development/python-modules/versiontools/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "versiontools";
   version = "1.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/veryprettytable/default.nix b/pkgs/development/python-modules/veryprettytable/default.nix
index 003fd6db621cf..7d87c67376467 100644
--- a/pkgs/development/python-modules/veryprettytable/default.nix
+++ b/pkgs/development/python-modules/veryprettytable/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "veryprettytable";
   version = "0.8.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/vharfbuzz/default.nix b/pkgs/development/python-modules/vharfbuzz/default.nix
new file mode 100644
index 0000000000000..27ea9d84f2564
--- /dev/null
+++ b/pkgs/development/python-modules/vharfbuzz/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, pythonImportsCheckHook
+, uharfbuzz
+}:
+
+buildPythonPackage rec {
+  pname = "vharfbuzz";
+  version = "0.2.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-uDX2fYqxV4wmAAIMfA3dBohWmq1N0VurSTEFOjSRpmY=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    uharfbuzz
+  ];
+  nativeBuildInputs = [
+    pythonImportsCheckHook
+  ];
+
+  # Package has no tests.
+  doCheck = false;
+  pythonImportsCheck = [ "vharfbuzz" ];
+
+  meta = with lib; {
+    description = "Utility for removing hinting data from TrueType and OpenType fonts";
+    homepage = "https://github.com/source-foundry/dehinter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/videocr/default.nix b/pkgs/development/python-modules/videocr/default.nix
index 0685b184c4ab8..1f027563d480d 100644
--- a/pkgs/development/python-modules/videocr/default.nix
+++ b/pkgs/development/python-modules/videocr/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "videocr";
   version = "0.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/vidstab/default.nix b/pkgs/development/python-modules/vidstab/default.nix
index dbddbe6be0873..b16a5374c10b9 100644
--- a/pkgs/development/python-modules/vidstab/default.nix
+++ b/pkgs/development/python-modules/vidstab/default.nix
@@ -10,6 +10,7 @@
 
 buildPythonPackage rec {
   version = "1.7.4";
+  format = "setuptools";
   pname = "vidstab";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/viewstate/default.nix b/pkgs/development/python-modules/viewstate/default.nix
index 3b1c5e74617d6..aac82239e94e0 100644
--- a/pkgs/development/python-modules/viewstate/default.nix
+++ b/pkgs/development/python-modules/viewstate/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "viewstate";
   version = "0.4.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/vilfo-api-client/default.nix b/pkgs/development/python-modules/vilfo-api-client/default.nix
index 6f023b184f16d..5c0d66e7c0cfc 100644
--- a/pkgs/development/python-modules/vilfo-api-client/default.nix
+++ b/pkgs/development/python-modules/vilfo-api-client/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "vilfo-api-client";
   version = "0.4.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ManneW";
diff --git a/pkgs/development/python-modules/vincenty/default.nix b/pkgs/development/python-modules/vincenty/default.nix
index dbf174bd2a720..8e1022cc5eb7c 100644
--- a/pkgs/development/python-modules/vincenty/default.nix
+++ b/pkgs/development/python-modules/vincenty/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "vincenty";
   version = "0.1.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "maurycyp";
diff --git a/pkgs/development/python-modules/virtkey/default.nix b/pkgs/development/python-modules/virtkey/default.nix
index 27dcffbfea13e..df1d0461e434c 100644
--- a/pkgs/development/python-modules/virtkey/default.nix
+++ b/pkgs/development/python-modules/virtkey/default.nix
@@ -6,6 +6,7 @@ let
 in buildPythonPackage rec {
   pname = "virtkey";
   version = "${majorVersion}.${minorVersion}";
+  format = "setuptools";
 
   src = fetchurl {
     url = "https://launchpad.net/virtkey/${majorVersion}/${version}/+download/virtkey-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/virtualenvwrapper/default.nix b/pkgs/development/python-modules/virtualenvwrapper/default.nix
index 087a1a2ca517b..93af1ab0c4acc 100644
--- a/pkgs/development/python-modules/virtualenvwrapper/default.nix
+++ b/pkgs/development/python-modules/virtualenvwrapper/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "virtualenvwrapper";
   version = "4.8.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/visitor/default.nix b/pkgs/development/python-modules/visitor/default.nix
index 1c0d725ac86b6..e0caa64b2b10f 100644
--- a/pkgs/development/python-modules/visitor/default.nix
+++ b/pkgs/development/python-modules/visitor/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "visitor";
   version = "0.1.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/viv-utils/default.nix b/pkgs/development/python-modules/viv-utils/default.nix
index e0093f2ef8926..e411a2dd5758c 100644
--- a/pkgs/development/python-modules/viv-utils/default.nix
+++ b/pkgs/development/python-modules/viv-utils/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "viv-utils";
   version = "0.7.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "williballenthin";
diff --git a/pkgs/development/python-modules/vmprof/default.nix b/pkgs/development/python-modules/vmprof/default.nix
index 17af0485c4eed..8ffdf319013dc 100644
--- a/pkgs/development/python-modules/vmprof/default.nix
+++ b/pkgs/development/python-modules/vmprof/default.nix
@@ -12,6 +12,7 @@
 
 buildPythonPackage rec {
   version = "0.4.15";
+  format = "setuptools";
   pname = "vmprof";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/vobject/default.nix b/pkgs/development/python-modules/vobject/default.nix
index 30f84150283ca..bcf4d016dec29 100644
--- a/pkgs/development/python-modules/vobject/default.nix
+++ b/pkgs/development/python-modules/vobject/default.nix
@@ -2,6 +2,7 @@
 
 buildPythonPackage rec {
   version = "0.9.6.1";
+  format = "setuptools";
   pname = "vobject";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index c7e82d193f58f..452d95eede33f 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "voluptuous";
   version = "0.13.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alecthomas";
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index f53971637fb3e..aae1d3fdf2371 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -19,6 +19,7 @@
 buildPythonPackage rec {
   pname = "vowpalwabbit";
   version = "9.9.0";
+  format = "setuptools";
 
   src = fetchPypi{
     inherit pname version;
diff --git a/pkgs/development/python-modules/vpk/default.nix b/pkgs/development/python-modules/vpk/default.nix
index 6adf28cebdd36..d61a6107baada 100644
--- a/pkgs/development/python-modules/vpk/default.nix
+++ b/pkgs/development/python-modules/vpk/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "vpk";
   version = "1.4.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ValvePython";
diff --git a/pkgs/development/python-modules/vprof/default.nix b/pkgs/development/python-modules/vprof/default.nix
new file mode 100644
index 0000000000000..1f41f7b9a2031
--- /dev/null
+++ b/pkgs/development/python-modules/vprof/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, wheel
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "vprof";
+  version = "0.38";
+  pyproject = true;
+
+  # We use the Pypi source rather than the GitHub ones because the former include the javascript
+  # dependency for the UI.
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-fxAAkS7rekUMfJTTzJZzmvRa0P8B1avMCwmhddQP+ts=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    psutil
+  ];
+
+  pythonImportsCheck = [ "vprof" ];
+
+  # The tests are not included in the Pypi sources
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Visual profiler for Python";
+    homepage = "https://github.com/nvdv/vprof";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ GaetanLepage ];
+    mainProgram = "vprof";
+  };
+}
diff --git a/pkgs/development/python-modules/vsts-cd-manager/default.nix b/pkgs/development/python-modules/vsts-cd-manager/default.nix
index b1de4105668a3..8b4e036ac8f7b 100644
--- a/pkgs/development/python-modules/vsts-cd-manager/default.nix
+++ b/pkgs/development/python-modules/vsts-cd-manager/default.nix
@@ -4,6 +4,7 @@
 
 buildPythonPackage rec {
   version = "1.0.2";
+  format = "setuptools";
   pname = "vsts-cd-manager";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/vsts/default.nix b/pkgs/development/python-modules/vsts/default.nix
index a7d676ac2c5db..e91a203d7f14a 100644
--- a/pkgs/development/python-modules/vsts/default.nix
+++ b/pkgs/development/python-modules/vsts/default.nix
@@ -7,6 +7,7 @@
 
 buildPythonPackage rec {
   version = "0.1.25";
+  format = "setuptools";
   pname = "vsts";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/vultr/default.nix b/pkgs/development/python-modules/vultr/default.nix
index b6f8a407b2340..f2150153be3a1 100644
--- a/pkgs/development/python-modules/vultr/default.nix
+++ b/pkgs/development/python-modules/vultr/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "1.0.1";
+  format = "setuptools";
   pname = "vultr";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/wadllib/default.nix b/pkgs/development/python-modules/wadllib/default.nix
index b169a93ff87f1..c7bc19ee515d8 100644
--- a/pkgs/development/python-modules/wadllib/default.nix
+++ b/pkgs/development/python-modules/wadllib/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "wadllib";
   version = "1.3.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wagtail-factories/default.nix b/pkgs/development/python-modules/wagtail-factories/default.nix
index c31993b1e5f39..46a98c39821ab 100644
--- a/pkgs/development/python-modules/wagtail-factories/default.nix
+++ b/pkgs/development/python-modules/wagtail-factories/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "wagtail-factories";
   version = "4.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     repo = pname;
diff --git a/pkgs/development/python-modules/waitress-django/default.nix b/pkgs/development/python-modules/waitress-django/default.nix
index 4e40980d917a2..1d50b312b619f 100644
--- a/pkgs/development/python-modules/waitress-django/default.nix
+++ b/pkgs/development/python-modules/waitress-django/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage {
   pname = "waitress-django";
   version = "1.0.0";
+  format = "setuptools";
 
   src = ./.;
   pythonPath = [ django waitress ];
diff --git a/pkgs/development/python-modules/waitress/default.nix b/pkgs/development/python-modules/waitress/default.nix
index 898b1093159d8..a79863c1e835e 100644
--- a/pkgs/development/python-modules/waitress/default.nix
+++ b/pkgs/development/python-modules/waitress/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "waitress";
   version = "2.1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wand/default.nix b/pkgs/development/python-modules/wand/default.nix
index 8436ee9b8c054..0577adf2c91ed 100644
--- a/pkgs/development/python-modules/wand/default.nix
+++ b/pkgs/development/python-modules/wand/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "wand";
   version = "0.6.13";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Wand";
diff --git a/pkgs/development/python-modules/waqiasync/default.nix b/pkgs/development/python-modules/waqiasync/default.nix
index 8420ecbaef7fc..dfa51770abbd4 100644
--- a/pkgs/development/python-modules/waqiasync/default.nix
+++ b/pkgs/development/python-modules/waqiasync/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "waqiasync";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/warrant/default.nix b/pkgs/development/python-modules/warrant/default.nix
index 6482024a4da3d..33a98da4f2774 100644
--- a/pkgs/development/python-modules/warrant/default.nix
+++ b/pkgs/development/python-modules/warrant/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage {
   pname = "warrant";
   version = "0.6.1";
+  format = "setuptools";
 
   # move to fetchPyPi when https://github.com/capless/warrant/issues/97 is fixed
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/wasserstein/default.nix b/pkgs/development/python-modules/wasserstein/default.nix
index 1609e12f20c25..28626cc5dcfc4 100644
--- a/pkgs/development/python-modules/wasserstein/default.nix
+++ b/pkgs/development/python-modules/wasserstein/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "wasserstein";
   version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "pkomiske";
diff --git a/pkgs/development/python-modules/watchgod/default.nix b/pkgs/development/python-modules/watchgod/default.nix
index ce61747baa0de..fcbddeec2d65e 100644
--- a/pkgs/development/python-modules/watchgod/default.nix
+++ b/pkgs/development/python-modules/watchgod/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "watchgod";
   version = "0.8.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wavefile/default.nix b/pkgs/development/python-modules/wavefile/default.nix
index 21641008c8261..4ced79638a826 100644
--- a/pkgs/development/python-modules/wavefile/default.nix
+++ b/pkgs/development/python-modules/wavefile/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "wavefile";
   version = "1.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "vokimon";
diff --git a/pkgs/development/python-modules/wcag-contrast-ratio/default.nix b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix
index 1a906934a5318..6a047c271658a 100644
--- a/pkgs/development/python-modules/wcag-contrast-ratio/default.nix
+++ b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "wcag-contrast-ratio";
   version = "0.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wcwidth/default.nix b/pkgs/development/python-modules/wcwidth/default.nix
index 1d23225c2fd6b..badb09bbef11a 100644
--- a/pkgs/development/python-modules/wcwidth/default.nix
+++ b/pkgs/development/python-modules/wcwidth/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "wcwidth";
   version = "0.2.6";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/web-cache/default.nix b/pkgs/development/python-modules/web-cache/default.nix
index dba9d91875c2b..18909898c9d87 100644
--- a/pkgs/development/python-modules/web-cache/default.nix
+++ b/pkgs/development/python-modules/web-cache/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "web-cache";
   version = "1.1.0";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/webargs/default.nix b/pkgs/development/python-modules/webargs/default.nix
index 91d62cf849b8a..acee1e965f8da 100644
--- a/pkgs/development/python-modules/webargs/default.nix
+++ b/pkgs/development/python-modules/webargs/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "webargs";
   version = "8.3.0";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/webassets/default.nix b/pkgs/development/python-modules/webassets/default.nix
index 081fdc59bbe30..1b1c0f77d4d24 100644
--- a/pkgs/development/python-modules/webassets/default.nix
+++ b/pkgs/development/python-modules/webassets/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "webassets";
   version = "2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/webdataset/default.nix b/pkgs/development/python-modules/webdataset/default.nix
new file mode 100644
index 0000000000000..7a29f5e5786fb
--- /dev/null
+++ b/pkgs/development/python-modules/webdataset/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, braceexpand
+, imageio
+, lmdb
+, msgpack
+, numpy
+, pytestCheckHook
+, pyyaml
+, setuptools
+, torch
+, torchvision
+, wheel
+, fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "webdataset";
+  version = "0.2.79";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "webdataset";
+    repo = "webdataset";
+    rev = version;
+    hash = "sha256-EfQoHlJ+1spQWZkjS1hwERVUHfjGHDFxE0D+VLujJW8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    braceexpand
+    numpy
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    imageio
+    torch
+    torchvision
+    msgpack
+    lmdb
+  ];
+
+  pythonImportsCheck = [ "webdataset" ];
+
+  disabledTests = [
+    # requires network
+    "test_batched"
+    "test_dataloader"
+    "test_decode_handlers"
+    "test_decoder"
+    "test_decoder"
+    "test_download"
+    "test_handlers"
+    "test_pipe"
+    "test_shard_syntax"
+    "test_torchvision"
+    "test_torchvision"
+    "test_unbatched"
+    "test_yaml3"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # pickling error
+    "test_background_download"
+  ] ++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
+    # segfaults on aarch64-linux
+    "test_webloader"
+    "test_webloader2"
+    "test_webloader_repeat"
+    "test_webloader_unbatched"
+  ];
+
+  meta = with lib; {
+    description = "A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch";
+    homepage = "https://github.com/webdataset/webdataset";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ iynaix ];
+  };
+}
diff --git a/pkgs/development/python-modules/webdavclient3/default.nix b/pkgs/development/python-modules/webdavclient3/default.nix
index d74d7b2e7ab90..e44c1eb292592 100644
--- a/pkgs/development/python-modules/webdavclient3/default.nix
+++ b/pkgs/development/python-modules/webdavclient3/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "webdavclient3";
   version = "3.14.6";
+  format = "setuptools";
 
   disabled = isPy27;
 
diff --git a/pkgs/development/python-modules/webencodings/default.nix b/pkgs/development/python-modules/webencodings/default.nix
index a8686fb7c7ed4..8a805888c4a02 100644
--- a/pkgs/development/python-modules/webencodings/default.nix
+++ b/pkgs/development/python-modules/webencodings/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "webencodings";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/webrtcvad/default.nix b/pkgs/development/python-modules/webrtcvad/default.nix
index f90d0b97bee6d..c47b32a9d3a3b 100644
--- a/pkgs/development/python-modules/webrtcvad/default.nix
+++ b/pkgs/development/python-modules/webrtcvad/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "webrtcvad";
   version = "2.0.10";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wget/default.nix b/pkgs/development/python-modules/wget/default.nix
index a86b693affa42..394afc50d41b9 100644
--- a/pkgs/development/python-modules/wget/default.nix
+++ b/pkgs/development/python-modules/wget/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "wget";
   version = "3.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/whichcraft/default.nix b/pkgs/development/python-modules/whichcraft/default.nix
index c68925b46ae3a..a27b8e1660efe 100644
--- a/pkgs/development/python-modules/whichcraft/default.nix
+++ b/pkgs/development/python-modules/whichcraft/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "whichcraft";
   version = "0.6.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/whisper/default.nix b/pkgs/development/python-modules/whisper/default.nix
index 300465b65474f..28635d04fc1f4 100644
--- a/pkgs/development/python-modules/whisper/default.nix
+++ b/pkgs/development/python-modules/whisper/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "whisper";
   version = "1.1.10";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "graphite-project";
diff --git a/pkgs/development/python-modules/widlparser/default.nix b/pkgs/development/python-modules/widlparser/default.nix
index 2501d4821f0ff..fcd1e2fe0f125 100644
--- a/pkgs/development/python-modules/widlparser/default.nix
+++ b/pkgs/development/python-modules/widlparser/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "widlparser";
   version = "1.0.12";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/wifi/default.nix b/pkgs/development/python-modules/wifi/default.nix
index 45594c226ef0f..01a867f008f8b 100644
--- a/pkgs/development/python-modules/wifi/default.nix
+++ b/pkgs/development/python-modules/wifi/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "wifi";
   version = "0.3.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rockymeza";
diff --git a/pkgs/development/python-modules/wn/default.nix b/pkgs/development/python-modules/wn/default.nix
index b2540d0b2d689..5b020a58d393b 100644
--- a/pkgs/development/python-modules/wn/default.nix
+++ b/pkgs/development/python-modules/wn/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 , flit-core
 , requests
 , tomli
@@ -9,12 +10,14 @@
 
 buildPythonPackage rec {
   pname = "wn";
-  version = "0.9.4";
-  format = "pyproject";
+  version = "0.9.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-n03hFoGMAqLu57gw52tY2jkE8uuLFAbwTZ63sHG2168=";
+    hash = "sha256-muYuDmYH9W5j6euDYJMMgzfsxE6eBIhDCqH6P7nFG+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/woodblock/default.nix b/pkgs/development/python-modules/woodblock/default.nix
index c74a6ba788207..8dde484494e82 100644
--- a/pkgs/development/python-modules/woodblock/default.nix
+++ b/pkgs/development/python-modules/woodblock/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "woodblock";
   version = "0.1.7";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/worldengine/default.nix b/pkgs/development/python-modules/worldengine/default.nix
index 28d25317afa91..aa90798aace2b 100644
--- a/pkgs/development/python-modules/worldengine/default.nix
+++ b/pkgs/development/python-modules/worldengine/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "worldengine";
   version = "0.19.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Mindwerks";
diff --git a/pkgs/development/python-modules/wrapio/default.nix b/pkgs/development/python-modules/wrapio/default.nix
index f18bf597be522..9227009647d1a 100644
--- a/pkgs/development/python-modules/wrapio/default.nix
+++ b/pkgs/development/python-modules/wrapio/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "wrapio";
   version = "2.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
diff --git a/pkgs/development/python-modules/ws4py/default.nix b/pkgs/development/python-modules/ws4py/default.nix
index 58649de2056e4..6a1cde0a1a909 100644
--- a/pkgs/development/python-modules/ws4py/default.nix
+++ b/pkgs/development/python-modules/ws4py/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "ws4py";
   version = "0.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wsgiprox/default.nix b/pkgs/development/python-modules/wsgiprox/default.nix
index ecaef390fab12..2fa81bea6ac47 100644
--- a/pkgs/development/python-modules/wsgiprox/default.nix
+++ b/pkgs/development/python-modules/wsgiprox/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "wsgiprox";
   version = "1.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "webrecorder";
diff --git a/pkgs/development/python-modules/wsgitools/default.nix b/pkgs/development/python-modules/wsgitools/default.nix
index ab6f06abac65a..948f932271c18 100644
--- a/pkgs/development/python-modules/wsgitools/default.nix
+++ b/pkgs/development/python-modules/wsgitools/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "wsgitools";
   version = "0.3.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/wsme/default.nix b/pkgs/development/python-modules/wsme/default.nix
index a818b3baf4b43..764977051635d 100644
--- a/pkgs/development/python-modules/wsme/default.nix
+++ b/pkgs/development/python-modules/wsme/default.nix
@@ -23,6 +23,7 @@
 buildPythonPackage rec {
   pname = "wsme";
   version = "0.11.0";
+  format = "setuptools";
 
   disabled = pythonAtLeast "3.9";
 
diff --git a/pkgs/development/python-modules/wsnsimpy/default.nix b/pkgs/development/python-modules/wsnsimpy/default.nix
index febb66605c8a6..fe5ad78b8a297 100644
--- a/pkgs/development/python-modules/wsnsimpy/default.nix
+++ b/pkgs/development/python-modules/wsnsimpy/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "wsnsimpy";
   version = "0.2.5";
+  format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/wsproto/default.nix b/pkgs/development/python-modules/wsproto/default.nix
index 2c06d187c35f1..b93de0b924f7b 100644
--- a/pkgs/development/python-modules/wsproto/default.nix
+++ b/pkgs/development/python-modules/wsproto/default.nix
@@ -9,6 +9,7 @@
 buildPythonPackage rec {
   pname = "wsproto";
   version = "1.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/wtf-peewee/default.nix b/pkgs/development/python-modules/wtf-peewee/default.nix
index d4e37b5976812..33cff8e5ee221 100644
--- a/pkgs/development/python-modules/wtf-peewee/default.nix
+++ b/pkgs/development/python-modules/wtf-peewee/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "wtf-peewee";
-  version = "3.0.4";
+  version = "3.0.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cTbYRdvAUTY86MPR33BH+nA6H/epR8sgHDgOBQ/TUkQ=";
+    hash = "sha256-LQbOWg65rPTSLRVK5vvqmdsRsXaDgcYZ54oqxgpWGRU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/x256/default.nix b/pkgs/development/python-modules/x256/default.nix
index 4430fa2e4b8a0..c155b00c51726 100644
--- a/pkgs/development/python-modules/x256/default.nix
+++ b/pkgs/development/python-modules/x256/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "x256";
   version = "0.0.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xbox-webapi/default.nix b/pkgs/development/python-modules/xbox-webapi/default.nix
index e4701e806d9dd..c2caa4fb37784 100644
--- a/pkgs/development/python-modules/xbox-webapi/default.nix
+++ b/pkgs/development/python-modules/xbox-webapi/default.nix
@@ -15,6 +15,7 @@
 buildPythonPackage rec {
   pname = "xbox-webapi";
   version = "2.0.11";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
diff --git a/pkgs/development/python-modules/xboxapi/default.nix b/pkgs/development/python-modules/xboxapi/default.nix
index 0f34bec3c8866..e0bb1614e3399 100644
--- a/pkgs/development/python-modules/xboxapi/default.nix
+++ b/pkgs/development/python-modules/xboxapi/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "xboxapi";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mKeRix";
diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix
index 3e1ce8b1477af..5f4970f4fd135 100644
--- a/pkgs/development/python-modules/xdot/default.nix
+++ b/pkgs/development/python-modules/xdot/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "xdot";
   version = "1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jrfonseca";
diff --git a/pkgs/development/python-modules/xkbcommon/default.nix b/pkgs/development/python-modules/xkbcommon/default.nix
index 35556fe32d9c7..f5ac737d27441 100644
--- a/pkgs/development/python-modules/xkbcommon/default.nix
+++ b/pkgs/development/python-modules/xkbcommon/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "xkbcommon";
   version = "0.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xkcdpass/default.nix b/pkgs/development/python-modules/xkcdpass/default.nix
index d4a04317ad800..7ae231f03f893 100644
--- a/pkgs/development/python-modules/xkcdpass/default.nix
+++ b/pkgs/development/python-modules/xkcdpass/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "xkcdpass";
-  version = "1.19.6";
+  version = "1.19.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zrdR4KuORCGIoRTZDednT9JDV/seWQRa3aPal8gxdTE=";
+    hash = "sha256-MK//Q5m4PeNioRsmxHaMbN2x7a4SkgVy0xkxuvnUufo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/xlib/default.nix b/pkgs/development/python-modules/xlib/default.nix
index c9fd70140301e..92a9c5e402639 100644
--- a/pkgs/development/python-modules/xlib/default.nix
+++ b/pkgs/development/python-modules/xlib/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "xlib";
   version = "0.33";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "python-xlib";
diff --git a/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch b/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch
deleted file mode 100644
index 1f3ab927f8405..0000000000000
--- a/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Xlib/xauth.py b/Xlib/xauth.py
-index 2ed7dd5..303bd49 100644
---- a/Xlib/xauth.py
-+++ b/Xlib/xauth.py
-@@ -120,6 +120,8 @@ class Xauthority(object):
-         matches = {}
- 
-         for efam, eaddr, enum, ename, edata in self.entries:
-+            if enum == b'' and ename not in matches:
-+                enum = num
-             if efam == family and eaddr == address and num == enum:
-                 matches[ename] = edata
- 
diff --git a/pkgs/development/python-modules/xlrd/default.nix b/pkgs/development/python-modules/xlrd/default.nix
index 6fa9b6935def8..8b2612f59af2b 100644
--- a/pkgs/development/python-modules/xlrd/default.nix
+++ b/pkgs/development/python-modules/xlrd/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "xlrd";
   version = "2.0.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xlwt/default.nix b/pkgs/development/python-modules/xlwt/default.nix
index efcc4adfda6fa..f1e3a2565b6de 100644
--- a/pkgs/development/python-modules/xlwt/default.nix
+++ b/pkgs/development/python-modules/xlwt/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "xlwt";
   version = "1.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xml-marshaller/default.nix b/pkgs/development/python-modules/xml-marshaller/default.nix
index 6e1c6d8c2bfeb..43e08cae24265 100644
--- a/pkgs/development/python-modules/xml-marshaller/default.nix
+++ b/pkgs/development/python-modules/xml-marshaller/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "xml-marshaller";
   version = "1.0.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "xml_marshaller";
diff --git a/pkgs/development/python-modules/xmldiff/default.nix b/pkgs/development/python-modules/xmldiff/default.nix
index 763503ecf20a0..6356b9bff3526 100644
--- a/pkgs/development/python-modules/xmldiff/default.nix
+++ b/pkgs/development/python-modules/xmldiff/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "xmldiff";
   version = "2.6.3";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
diff --git a/pkgs/development/python-modules/xmljson/default.nix b/pkgs/development/python-modules/xmljson/default.nix
index 60752537e3396..dee35921e41eb 100644
--- a/pkgs/development/python-modules/xmljson/default.nix
+++ b/pkgs/development/python-modules/xmljson/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "xmljson";
   version = "0.2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xmodem/default.nix b/pkgs/development/python-modules/xmodem/default.nix
index 652c0f43be401..ea4396d28f30e 100644
--- a/pkgs/development/python-modules/xmodem/default.nix
+++ b/pkgs/development/python-modules/xmodem/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "xmodem";
   version = "0.4.7";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tehmaze";
diff --git a/pkgs/development/python-modules/xnd/default.nix b/pkgs/development/python-modules/xnd/default.nix
index eac1153b4f50a..93c2c928f86b6 100644
--- a/pkgs/development/python-modules/xnd/default.nix
+++ b/pkgs/development/python-modules/xnd/default.nix
@@ -11,6 +11,7 @@
 
 buildPythonPackage {
   pname = "xnd";
+  format = "setuptools";
   disabled = isPy27;
   inherit (libxnd) version src meta;
 
diff --git a/pkgs/development/python-modules/xpybutil/default.nix b/pkgs/development/python-modules/xpybutil/default.nix
index cc574c5824189..4a3f7681ed582 100644
--- a/pkgs/development/python-modules/xpybutil/default.nix
+++ b/pkgs/development/python-modules/xpybutil/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "xpybutil";
   version = "0.0.6";
+  format = "setuptools";
 
   # Pypi only offers a wheel
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/xtensor-python/default.nix b/pkgs/development/python-modules/xtensor-python/default.nix
index 2d652fbd245cc..4b2123162cc16 100644
--- a/pkgs/development/python-modules/xtensor-python/default.nix
+++ b/pkgs/development/python-modules/xtensor-python/default.nix
@@ -31,7 +31,7 @@ toPythonModule (stdenv.mkDerivation(finalAttrs: {
   ];
   doCheck = true;
   cmakeFlags = [
-    "-DBUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DBUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xvfbwrapper/default.nix b/pkgs/development/python-modules/xvfbwrapper/default.nix
index 90890677ef9a9..6ace2506afd08 100644
--- a/pkgs/development/python-modules/xvfbwrapper/default.nix
+++ b/pkgs/development/python-modules/xvfbwrapper/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "xvfbwrapper";
   version = "0.2.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index 10afcbe837895..4f226e7312959 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -6,6 +6,7 @@
 
 buildPythonPackage rec {
   version = "3.3.0";
+  format = "setuptools";
   pname = "xxhash";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/yacs/default.nix b/pkgs/development/python-modules/yacs/default.nix
index e5712b240f8cb..de2a27a937977 100644
--- a/pkgs/development/python-modules/yacs/default.nix
+++ b/pkgs/development/python-modules/yacs/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "yacs";
   version = "0.1.8";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rbgirshick";
diff --git a/pkgs/development/python-modules/yahooweather/default.nix b/pkgs/development/python-modules/yahooweather/default.nix
index 7bcf637af3276..6f61645b9b22a 100644
--- a/pkgs/development/python-modules/yahooweather/default.nix
+++ b/pkgs/development/python-modules/yahooweather/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "yahooweather";
   version = "0.10";
+  format = "setuptools";
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/yamlordereddictloader/default.nix b/pkgs/development/python-modules/yamlordereddictloader/default.nix
index 631d61e3f5946..4ae3022f8d7ef 100644
--- a/pkgs/development/python-modules/yamlordereddictloader/default.nix
+++ b/pkgs/development/python-modules/yamlordereddictloader/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "yamlordereddictloader";
   version = "0.4.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yanc/default.nix b/pkgs/development/python-modules/yanc/default.nix
index dfe590390166a..44ecf960c95ee 100644
--- a/pkgs/development/python-modules/yanc/default.nix
+++ b/pkgs/development/python-modules/yanc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "yanc";
   version = "0.3.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index 6e402627245b1..0084082c1687f 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "yapf";
   version = "0.40.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yapsy/default.nix b/pkgs/development/python-modules/yapsy/default.nix
index 8a0e4211742e4..161620530ab80 100644
--- a/pkgs/development/python-modules/yapsy/default.nix
+++ b/pkgs/development/python-modules/yapsy/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "yapsy";
   version = "1.12.2";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "Yapsy";
diff --git a/pkgs/development/python-modules/yarg/default.nix b/pkgs/development/python-modules/yarg/default.nix
index 6368fbc463cd1..f6e08ecd05acb 100644
--- a/pkgs/development/python-modules/yarg/default.nix
+++ b/pkgs/development/python-modules/yarg/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "yarg";
   version = "0.1.9";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "kura";
diff --git a/pkgs/development/python-modules/yaswfp/default.nix b/pkgs/development/python-modules/yaswfp/default.nix
index 8b7843d91752e..f4f6b8bc22be3 100644
--- a/pkgs/development/python-modules/yaswfp/default.nix
+++ b/pkgs/development/python-modules/yaswfp/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "yaswfp";
   version = "unstable-20210331";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "facundobatista";
diff --git a/pkgs/development/python-modules/ydiff/default.nix b/pkgs/development/python-modules/ydiff/default.nix
index 46490a098eb8f..46c9f1a3d7a96 100644
--- a/pkgs/development/python-modules/ydiff/default.nix
+++ b/pkgs/development/python-modules/ydiff/default.nix
@@ -5,6 +5,7 @@
 buildPythonPackage rec {
   pname = "ydiff";
   version = "1.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index 500dbcefb1e51..69b193c5b1f4d 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.32";
+  version = "0.2.33";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-sEEYi2qp3LcgBxN0tlbmOaCpkjiDO80lFIaY0qdbuoo=";
+    hash = "sha256-dj5ZGmvroUCK43q7cykwdJLQBWlpsN1FpKGcJrman+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yolink-api/default.nix b/pkgs/development/python-modules/yolink-api/default.nix
index 8b27812166a06..4b7bec230bbb4 100644
--- a/pkgs/development/python-modules/yolink-api/default.nix
+++ b/pkgs/development/python-modules/yolink-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yolink-api";
-  version = "0.3.1";
+  version = "0.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "YoSmart-Inc";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-bxaxjUKmhScku9mBjtuwiaT4TLTsRlro3y/XatyAfs0=";
+    hash = "sha256-Kg7EvMoFMNm7+Upxo1RIyzrOFsz9dQu1YYiEuetlXBk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch b/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch
new file mode 100644
index 0000000000000..26af7ad24c92f
--- /dev/null
+++ b/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch
@@ -0,0 +1,25 @@
+From 9013d36cfe7b2958eb18ce373f49193b66a0bbf6 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 16:14:55 +1000
+Subject: [PATCH] use packaged unicode data
+
+
+diff --git a/lib/youseedee/__init__.py b/lib/youseedee/__init__.py
+index 4424ef1..9a72f52 100644
+--- a/lib/youseedee/__init__.py
++++ b/lib/youseedee/__init__.py
+@@ -11,10 +11,7 @@
+ UCD_URL = "https://unicode.org/Public/UCD/latest/ucd/UCD.zip"
+ 
+ def ucd_dir():
+-  ucddir = os.path.expanduser("~/.youseedee")
+-  if not os.path.isdir(ucddir):
+-    os.mkdir(ucddir)
+-  return ucddir
++  return "@ucd_dir@"
+ 
+ def ensure_files():
+   if os.path.isfile(os.path.join(ucd_dir(), "UnicodeData.txt")):
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/youseedee/default.nix b/pkgs/development/python-modules/youseedee/default.nix
new file mode 100644
index 0000000000000..e2d9456110ab9
--- /dev/null
+++ b/pkgs/development/python-modules/youseedee/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, requests
+, unicode-character-database
+}:
+
+buildPythonPackage rec {
+  pname = "youseedee";
+  version = "0.4.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-fdI4CBUSMbdKW0qg4y22wjWI6bhotgDkQdFMc9X00as=";
+  };
+
+  patches = [
+    # Load data files from the unicode-character-database package instead of
+    # downloading them from the internet. (nixpkgs-specific, not upstreamable)
+    (substituteAll {
+      src = ./0001-use-packaged-unicode-data.patch;
+      ucd_dir = "${unicode-character-database}/share/unicode";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  doCheck = true;
+  # Package has no unit tests, but we can check an example as per README.rst:
+  checkPhase = ''
+    runHook preCheck
+    python -m youseedee 0x078A | grep -q "'Block': 'Thaana'"
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Python library for querying the Unicode Character Database";
+    homepage = "https://github.com/simoncozens/youseedee";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index b954451924686..1754dab10d36b 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "yowsup";
   version = "3.3.0";
+  format = "setuptools";
 
   # The Python 2.x support of this package is incompatible with `six==1.11`:
   # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
diff --git a/pkgs/development/python-modules/yoyo-migrations/default.nix b/pkgs/development/python-modules/yoyo-migrations/default.nix
index eb79d8ac0c9a2..493d6a77b4c1d 100644
--- a/pkgs/development/python-modules/yoyo-migrations/default.nix
+++ b/pkgs/development/python-modules/yoyo-migrations/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "yoyo-migrations";
   version = "8.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix
index cae85c51f4db2..16a5ea17c8e96 100644
--- a/pkgs/development/python-modules/yq/default.nix
+++ b/pkgs/development/python-modules/yq/default.nix
@@ -14,6 +14,7 @@
 buildPythonPackage rec {
   pname = "yq";
   version = "3.2.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/yubico-client/default.nix b/pkgs/development/python-modules/yubico-client/default.nix
index e8457055c1808..3dec1966fdf52 100644
--- a/pkgs/development/python-modules/yubico-client/default.nix
+++ b/pkgs/development/python-modules/yubico-client/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "yubico-client";
   version = "1.13.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/z3c-checkversions/default.nix b/pkgs/development/python-modules/z3c-checkversions/default.nix
index 67c8c016e3f32..b83525cb1517a 100644
--- a/pkgs/development/python-modules/z3c-checkversions/default.nix
+++ b/pkgs/development/python-modules/z3c-checkversions/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "z3c-checkversions";
   version = "2.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version;
diff --git a/pkgs/development/python-modules/zc_lockfile/default.nix b/pkgs/development/python-modules/zc_lockfile/default.nix
index 70e2406ffa41a..d8be54666a0d3 100644
--- a/pkgs/development/python-modules/zc_lockfile/default.nix
+++ b/pkgs/development/python-modules/zc_lockfile/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage
 , fetchPypi
 , mock
-, zope_testing
+, zope-testing
 , lib
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ mock ];
-  propagatedBuildInputs = [ zope_testing ];
+  propagatedBuildInputs = [ zope-testing ];
 
   meta = with lib; {
     description = "Inter-process locks";
diff --git a/pkgs/development/python-modules/zeroc-ice/default.nix b/pkgs/development/python-modules/zeroc-ice/default.nix
index 3c1627eb9e1b6..b830634eb52ad 100644
--- a/pkgs/development/python-modules/zeroc-ice/default.nix
+++ b/pkgs/development/python-modules/zeroc-ice/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "zeroc-ice";
   version = "3.7.9.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit version pname;
diff --git a/pkgs/development/python-modules/zerorpc/default.nix b/pkgs/development/python-modules/zerorpc/default.nix
index 343c7c6e2515a..0cc61ac695e23 100644
--- a/pkgs/development/python-modules/zerorpc/default.nix
+++ b/pkgs/development/python-modules/zerorpc/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "zerorpc";
   version = "0.6.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index 4808aa4972701..4417134d4d178 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "zetup";
   version = "0.2.64";
+  format = "setuptools";
 
   # https://github.com/zimmermanncode/zetup/issues/4
   disabled = pythonAtLeast "3.10";
diff --git a/pkgs/development/python-modules/zfec/default.nix b/pkgs/development/python-modules/zfec/default.nix
index fd5b99448d48b..12253f43d8681 100644
--- a/pkgs/development/python-modules/zfec/default.nix
+++ b/pkgs/development/python-modules/zfec/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "zfec";
   version = "1.5.7.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index 92e995c1ec05d..d07eebad4d50f 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "zigpy-xbee";
   version = "0.19.0";
+  format = "setuptools";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
diff --git a/pkgs/development/python-modules/zipfile2/default.nix b/pkgs/development/python-modules/zipfile2/default.nix
index fc733e6cdbd48..304696ae117a8 100644
--- a/pkgs/development/python-modules/zipfile2/default.nix
+++ b/pkgs/development/python-modules/zipfile2/default.nix
@@ -6,6 +6,7 @@
 buildPythonPackage rec {
   pname = "zipfile2";
   version = "0.0.12";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "cournape";
diff --git a/pkgs/development/python-modules/zipstream/default.nix b/pkgs/development/python-modules/zipstream/default.nix
index 3ec6fd24aa59e..bedc0b62267e3 100644
--- a/pkgs/development/python-modules/zipstream/default.nix
+++ b/pkgs/development/python-modules/zipstream/default.nix
@@ -3,6 +3,7 @@
 buildPythonPackage rec {
   pname = "zipstream";
   version = "1.1.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/zm-py/default.nix b/pkgs/development/python-modules/zm-py/default.nix
index ce461a3dffea0..633cf9c15f6bc 100644
--- a/pkgs/development/python-modules/zm-py/default.nix
+++ b/pkgs/development/python-modules/zm-py/default.nix
@@ -4,6 +4,7 @@
 buildPythonPackage rec {
   pname = "zm-py";
   version = "0.5.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/zope-component/default.nix b/pkgs/development/python-modules/zope-component/default.nix
index 522b2817a8455..44f01efa8d2e6 100644
--- a/pkgs/development/python-modules/zope-component/default.nix
+++ b/pkgs/development/python-modules/zope-component/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_configuration
+, zope-configuration
 , zope-deferredimport
 , zope-deprecation
 , zope_event
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    zope_configuration
+    zope-configuration
     zope-deferredimport
     zope-deprecation
     zope_event
diff --git a/pkgs/development/python-modules/zope-configuration/default.nix b/pkgs/development/python-modules/zope-configuration/default.nix
new file mode 100644
index 0000000000000..e5a30f1e7d68b
--- /dev/null
+++ b/pkgs/development/python-modules/zope-configuration/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, zope-i18nmessageid
+, zope_interface
+, zope_schema
+, pytestCheckHook
+, zope-testing
+, zope_testrunner
+, manuel
+}:
+
+buildPythonPackage rec {
+  pname = "zope-configuration";
+  version = "5.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.configuration";
+    inherit version;
+    hash = "sha256-I0tKGMcfazub9rzyJSZLrgFJrGjeoHsHLw9pmkzsJuc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    manuel
+    pytestCheckHook
+    zope-testing
+    zope_testrunner
+  ];
+
+  propagatedBuildInputs = [
+    zope-i18nmessageid
+    zope_interface
+    zope_schema
+  ];
+
+  # Need to investigate how to run the tests with zope-testrunner
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "zope.configuration"
+  ];
+
+  pythonNamespaces = [
+    "zope"
+  ];
+
+  meta = with lib; {
+    description = "Zope Configuration Markup Language (ZCML)";
+    homepage = "https://github.com/zopefoundation/zope.configuration";
+    changelog = "https://github.com/zopefoundation/zope.configuration/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/pkgs/development/python-modules/zope-deferredimport/default.nix b/pkgs/development/python-modules/zope-deferredimport/default.nix
index 0c0209740332f..cca21b1f8bfc9 100644
--- a/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "zope-deferredimport";
   version = "5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "zope.deferredimport";
diff --git a/pkgs/development/python-modules/zope-hookable/default.nix b/pkgs/development/python-modules/zope-hookable/default.nix
index 64db918321d10..0d1e5a7ddb420 100644
--- a/pkgs/development/python-modules/zope-hookable/default.nix
+++ b/pkgs/development/python-modules/zope-hookable/default.nix
@@ -1,12 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_testing
+, zope-testing
 }:
 
 buildPythonPackage rec {
   pname = "zope-hookable";
   version = "5.4";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "zope.hookable";
@@ -14,7 +15,7 @@ buildPythonPackage rec {
     hash = "sha256-+2AfAKyH5apYKoExXtlnaM41EygHKdP1H3kxLiuLlKw=";
   };
 
-  nativeCheckInputs = [ zope_testing ];
+  nativeCheckInputs = [ zope-testing ];
 
   meta = with lib; {
     description = "Supports the efficient creation of “hookable” objects";
diff --git a/pkgs/development/python-modules/zope-testbrowser/default.nix b/pkgs/development/python-modules/zope-testbrowser/default.nix
index 15b3f74a43945..290066f3e1579 100644
--- a/pkgs/development/python-modules/zope-testbrowser/default.nix
+++ b/pkgs/development/python-modules/zope-testbrowser/default.nix
@@ -12,7 +12,7 @@
 , wsgiproxy2
 , six
 , mock
-, zope_testing
+, zope-testing
 , zope_testrunner
 , python
 }:
@@ -50,7 +50,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     mock
-    zope_testing
+    zope-testing
     zope_testrunner
   ];
 
diff --git a/pkgs/development/python-modules/zope-testing/default.nix b/pkgs/development/python-modules/zope-testing/default.nix
new file mode 100644
index 0000000000000..65672118e4ef9
--- /dev/null
+++ b/pkgs/development/python-modules/zope-testing/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-testing";
+  version = "5.0.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "zope.testing";
+    inherit version;
+    hash = "sha256-6HzQ2NZmVzza8TOBare5vuyAGmSoZZXBnLX+mS7z1kk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  doCheck = !isPyPy;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "src/zope/testing/tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "zope.testing"
+  ];
+
+  pythonNamespaces = [
+    "zope"
+  ];
+
+  meta = with lib; {
+    description = "Zope testing helpers";
+    homepage =  "https://github.com/zopefoundation/zope.testing";
+    changelog = "https://github.com/zopefoundation/zope.testing/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/pkgs/development/python-modules/zope_configuration/default.nix b/pkgs/development/python-modules/zope_configuration/default.nix
deleted file mode 100644
index b6cc1c0f9998b..0000000000000
--- a/pkgs/development/python-modules/zope_configuration/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope-i18nmessageid
-, zope_schema
-, zope_testrunner
-, manuel
-}:
-
-buildPythonPackage rec {
-  pname = "zope.configuration";
-  version = "4.4.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-giPqSvU5hmznqccwrH6xjlHRfrUVk6p3c7NZPI1tdgg=";
-  };
-
-  nativeCheckInputs = [ zope_testrunner manuel ];
-
-  propagatedBuildInputs = [ zope-i18nmessageid zope_schema ];
-
-  # Need to investigate how to run the tests with zope-testrunner
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Zope Configuration Markup Language (ZCML)";
-    homepage = "https://github.com/zopefoundation/zope.configuration";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/zope_schema/default.nix b/pkgs/development/python-modules/zope_schema/default.nix
index b3694fe09dc99..329ab7455c5cf 100644
--- a/pkgs/development/python-modules/zope_schema/default.nix
+++ b/pkgs/development/python-modules/zope_schema/default.nix
@@ -4,7 +4,7 @@
 , zope_location
 , zope_event
 , zope_interface
-, zope_testing
+, zope-testing
 }:
 
 buildPythonPackage rec {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     hash = "sha256-6tTbywM1TU5BDJo7kERR60TZAlR1Gxy97fSmGu3p+7k=";
   };
 
-  propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ];
+  propagatedBuildInputs = [ zope_location zope_event zope_interface zope-testing ];
 
   # ImportError: No module named 'zope.event'
   # even though zope_event has been included.
diff --git a/pkgs/development/python-modules/zope_testing/default.nix b/pkgs/development/python-modules/zope_testing/default.nix
deleted file mode 100644
index bc5d9ed94b2e7..0000000000000
--- a/pkgs/development/python-modules/zope_testing/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, isPyPy
-, zope_interface
-, zope_exceptions
-, zope_location
-}:
-
-buildPythonPackage rec {
-  pname = "zope.testing";
-  version = "5.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6HzQ2NZmVzza8TOBare5vuyAGmSoZZXBnLX+mS7z1kk=";
-  };
-
-  doCheck = !isPyPy;
-
-  propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
-
-  meta = with lib; {
-    description = "Zope testing helpers";
-    homepage =  "http://pypi.python.org/pypi/zope.testing";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/zope_testrunner/default.nix b/pkgs/development/python-modules/zope_testrunner/default.nix
index d687e24082f41..2307494fcbde6 100644
--- a/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , zope_interface
 , zope_exceptions
-, zope_testing
+, zope-testing
 , six
 }:
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     hash = "sha256-1r1y9E6jLKpBW5bP4UFSsnhjF67xzW9IqCe2Le8Fj9Q=";
   };
 
-  propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ];
+  propagatedBuildInputs = [ zope_interface zope_exceptions zope-testing six ];
 
   doCheck = false; # custom test modifies sys.path
 
diff --git a/pkgs/development/python-modules/zstd/default.nix b/pkgs/development/python-modules/zstd/default.nix
index bc233a6555b7c..368d246d9dc64 100644
--- a/pkgs/development/python-modules/zstd/default.nix
+++ b/pkgs/development/python-modules/zstd/default.nix
@@ -10,6 +10,7 @@
 buildPythonPackage rec {
   pname = "zstd";
   version = "1.5.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/zulip/default.nix b/pkgs/development/python-modules/zulip/default.nix
index fe889522e5f75..81b068e232124 100644
--- a/pkgs/development/python-modules/zulip/default.nix
+++ b/pkgs/development/python-modules/zulip/default.nix
@@ -2,38 +2,46 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , requests
 , matrix-client
 , distro
 , click
 , typing-extensions
+, matrix-nio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "zulip";
-  version = "0.8.2";
+  version = "0.9.0";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
+
+  pyproject = true;
 
   # no sdist on PyPI
   src = fetchFromGitHub {
     owner = "zulip";
     repo = "python-zulip-api";
     rev = version;
-    hash = "sha256-Z5WrV/RDQwdKUBF86M5/xWhXn3fGNqJtqO5PTd7s5ME=";
+    hash = "sha256-YnNXduZ2KOjRHGwhojkqpMP2mwhflk8/f4FVZL8NvHU=";
   };
   sourceRoot = "${src.name}/zulip";
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
-    matrix-client
     distro
     click
     typing-extensions
-  ];
+  ] ++ requests.optional-dependencies.security;
 
   nativeCheckInputs = [
+    matrix-nio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/scheme-modules/scheme-bytestructures/default.nix b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
index 25412b45b40b7..cfdb39e586163 100644
--- a/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
+++ b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
   doCheck = true;
   makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
 
+  # In procedure bytevector-u8-ref: Argument 2 out of range
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     description = "Structured access to bytevector contents";
     homepage = "https://github.com/TaylanUB/scheme-bytestructures";
diff --git a/pkgs/development/skaware-packages/s6-man-pages/default.nix b/pkgs/development/skaware-packages/s6-man-pages/default.nix
index 417d2d368cd61..c21da0e17ae24 100644
--- a/pkgs/development/skaware-packages/s6-man-pages/default.nix
+++ b/pkgs/development/skaware-packages/s6-man-pages/default.nix
@@ -2,8 +2,8 @@
 
 buildManPages {
   pname = "s6-man-pages";
-  version = "2.11.3.2.4";
-  sha256 = "02dmccmcwssv8bkzs3dlbnwl6kkp1crlbnlv5ljbrgm26klw9rc7";
+  version = "2.12.0.2.1";
+  sha256 = "sha256-fFU+cRwXb4SwHsI/r0ghuzCf6hEK/muPPp2XMvD8VtQ=";
   description = "Port of the documentation for the s6 supervision suite to mdoc";
   maintainers = [ lib.maintainers.sternenseemann ];
 }
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 3ab4e48320f07..631253bcba188 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.19";
+  version = "3.1.27";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-/rjPFGfVKYR/N4BGjw+T25ZihfEuTMXdE/6fCKizCfQ=";
+    hash = "sha256-B82zJh863k/PPiwLIBgGBi+/t+1DxsnpAm/fdUQVFeA=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 6ed8c18d0b1a3..3b6b24f327d3c 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.222.0";
+  version = "0.223.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-IOy6zsDGUfiSeOalQnku/4uNyjqpz2bMcpmf7Vq9fyI=";
+    hash = "sha256-vjsqQuQxTywSx4c0lnDKrrNr5hfFog9UurhIctq14f4=";
   };
 
   postPatch = ''
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "FLOW_RELEASE=1" ];
 
+  # Work around https://github.com/NixOS/nixpkgs/issues/166205.
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
+
   installPhase = ''
     install -Dm755 bin/flow $out/bin/flow
     install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index 448b911151860..a073c2b2b248e 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.31.1";
+  version = "1.32.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GjCb0b8wT1mfk8Od1r5U6+a3yUzliS1ExIYIV6vnUPs=";
+    hash = "sha256-fqc/+eYrUcFHgC+st0LogLLIW/jRyp0M5VwxMBWkPKY=";
   };
 
   vendorHash = "sha256-QDtjB1h7mNBEpTwoQfex3c6oba/kztKlgQpbmNHvoz0=";
diff --git a/pkgs/development/tools/benthos/default.nix b/pkgs/development/tools/benthos/default.nix
index 071bc11c50f8d..57541ceb1760a 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.22.0";
+  version = "4.24.0";
 
   src = fetchFromGitHub {
     owner = "benthosdev";
     repo = "benthos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RlwHaLW27Y6yRzlvFLpJhOkPa1dYoX87XxMKecoT/dE=";
+    hash = "sha256-cZhx/a6bTOMP7JKM7ZnMzUEe5R79TIrVpv+6y/9qR0U=";
   };
 
-  vendorHash = "sha256-9h7AocnhfYecEQbvesuFwXm+cTSd5lS9kdWjjO0GZP4=";
+  vendorHash = "sha256-6JEFToCBdfdS9MluApkEOcktWU66PpAD07Y9BKSzGx4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index ff24e7b7c1cdf..96a6d28e97877 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -1,23 +1,55 @@
-{ lib, stdenv, cmake, zlib, fetchFromGitHub }:
+{ lib, stdenv, cmake, zlib, fetchFromGitHub, re2, abseil-cpp, protobuf, capstone, gtest, pkg-config, lit, llvmPackages_16 }:
 
 stdenv.mkDerivation rec {
-  version = "1.1";
   pname = "bloaty";
+  version = "1.1-unstable-2023-11-06";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "bloaty";
-    rev = "v${version}";
-    sha256 = "1556gb8gb8jwf5mwxppcqz3mp269b5jhd51kj341iqkbn27zzngk";
-    fetchSubmodules = true;
+    rev = "16f9fe54d9cd0e9abe1d25fc1a9b44c214cfaa9f";
+    hash = "sha256-mIVlNMKtJMfH2QdYZ6+oV7619oYzvKkq3fHY6uofqlM=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  # Old vendored package which has no other use than here, so not packaged in nixpkgs.
+  demumble = fetchFromGitHub {
+    owner = "nico";
+    repo = "demumble";
+    rev = "01098eab821b33bd31b9778aea38565cd796aa85";
+    hash = "sha256-605SsXd7TSdm3BH854ChHIZbOXcHI/n8RN+pFMz4Ex4=";
+  };
+
+  cmakeFlags = [
+    "-DLIT_EXECUTABLE=${lit}/bin/lit"
+    "-DFILECHECK_EXECUTABLE=${llvmPackages_16.libllvm}/bin/FileCheck"
+    "-DYAML2OBJ_EXECUTABLE=${llvmPackages_16.libllvm}/bin/yaml2obj"
+  ];
+
+  postPatch = ''
+    # Build system relies on some of those source files
+    rm -rf third_party/googletest third_party/abseil-cpp third_party/demumble
+    ln -s ${gtest.src} third_party/googletest
+    ln -s ${abseil-cpp.src} third_party/abseil-cpp
+    ln -s ${demumble} third_party/demumble
+    substituteInPlace CMakeLists.txt \
+      --replace "find_package(Python COMPONENTS Interpreter)" "" \
+      --replace "if(Python_FOUND AND LIT_EXECUTABLE" "if(LIT_EXECUTABLE" \
+      --replace "COMMAND \''\${Python_EXECUTABLE} \''\${LIT_EXECUTABLE}" "COMMAND \''\${LIT_EXECUTABLE}"
+    # wasm test fail. Possibly due to LLVM version < 17. See https://github.com/google/bloaty/pull/354
+    rm -rf tests/wasm
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ zlib ];
+  buildInputs = [ zlib re2 abseil-cpp protobuf capstone gtest lit llvmPackages_16.libllvm ];
 
   doCheck = true;
 
+  postCheck = ''
+    # These lit tests need to be build seperatly.
+    # See https://github.com/google/bloaty/blob/main/tests/README.md
+    cmake --build . --target check-bloaty
+  '';
   installPhase = ''
     install -Dm755 {.,$out/bin}/bloaty
   '';
diff --git a/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
deleted file mode 100644
index d4a69067705c0..0000000000000
--- a/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ fetchurl, lib, stdenv, coreutils, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "ant";
-  version = "1.9.16";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  src = fetchurl {
-    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha256 = "0rif9kj6njajy951w3aapk27y1mbaxb08whs126v533h96rb1kjp";
-  };
-
-  contrib = fetchurl {
-    url = "mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2";
-    sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
-  };
-
-  installPhase =
-    ''
-      mkdir -p $out/bin $out/lib/ant
-      mv * $out/lib/ant/
-
-      # Get rid of the manual (35 MiB).  Maybe we should put this in a
-      # separate output.  Keep the antRun script since it's vanilla sh
-      # and needed for the <exec/> task (but since we set ANT_HOME to
-      # a weird value, we have to move antRun to a weird location).
-      # Get rid of the other Ant scripts since we provide our own.
-      mv $out/lib/ant/bin/antRun $out/bin/
-      rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
-      mkdir $out/lib/ant/bin
-      mv $out/bin/antRun $out/lib/ant/bin/
-
-      # Install ant-contrib.
-      unpackFile $contrib
-      cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
-
-      cat >> $out/bin/ant <<EOF
-      #! ${stdenv.shell} -e
-
-      ANT_HOME=$out/lib/ant
-
-      # Find the JDK by looking for javac.  As a fall-back, find the
-      # JRE by looking for java.  The latter allows just the JRE to be
-      # used with (say) ECJ as the compiler.  Finally, allow the GNU
-      # JVM.
-      if [ -z "\''${JAVA_HOME-}" ]; then
-          for i in javac java gij; do
-              if p="\$(type -p \$i)"; then
-                  export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
-                  break
-              fi
-          done
-          if [ -z "\''${JAVA_HOME-}" ]; then
-              echo "\$0: cannot find the JDK or JRE" >&2
-              exit 1
-          fi
-      fi
-
-      if [ -z \$NIX_JVM ]; then
-          if [ -e \$JAVA_HOME/bin/java ]; then
-              NIX_JVM=\$JAVA_HOME/bin/java
-          elif [ -e \$JAVA_HOME/bin/gij ]; then
-              NIX_JVM=\$JAVA_HOME/bin/gij
-          else
-              NIX_JVM=java
-          fi
-      fi
-
-      LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
-
-      exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
-          -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
-          org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
-          -cp "\$CLASSPATH" "\$@"
-      EOF
-
-      chmod +x $out/bin/ant
-    ''; # */
-
-  meta = {
-    homepage = "https://ant.apache.org/";
-    description = "A Java-based build tool";
-
-    longDescription = ''
-      Apache Ant is a Java-based build tool.  In theory, it is kind of like
-      Make, but without Make's wrinkles.
-
-      Why another build tool when there is already make, gnumake, nmake, jam,
-      and others? Because all those tools have limitations that Ant's
-      original author couldn't live with when developing software across
-      multiple platforms.  Make-like tools are inherently shell-based -- they
-      evaluate a set of dependencies, then execute commands not unlike what
-      you would issue in a shell.  This means that you can easily extend
-      these tools by using or writing any program for the OS that you are
-      working on.  However, this also means that you limit yourself to the
-      OS, or at least the OS type such as Unix, that you are working on.
-
-      Ant is different.  Instead of a model where it is extended with
-      shell-based commands, Ant is extended using Java classes.  Instead of
-      writing shell commands, the configuration files are XML-based, calling
-      out a target tree where various tasks get executed.  Each task is run
-      by an object that implements a particular Task interface.
-    '';
-
-    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
-    license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch b/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch
deleted file mode 100644
index 67df8f559a208..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f5abd591b93ebdbc1ae82e5c29cf26024222f5f Mon Sep 17 00:00:00 2001
-From: Uri Baghin <uri@canva.com>
-Date: Thu, 30 Jan 2020 16:47:36 +1100
-Subject: [PATCH] Disable build file generation for remote apis.
-
----
- WORKSPACE | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/WORKSPACE b/WORKSPACE
-index f9ebafa..52e4e0b 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -208,6 +208,7 @@ http_archive(
- 
- go_repository(
-     name = "com_github_bazelbuild_remote_apis",
-+    build_file_generation = "off",
-     importpath = "github.com/bazelbuild/remote-apis",
-     sum = "h1:OPH+hf+ICw8WEp2CV2ncfdyWPC30Cmw8b5NKun0n5IQ=",
-     version = "v0.0.0-20191119143007-b5123b1bb285",
--- 
-2.25.0
-
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 5aac94c837035..362fce432ecd0 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.5.11";
+  version = "1.5.13";
 
   platform =
     if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   bloop-binary = fetchurl rec {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
     sha256 =
-      if stdenv.isLinux && stdenv.isx86_64 then "sha256-T07t0CTSkCPQfjhg/L0NhyZgMobXL7DCKZZefPxdBJk="
-      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-3GiMFRikru+8J+eDkba9bNNrpmtuAdH9qEjnH55beiQ="
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-OgOkkQ2uv1/mutlajfnbKe9YUtWCilaiWef6fZ7m0Qk="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-Xp0FF8/5NQG14OhZgQ7PZTyDC5hNG9q5Qq5q3JlQxA0="
       else throw "unsupported platform";
   };
 
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 41843024a5150..8898ff89f3716 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "buildkit";
-  version = "0.12.3";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    hash = "sha256-ph44J90g5zOTi/+FVbdnDDJp1gXcxPt7coA1rvhsQSQ=";
+    hash = "sha256-nQvrd2W9xWWGTlwN5Q2E3rs67OUxZ4bIp+rK2W2PUww=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index b768021035cbf..2d39fd93559d2 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.32.0";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-t4//83DD3hCnxsuuw7nB06SWCY4/GcRcIk8Cr3C4bDw=";
+    hash = "sha256-U3dSGTn9dV0Iiu0DtLCWF/BFHYhRGxirA5T067riA0w=";
   };
 
   vendorHash = "sha256-42CrWLwBcv2GE+hEgJJOd7hFQu7rjYrXkPhhUykqIQw=";
diff --git a/pkgs/development/tools/cocogitto/default.nix b/pkgs/development/tools/cocogitto/default.nix
index 8b7b39bba1b10..825f076664567 100644
--- a/pkgs/development/tools/cocogitto/default.nix
+++ b/pkgs/development/tools/cocogitto/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cocogitto";
-  version = "5.6.0";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "oknozor";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dOiXrHD1ZVhMQNwo7hD/f53Ct5+Lwxq/zbApll5O2qo=";
+    sha256 = "sha256-iJH2uXlKsq7I94D3/Fe3pB8SzPfO0CodEk3XNdGleMk=";
   };
 
-  cargoHash = "sha256-oO7xqjxlQg0s40WmWNZpEpqdRia4NGGlYbBO8ejW9BE=";
+  cargoHash = "sha256-srcAUrPrrZoNUn7OeyzSRpOiEuyEizxTiEUbaNg9llE=";
 
   # Test depend on git configuration that would likely exist in a normal user environment
   # and might be failing to create the test repository it works in.
diff --git a/pkgs/development/tools/compass/Gemfile b/pkgs/development/tools/compass/Gemfile
index 66a29975e7dd9..de8c23e303df9 100644
--- a/pkgs/development/tools/compass/Gemfile
+++ b/pkgs/development/tools/compass/Gemfile
@@ -1,3 +1,2 @@
-source "https://rubygems.org" do
-  gem 'compass'
-end
+source 'https://rubygems.org'
+gem 'compass'
diff --git a/pkgs/development/tools/compass/Gemfile.lock b/pkgs/development/tools/compass/Gemfile.lock
index f0bf7699df0d8..cc4969e234bbf 100644
--- a/pkgs/development/tools/compass/Gemfile.lock
+++ b/pkgs/development/tools/compass/Gemfile.lock
@@ -25,7 +25,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  compass!
+  compass
 
 BUNDLED WITH
-   2.2.24
+   2.4.22
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index f8a2aad14f45e..8b8752d1c0d8c 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -1,9 +1,11 @@
-{ lib, bundlerApp, bundlerUpdateScript }:
+{ lib, bundlerEnv, bundlerUpdateScript, ruby }:
 
-bundlerApp {
+bundlerEnv {
   pname = "compass";
+  version = "1.0.3";
+
+  inherit ruby;
   gemdir = ./.;
-  exes = [ "compass" ];
 
   passthru.updateScript = bundlerUpdateScript "compass";
 
@@ -12,6 +14,7 @@ bundlerApp {
     homepage    = "https://github.com/Compass/compass";
     license     = with licenses; mit;
     maintainers = with maintainers; [ offline manveru nicknovitski ];
+    mainProgram = "compass";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index 4195a8453033f..aa507496478e5 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -32,6 +32,10 @@
 , git
 , openssh
 , setuptools
+, croniter
+, importlib-resources
+, packaging
+, unidiff
 , pythonRelaxDepsHook
 , glibcLocales
 , nixosTests
@@ -67,14 +71,14 @@ let
 
   package = buildPythonApplication rec {
     pname = "buildbot";
-    version = "3.9.2";
+    version = "3.10.0";
     format = "pyproject";
 
-    disabled = pythonOlder "3.7";
+    disabled = pythonOlder "3.8";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-7QhIMUpzmxbh8qjz0hgqzibLkWADhTV523neo1wpGSA=";
+      hash = "sha256-Jlppe6LgDQKQgywINkOX9zKWTomzIz28M5scrj3H94Y=";
     };
 
     propagatedBuildInputs = [
@@ -91,6 +95,10 @@ let
       pyjwt
       pyyaml
       setuptools
+      croniter
+      importlib-resources
+      packaging
+      unidiff
     ]
       # tls
       ++ twisted.optional-dependencies.tls;
diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
index 2af7289000e2c..33a42c01707df 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HmkJHN81AcQdKrA/XnH3REURCssXnzmoKjcmvinfzFo=";
+    hash = "sha256-ZGkM2/1/qiVkzpJ7FZNbIEwgCrpxPGyBjREqeqwDD0k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
index 429c19ecfceeb..82c1f364cfc61 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
@@ -8,7 +8,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-fwWzgIf0/+UiKRyiFUKPN4WUbmxQE5sU/ChAOqqLHE4=";
+      hash = "sha256-ycjmkzKBYdCmJe5Ofjn4q1tg66oVXC2Oaq2qBaZbmwg=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -32,23 +32,15 @@
   www-react = buildPythonPackage rec {
     pname = "buildbot-www-react";
     inherit (buildbot-pkg) version;
-    format = "wheel";
 
-    # fetchpypy returns a 404 for the wheel?
-    # normal source release doesn't have any assets
-    src = fetchurl {
-      url = "https://github.com/buildbot/buildbot/releases/download/v${version}/buildbot_www_react-${version}-py3-none-any.whl";
-      hash = "sha256-pEzuMiDhGQtIWQm80lgKIcTjnS7Z8UJhH9plJup5O84=";
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-2fMqgM83ANHx7+MWUF0eALOaliwVkCSumnw+bLZR+tw=";
     };
 
-    # Remove unneccessary circular dependency on buildbot
+    # Remove unnecessary circular dependency on buildbot
     postPatch = ''
-      pushd dist
-      unzip buildbot_www_react-${version}-py3-none-any.whl
-      sed -i "s/Requires-Dist: buildbot//" buildbot_www_react-${version}.dist-info/METADATA
-      chmod -R u+w buildbot_www_react-${version}-py3-none-any.whl
-      zip -r buildbot_www_react-${version}-py3-none-any.whl buildbot_www_react-${version}.dist-info
-      popd
+      sed -i "s/'buildbot'//" setup.py
     '';
 
     buildInputs = [ buildbot-pkg ];
@@ -71,7 +63,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-ghCmbUw/Gj23J5X3fDn/FGkVvXUE9QWrPFTRXSsxEZ4=";
+      hash = "sha256-0VW7tRT9yvVvh9x+2bG3b4q0yqgq9g2OyI0MELPxo4M=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -93,7 +85,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-B+xUsZBQWt4TwiBqukHO6o0R0XbjLxbCxQKLaWW0/Fw=";
+      hash = "sha256-92CNfBIGciv1mx948ha1YgvFGhx5hJsbn1n/BIXmPT8=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -115,7 +107,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-LFZ3VquRHAHkRcQbw9apOlGlWCK42WT1tPGhW8zSXyo=";
+      hash = "sha256-hdF1KopG4nqzHWLpTcYGnhEM6tfYc5WjYaz5xadL3ow=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -137,7 +129,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-NGI4T0eVV4MxYpD7+BTKbi3r6USt28lXXInrgSd4ASU=";
+      hash = "sha256-X1gPrwkHVdOdOpu/rVnAn5aZPbhye27udkfzI3aY+WI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -159,7 +151,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-BtKA8zuJEyg3q3GnHS4XSGBLBk3IqCR8NOKui2rIn6Q=";
+      hash = "sha256-OXzgS+duQaDR8+lUzSnR85PIIIe9om/lvP9czRE1Ih0=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
index 29d0bcf7fb739..38a0bdb7d4531 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
@@ -27,7 +27,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jI38ZhCcHbjah6lST6YtSZAwaeZPBWsgY3VTUf6s2x8=";
+    hash = "sha256-aAwrIYJRNbvZEV3kkCWnfyuZAMeyynZkOkxQ0wDatxU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/cucumber/Gemfile.lock b/pkgs/development/tools/cucumber/Gemfile.lock
index 11d066eaea1b4..56928d9368e93 100644
--- a/pkgs/development/tools/cucumber/Gemfile.lock
+++ b/pkgs/development/tools/cucumber/Gemfile.lock
@@ -2,12 +2,12 @@ GEM
   remote: https://rubygems.org/
   specs:
     builder (3.2.4)
-    cucumber (9.0.2)
+    cucumber (9.1.0)
       builder (~> 3.2, >= 3.2.4)
       cucumber-ci-environment (~> 9.2, >= 9.2.0)
-      cucumber-core (~> 11.1, >= 11.1.0)
-      cucumber-cucumber-expressions (~> 16.1, >= 16.1.2)
-      cucumber-gherkin (>= 24, < 26.2.1)
+      cucumber-core (~> 12.0)
+      cucumber-cucumber-expressions (~> 17.0)
+      cucumber-gherkin (>= 24, < 27)
       cucumber-html-formatter (~> 20.4, >= 20.4.0)
       cucumber-messages (>= 19, < 23)
       diff-lcs (~> 1.5, >= 1.5.0)
@@ -15,17 +15,17 @@ GEM
       multi_test (~> 1.1, >= 1.1.0)
       sys-uname (~> 1.2, >= 1.2.3)
     cucumber-ci-environment (9.2.0)
-    cucumber-core (11.1.0)
-      cucumber-gherkin (>= 24, < 27)
-      cucumber-messages (>= 19, < 22)
-      cucumber-tag-expressions (~> 4.1, >= 4.1.0)
-    cucumber-cucumber-expressions (16.1.2)
+    cucumber-core (12.0.0)
+      cucumber-gherkin (>= 25, < 27)
+      cucumber-messages (>= 20, < 23)
+      cucumber-tag-expressions (~> 5.0, >= 5.0.4)
+    cucumber-cucumber-expressions (17.0.1)
     cucumber-gherkin (26.2.0)
       cucumber-messages (>= 19.1.4, < 22.1)
     cucumber-html-formatter (20.4.0)
       cucumber-messages (>= 18.0, < 22.1)
-    cucumber-messages (21.0.1)
-    cucumber-tag-expressions (4.1.0)
+    cucumber-messages (22.0.0)
+    cucumber-tag-expressions (5.0.6)
     diff-lcs (1.5.0)
     ffi (1.16.3)
     mini_mime (1.1.5)
@@ -40,4 +40,4 @@ DEPENDENCIES
   cucumber
 
 BUNDLED WITH
-   2.4.20
+   2.4.22
diff --git a/pkgs/development/tools/cucumber/gemset.nix b/pkgs/development/tools/cucumber/gemset.nix
index 16d750887a3e2..1f8f35f1098c0 100644
--- a/pkgs/development/tools/cucumber/gemset.nix
+++ b/pkgs/development/tools/cucumber/gemset.nix
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hwbq5sn4hsd922j1p3a4p2404306yczgx2vqggvr20q01fzx55h";
+      sha256 = "0gmbbj4s4cv9aifks29q9w9yjcrvihcz1i8sijplwbps7334skv1";
       type = "gem";
     };
-    version = "9.0.2";
+    version = "9.1.0";
   };
   cucumber-ci-environment = {
     groups = ["default"];
@@ -36,20 +36,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mrykswrxziy08fc9fjvg3l2aa6jfji2012wzh7pyamhm8pcnjb";
+      sha256 = "1ylxpganbvlzcd4picmgbs060cf0nlpkjc7lqxndyr6xaz2g99y2";
       type = "gem";
     };
-    version = "11.1.0";
+    version = "12.0.0";
   };
   cucumber-cucumber-expressions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s8bazf8bwlm0zar2316p4xxmpy44wyjnw2z6bj7zc5nl8nmyvym";
+      sha256 = "0xyvg7l2y9b9gh682z47zcf1na179n8j7bwfyahp79w8s047660b";
       type = "gem";
     };
-    version = "16.1.2";
+    version = "17.0.1";
   };
   cucumber-gherkin = {
     dependencies = ["cucumber-messages"];
@@ -78,20 +78,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0482a63y7my0arn2bv208g401dq8525f0gwhnwaa11mhv6ph0q5i";
+      sha256 = "06d7dnixz68ivngf6qflmi6xrjshjyi85gmyjrl07pbmhqi6r2nh";
       type = "gem";
     };
-    version = "21.0.1";
+    version = "22.0.0";
   };
   cucumber-tag-expressions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v1ssg4chkahck1ddl2j1hcifm0vlcn9sb104ywshw5gyv59s9qd";
+      sha256 = "0rmbw044fdy2756ypnqray8abfxqvwrn1jhsdafdbjwihvvsk62f";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.0.6";
   };
   diff-lcs = {
     groups = ["default"];
diff --git a/pkgs/development/tools/database/litefs/default.nix b/pkgs/development/tools/database/litefs/default.nix
index c12cde6af9185..4c941a7609aa7 100644
--- a/pkgs/development/tools/database/litefs/default.nix
+++ b/pkgs/development/tools/database/litefs/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "litefs";
-  version = "0.5.4";
+  version = "0.5.8";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gTXIQVnNyVn2UqigozvEPaPm3XoqHd6E0RZnZS4bP3g=";
+    sha256 = "sha256-oF69bmWI4I/ok89Rgve4eedMR9MCcaxmQ4bGff831dI=";
   };
 
-  vendorHash = "sha256-4e1tAAXM2EYuqe1AbN1wng/bq1BP7MSOV6woeKjc3x4=";
+  vendorHash = "sha256-6Dg1fU4y0eUeiX9uUwJ2IUxBr81vWR6eUuCV+iPBNBk=";
 
   subPackages = [ "cmd/litefs" ];
 
diff --git a/pkgs/development/tools/database/prisma-engines/Cargo.lock b/pkgs/development/tools/database/prisma-engines/Cargo.lock
index 5f4df8b9a2f98..573e31eababdb 100644
--- a/pkgs/development/tools/database/prisma-engines/Cargo.lock
+++ b/pkgs/development/tools/database/prisma-engines/Cargo.lock
@@ -321,11 +321,12 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "enumflags2",
- "indoc",
+ "indoc 2.0.3",
  "insta",
  "query-engine-metrics",
  "query-engine-tests",
  "query-tests-setup",
+ "regex",
  "reqwest",
  "serde_json",
  "tokio",
@@ -433,7 +434,7 @@ dependencies = [
  "connection-string",
  "either",
  "enumflags2",
- "indoc",
+ "indoc 2.0.3",
  "lsp-types",
  "once_cell",
  "psl-core",
@@ -673,6 +674,16 @@ dependencies = [
 ]
 
 [[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 = "convert_case"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -860,29 +871,26 @@ dependencies = [
 [[package]]
 name = "cuid"
 version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51294db11d38eb763c92936c5c88425d0090e27dce21dd15748134af9e53e739"
+source = "git+https://github.com/prisma/cuid-rust?branch=wasm32-support#81309f9a11f70d178bb545971d51ceb7da692c52"
 dependencies = [
  "base36",
  "cuid-util",
  "cuid2",
- "hostname",
  "num",
  "once_cell",
  "rand 0.8.5",
+ "sha3",
 ]
 
 [[package]]
 name = "cuid-util"
 version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ea2bfe0336ff1b7ca74819b2df8dfae9afea358aff6b1688baa5c181d8c3713"
+source = "git+https://github.com/prisma/cuid-rust?branch=wasm32-support#81309f9a11f70d178bb545971d51ceb7da692c52"
 
 [[package]]
 name = "cuid2"
 version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99cacd52fd67db7490ad051c8c1973fb75520174d69aabbae08c534c9d0e8"
+source = "git+https://github.com/prisma/cuid-rust?branch=wasm32-support#81309f9a11f70d178bb545971d51ceb7da692c52"
 dependencies = [
  "cuid-util",
  "num",
@@ -892,12 +900,36 @@ dependencies = [
 
 [[package]]
 name = "darling"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
+dependencies = [
+ "darling_core 0.10.2",
+ "darling_macro 0.10.2",
+]
+
+[[package]]
+name = "darling"
 version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
 dependencies = [
- "darling_core",
- "darling_macro",
+ "darling_core 0.13.4",
+ "darling_macro 0.13.4",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.9.3",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -916,11 +948,22 @@ dependencies = [
 
 [[package]]
 name = "darling_macro"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
+dependencies = [
+ "darling_core 0.10.2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
 version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
 dependencies = [
- "darling_core",
+ "darling_core 0.13.4",
  "quote",
  "syn 1.0.109",
 ]
@@ -950,7 +993,7 @@ version = "0.1.0"
 dependencies = [
  "base64 0.13.1",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "once_cell",
  "psl",
  "regex",
@@ -991,7 +1034,7 @@ name = "diagnostics"
 version = "0.1.0"
 dependencies = [
  "colored",
- "indoc",
+ "indoc 2.0.3",
  "pest",
 ]
 
@@ -1036,7 +1079,7 @@ dependencies = [
  "expect-test",
  "flate2",
  "indexmap 1.9.3",
- "indoc",
+ "indoc 2.0.3",
  "itertools",
  "pretty_assertions",
  "prisma-models",
@@ -1378,6 +1421,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
 name = "funty"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1506,8 +1555,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if",
+ "js-sys",
  "libc",
  "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
 ]
 
 [[package]]
@@ -1523,6 +1574,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
+name = "gloo-utils"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e"
+dependencies = [
+ "js-sys",
+ "serde",
+ "serde_json",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
 name = "graphql-parser"
 version = "0.3.0"
 source = "git+https://github.com/prisma/graphql-parser#6a3f58bd879065588e710cb02b5bd30c1ce182c3"
@@ -1824,11 +1888,34 @@ dependencies = [
 
 [[package]]
 name = "indoc"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
+dependencies = [
+ "indoc-impl",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "indoc"
 version = "2.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4"
 
 [[package]]
+name = "indoc-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "unindent",
+]
+
+[[package]]
 name = "insta"
 version = "1.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2310,9 +2397,9 @@ dependencies = [
 
 [[package]]
 name = "mobc"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bdeff49b387edef305eccfe166af3e1483bb57902dbf369dddc42dc824df23b"
+checksum = "90eb49dc5d193287ff80e72a86f34cfb27aae562299d22fea215e06ea1059dd3"
 dependencies = [
  "async-trait",
  "futures-channel",
@@ -2426,11 +2513,11 @@ dependencies = [
  "enumflags2",
  "expect-test",
  "futures",
- "indoc",
+ "indoc 2.0.3",
  "mongodb",
  "mongodb-client",
  "mongodb-schema-describer",
- "names",
+ "names 0.12.0",
  "once_cell",
  "psl",
  "regex",
@@ -2529,6 +2616,15 @@ dependencies = [
 
 [[package]]
 name = "names"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da"
+dependencies = [
+ "rand 0.3.23",
+]
+
+[[package]]
+name = "names"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "10a8690bf09abf659851e58cd666c3d37ac6af07c2bd7a9e332cfba471715775"
@@ -2973,6 +3069,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
 name = "pbkdf2"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3234,7 +3336,7 @@ dependencies = [
  "dmmf",
  "enumflags2",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "log",
  "lsp-types",
  "once_cell",
@@ -3251,6 +3353,7 @@ dependencies = [
  "bigdecimal",
  "chrono",
  "cuid",
+ "getrandom 0.2.10",
  "itertools",
  "nanoid",
  "prisma-value",
@@ -3316,6 +3419,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "proc-macro-hack"
+version = "0.5.20+deprecated"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+
+[[package]]
 name = "proc-macro2"
 version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3386,7 +3495,7 @@ dependencies = [
  "dissimilar",
  "either",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "psl-core",
 ]
 
@@ -3398,7 +3507,7 @@ dependencies = [
  "chrono",
  "diagnostics",
  "enumflags2",
- "indoc",
+ "indoc 2.0.3",
  "itertools",
  "lsp-types",
  "once_cell",
@@ -3463,16 +3572,23 @@ dependencies = [
  "either",
  "futures",
  "hex",
+ "indoc 0.3.6",
  "lru-cache",
  "metrics 0.18.1",
  "mobc",
  "mysql_async",
+ "names 0.11.0",
  "native-tls",
  "num_cpus",
+ "once_cell",
+ "paste",
  "percent-encoding",
  "postgres-native-tls",
  "postgres-types",
+ "quaint-test-macros",
+ "quaint-test-setup",
  "rusqlite",
+ "serde",
  "serde_json",
  "sqlformat",
  "thiserror",
@@ -3487,6 +3603,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "quaint-test-macros"
+version = "0.1.0"
+dependencies = [
+ "darling 0.10.2",
+ "once_cell",
+ "proc-macro2",
+ "quaint-test-setup",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quaint-test-setup"
+version = "0.1.0"
+dependencies = [
+ "async-trait",
+ "bitflags 1.3.2",
+ "names 0.11.0",
+ "once_cell",
+ "quaint",
+ "tokio",
+]
+
+[[package]]
 name = "quanta"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3567,7 +3707,7 @@ dependencies = [
  "enumflags2",
  "graphql-parser",
  "hyper",
- "indoc",
+ "indoc 2.0.3",
  "mongodb-query-connector",
  "opentelemetry",
  "opentelemetry-otlp",
@@ -3652,7 +3792,7 @@ dependencies = [
  "colored",
  "enumflags2",
  "futures",
- "indoc",
+ "indoc 2.0.3",
  "insta",
  "once_cell",
  "prisma-value",
@@ -3669,10 +3809,39 @@ dependencies = [
 ]
 
 [[package]]
+name = "query-engine-wasm"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "connection-string",
+ "console_error_panic_hook",
+ "futures",
+ "js-sys",
+ "log",
+ "prisma-models",
+ "psl",
+ "serde",
+ "serde-wasm-bindgen",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "tracing-futures",
+ "tracing-subscriber",
+ "tsify",
+ "url",
+ "user-facing-errors",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-logger",
+]
+
+[[package]]
 name = "query-test-macros"
 version = "0.1.0"
 dependencies = [
- "darling",
+ "darling 0.13.4",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -3687,7 +3856,7 @@ dependencies = [
  "enumflags2",
  "hyper",
  "indexmap 1.9.3",
- "indoc",
+ "indoc 2.0.3",
  "itertools",
  "jsonrpc-core",
  "nom",
@@ -3748,6 +3917,29 @@ dependencies = [
 
 [[package]]
 name = "rand"
+version = "0.3.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
+dependencies = [
+ "libc",
+ "rand 0.4.6",
+]
+
+[[package]]
+name = "rand"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+dependencies = [
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.3.1",
+ "rdrand",
+ "winapi",
+]
+
+[[package]]
+name = "rand"
 version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
@@ -3792,6 +3984,21 @@ dependencies = [
 
 [[package]]
 name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+[[package]]
+name = "rand_core"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
@@ -3849,6 +4056,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
 name = "redox_syscall"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4266,7 +4482,7 @@ dependencies = [
  "base64 0.13.1",
  "connection-string",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "jsonrpc-core",
  "quaint",
  "schema-connector",
@@ -4371,6 +4587,17 @@ dependencies = [
 ]
 
 [[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_bytes"
 version = "0.11.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4391,6 +4618,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_derive_internals"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.28",
+]
+
+[[package]]
 name = "serde_json"
 version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4441,7 +4679,7 @@ version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
 dependencies = [
- "darling",
+ "darling 0.13.4",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -4624,7 +4862,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 name = "sql-ddl"
 version = "0.1.0"
 dependencies = [
- "indoc",
+ "indoc 2.0.3",
 ]
 
 [[package]]
@@ -4635,7 +4873,7 @@ dependencies = [
  "connection-string",
  "enumflags2",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "pretty_assertions",
  "psl",
  "quaint",
@@ -4661,7 +4899,7 @@ dependencies = [
  "connection-string",
  "enumflags2",
  "expect-test",
- "indoc",
+ "indoc 2.0.3",
  "jsonrpc-core",
  "once_cell",
  "pretty_assertions",
@@ -4722,7 +4960,7 @@ dependencies = [
  "datamodel-renderer",
  "either",
  "enumflags2",
- "indoc",
+ "indoc 2.0.3",
  "once_cell",
  "prisma-value",
  "psl",
@@ -4753,7 +4991,7 @@ dependencies = [
  "enumflags2",
  "expect-test",
  "indexmap 1.9.3",
- "indoc",
+ "indoc 2.0.3",
  "once_cell",
  "pretty_assertions",
  "prisma-value",
@@ -4822,6 +5060,12 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 
 [[package]]
 name = "strsim"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
+
+[[package]]
+name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
@@ -5495,13 +5739,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
+name = "tsify"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6b26cf145f2f3b9ff84e182c448eaf05468e247f148cf3d2a7d67d78ff023a0"
+dependencies = [
+ "gloo-utils",
+ "serde",
+ "serde_json",
+ "tsify-macros",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "tsify-macros"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a94b0f0954b3e59bfc2c246b4c8574390d94a4ad4ad246aaf2fb07d7dfd3b47"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+ "syn 2.0.28",
+]
+
+[[package]]
 name = "twox-hash"
 version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
  "cfg-if",
- "rand 0.7.3",
+ "rand 0.8.5",
  "static_assertions",
 ]
 
@@ -5574,6 +5843,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
 
 [[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
 name = "unreachable"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5614,7 +5889,7 @@ name = "user-facing-errors"
 version = "0.1.0"
 dependencies = [
  "backtrace",
- "indoc",
+ "indoc 2.0.3",
  "itertools",
  "quaint",
  "serde",
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index a180878f9a1c7..4d2dc36631845 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -14,13 +14,13 @@
 # function correctly.
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "5.4.1";
+  version = "5.6.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-KYPDocC6S6YhJeneyI++UmmpuAYDoX6okqgOtGetilw=";
+    sha256 = "sha256-zyF2NAOPNJe23tIuOHalsvnYytALKZq8QY1L8EWJMno=";
   };
 
   # Use system openssl.
@@ -30,6 +30,7 @@ rustPlatform.buildRustPackage rec {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "barrel-0.6.6-alpha.0" = "sha256-USh0lQ1z+3Spgc69bRFySUzhuY79qprLlEExTmYWFN8=";
+      "cuid-1.3.2" = "sha256-ZihFrLerEIOdbJggaBbByRbC1sZRvF4M0LN2albB7vA=";
       "graphql-parser-0.3.0" = "sha256-0ZAsj2mW6fCLhwTETucjbu4rPNzfbNiHu2wVTBlTNe4=";
       "mysql_async-0.31.3" = "sha256-QIO9s0Upc0/1W7ux1RNJNGKqzO4gB4gMV3NoakAbxkQ=";
       "postgres-native-tls-0.5.0" = "sha256-UYPsxhCkXXWk8yPbqjNS0illwjS5mVm3Z/jFwpVwqfw=";
diff --git a/pkgs/development/tools/database/sqlcl/default.nix b/pkgs/development/tools/database/sqlcl/default.nix
index cc68d8b93bbe8..324270ee7c239 100644
--- a/pkgs/development/tools/database/sqlcl/default.nix
+++ b/pkgs/development/tools/database/sqlcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sqlcl";
-  version = "23.2.0.178.1027";
+  version = "23.3.0.270.1251";
 
   src = fetchurl {
     url = "https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-${finalAttrs.version}.zip";
-    hash = "sha256-wGqLlV88yYJrVblKzeG6VerfsEgCi1JQd49ONZmUB4Y=";
+    hash = "sha256-TkQkMtCTKUdfVx9sfAJVJP4nAaQmG4SDcduwaFfAEGs=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
index 3fe77e677418f..a0d486280bc12 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
+++ b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
@@ -74,9 +74,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.5.0"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -112,9 +112,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle-wincon"
-version = "2.1.0"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
 dependencies = [
  "anstyle",
  "windows-sys",
@@ -127,12 +127,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ea50b14b7a4b9343f8c627a7a53c52076482bd4bdad0a24fd3ec533ed616cc2c"
 
 [[package]]
-name = "anyhow"
-version = "1.0.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
-
-[[package]]
 name = "approx"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -240,7 +234,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -262,7 +256,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -488,7 +482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a"
 dependencies = [
  "memchr",
- "regex-automata",
+ "regex-automata 0.3.8",
  "serde",
 ]
 
@@ -611,9 +605,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.30"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -662,23 +656,23 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.3"
+version = "4.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6"
+checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
 dependencies = [
  "clap_builder",
- "clap_derive 4.4.2",
+ "clap_derive 4.4.7",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.2"
+version = "4.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
 dependencies = [
  "anstream",
  "anstyle",
- "clap_lex 0.5.1",
+ "clap_lex 0.6.0",
  "strsim",
 ]
 
@@ -697,14 +691,14 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.2"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -718,9 +712,9 @@ dependencies = [
 
 [[package]]
 name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "cli-table"
@@ -746,6 +740,33 @@ dependencies = [
 ]
 
 [[package]]
+name = "color-eyre"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204"
+dependencies = [
+ "backtrace",
+ "color-spantrace",
+ "eyre",
+ "indenter",
+ "once_cell",
+ "owo-colors",
+ "tracing-error",
+]
+
+[[package]]
+name = "color-spantrace"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce"
+dependencies = [
+ "once_cell",
+ "owo-colors",
+ "tracing-core",
+ "tracing-error",
+]
+
+[[package]]
 name = "colorchoice"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -885,7 +906,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -896,7 +917,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -1099,6 +1120,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
+name = "eyre"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
 name = "fastrand"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1264,7 +1295,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -1664,6 +1695,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1739,6 +1776,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1769,7 +1815,7 @@ dependencies = [
  "petgraph",
  "pico-args",
  "regex",
- "regex-syntax",
+ "regex-syntax 0.7.5",
  "string_cache",
  "term",
  "tiny-keccak",
@@ -1805,9 +1851,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.148"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libm"
@@ -1894,9 +1940,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
 dependencies = [
  "libc",
  "wasi",
@@ -2058,12 +2104,12 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "ordered-multimap"
-version = "0.6.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
+checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f"
 dependencies = [
  "dlv-list",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
 ]
 
 [[package]]
@@ -2079,6 +2125,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
+name = "owo-colors"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
+
+[[package]]
 name = "parking"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2213,7 +2265,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -2343,9 +2395,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
 dependencies = [
  "unicode-ident",
 ]
@@ -2487,19 +2539,19 @@ checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.5"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata",
- "regex-syntax",
+ "regex-automata 0.4.3",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -2507,10 +2559,16 @@ name = "regex-automata"
 version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -2520,6 +2578,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
 name = "rend"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2604,7 +2668,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -2720,9 +2784,9 @@ dependencies = [
 
 [[package]]
 name = "rust-ini"
-version = "0.19.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
+checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a"
 dependencies = [
  "cfg-if",
  "ordered-multimap",
@@ -2915,29 +2979,29 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.188"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.106"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "indexmap 2.0.0",
  "itoa",
@@ -2983,7 +3047,7 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3008,7 +3072,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3045,6 +3109,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
 name = "signature"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3120,9 +3193,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
  "windows-sys",
@@ -3155,9 +3228,9 @@ dependencies = [
 
 [[package]]
 name = "sqlparser"
-version = "0.38.0"
+version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0272b7bb0a225320170c99901b4b5fb3a4384e255a7f2cc228f61e2ba3893e75"
+checksum = "743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7"
 dependencies = [
  "log",
 ]
@@ -3320,21 +3393,21 @@ dependencies = [
 
 [[package]]
 name = "surrealdb-migrations"
-version = "1.0.0-preview.1"
+version = "1.0.0"
 dependencies = [
- "anyhow",
  "assert_cmd",
  "assert_fs",
  "chrono",
  "chrono-human-duration",
- "clap 4.4.3",
+ "clap 4.4.8",
  "cli-table",
+ "color-eyre",
  "convert_case",
  "diffy",
  "dir-diff",
  "fs_extra",
  "include_dir",
- "itertools 0.11.0",
+ "itertools 0.12.0",
  "names",
  "predicates",
  "pretty_assertions",
@@ -3362,9 +3435,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.32"
+version = "2.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3439,7 +3512,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3506,9 +3579,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
 dependencies = [
  "backtrace",
  "bytes",
@@ -3516,20 +3589,20 @@ dependencies = [
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2 0.5.4",
+ "socket2 0.5.5",
  "tokio-macros",
  "windows-sys",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3643,7 +3716,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3653,6 +3726,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
 dependencies = [
  "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-error"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"
+dependencies = [
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+dependencies = [
+ "sharded-slab",
+ "thread_local",
+ "tracing-core",
 ]
 
 [[package]]
@@ -3821,6 +3916,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3887,7 +3988,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
  "wasm-bindgen-shared",
 ]
 
@@ -3921,7 +4022,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.38",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
diff --git a/pkgs/development/tools/database/surrealdb-migrations/default.nix b/pkgs/development/tools/database/surrealdb-migrations/default.nix
index 40d7614033281..0e1497e3369ef 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/default.nix
+++ b/pkgs/development/tools/database/surrealdb-migrations/default.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "surrealdb-migrations";
-  version = "1.0.0-preview.1";
+  version = "1.0.0";
 in
 rustPlatform.buildRustPackage rec {
   inherit pname version;
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Odonno";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-G3pgUOAkLTcqUP8SLk2Tt38kuHD/2fDY5NLh0BTdNyk=";
+    hash = "sha256-87lGjGj3qyPe/YDysgR7eiGwwPvErWH2sgg8/jiqq4g=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/database/trino-cli/default.nix b/pkgs/development/tools/database/trino-cli/default.nix
index db4310b543d2a..7c33d0b3df818 100644
--- a/pkgs/development/tools/database/trino-cli/default.nix
+++ b/pkgs/development/tools/database/trino-cli/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "trino-cli";
-  version = "422";
+  version = "434";
 
   jarfilename = "${pname}-${version}-executable.jar";
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-isOcZDbm4Ykkolmcn4lRMkknZkTYRvMOXVZlGKRnXU8=";
+    sha256 = "sha256-lu6qx6AhYtNWwkIydZV332Z5HqIh0uG1WIJZiYXI5Ao=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix
index 6e1493528e2b5..bf845eed8d86f 100644
--- a/pkgs/development/tools/electron/binary/generic.nix
+++ b/pkgs/development/tools/electron/binary/generic.nix
@@ -40,7 +40,7 @@ let
       ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
       ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    knownVulnerabilities = optional (versionOlder version "25.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "26.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index 19725cc8f148a..497a321c3f140 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -42,12 +42,16 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
 
   src = null;
 
-  patches = base.patches ++ lib.optional (lib.versionOlder info.version "28")
+  patches = base.patches ++ lib.optional (lib.versionOlder info.version "27")
     (substituteAll {
       name = "version.patch";
-      src = if lib.versionAtLeast info.version "27" then ./version.patch else ./version-old.patch;
+      src = ./version.patch;
       inherit (info) version;
     })
+
+  # we remove the web_tests directory in the chromium src FOD to reduce the output size, but this backported patch includes patches on web_tests
+  ++ lib.optional (lib.versions.major info.version == "26")
+    ./electron-26-remove-web_tests-patch.patch
   ;
 
   unpackPhase = ''
@@ -165,9 +169,7 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
     enable_widevine = false;
     use_perfetto_client_library = false;
     enable_check_raw_ptr_fields = false;
-  } // lib.optionalAttrs (lib.versionOlder info.version "26")  {
-    use_gnome_keyring = false;
-  } // lib.optionalAttrs (lib.versionAtLeast info.version "28")  {
+  } // lib.optionalAttrs (lib.versionAtLeast info.version "27")  {
     override_electron_version = info.version;
   };
 
diff --git a/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch b/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch
new file mode 100644
index 0000000000000..f3dfce6f41448
--- /dev/null
+++ b/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch
@@ -0,0 +1,73 @@
+diff --git a/electron/patches/chromium/cherry-pick-80106e31c7ea.patch b/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
+index 3f8ae7d1b2..af8859a1a5 100644
+--- a/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
++++ b/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
+@@ -361,68 +361,3 @@ index 3d562fa22bd84dc438abfe9fa883eff6f5846b1b..c64c7fb1b15f7f523b37671abca2ab50
+    auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(
+        script_state, exception_state.GetContext());
+    ScriptPromise promise = resolver->Promise();
+-diff --git a/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js b/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-index b1b0c133ce160a314ea392514ac5b38e4cac136d..804af2afb9db3a0d5fafbeb26aed64f89badb1b3 100644
+---- a/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-+++ b/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-@@ -1247,3 +1247,60 @@ usb_test((t) => {
+-         .then(() => promise_rejects_dom(t, 'NotFoundError', device.reset()));
+-   });
+- }, 'resetDevice rejects when called on a disconnected device');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 4;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_COUNT * PACKET_LENGTH);
+-+  const packetLengths = new Array(PACKET_COUNT).fill(PACKET_LENGTH);
+-+  packetLengths[0] = PACKET_LENGTH - 1;
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when buffer size exceeds packet lengths');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 4;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_COUNT * PACKET_LENGTH);
+-+  const packetLengths = new Array(PACKET_COUNT).fill(PACKET_LENGTH);
+-+  packetLengths[0] = PACKET_LENGTH + 1;
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when packet lengths exceed buffer size');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 2;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const packetLengths = [0xffffffff, 1];
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferIn(1, packetLengths));
+-+}, 'isochronousTransferIn rejects when packet lengths exceed maximum size');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 2;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_LENGTH * PACKET_COUNT);
+-+  const packetLengths = [0xffffffff, 1];
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when packet lengths exceed maximum size');
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index a3b470f78d7b7..88b446fe42555 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -3,16 +3,16 @@
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-TOsL+5sF65sOCSLx0yamXWC5olYbDUO/Np9HK5sT5DI=",
+                "hash": "sha256-c3crd1hOiRYQAIEApVmE2gGsfW30rbQrr61Hmdryftk=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v28.0.0-alpha.3"
+                "rev": "v28.0.0"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5lIe6mjAee6DUOPDvPM43QJ7VKRQ960w7UqxbXPRPIA=",
+                "hash": "sha256-umUgGlclsdK6EDucwQXqL5/ExXuzAE6SYZcdlV0WHg0=",
                 "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "119.0.6045.21",
+                "rev": "120.0.6099.56",
                 "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
             },
             "src/third_party/clang-format/script": {
@@ -23,21 +23,21 @@
             },
             "src/third_party/libc++/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6kuGJCCRgOwrV85e2i+UTyzt40u2pTET6cs0/MtI9Hk=",
+                "hash": "sha256-DVO15xGxatRbUp13EoNslGEZ2QSHn97VbEBHyfMvKfQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "7cf98622abaf832e2d4784889ebc69d5b6fde4d8"
+                "rev": "a429c26ae25c26a569ff12390d5f9be70c5e286b"
             },
             "src/third_party/libc++abi/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iFIXi4kq/LhNhFPJG4UJfO08MCxvthpiZ0WT9jg0lHE=",
+                "hash": "sha256-QjCPRgFU34wZ8GG/dl+6wi2gflje3fG/x+eokb9W02c=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "e8e4eb8f1c413ea4365256b2b83a6093c95d2d86"
+                "rev": "2ca9f38714b1465b9f55b5fbd0da5e4342811e2b"
             },
             "src/third_party/libunwind/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ytY/QvFzbqkGbsB+um1Rxo+O5DEOFUxUzRIuKMrC8YE=",
+                "hash": "sha256-bQHo8CKDpqvJcVv6OzVO7LOGTqL9qHqD4n9TtRK0v5g=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "43e5a34c5b7066a7ee15c74f09dc37b4b9b5630e"
+                "rev": "7686b5d38c69d14932abfb1c1a66ba56c78791ad"
             },
             "src/chrome/test/data/perf/canvas_bench": {
                 "fetcher": "fetchFromGitiles",
@@ -59,9 +59,9 @@
             },
             "src/docs/website": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aYgan6NIIIWDzCplczvU57TZQ6GAluejBoWjfx5FPs4=",
+                "hash": "sha256-+UawYfW5FAMpv0TbzSR8qITPGUQulLIZ0mUh6ZdnmMI=",
                 "url": "https://chromium.googlesource.com/website.git",
-                "rev": "98972e05cf600ceefe641ac5d83b661e2792fcb4"
+                "rev": "07714da3c28b942dc8522affed4487403e971545"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
@@ -71,15 +71,15 @@
             },
             "src/net/third_party/quiche/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dziuBpghbxrXXH6on6WxYvfHInSaUWyNrWbYwAJeMuA=",
+                "hash": "sha256-JXWGEsJrXRXs2BrkWIC8cUBD6uvt8ftb9V5Dy2yLc/w=",
                 "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "0c75f987990bfb2fe27eeaa8f3cc78f98f3ef42d"
+                "rev": "a01a131ca6df63e774809d623f47e8cf28c574cc"
             },
             "src/third_party/angle": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2JvDcfRiwFDjiGWlzwsTq6HP/I6lq+NaI6S57ZrCLGY=",
+                "hash": "sha256-AMwWqLnRSb4FdOsiMB9Q2znX+FPCrS94FXYAc6dCdLg=",
                 "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "5cff2421ef225d14d3a4253b81073389fc840024"
+                "rev": "76ead87021b954ab670d0c1e682f4828cb6adf25"
             },
             "src/third_party/angle/third_party/glmark2/src": {
                 "fetcher": "fetchFromGitiles",
@@ -95,15 +95,15 @@
             },
             "src/third_party/angle/third_party/VK-GL-CTS/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yXo4h4SgMdmHxtT5IeFDzBa5hq/7RZtMRrktaLJkvfs=",
+                "hash": "sha256-+g1yjF1yETrL1X6Cxu5mhPWXukWygg1dnawU8S9cGkA=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "a55b0930e9db612b25cc67701569931200bc2ee0"
+                "rev": "7d738783bf286e82937e431c295d4682f3767267"
             },
             "src/third_party/anonymous_tokens/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/AuMmFWKOaYCsd9cHbZBYUqJUHXJ0xxOuIWe/+lEZ1c=",
+                "hash": "sha256-2B0j9vNF8nMhmedk+ghz4JJJiDKN6jnVfdqsa4zRWeU=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
-                "rev": "79562f0175dba82f671046b5bdea0853323445b7"
+                "rev": "47d423347823088a21b26262ca553eadb8e5b220"
             },
             "src/third_party/content_analysis_sdk/src": {
                 "fetcher": "fetchFromGitiles",
@@ -113,15 +113,15 @@
             },
             "src/third_party/dav1d/libdav1d": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KSo2s3M3S13gY84NlAdnPsjoKfJZy7ipTlWSvUHD9Ak=",
+                "hash": "sha256-9SrbxiOqXKTFf4qZ4Wqg9aoOMY8zv7NczTqN2+lXwCI=",
                 "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "f8ae94eca0f53502a2cddd29a263c1edea4822a0"
+                "rev": "47107e384bd1dc25674acf04d000a8cdc6195234"
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PE1LHtfdL9grVxBKaSVoc/kc6eHLaP7LKJFWxx+BByE=",
+                "hash": "sha256-onIVQBs8fIAhIEnjbwW8nrwAF5KJ2JjEMSK9b0HAheM=",
                 "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "e1f1c0135a5eca328a320d4f14d21b24576eea9b"
+                "rev": "acee31423468efdb650be9dc9172b30cc2015a4e"
             },
             "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
@@ -131,9 +131,9 @@
             },
             "src/third_party/dawn/third_party/dxc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uCSypev3Jvy6vfzF0AG3w9DIewV7u4w7TNtw1WVVrXM=",
+                "hash": "sha256-EAfTm0QZcihcU6ufBHE1QsYRggNWNKHjVZXcrUp/T+c=",
                 "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
-                "rev": "6b4b0eb5f2ca9b9039a7dbf7b324a9478fbd6f03"
+                "rev": "64030a4e01e27c608b6c5f1ab5add43575e086f9"
             },
             "src/third_party/dawn/third_party/dxheaders": {
                 "fetcher": "fetchFromGitiles",
@@ -155,9 +155,9 @@
             },
             "src/third_party/dawn/third_party/webgpu-cts": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+pKnhSC7qQf8P5YL7ei1IPJ0ur89IJAiItnXhw6HKLo=",
+                "hash": "sha256-DqQIyZU6kYYRoouIiJnJBit8l38wPu08zbJhM2BQbs4=",
                 "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "be1210e145e89e7a2943947d983f9592495e0f52"
+                "rev": "2ef3f322027bec1bb5572f5083d478148d355d79"
             },
             "src/third_party/highway/src": {
                 "fetcher": "fetchFromGitiles",
@@ -173,9 +173,9 @@
             },
             "src/third_party/boringssl/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FBQ7y4N2rCM/Cyd6LBnDUXpSa2O3osUXukECTBjZL6s=",
+                "hash": "sha256-hxPNJzWS2f4iUsNYwRvxiTL9vRrcZzZT5KpIx3+WuGM=",
                 "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "d24a38200fef19150eef00cad35b138936c08767"
+                "rev": "c38dc29860a72540eb2c4fdb8a8bfb27ef94ddf3"
             },
             "src/third_party/breakpad/breakpad": {
                 "fetcher": "fetchFromGitiles",
@@ -191,9 +191,9 @@
             },
             "src/third_party/catapult": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-j5NFdjcsv3CaAOrUmNkuxodQyudxqWCNPTd6ovW83sg=",
+                "hash": "sha256-jueHC5YC+WmGRtGZ8yD6QT2pVj21n1THpIz/vI9M334=",
                 "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "4f81c1e295978227d83f1b42ceff40b4f9b5b08c"
+                "rev": "47efdb4b1428e549c58a6d6c2fa79c4a8ceaf9b4"
             },
             "src/third_party/ced/src": {
                 "fetcher": "fetchFromGitiles",
@@ -203,9 +203,9 @@
             },
             "src/third_party/chromium-variations": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-mWnpJb5yV30slOvqc543uqxN1t6TEGP2H3MKl7x6mbw=",
+                "hash": "sha256-cRFzDmGoyrxwPDVvatGm3EutOXtWqqlI7v7BeX5d43s=",
                 "url": "https://chromium.googlesource.com/chromium-variations.git",
-                "rev": "990efdd6cf54f2124621d065e2de629856c395e4"
+                "rev": "cb7fe7e32de8b885ccdd6293444d8e4028b03eca"
             },
             "src/third_party/cld_3/src": {
                 "fetcher": "fetchFromGitiles",
@@ -227,9 +227,9 @@
             },
             "src/third_party/cpuinfo/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-nOSaLZGqmt+8W5Ut9QHDKznh1cekl1jL2ghCM4mgbgc=",
+                "hash": "sha256-BcSG/1aa/cyT8CCd1Qdsm/yXa5bCrmrtaRxnYjwkspY=",
                 "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "959002f82d7962a473d8bf301845f2af720e0aa4"
+                "rev": "76d5e8f5b563daa65340a60fce0e9aec73a936df"
             },
             "src/third_party/crc32c/src": {
                 "fetcher": "fetchFromGitiles",
@@ -239,9 +239,9 @@
             },
             "src/third_party/cros_system_api": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uTeouExil2es07n1a4oVa/r6CUraZ0+iu8Q+A1n4kgA=",
+                "hash": "sha256-wI4rx+oQ6i8yIB8NBp/O471O4pVJL3l+ez0t8I5oD/w=",
                 "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "b7b78587c03de1cd478f31f734498430773adeb3"
+                "rev": "00c21541508ea2c6863f1cda24ef88ef30309ae8"
             },
             "src/third_party/crossbench": {
                 "fetcher": "fetchFromGitiles",
@@ -251,15 +251,15 @@
             },
             "src/third_party/depot_tools": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zx8VtOMxysriVmcPb9YkdS84WXV6NsSkfnCSV8OBwbc=",
+                "hash": "sha256-WtosDcMOV9eh0PhTbB5w3x3AYQs3Ui4h3mV0Ib0CBlc=",
                 "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "90a30a5b5357636fa05bb315c393275be7ca705c"
+                "rev": "9f3b33a275e7a5b19d8ce4aba7960d2a38858681"
             },
             "src/third_party/devtools-frontend/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-OUmCxucDd8jXbEqqNyt9j0j+9zp2G9s3aaFliFkg45A=",
+                "hash": "sha256-jLsdRAQF7UxetAIU0bb+KK4cbXRlaQpg2B8T6+ba7uE=",
                 "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "fa727c5e31709a4447a79a2270157b7ba86414c4"
+                "rev": "099860eb0f995fef1d97ecdbe3c354f0558bec3b"
             },
             "src/third_party/dom_distiller_js/dist": {
                 "fetcher": "fetchFromGitiles",
@@ -269,9 +269,9 @@
             },
             "src/third_party/eigen3/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-a7TnzR57VmIBUqAEKmxncgV/22g3z7b1lEHsYnNZjKo=",
+                "hash": "sha256-mfS/l+V0If3fmXvA1p5gtyrNCU6IqWYrBbzm4jkXC3I=",
                 "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "18018ed013029ca3f28f52a62360999b5a659eac"
+                "rev": "aa6964bf3a34fd607837dd8123bc42465185c4f8"
             },
             "src/third_party/farmhash/src": {
                 "fetcher": "fetchFromGitiles",
@@ -281,9 +281,9 @@
             },
             "src/third_party/ffmpeg": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uRgHTVaCAEaoqY20SmePQbApPmjimgggm5922KKfnbc=",
+                "hash": "sha256-lomUDmbbYW95BHEuYmm0pVqf++nYEa2XxeW4ag36tgc=",
                 "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "0ba37733400593b162e5ae9ff26b384cff49c250"
+                "rev": "e1ca3f06adec15150a171bc38f550058b4bbb23b"
             },
             "src/third_party/flac": {
                 "fetcher": "fetchFromGitiles",
@@ -293,9 +293,9 @@
             },
             "src/third_party/flatbuffers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yu+bMwlTqT5I+BbJhemGMvs/Yw9TusNnFsHgERXYb2M=",
+                "hash": "sha256-LecJwLDG6szZZ/UOCFD+MDqH3NKawn0sdEwgnMt8wMM=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "0343396e49d1c0bf4ca1058130efd9585ecb3c8f"
+                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5"
             },
             "src/third_party/fontconfig/src": {
                 "fetcher": "fetchFromGitiles",
@@ -323,9 +323,9 @@
             },
             "src/third_party/freetype/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+n7BwWerzg8bMIgZYBOtCibfNkECijNVJKNk7qOQVhU=",
+                "hash": "sha256-wyaCNPPL2CTZYY6YUUuGnN3TjHxgKeHAYsw+r88ijMI=",
                 "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "7b308a29dd105074eea9c8d5953a182d325f74f1"
+                "rev": "55d0287cfc31115760cb13caa346b407ef0c0ceb"
             },
             "src/third_party/freetype-testing/src": {
                 "fetcher": "fetchFromGitiles",
@@ -341,9 +341,9 @@
             },
             "src/third_party/harfbuzz-ng/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+fClyD9Rsge9qdGF8WCv8taLTWNL8iManpXZUzDL2LM=",
+                "hash": "sha256-xCsfgbsWVSiuII5zFspssrqX4NrRuhzufYSq6fdnjKQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "db700b5670d9475cc8ed4880cc9447b232c5e432"
+                "rev": "f26fd69d858642d76413b8f4068eaf9b57c40a5f"
             },
             "src/third_party/emoji-segmenter/src": {
                 "fetcher": "fetchFromGitiles",
@@ -377,9 +377,9 @@
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6do7X9xUCMe2mFQoffazdC5W9UJdHp424QEThqX6P48=",
+                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
                 "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "985b9a6f70e13f3db741fed121e4dcc3046ad494"
+                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
@@ -401,9 +401,9 @@
             },
             "src/third_party/fuzztest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-53SzbbDlzLl1MTeHxBhLpVGMKICd3ka6qfGcru9AVog=",
+                "hash": "sha256-wuB/lbkVCbisZvVFuLdE8XNDuiLQcI47/Y0EqvOCytc=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
-                "rev": "ce460dd7cae252b8505ce0009121bcac17939e3a"
+                "rev": "b5dbc33890d9586e4f6a213f1bf163ad287e6aa4"
             },
             "src/third_party/libaddressinput/src": {
                 "fetcher": "fetchFromGitiles",
@@ -413,15 +413,15 @@
             },
             "src/third_party/libaom/source/libaom": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-76duDNvaq8o7RdswZglifr+gml86fSTdXAEx0nOTybI=",
+                "hash": "sha256-6oZWYXRTZ1IC5yGvfPI19PwPU9O7mKBsW2wVxBGwU/I=",
                 "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "0d59418942412c4176805198f2ab7ff446637c3b"
+                "rev": "1dbe1c7fae2456f91ccc79fecb919e9ffea0727a"
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZAsOy32MHx3YPvEnbBGGT4+iYhFyFPik0+9cLRoVDP4=",
+                "hash": "sha256-mSIrPqJebYSyLyTJmuLuwNoeJ6YJk3gSgFRLap7kSpA=",
                 "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "0d4747af5b3f7b150c3838e6148c49a0bf0e0064"
+                "rev": "466d5e5f8889053115d445637ab8f6e0b3c70ed3"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
@@ -431,9 +431,9 @@
             },
             "src/third_party/nearby/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0tTpC11sFIPq+FPlkGFrDNaAK93isQV/Fd2x1lHmtQ8=",
+                "hash": "sha256-9PT/tuxjREGsvSnYT2wyaL5sB52CcYPpKVKN0ZGldWU=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "d477a2d174fc0e31f6dd06264ff3f47ff8da5378"
+                "rev": "629e7ba7c964a62c97f6a882bffaec3c8490bb1e"
             },
             "src/third_party/beto-core/src": {
                 "fetcher": "fetchFromGitiles",
@@ -461,9 +461,9 @@
             },
             "src/third_party/cros-components/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-grvqHNesTNc3pUkM5YH4P+LaeSWXEKBM8Kw/eRMaB4E=",
+                "hash": "sha256-ZjLMlNDDN08v9SUFAuroPsu/6ADLHZAAFpv+bmaJA2Y=",
                 "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "10d2e376519e88221117e38cd901054b0153501c"
+                "rev": "25159cae8d540780cbeb994692ce4a3ea14cc094"
             },
             "src/third_party/libdrm/src": {
                 "fetcher": "fetchFromGitiles",
@@ -485,9 +485,9 @@
             },
             "src/third_party/libjpeg_turbo": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bcmp8RqQYp4lRI9NfdfYgrAJsDLecJEhgRu9oosB9lQ=",
+                "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=",
                 "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "30bdb85e302ecfc52593636b2f44af438e05e784"
+                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da"
             },
             "src/third_party/liblouis/src": {
                 "fetcher": "fetchFromGitiles",
@@ -521,9 +521,9 @@
             },
             "src/third_party/libvpx/source/libvpx": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5x0Sk8/DXaTCIydK79vWZgIx3IHeQbLUxoNyE7E+Sdo=",
+                "hash": "sha256-UA/pf35eWFArRM+QdN6i6LK0ePWzXEsviHlf3WUgMoM=",
                 "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "38a707faef72eeff89d669c553e7bfe9e08dba8f"
+                "rev": "424723dc025ce451dab9568239a46b18d0919b4d"
             },
             "src/third_party/libwebm/source": {
                 "fetcher": "fetchFromGitiles",
@@ -533,9 +533,9 @@
             },
             "src/third_party/libwebp/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-79peh0y3eeiW5cVQqVq0mUgDcGZ9BlY+OXkPZylKARY=",
+                "hash": "sha256-Wa33opOFgcmYtycezDUt2f6PqZBse6xYB5kLuSaw95o=",
                 "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "2af26267cdfcb63a88e5c74a85927a12d6ca1d76"
+                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760"
             },
             "src/third_party/libyuv": {
                 "fetcher": "fetchFromGitiles",
@@ -581,9 +581,9 @@
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rxNhfd/ujWtLWDjEbx/ZIo9tdILB1gD5q4cwxQ6DPnw=",
+                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
                 "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "934f2462ad01c407a596641dbc611df49e2017b4"
+                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
@@ -593,15 +593,15 @@
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iVOmMH0h0mbHy9m0vy86SzS5Oeyhgd4CC26LgPws9P4=",
+                "hash": "sha256-U1cScrfKN0F+cy307RT2iwB6RYKeCNDRnkYxzamezoY=",
                 "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "2e2cfb0399db35fbe2e3ef0be62559fe01837ec5"
+                "rev": "a3895af47f600e3f9677f31fa39e15bd01c18457"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qv1fTy/0xUauutP0PFaCwPvr1qptfeB3iqNjHXPDKyc=",
+                "hash": "sha256-xLx+dnUysm+HS1esu2hAqBKg/GgTJK4SQu1ZINr2aYc=",
                 "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "a3d4c1de9bcf2a0471ab183c45cf111efd29571e"
+                "rev": "7ce535ddfc62d30166f35a8ed0f121da5eb0437c"
             },
             "src/third_party/pthreadpool/src": {
                 "fetcher": "fetchFromGitiles",
@@ -629,9 +629,9 @@
             },
             "src/third_party/re2/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-zrVjt229SfVipS05zF5glhd7/D1zpojDyiSnYZpGok4=",
+                "hash": "sha256-m3bJlSyyhmj/7jvy7ExNX/gol7yeu1mnmyAc8u8Pr8s=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "26f7d889e1f7e75e95e65490086538edf9f5275c"
+                "rev": "3d9bdbd0e208d3274a1cb1275c94d8b7626ddde2"
             },
             "src/third_party/ruy/src": {
                 "fetcher": "fetchFromGitiles",
@@ -641,9 +641,9 @@
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qHJujO+LYJ41zmoP2xSYRd9K8vLp4bCztYcMO8MI9Lo=",
+                "hash": "sha256-CvoJxsBN1Nyh+RPgU+aptZW5WsfGB4hmSlhyma1wO+E=",
                 "url": "https://skia.googlesource.com/skia.git",
-                "rev": "ab212df482c8fd5b1c1fb302717876d542549624"
+                "rev": "349c1179c43ef46f2804404952b9460dc007d76a"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
@@ -659,15 +659,15 @@
             },
             "src/third_party/sqlite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-35rSG+ptFMC62FsprLvAqfXZknKu40Ee6H2qpAcA3wI=",
+                "hash": "sha256-A3GAYf2hVZqQtEQdbVqP0I0Wh29DPHPf+JhxNLnTQh8=",
                 "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "b7e480172bb2411f9afedefdcc69a57a12f18b7b"
+                "rev": "ca75d938c18c99dc33b769fbdac8fc4c71befa33"
             },
             "src/third_party/swiftshader": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-r7u2WjgPvoVY9Oj2RVqfI/G6PFh/2gWNDVQ5R2qhtLU=",
+                "hash": "sha256-Im4sdDo4b96YQIKDcAmqUk8PiJzejZgSDPur3hqPPRk=",
                 "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "7f4d495c89c200c1945cce5995d348dd41dadb5a"
+                "rev": "d9ec9befba05a8dfca09c1e88f3f7be0e4b153c6"
             },
             "src/third_party/text-fragments-polyfill/src": {
                 "fetcher": "fetchFromGitiles",
@@ -677,75 +677,75 @@
             },
             "src/third_party/tflite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Mpofo5P6WrkA3hN+sjAhHG4GBQ71vEFnuxfdLRf5epw=",
+                "hash": "sha256-119/isDtopnj6MBRr3bzBvIppXw8M/ejcPx0CmIjXZU=",
                 "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "edf7215123c67d76199d099779137b974b6e1293"
+                "rev": "21e56c30e480ac67bed48335a5d122c59a6a6805"
             },
             "src/third_party/vulkan-deps": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uJFrlLEjFJJSR0+eCtx7bpIC0z8NaHuk/uLeaFBLKKw=",
+                "hash": "sha256-lqCUx70IeHZ7YfE9DXia7dFok/JsFu/HSIv2AGi37YI=",
                 "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "7413048934e28b97ae00c37c419e576db8add866"
+                "rev": "2b783ed328d3a46e6a7a21218ced6b4dd1684114"
             },
             "src/third_party/vulkan-deps/glslang/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CBA9LlD+Ttki3nc693MSmud0feafxi2/PC2YSn3BX2A=",
+                "hash": "sha256-+Qs+Q3p11y9oUKyWEbuaQ0vx6hppFZSFbFuU0ve6rRo=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "b0ed4788858157e271779a7726cccc1149a05407"
+                "rev": "ebb0a8b28e5ea7a13146a24b3ad87b1966dbdfa3"
             },
             "src/third_party/vulkan-deps/spirv-cross/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Wgpdjmes05dMeBr7mrv9UvpabdzJ9lTZ38eO/6Ps60E=",
+                "hash": "sha256-UIk5hihUPjXNzEeO2laS4dUef/rEExxXAZjMcftx+3A=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "37fee00a71b5a47247c1cf20256a3f794537c6c0"
+                "rev": "2de1265fca722929785d9acdec4ab728c47a0254"
             },
             "src/third_party/vulkan-deps/spirv-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yAzbZHLtx+XP34Umkp0CuP/vn7JrW4VPVgVOFi50KHM=",
+                "hash": "sha256-JLFVzFNdXqxyKmg3NymIqqZmf2GAb7tYetQ6HJPsUIQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "79743b899fde5c954897b2694291002626358fac"
+                "rev": "88bc5e321c2839707df8b1ab534e243e00744177"
             },
             "src/third_party/vulkan-deps/spirv-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/J1eb6ZYSoYZDE8AR/CeRc5GoQEyIlYiHC+JKvi5I5w=",
+                "hash": "sha256-+HUDsp0COKlPtKidOVvUk7lN1AiFw01i5ANc3MO+qjs=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "1bc0e6f59abc3c9cd75f93baef47e9612a448045"
+                "rev": "5084f58e5d187b16f84d2af936ff94ea2f46a00c"
             },
             "src/third_party/vulkan-deps/vulkan-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GAl5xC7PCGsVHHUhLkIuwj2zlTCgyNWaBjk6I0qDkhQ=",
+                "hash": "sha256-UlaNc1NxTYulrF4Ol0rLysbLwbFR46Evq7WkWncPB8k=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "7e691380166fb1cd9b193ac9db896bc23a4ea9ad"
+                "rev": "f4bfcd885214675a6a0d7d4df07f52b511e6ea16"
             },
             "src/third_party/vulkan-deps/vulkan-loader/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6iJxI1SwOjN26dyVs6JSYWODZbA25G/M2ZabGLCGRIo=",
+                "hash": "sha256-GbVr8LmwC6r7a13++5cYJXAq+H4P07quEHpTUV1qfqA=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "9e33cfc66f88c863e9a13492b8045ca28118ebbf"
+                "rev": "7b7d15bc9f1d782e4d6ea34e61fd9a36a7952208"
             },
             "src/third_party/vulkan-deps/vulkan-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-r2VdG1o2JXbtN14nGjeZ+Ru4Cn1Za/eQd3NU2O6CnkA=",
+                "hash": "sha256-vnrhYM7tcDTcXH4A+2leio5Wc1+b5H+7CQISEI+SPV8=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "3a19c1973f0e4732b8f3746593aee2ac425ecb78"
+                "rev": "f7017f23337b90a2b2ceb65a4e1050e8ad89e065"
             },
             "src/third_party/vulkan-deps/vulkan-utility-libraries/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zz8r7zHe3MaEzMIyVx6Walsd5QicQ3MxEAunmgWHZcI=",
+                "hash": "sha256-buxOdupK/w1sFGGHrEI+On2/mR0q5whvQNKUI8dxJ60=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
-                "rev": "2169a0849e3df4e2133b728dec67d3b16bd30263"
+                "rev": "dcfce25b439a2785f2c90b184e1964898070b4f1"
             },
             "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AUeSb7/sgTZGg/VEkdvGDnj88gqjE1t6qGY0oTAcYsY=",
+                "hash": "sha256-LJd7pkcFd8k4npEv8mJy+47xo/5CXMN75ZAtDp+v6FI=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "d82e3c2f34dcf3b849fd7ed6d932ff61dcd838c5"
+                "rev": "281e1c1c6b51bb6b33f88c18ed4da58ac3024311"
             },
             "src/third_party/vulkan_memory_allocator": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FdRPPdLZHj3RX3YzcmF58JJuIqeWQV3TDiiXPEW2lsc=",
+                "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "e87036508bb156f9986ea959323de1869e328f58"
+                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21"
             },
             "src/third_party/wayland/src": {
                 "fetcher": "fetchFromGitiles",
@@ -785,15 +785,15 @@
             },
             "src/third_party/webgpu-cts/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vkwuibUzHacAh5x/g05cGR+UohZmcATysnnFfldM2zA=",
+                "hash": "sha256-E39f0wy72TwQ9IM4QquqWxwDiHZOUI8hWkx2QDFcRog=",
                 "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "609645eb5b272668cbfb120d1aa9549eee86e02d"
+                "rev": "3dbe4ce12983ccc1ad42e228057c7d8adc17cb78"
             },
             "src/third_party/webrtc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uRRtsEVMn85RfFgo1qzYnwA1eN6LvXRme+FUntvCuYA=",
+                "hash": "sha256-lhZ6m00IJ7YEhZ2/nyO70aByVk7RBHUpDsKDVOMoVA8=",
                 "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "71e3fbf5d750e84d181315a663eb5dbc29a5330c"
+                "rev": "b0cc68e61205fd11a7256a6e85307ec17ad95790"
             },
             "src/third_party/wuffs/src": {
                 "fetcher": "fetchFromGitiles",
@@ -809,9 +809,9 @@
             },
             "src/third_party/xdg-utils": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t3uV9JkkQQIwmezzSoEdTMLSizZdLQB7eLKTRQGH4kQ=",
+                "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
                 "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "d80274d5869b17b8c9067a1022e4416ee7ed5e0d"
+                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44"
             },
             "src/third_party/xnnpack/src": {
                 "fetcher": "fetchFromGitiles",
@@ -833,9 +833,9 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qP5gRxEEKV+I3Q6wk0H94OTnKVAieo9SJZGLB9Ti5qw=",
+                "hash": "sha256-HoatrWRElaZ47jtenPz0PzMh0ixBAwbMzL3vj0sw+HE=",
                 "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "f6ebdead2b58e457b923c8121a9267a5d80f59cf"
+                "rev": "5eefc590c868d8dfb411e53053c963fe42dcda74"
             },
             "src/third_party/nan": {
                 "fetcher": "fetchFromGitHub",
@@ -846,10 +846,10 @@
             },
             "src/third_party/electron_node": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-feGhB6o14/qgSQvhJ5eMD74KqWrlOoTpaGAlCs486IU=",
+                "hash": "sha256-yvMU6dXRzHP7l6axo3g4svJ1H2edtFvX2MVMm3K1bEc=",
                 "owner": "nodejs",
                 "repo": "node",
-                "rev": "v18.18.0"
+                "rev": "v18.18.2"
             },
             "src/third_party/squirrel.mac": {
                 "fetcher": "fetchFromGitHub",
@@ -873,38 +873,38 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "28.0.0-alpha.3",
+        "version": "28.0.0",
         "modules": "119",
-        "chrome": "119.0.6045.21",
-        "node": "18.18.0",
+        "chrome": "120.0.6099.56",
+        "node": "18.18.2",
         "chromium": {
-            "version": "119.0.6045.21",
+            "version": "120.0.6099.56",
             "deps": {
                 "gn": {
-                    "version": "2023-09-12",
+                    "version": "2023-10-23",
                     "url": "https://gn.googlesource.com/gn",
-                    "rev": "991530ce394efb58fcd848195469022fa17ae126",
-                    "hash": "sha256-4jWqtsOBh96xbYk1m06G9hj2eQwW6buUXsxWsa5W6/4="
+                    "rev": "e4702d7409069c4f12d45ea7b7f0890717ca3f4b",
+                    "hash": "sha256-dwluGOfq05swtBM5gg4a6gY3IpFHaKKkD0TV1XW7c7k="
                 }
             }
         },
-        "electron_yarn_hash": "1akq5cxcy7fpn4m5qk5kx94vy30z0ybx6ka5qp8an0p33yx9wg8z",
-        "chromium_npm_hash": "sha256-10OGEsA0BDrkbTeIbdXLYRyKNwVsb/tP2ryBBuhi+m8="
+        "electron_yarn_hash": "0n64fi2s97ly7kl0f8922sgavdm6qh24ms3qwf21663a1igdd4jn",
+        "chromium_npm_hash": "sha256-zexxXAAJDnhMmh7HfBO1V1z1Yds06C3gSpXacsbjUb4="
     },
     "27": {
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-UIOHCvqMXuCCrduDo6tnxc6qJuHw2LX4Kgmiu/geiR8=",
+                "hash": "sha256-L43N0jGO8fREAAgSlLuwphq+pyI3Ozpan0phqTMCb58=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v27.0.0"
+                "rev": "v27.1.3"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dT23fhZ9RDY2j7YChaK/hUePkHULTXoXyHNpldmh4Gw=",
+                "hash": "sha256-3yFHjd3LMXVbF4LX6Bi3yJF0CDVug0cDpGFbP8Ibvk4=",
                 "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "118.0.5993.54",
+                "rev": "118.0.5993.159",
                 "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
             },
             "src/third_party/clang-format/script": {
@@ -1011,9 +1011,9 @@
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iCCvQVwf+MLZR6Zz/ML7H9uQ0FiSSCw1gZZeGC6zRLo=",
+                "hash": "sha256-7iCJ1h51S/8pxQRMoDtGXzyuP6Dzxnc/1Cu4ALU8NYg=",
                 "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "ec2cc40563739fa6e6ff0e12c58ac0fdbe0a132f"
+                "rev": "deb3b674b26854204c8082ed93926207e42d3cf2"
             },
             "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
@@ -1269,9 +1269,9 @@
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6do7X9xUCMe2mFQoffazdC5W9UJdHp424QEThqX6P48=",
+                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
                 "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "985b9a6f70e13f3db741fed121e4dcc3046ad494"
+                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
@@ -1311,9 +1311,9 @@
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3zNhKl8REWsRlblXIFD7zn7qvrc/pa4wHZI0oEc3pKE=",
+                "hash": "sha256-KfRRGTS8kBwi9Z9wafpSwL29RU38THG2xBCvNBXtZtg=",
                 "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "d1c26facaf5a8a97919ceee06814d05d10e25622"
+                "rev": "b2d36b1c3bfc806694cd4ff0cb188270823fe6d8"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1473,9 +1473,9 @@
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CtCGOoKbbyUGUHfqd7n3uPlv9GEExuYgMTCIaU+ypOA=",
+                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
                 "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "fd0e81e558086c30fa91a4af89361cef8d1327e4"
+                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1485,9 +1485,9 @@
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9qxj8TgFVf64aFTx/DwkUVa41682OSfVnBj9eubMafs=",
+                "hash": "sha256-u+El2jEnvlcQs5j5TthpKj8s255n2AhJPW+Q/s0Ljm0=",
                 "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "d7470394271b6a6856e28ec905b19a12100f2797"
+                "rev": "6e55da0c45788fdc22fa3aab7ead414fc42b74c1"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
@@ -1533,9 +1533,9 @@
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6JN+orZM77HNPDQ9VlZws1Zq8GuwDI83eXXauKknOTc=",
+                "hash": "sha256-Ck15ddYoo8pVLHcwW5P8Ei1sBQf23EGd/ySGOVSWAFQ=",
                 "url": "https://skia.googlesource.com/skia.git",
-                "rev": "bd56a010b6941116cd1900276bf5201f9a9c73da"
+                "rev": "b4f0c1163c955e42489f62d842585720cf0df0ea"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1725,9 +1725,9 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+y24A6/c4tl4zu1GcxsiEWvAMMCsat7X0jl2XCmBX6g=",
+                "hash": "sha256-Fn4HoS7O2J3nGXFyq7r7AheRQzKy80USTQnNnC4rWqM=",
                 "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "6b05d242aae3392bef6b86fbe44428126607b3d0"
+                "rev": "36e4828ab658b8ad72f80974883c4c94f6e7012c"
             },
             "src/third_party/nan": {
                 "fetcher": "fetchFromGitHub",
@@ -1765,12 +1765,12 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "27.0.0",
+        "version": "27.1.3",
         "modules": "118",
-        "chrome": "118.0.5993.54",
+        "chrome": "118.0.5993.159",
         "node": "18.17.1",
         "chromium": {
-            "version": "118.0.5993.54",
+            "version": "118.0.5993.159",
             "deps": {
                 "gn": {
                     "version": "2023-08-10",
@@ -1780,17 +1780,17 @@
                 }
             }
         },
-        "electron_yarn_hash": "039zdwb38982h6qinhipja8abza33ihihb4i5fadpsgh0cl7ldsy",
-        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ="
+        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
+        "electron_yarn_hash": "1rxijv3fspjfan7mmw4cmxcb231ny7gn72yzsdnqs0225alrjac0"
     },
     "26": {
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-sEhO5qSm4etyWEurTGSKtJcheG+JJkC78Fhl3c5WBOE=",
+                "hash": "sha256-jvNttIRouxQAfH4n+0xxj57Bc3LCo36B66SGwEfz0jM=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v26.4.0"
+                "rev": "v26.6.2"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
@@ -2609,7 +2609,7 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "26.4.0",
+        "version": "26.6.2",
         "modules": "116",
         "chrome": "116.0.5845.228",
         "node": "18.16.1",
@@ -2624,827 +2624,7 @@
                 }
             }
         },
-        "electron_yarn_hash": "05wkb1m0yjbai4153y49kwr1v2lj14fg75aqlvmmrhf3bxp9lg5g",
-        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ="
-    },
-    "25": {
-        "deps": {
-            "src/electron": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-Yo/ZvOLOPIktV5gzZK80LKVZb3xMXrzGkdQw9u4djoI=",
-                "owner": "electron",
-                "repo": "electron",
-                "rev": "v25.9.1"
-            },
-            "src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-nh8LrBKsfW6K/scG1GPUyp/tYiXOxZkmjtuTyAXC4zI=",
-                "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "114.0.5735.289",
-                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
-            },
-            "src/buildtools/clang_format/script": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-IL6ReGM6+urkXfGYe1BBOv+0XgCZv5i3Lib1q9COhig=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
-                "rev": "f97059df7f8b205064625cdb5f97b56668a125ef"
-            },
-            "src/buildtools/third_party/libc++/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-i/FGU9F7HlGJJuwoFMV4V05pf4pvsqNxrPBN223YjZQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "bff81b702ff4b7f74b1c0ed02a4bcf6c2744a90b"
-            },
-            "src/buildtools/third_party/libc++abi/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zka8AHFtHA4AC/Pbzc3pVqz/k2GYZYc8CeP1IXxGBUM=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "307bd163607c315d46103ebe1d68aab44bf93986"
-            },
-            "src/buildtools/third_party/libunwind/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u6FMD83JBBusQuWU7Hx5HREvLIFWUA4iN4If8poaHbE=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "2795322d57001de8125cfdf18cef804acff69e35"
-            },
-            "src/chrome/test/data/perf/canvas_bench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
-                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
-                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732"
-            },
-            "src/chrome/test/data/perf/frame_rate/content": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
-                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git",
-                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9"
-            },
-            "src/chrome/test/data/xr/webvr_info": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git",
-                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248"
-            },
-            "src/docs/website": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0rI5HUWxfNU0mrWJ4ndzL1gnn4E67UVPFpqkEpQjgW0=",
-                "url": "https://chromium.googlesource.com/website.git",
-                "rev": "40cfbbdee67c7010ae103011fe5797858e692a79"
-            },
-            "src/media/cdm/api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
-                "url": "https://chromium.googlesource.com/chromium/cdm.git",
-                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28"
-            },
-            "src/net/third_party/quiche/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dUSUlZR7svBw35TX/ywZaa1Ko/yTeV/gE+GudhX981E=",
-                "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "02c69dd28eef7ef2618782e8d54d53c14ae64382"
-            },
-            "src/third_party/angle": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EpR25A5wDGnhK9EI2eSx8OsLtA4YvtDREi6x8ZfIVsM=",
-                "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "ce590bee825a18785f86d096f2c7be06428ccf88"
-            },
-            "src/third_party/angle/third_party/glmark2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
-                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
-                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889"
-            },
-            "src/third_party/angle/third_party/rapidjson/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
-                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
-                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f"
-            },
-            "src/third_party/angle/third_party/VK-GL-CTS/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-XcaAnz36QOg+A5XcyGg0Z9dLFjsDSUa0GzZpEuQYMTg=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "e3b9db9ad121f46b7943d0152a25d5ee9afaa13c"
-            },
-            "src/third_party/content_analysis_sdk/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-p4N3zAUoM/ApBlYvLsCcH9QLArz7T4+miDGVuTbrZEc=",
-                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git",
-                "rev": "b8744f00646d175057f0be7443c7c72a311b5381"
-            },
-            "src/third_party/dav1d/libdav1d": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FivzwqCvlY89q2znGvfNks+hje/iUFHcKPb19FyAZhM=",
-                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "d426d1c91075b9c552b12dd052af1cd0368f05a2"
-            },
-            "src/third_party/dawn": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HoLI1IlG+ThNERz6xr1doIzNhPWNcZabiyPEn15kvoM=",
-                "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "bf86a1c8d463d7b9a556b10a80d17990d413831c"
-            },
-            "src/third_party/dawn/third_party/glfw": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
-                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
-                "rev": "62e175ef9fae75335575964c845a302447c012c7"
-            },
-            "src/third_party/dawn/third_party/webgpu-cts": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+FRGgJSs7sVEZ6B6PZPxmXvmsKtt/sC/ZAjw+NdOwPQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "c7d833badcd37dc46a999ebeebbbde1368ff15b5"
-            },
-            "src/third_party/highway/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
-                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a"
-            },
-            "src/third_party/google_benchmark/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
-                "rev": "b177433f3ee2513b1075140c723d73ab8901790f"
-            },
-            "src/third_party/boringssl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oeV7oMNpPbQyi5RiRJm/KAVmO7JZ1QRdYoNgFXh7Snc=",
-                "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "4b6d950d8921d6dd5365de0797fcc97302b9561b"
-            },
-            "src/third_party/breakpad/breakpad": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+3Y4jCpcZ/++1Etpu/ZNuJvtTEX/Xn4HNfmx4nzcTtA=",
-                "url": "https://chromium.googlesource.com/breakpad/breakpad.git",
-                "rev": "bfde407de559c10d6cef861b3873ff287c24e761"
-            },
-            "src/third_party/cast_core/public/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pyjxQQYnsASHV2SxwZeIqkZJSpTrqyGg7Uee/GRp9VU=",
-                "url": "https://chromium.googlesource.com/cast_core/public",
-                "rev": "e42ef68aa05ac0c163805f60b9b19284f3c2dee3"
-            },
-            "src/third_party/catapult": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vK7rlGshfzPzaEdAxlP5vQ4USR/fC3BzPCh/rn0aAf4=",
-                "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "cae7ec667dee9f5c012b54ee9ffee94eb7beda14"
-            },
-            "src/third_party/ced/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
-                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5"
-            },
-            "src/third_party/cld_3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git",
-                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661"
-            },
-            "src/third_party/colorama/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
-                "url": "https://chromium.googlesource.com/external/colorama.git",
-                "rev": "3de9f013df4b470069d03d250224062e8cf15c49"
-            },
-            "src/third_party/cpuinfo/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZXsJVhqyeH/9dN0/1Cq0TCjmzwmsePX9YyuuaI9+puI=",
-                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "beb46ca0319882f262e682dd596880c92830687f"
-            },
-            "src/third_party/crc32c/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
-                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6"
-            },
-            "src/third_party/cros_system_api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0tnidX0O+jn1xbJMuSPsGPqwZBCKmfjWZY3aQdjM1gE=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "73d6b816cacd86b886b4cc1e60f12ac1960f1d90"
-            },
-            "src/third_party/crossbench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-IM81ppJX/ib//P2ESbQXMSL+BiOSVKbdXZdcMsq4xn0=",
-                "url": "https://chromium.googlesource.com/crossbench.git",
-                "rev": "cdc33384bfa900dfec28e6cf7b5f22cd7ff2c92f"
-            },
-            "src/third_party/depot_tools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7jPow77ejToE55KvQ7/eO0alMdMHcypfSyPceFAbZkw=",
-                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "6e714e6dfe62110c95fafed4bdeb365a69c6a77e"
-            },
-            "src/third_party/devtools-frontend/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jDE3eGkpcJYE5lt/dpIpKa6me3ZZnfY/9boL/YBnHoc=",
-                "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "3f60fe50e4790d1154659b9628e811bbcdf1aa4f"
-            },
-            "src/third_party/dom_distiller_js/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
-                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
-                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d"
-            },
-            "src/third_party/eigen3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Jf8sFjSMuXeiXm53srR2HahbBXszLOawdYk5H1UrK4c=",
-                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "554fe02ae3f3fbc2fd320c26a522f1e59b2d6342"
-            },
-            "src/third_party/farmhash/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
-                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45"
-            },
-            "src/third_party/ffmpeg": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UjrZJBtOQiiqxtLb8x24axord3OFvyCcRcgDwiYE/jw=",
-                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "8d21d41d8bec5c0b266ee305d1a708dc5c23b594"
-            },
-            "src/third_party/flac": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/flac.git",
-                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c"
-            },
-            "src/third_party/flatbuffers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-OQ8E+i30WRz/lPJmVDiF7+TPo4gZVu2Of9loxz3tswI=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "a56f9ec50e908362e20254fcef28e62a2f148d91"
-            },
-            "src/third_party/fontconfig/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0R+FEhtGXFiQWHEPRrJqaBW1JVfCojYI4NPDvYMBhoU=",
-                "url": "https://chromium.googlesource.com/external/fontconfig.git",
-                "rev": "06929a556fdc39c8fe12965b69070c8df520a33e"
-            },
-            "src/third_party/fp16/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
-                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91"
-            },
-            "src/third_party/gemmlowp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git",
-                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2"
-            },
-            "src/third_party/grpc/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
-                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git",
-                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737"
-            },
-            "src/third_party/freetype/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qJBw5ocv4+2Xx8bU47QK8sw9Sl636iI+16cbaSNatHU=",
-                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "0a3836c97d5e84d6721ac0fd2839e8ae1b7be8d9"
-            },
-            "src/third_party/freetype-testing/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git",
-                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f"
-            },
-            "src/third_party/fxdiv/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
-                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8"
-            },
-            "src/third_party/harfbuzz-ng/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WaR7U7PeHIffa+ZG85QG7pii/dLOI4+23xK0/hUf1ok=",
-                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "2175f5d050743317c563ec9414e0f83a47f7fbc4"
-            },
-            "src/third_party/emoji-segmenter/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
-                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e"
-            },
-            "src/third_party/ots/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
-                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
-                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33"
-            },
-            "src/third_party/libgav1/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-DY2BBK+bH1lGZNEl3rMDsPb7Z52YMIQy/3N0achugE0=",
-                "url": "https://chromium.googlesource.com/codecs/libgav1.git",
-                "rev": "cd53f7c0d6a1c005e38874d143c8876d375bae70"
-            },
-            "src/third_party/googletest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
-                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07"
-            },
-            "src/third_party/hunspell_dictionaries": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
-                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git",
-                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e"
-            },
-            "src/third_party/icu": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-47Xxb5IFbRmdO3oADjn13fm7aIYFXh2R4YVZIJAy22U=",
-                "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "d8daa943f64cd5dd2a55e9baf2e655ab4bfa5ae9"
-            },
-            "src/third_party/jsoncpp/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
-                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448"
-            },
-            "src/third_party/leveldatabase/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=",
-                "url": "https://chromium.googlesource.com/external/leveldb.git",
-                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea"
-            },
-            "src/third_party/libFuzzer/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HG3KHhKQnr4hdnUK/2QhcxRdNxh38fhU54JKKzqZaio=",
-                "url": "https://chromium.googlesource.com/chromium/llvm-project/compiler-rt/lib/fuzzer.git",
-                "rev": "debe7d2d1982e540fbd6bd78604bf001753f9e74"
-            },
-            "src/third_party/centipede/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yFZOn/Ga+D/b/1TwuOZdO/H4/GuX/HRB18rgYg7+rmE=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/centipede.git",
-                "rev": "a5a9071410e6e8134855b88461d0eb2c77d48cdd"
-            },
-            "src/third_party/libaddressinput/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
-                "url": "https://chromium.googlesource.com/external/libaddressinput.git",
-                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd"
-            },
-            "src/third_party/libaom/source/libaom": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-j8b0xM7hHNqYIeUQjf+c7LyzcfZVJx64Xqo9gIRtsYU=",
-                "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "5a0903824082f41123e8365b5b99ddb6ced8971c"
-            },
-            "src/third_party/libavif/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3Oe8ouucu2eHpXov3WchwKQIqjhzuSFfNZ7ChEkQiTE=",
-                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "1af8cea3d1b3a05ecbcb0e39d99a7f0183e6ce13"
-            },
-            "src/third_party/nearby/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GfxGDSh2qkjIGgXgwH0xWAnjswOmGEVaXlci+tZS53g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "37000006c224476104276bf74038d60967593814"
-            },
-            "src/third_party/securemessage/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git",
-                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84"
-            },
-            "src/third_party/ukey2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git",
-                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47"
-            },
-            "src/third_party/cros-components/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HgBDDfYvxYtHPfWlAs4aFCzDyhdcWnSP9nvCl8/UDfU=",
-                "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "0971e0c09f748dd476089b0e5136fe0b84e0bb4c"
-            },
-            "src/third_party/libdrm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ML89TBKDPHOd0YOVBmvLac+tyqgA5khDFK5vq4CCru8=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
-                "rev": "b9ca37b3134861048986b75896c0915cbf2e97f9"
-            },
-            "src/third_party/expat/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-                "rev": "441f98d02deafd9b090aea568282b28f66a50e36"
-            },
-            "src/third_party/libipp/libipp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
-                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f"
-            },
-            "src/third_party/libjpeg_turbo": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-QnXMR9qqRiYfV1sUJvKVvLQ9A022lYKbsrI9HOU9LCs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "aa4075f116e4312537d0d3e9dbd5e31096539f94"
-            },
-            "src/third_party/liblouis/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
-                "url": "https://chromium.googlesource.com/external/liblouis-github.git",
-                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376"
-            },
-            "src/third_party/libphonenumber/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
-                "url": "https://chromium.googlesource.com/external/libphonenumber.git",
-                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362"
-            },
-            "src/third_party/libprotobuf-mutator/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
-                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf"
-            },
-            "src/third_party/libsrtp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
-                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a"
-            },
-            "src/third_party/libsync/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
-                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
-                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6"
-            },
-            "src/third_party/libvpx/source/libvpx": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hIXEvCqbeMShGL1hCpJAMPbpuVfFM6Z4z5DPR3kfwb4=",
-                "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "27171320f5e36f7b18071bfa1d9616863ca1b4e8"
-            },
-            "src/third_party/libwebm/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=",
-                "url": "https://chromium.googlesource.com/webm/libwebm.git",
-                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da"
-            },
-            "src/third_party/libwebp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-zBMivj2tF5AWC+E/rHHEtxBel0i1YwGGBus+4h3PCYY=",
-                "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "fd7b5d48464475408d32d2611bdb6947d4246b97"
-            },
-            "src/third_party/libyuv": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LLmTW05GxoXgNkLRHp3e6gb7glMgJo1moc6lPLVHk6w=",
-                "url": "https://chromium.googlesource.com/libyuv/libyuv.git",
-                "rev": "77c2121f7e6b8e694d6e908bbbe9be24214097da"
-            },
-            "src/third_party/lss": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-                "url": "https://chromium.googlesource.com/linux-syscall-support.git",
-                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521"
-            },
-            "src/third_party/material_color_utilities/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Cv1TjvOcswhp60LXblrLwY5jrudqKuDUqs1c//x49YE=",
-                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
-                "rev": "bd6537fb1c4aa2164d97f96e78a9c826e360a0ed"
-            },
-            "src/third_party/minigbm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
-                "rev": "3018207f4d89395cc271278fb9a6558b660885f5"
-            },
-            "src/third_party/nasm": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L+b3X3vsfpY6FSlIK/AHhxhmq2cXd50vND6uT6yn8Qs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
-                "rev": "7fc833e889d1afda72c06220e5bed8fb43b2e5ce"
-            },
-            "src/third_party/neon_2_sse/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
-                "rev": "a15b489e1222b2087007546b4912e21293ea86ff"
-            },
-            "src/third_party/openh264/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=",
-                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
-                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
-            },
-            "src/third_party/openscreen/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-MSJbCxYEJmhUrBUobKBgUhPV5yMhxxtKgU4NE2h9mFs=",
-                "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "0964c1e903264ae2c388fc0eda3309c22b46e1a2"
-            },
-            "src/third_party/openscreen/src/third_party/tinycbor/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
-                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"
-            },
-            "src/third_party/pdfium": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3FXPYcZZtfwzlkkakKczjoYbDURBA/QDCVdOn+98864=",
-                "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "9505810f66cc3dde86c30d072de53ca6fc8a45de"
-            },
-            "src/third_party/perfetto": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AJWzQUYiml374LUZyku0ZTEM+lXAKsjc1YbsLfCfMGo=",
-                "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "f2da6df2f144e41e1c1428f11e8b388eaf8a2209"
-            },
-            "src/third_party/pthreadpool/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Pfvievhma1rOpbLdSrIX4KaZyRpdvrnjRzzPYl3fDQo=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git",
-                "rev": "1787867f6183f056420e532eec640cba25efafea"
-            },
-            "src/third_party/pyelftools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
-                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae"
-            },
-            "src/third_party/quic_trace/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
-                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc"
-            },
-            "src/third_party/pywebsocket3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git",
-                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2"
-            },
-            "src/third_party/re2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9dMTr5VuQfteKK/xIqZUqLnGu26ZYlFUfZTZNgzKUN4=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "11073deb73b3d01018308863c0bcdfd0d51d3e70"
-            },
-            "src/third_party/ruy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Sv2rfq3ghddpcJHn7Z2FTXpwKdzgJOiSGu6HhV6nXIQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
-                "rev": "363f252289fb7a1fba1703d99196524698cb884d"
-            },
-            "src/third_party/skia": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7kD6XLaeriWGXM69rCcqPoAkX0NAFOFhFX/SBm710cA=",
-                "url": "https://skia.googlesource.com/skia.git",
-                "rev": "ea1a1635fcf5b1f68b59cd3f8649a0abfab65cfd"
-            },
-            "src/third_party/smhasher/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
-                "url": "https://chromium.googlesource.com/external/smhasher.git",
-                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f"
-            },
-            "src/third_party/snappy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git",
-                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c"
-            },
-            "src/third_party/sqlite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-MO4fd5ROy8vtUeGYeWaMT6uO/zYUruPCPjHnZT9elcI=",
-                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "f6752b7ed1fe3cc1491c0c47ec5804ee2bd0e59b"
-            },
-            "src/third_party/swiftshader": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-H2A42dNT1DgRknyL3lzHlWbxURskjTqzvqd097w4Tho=",
-                "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "23e97b79fb9193bf88e79c16c6a577c680edb2d6"
-            },
-            "src/third_party/text-fragments-polyfill/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
-                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f"
-            },
-            "src/third_party/tflite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TdBBSPfUCIst1G6BixqcOx9dQiN6f1wmSRS9Gjh4K1U=",
-                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "ab14323eaf8522fa608fe047d99249bc844c47cd"
-            },
-            "src/third_party/vulkan-deps": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-4Mwtu/Qmz0wAm8YCWYq9ogzKLg7nEwgka3+OFI/s+fs=",
-                "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "a52479099cf2862650df9dbc12e2e202e345901e"
-            },
-            "src/third_party/vulkan-deps/glslang/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UOJ4O1zRbW0qxj2oxSKSdvOwZOD907Q0flXxQjYavuQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "9c7fd1a33e5cecbe465e1cd70170167d5e40d398"
-            },
-            "src/third_party/vulkan-deps/spirv-cross/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UmzXWpjwGgLijP+BumSK1OW+8OrtWjBXgIt4vzI8ZvQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "fc9bee27f445644635e83ef111ef54944bb6e3af"
-            },
-            "src/third_party/vulkan-deps/spirv-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-a7OjEH3WczZa8VFvPGGh/J+8nmtYDf0eSUuxU20XSJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "cfbe4feef20c3c0628712c2792624f0221e378ac"
-            },
-            "src/third_party/vulkan-deps/spirv-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UfcBkLIDSEgKyEz11Tsf3FIM+R6ZboWmDVKR1xu6q6o=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "25ad5e19f193429b737433d5f6151062ddbc1680"
-            },
-            "src/third_party/vulkan-deps/vulkan-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bilEf59jBDgl5WUgOZpRSMkp33C/rssj37rdvHaxRGU=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "8a397558c4d2a4bf9e64e900c45a7e65664c32b2"
-            },
-            "src/third_party/vulkan-deps/vulkan-loader/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gLNrvpBDnKOr03e5TKxMUVCQ70fI27x3MSLVjMkw2d8=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "f035e57c171ce9009f2c47b5488a66c653843501"
-            },
-            "src/third_party/vulkan-deps/vulkan-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VEBPgOGdrzQoIYU7BTioa6m/OH1TUGXGaF7FH5B/h2M=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "df10a2759b4b60d59b735882217a749d8e5be660"
-            },
-            "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-JqLhqdqKX2n0ifLfS7ymOL2kcelUjdmsLKqmkqPwTQU=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "3d530f6921f7a9defa297eec25fcef77c9b96282"
-            },
-            "src/third_party/vulkan_memory_allocator": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rARuPHa/gEAOTM8/Fnob0bU0Jv+UKLiwe3o0UGWYlME=",
-                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "ebe84bec02c041d28f902da0214bf442743fc907"
-            },
-            "src/third_party/wayland/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-fcZtJP/8Ck+9WyPvt3AhogwPae5+gAxdIaEMp7eSr44=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
-                "rev": "c7473676b8abc682e820546287044cee3bca9147"
-            },
-            "src/third_party/wayland-protocols/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3QK+ZN6IFUFkDxySSoQwP1J3JnTlD7JPaUk6Tr/d/k4=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git",
-                "rev": "4624cfaaf563cd7be5e2e2087c8de6d3a48ea867"
-            },
-            "src/third_party/wayland-protocols/kde": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git",
-                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e"
-            },
-            "src/third_party/wayland-protocols/gtk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git",
-                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0"
-            },
-            "src/third_party/webdriver/pylib": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
-                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
-                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04"
-            },
-            "src/third_party/webgl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BRF0/WxbwxTby1o+zFHU42s7xYJUmcsgfu4DFX97jRU=",
-                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
-                "rev": "d1b65aa5a88f6efd900604dfcda840154e9f16e2"
-            },
-            "src/third_party/webgpu-cts/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pSwkkIcfrWP6NKNFtHlyq2Z7zYqbKU6V/GXMqH6rYBs=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "7d2d22292ce5af280c8c5849ed7f0679d7ab70e9"
-            },
-            "src/third_party/webrtc": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-J/XEHY4y9j4bg0+ORkDydVOvtncPLMN/9cy073lpMOM=",
-                "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "151be743d4c83671565f9c1eada3f4a0b2e44dea"
-            },
-            "src/third_party/wuffs/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HP8Vf1C9DuA9H+busf3lFoF9SsYqviLKv0l73CxmNEI=",
-                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
-                "rev": "fe9d08f2b6e80af691bfb1a718e144c49a1b9eba"
-            },
-            "src/third_party/weston/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EKl6oIM8Vml9wtSIb9ExFIuuJohbU/rsG3JVS5thaUU=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
-                "rev": "420cfd00f2de91de74bd9d4d8348e43c582d29f0"
-            },
-            "src/third_party/xdg-utils": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t3uV9JkkQQIwmezzSoEdTMLSizZdLQB7eLKTRQGH4kQ=",
-                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "d80274d5869b17b8c9067a1022e4416ee7ed5e0d"
-            },
-            "src/third_party/xnnpack/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vsn3lrog5affus0qxc4TK2Z/tdd/E6hBYeUQRWoDZPQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
-                "rev": "b9d4073a6913891ce9cbd8965c8d506075d2a45a"
-            },
-            "src/tools/page_cycler/acid3": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+7Ynz7k/dWdd4Wo7Rjzvc8GY9gTsjzjG3GdNsuDKszY=",
-                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git",
-                "rev": "6be0a66a1ebd7ebc5abc1b2f405a945f6d871521"
-            },
-            "src/v8": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pmam8TVqtxmfc0V1gy2R1jhW+dF2ybzeKbGZKAbJveY=",
-                "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "978934af4a291282d994fc184d5dc03a82deb5df"
-            },
-            "src/third_party/nan": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-tur5CExvwuSmwqBwH9o8OZWzDuifRybjEb+4/tm6exk=",
-                "owner": "nodejs",
-                "repo": "nan",
-                "rev": "16fa32231e2ccd89d2804b3f765319128b20c4ac"
-            },
-            "src/third_party/electron_node": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-XBm+WYXQ8DM1HU6NFciGSfkbHDXPbTyg0gScQCbbpQU=",
-                "owner": "nodejs",
-                "repo": "node",
-                "rev": "v18.15.0"
-            },
-            "src/third_party/squirrel.mac": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
-                "owner": "Squirrel",
-                "repo": "Squirrel.Mac",
-                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
-            },
-            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
-                "owner": "ReactiveCocoa",
-                "repo": "ReactiveObjC",
-                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
-            },
-            "src/third_party/squirrel.mac/vendor/Mantle": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
-                "owner": "Mantle",
-                "repo": "Mantle",
-                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
-            }
-        },
-        "version": "25.9.1",
-        "modules": "116",
-        "chrome": "114.0.5735.289",
-        "node": "18.15.0",
-        "chromium": {
-            "version": "114.0.5735.289",
-            "deps": {
-                "gn": {
-                    "version": "2023-04-19",
-                    "url": "https://gn.googlesource.com/gn",
-                    "rev": "5a004f9427a050c6c393c07ddb85cba8ff3849fa",
-                    "hash": "sha256-U0rinjJAToVh4zCBd/9I3O4McxW88b7Bp6ibmmqCuQc="
-                }
-            }
-        },
-        "chromium_npm_hash": "sha256-WFkyT1V4jNkWUyyHF68yEe50GhdlNZJBXuQvVVGPk6A=",
-        "electron_yarn_hash": "0fq44b91ha1lbgakwfz16z0g10y66c7m8gvlkg1ci81rzjrj0qpz"
+        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
+        "electron_yarn_hash": "05wkb1m0yjbai4153y49kwr1v2lj14fg75aqlvmmrhf3bxp9lg5g"
     }
 }
diff --git a/pkgs/development/tools/electron/version-old.patch b/pkgs/development/tools/electron/version-old.patch
deleted file mode 100644
index 00562225d7677..0000000000000
--- a/pkgs/development/tools/electron/version-old.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/electron/BUILD.gn b/electron/BUILD.gn
-index c905891eb8..f2cf11fe88 100644
---- a/electron/BUILD.gn
-+++ b/electron/BUILD.gn
-@@ -111,8 +111,6 @@ electron_version = exec_script("script/print-version.py",
-                                [],
-                                "trim string",
-                                [
--                                 ".git/packed-refs",
--                                 ".git/HEAD",
-                                  "script/lib/get-version.js",
-                                ])
- 
-diff --git a/electron/script/lib/get-version.js b/electron/script/lib/get-version.js
-index 45a120482b..ddaf8ab60e 100644
---- a/electron/script/lib/get-version.js
-+++ b/electron/script/lib/get-version.js
-@@ -1,22 +1 @@
--const { spawnSync } = require('child_process');
--const path = require('path');
--
--module.exports.getElectronVersion = () => {
--  // Find the nearest tag to the current HEAD
--  // This is equivilant to our old logic of "use a value in package.json" for the following reasons
--  //
--  // 1. Whenever we updated the package.json we ALSO pushed a tag with the same version
--  // 2. Whenever we _reverted_ a bump all we actually did was push a commit that deleted the tag and changed the version number back
--  //
--  // The only difference in the "git describe" technique is that technically a commit can "change" it's version
--  // number if a tag is created / removed retroactively.  i.e. the first time a commit is pushed it will be 1.2.3
--  // and after the tag is made rebuilding the same commit will result in it being 1.2.4
--  const output = spawnSync('git', ['describe', '--tags', '--abbrev=0'], {
--    cwd: path.resolve(__dirname, '..', '..')
--  });
--  if (output.status !== 0) {
--    console.error(output.stderr);
--    throw new Error('Failed to get current electron version');
--  }
--  return output.stdout.toString().trim().replace(/^v/g, '');
--};
-+module.exports.getElectronVersion = () => "@version@";
-
diff --git a/pkgs/development/tools/electron/version.patch b/pkgs/development/tools/electron/version.patch
index 6edb64a23eaf0..00562225d7677 100644
--- a/pkgs/development/tools/electron/version.patch
+++ b/pkgs/development/tools/electron/version.patch
@@ -16,8 +16,8 @@ index 45a120482b..ddaf8ab60e 100644
 --- a/electron/script/lib/get-version.js
 +++ b/electron/script/lib/get-version.js
 @@ -1,22 +1 @@
--const { spawnSync } = require('node:child_process');
--const path = require('node:path');
+-const { spawnSync } = require('child_process');
+-const path = require('path');
 -
 -module.exports.getElectronVersion = () => {
 -  // Find the nearest tag to the current HEAD
diff --git a/pkgs/development/tools/espup/default.nix b/pkgs/development/tools/espup/default.nix
index d1d48796909e5..0e47b8e55658d 100644
--- a/pkgs/development/tools/espup/default.nix
+++ b/pkgs/development/tools/espup/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "espup";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "esp-rs";
     repo = "espup";
     rev = "v${version}";
-    hash = "sha256-CNEfqrysSETTJzhVl45Aip04QRxE9Kbqalu6SLQ16i4=";
+    hash = "sha256-MLr6Fh1KAvGry/fToJuLYOf36MKW2i5W4XiMIEeb52M=";
   };
 
-  cargoHash = "sha256-9eQm2+p8eXrfbvdjfqQrbQ4oprNJL8rO88gafBe8/RQ=";
+  cargoHash = "sha256-AIM08tvt1w+TJgjxCxU+zN9eDBvgCv15WM+vQGbTF18=";
 
   nativeBuildInputs = [
     pkg-config
@@ -71,7 +71,7 @@ rustPlatform.buildRustPackage rec {
     description = "Tool for installing and maintaining Espressif Rust ecosystem.";
     homepage = "https://github.com/esp-rs/espup/";
     license = with licenses; [ mit asl20 ];
-    maintainers = with maintainers; [ knightpp ];
+    maintainers = with maintainers; [ knightpp beeb ];
     mainProgram = "espup";
   };
 }
diff --git a/pkgs/development/tools/fastgron/default.nix b/pkgs/development/tools/fastgron/default.nix
index d4ac30958a273..3e30d87d0ddea 100644
--- a/pkgs/development/tools/fastgron/default.nix
+++ b/pkgs/development/tools/fastgron/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastgron";
-  version = "0.6.4";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "adamritter";
     repo = "fastgron";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-sGTJ98YEvy+pOFVLLIcvgUq5Pn4r1CYL9YEchZhoBeQ=";
+    hash = "sha256-dAfFSQ/UbAovQQr5AnCsyQtq1JkdQjvlG/SbuFnTx0E=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/fsautocomplete/deps.nix b/pkgs/development/tools/fsautocomplete/deps.nix
index fdd669cf90abc..b807457ad01e0 100644
--- a/pkgs/development/tools/fsautocomplete/deps.nix
+++ b/pkgs/development/tools/fsautocomplete/deps.nix
@@ -78,9 +78,9 @@
   (fetchNuGet { pname = "McMaster.NETCore.Plugins"; version = "1.4.0"; sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; })
   (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; sha256 = "0nb1fx8dwl7304kw0bc375bvlhb7pg351l4cl3vqqd7d8zqjwx5v"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.24"; sha256 = "0lriw4f48f0q2vyagbngnffshdismn3msn7d6dj0lb2xdkzsz1f1"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.24"; sha256 = "08670zhn2ywkwy0d7sj89rikxccy5qg0vsjwpbypvzndawng0bb9"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.24"; sha256 = "0knx6lhlqxn3lkgakpab0663788q0si00m9ga7wdn2mzqq0s9yx0"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.25"; sha256 = "1vrmqn5j6ibwkqasbf7x7n4w5jdclnz3giymiwvym2wa0y5zc59q"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.25"; sha256 = "0mgcs4si7mwd0f555s1vg17pf4nqfaijd1pci359l1pgrmv70rrg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.25"; sha256 = "0wvzhqhlmlbnpa18qp8m3wcrlcgj3ckvp3iv2n7g8vb60c3238aq"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; })
   (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.0"; sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0"; })
   (fetchNuGet { pname = "Microsoft.Build"; version = "17.2.0"; sha256 = "09hs74nr0kv83wc1way9x7vq3nmxbr2s4vdy99hx78kj25pylcr7"; })
@@ -121,11 +121,11 @@
   (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; sha256 = "1smx30nq22plrn2mw4wb5vfgxk6hyx12b60c4wabmpnr81lq3nzv"; })
   (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.6.3"; sha256 = "0g5jdg0jp844a2ygwlm04igsxkrihqcq2rpmfx722nrv3vrk0r0z"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.4.1"; sha256 = "02p1j9fncd4fb2hyp51kw49d0dz30vvazhzk24c9f5ccc00ijpra"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.24"; sha256 = "1vyy01i4w2wcx82mrjjsbp98v9sjn1cwhdvkhrw8yrrb04lcxbir"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.24"; sha256 = "02l6javfqwsaialkimmpsq3v4dhb1j4sxy19yvr5w5sdjmq1jh5y"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.24"; sha256 = "1fy1hr14igy4lix4vmwkjj13cbyjjfhx8izch9cd9hc4f1y25767"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.24"; sha256 = "1zcn4px94z67j60cidynm5ab8cln1rrxabv7c24mlajqnkfw14sb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.24"; sha256 = "0rylvdvdc5rdmw2vcqi0fdzmiwwa1pwlqiavqnb2pslhhq8qg4mh"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.25"; sha256 = "052388yjivzkfllkss0nljbzmjx787jqdjsbb6ls855sp6wh9xfd"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.25"; sha256 = "103xy6kncjwbbchfnpqvsjpjy92x3dralcg9pw939jp0dwggwarz"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.25"; sha256 = "0jfhmfxpx1h4f3axgf60gc8d4cnlvbb853400kag6nk0875hr0x1"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.25"; sha256 = "0jpcmva1l8z36r4phz055l7fz9s6z8pv8pqc4ia69mhhgvr0ks7y"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.25"; sha256 = "012jml0bqxbspahf1j4bvvd91pz85hsbcyhq00gxczcazhxpkhz4"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "7.0.4"; sha256 = "0afmivk3m0hmwsiqnl87frzi7g57aiv5fwnjds0icl66djpb6zsm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; })
diff --git a/pkgs/development/tools/gdtoolkit/default.nix b/pkgs/development/tools/gdtoolkit/default.nix
index 479b0b2c3636b..ea5e5ec8de9ae 100644
--- a/pkgs/development/tools/gdtoolkit/default.nix
+++ b/pkgs/development/tools/gdtoolkit/default.nix
@@ -1,23 +1,28 @@
 { lib
-, python3Packages
+, python3
 , fetchFromGitHub
 , godot3-server
 }:
 
-let lark080 = python3Packages.lark.overrideAttrs (old: rec {
-  # gdtoolkit needs exactly this lark version
-  version = "0.8.0";
-  src = fetchFromGitHub {
-    owner = "lark-parser";
-    repo = "lark";
-    rev = version;
-    hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs=";
-    fetchSubmodules = true;
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      lark = super.lark.overridePythonAttrs (old: rec {
+        # gdtoolkit needs exactly this lark version
+        version = "0.8.0";
+        src = fetchFromGitHub {
+          owner = "lark-parser";
+          repo = "lark";
+          rev = version;
+          hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs=";
+          fetchSubmodules = true;
+        };
+        patches = [ ];
+      });
+    };
   };
-});
-
 in
-python3Packages.buildPythonApplication rec {
+python.pkgs.buildPythonApplication rec {
   pname = "gdtoolkit";
   version = "3.3.1";
 
@@ -29,18 +34,18 @@ python3Packages.buildPythonApplication rec {
     sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn";
   };
 
-  disabled = python3Packages.pythonOlder "3.7";
+  disabled = python.pythonOlder "3.7";
 
-  propagatedBuildInputs = [ lark080
-  ] ++ (with python3Packages; [
+  propagatedBuildInputs = with python.pkgs; [
     docopt
+    lark
     pyyaml
     setuptools
-  ]);
+  ];
 
   doCheck = true;
 
-  nativeCheckInputs = with python3Packages; [
+  nativeCheckInputs = with python.pkgs; [
     pytestCheckHook
     hypothesis
     godot3-server
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index f03d51273454a..77689b1e1f873 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.31.0";
+  version = "3.32.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KkswkTgdhDzPLfbAdyhbo9IyYqxG5se0pt9QVTNZclM=";
+    hash = "sha256-ngBYnPwZ+B5BB2avnR2J6+8mNxT9vxtI8f9agNtD8uw=";
   };
 
-  vendorHash = "sha256-ha2vJDh1rduoFU4a1Ta1cNWegAGt2VCq8N1emUYUZ64=";
+  vendorHash = "sha256-mPQ7sSFLzvcWtNh3pFhHKpnu5gXK+wC5qbGMRLZFTBE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gojq/default.nix b/pkgs/development/tools/gojq/default.nix
index b2d80e1916dc0..af7bc42ca751e 100644
--- a/pkgs/development/tools/gojq/default.nix
+++ b/pkgs/development/tools/gojq/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gojq";
-  version = "0.12.13";
+  version = "0.12.14";
 
   src = fetchFromGitHub {
     owner = "itchyny";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-tlnj0CCsPZRQjIZCvNPjN0JD6oqRDvdWOCYR3tYMPUA=";
+    hash = "sha256-mgmgOi3nMPwmcofEAVIN9nTE2oXnNN89lqT+Vi+sjzY=";
   };
 
-  vendorHash = "sha256-DVJZ35C+6SuhaaGDM3u+3fB1497qaW6oTByAUPVwhJI=";
+  vendorHash = "sha256-dv4k2dIFnlJrGDTDM4mXBOpr4MF7oxms0y02ml50YyY=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/tools/goperf/default.nix b/pkgs/development/tools/goperf/default.nix
new file mode 100644
index 0000000000000..ed1a6c1a23b7e
--- /dev/null
+++ b/pkgs/development/tools/goperf/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildGoModule
+, fetchgit
+, writeShellScript
+, unstableGitUpdater
+, sd
+}:
+
+buildGoModule rec {
+  pname = "goperf";
+  version = "unstable-2023-11-08";
+
+  src = fetchgit {
+    url = "https://go.googlesource.com/perf";
+    rev = "cb71e802ccb878a069712546879bf26489f0f300";
+    hash = "sha256-1NvrelLsy9lrepttXXnggc0oycC6EgJgU80iXDu3IoI=";
+  };
+
+  vendorHash = "sha256-dJQHqIR6v0yYbxplytkdA98IHtdxnsvi9X6kIESCsB8=";
+
+  passthru.updateScript = writeShellScript "update-goperf" ''
+    export UPDATE_NIX_ATTR_PATH=goperf
+    ${lib.escapeShellArgs (unstableGitUpdater { inherit (src) url; })}
+    set -x
+    oldhash="$(nix-instantiate . --eval --strict -A "goperf.go-modules.drvAttrs.outputHash" | cut -d'"' -f2)"
+    newhash="$(nix-build -A goperf.go-modules --no-out-link 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
+    fname="$(nix-instantiate --eval -E 'with import ./. {}; (builtins.unsafeGetAttrPos "version" goperf).file' | cut -d'"' -f2)"
+    ${lib.getExe sd} --string-mode "$oldhash" "$newhash" "$fname"
+  '';
+
+  meta = with lib; {
+    description = "Tools and packages for analyzing Go benchmark results";
+    homepage = "https://cs.opensource.google/go/x/perf";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index 683e701b07d59..0df1b97b15204 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, makeWrapper, nodejs }:
+{ stdenv, lib, fetchzip, makeWrapper, nodejs, writeScript }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "heroku";
-  version = "7.66.4";
+  version = "8.7.1";
 
-  src = fetchurl {
-    url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
-    sha256 = "sha256-AAiC88RBqR5RXeIj39in7hlvI3JNQB6KUwGmt9jo93A=";
+  src = fetchzip {
+    url = "https://cli-assets.heroku.com/versions/8.7.1/3f5e369/heroku-v8.7.1-3f5e369-linux-x64.tar.xz";
+    hash = "sha256-3pCutQBS8N1Yw4JKTvU046UrOxBi0wLRQywxwezAEeU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -22,6 +22,19 @@ stdenv.mkDerivation rec {
       --set HEROKU_DISABLE_AUTOUPDATE 1
   '';
 
+  passthru.updateScript = writeScript "update-heroku" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -I nixpkgs=./. -i bash -p nix-prefetch curl jq common-updater-scripts
+    resp="$(
+        curl -L "https://cli-assets.heroku.com/versions/heroku-linux-x64-tar-xz.json" \
+            | jq '[to_entries[] | { version: .key, url: .value } | select(.version|contains("-")|not)] | sort_by(.version|split(".")|map(tonumber)) | .[-1]'
+    )"
+    url="$(jq <<<"$resp" .url --raw-output)"
+    version="$(jq <<<"$resp" .version --raw-output)"
+    hash="$(nix-prefetch fetchzip --url "$(jq <<<"$resp" .url --raw-output)")"
+    update-source-version heroku "$version" "$hash" "$url"
+  '';
+
   meta = {
     homepage = "https://devcenter.heroku.com/articles/heroku-cli";
     description = "Everything you need to get started using Heroku";
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index f5afe959967a6..b60011095f448 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PSJNPN5hd5Tgt6F70II2gMiUiU0irncSefm6Q7WjUDE=";
+    sha256 = "sha256-rZDLnr3FNLNOadmST70p5ZusK+p9SiUmVrnc5TrKuK4=";
   };
-  vendorHash = "sha256-0zWTVE82GaSyWfgbRASpNdO/d4kKOts1XdPspmgfpV8=";
+  vendorHash = "sha256-gaY3U6+Emk6La5wPyT5TvgTwPsh2Ws2t7C8B5T4c46E=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/development/tools/melange/default.nix b/pkgs/development/tools/melange/default.nix
index f5a5eb8ee85ab..9e2ce1cb0a998 100644
--- a/pkgs/development/tools/melange/default.nix
+++ b/pkgs/development/tools/melange/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "melange";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sEmbfX7W1juymAxcWwDNxI8d/o7NS2S+0TJM6Vi9aQo=";
+    hash = "sha256-3xUSxsY/+66xldkkGahyCun2SoL1njRkJtdqxlMczD8=";
     # 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;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-IkbXZu6iHRXjWFsLtRBDxwJio5sVVZvHylk1al0S+/c=";
+  vendorHash = "sha256-XrSq55Cz1ixawx9W7jw16tTxyAVZ8h71iA5zO+H8dCg=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix
index 1a7fb2a91dcc0..8e0b2689984ef 100644
--- a/pkgs/development/tools/memray/default.nix
+++ b/pkgs/development/tools/memray/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "memray";
-  version = "1.10.0";
+  version = "1.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bloomberg";
-    repo = pname;
-    rev = "refs/tags/${version}";
+    repo = "memray";
+    rev = "refs/tags/v${version}";
     hash = "sha256-DaJ1Hhg7q4ckA5feUx0twOsmy28v5aBBCTUAkn43xAo=";
   };
 
@@ -63,9 +63,9 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Memory profiler for Python";
     homepage = "https://bloomberg.github.io/memray/";
+    changelog = "https://github.com/bloomberg/memray/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
-    changelog = "https://github.com/bloomberg/memray/releases/tag/${version}";
   };
 }
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index e417bc217f8db..8d62f1a51b7a1 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "minizinc";
-  version = "2.7.6";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = finalAttrs.version;
-    sha256 = "sha256-1+bFF79lYt5RAx5gfNg7J3iB7ExxNgFUmBIcg6/hfQs=";
+    sha256 = "sha256-l6q9bRreQXn8jA1SSHS4UYN+SlPVCQGtJ1mRiJ3wFMU=";
   };
 
   nativeBuildInputs = [ bison cmake flex jq ];
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 567e93efd67ed..26337b0dcc7dd 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.54";
+  version = "0.2.55";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1DYK47pucEh423ySyBy3hwi6QeB/nNQvwapEJZYRX8E=";
+    hash = "sha256-OFtzqnXKj03papfBDQlgUonOA7eKGWDJeVZmfFkPUcc=";
   };
 
   vendorHash = "sha256-45UPm7ThTSRTgzaD4tXoTaeT4hRlMKn01mvgJS1I7zI=";
diff --git a/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch b/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch
deleted file mode 100644
index 41ce4540d2ddc..0000000000000
--- a/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Fix iWerror=format build for 32-bit systems.
-https://sourceware.org/pipermail/gdb-patches/2022-May/189288.html
---- a/sim/cris/sim-if.c
-+++ b/sim/cris/sim-if.c
-@@ -257,7 +257,8 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 
-       if (verbose)
- 	sim_io_printf (sd,
--		       "Loading segment at 0x%" BFD_VMA_FMT "x, size 0x%lx\n",
-+		       "Loading segment at 0x%" BFD_VMA_FMT "x, "
-+		       "size 0x%" BFD_VMA_FMT "x\n",
- 		       lma, phdr[i].p_filesz);
- 
-       if (bfd_seek (abfd, phdr[i].p_offset, SEEK_SET) != 0
-@@ -265,7 +266,7 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 	{
- 	  sim_io_eprintf (sd,
- 			  "%s: could not read segment at 0x%" BFD_VMA_FMT "x, "
--			  "size 0x%lx\n",
-+			  "size 0x%" BFD_VMA_FMT "x\n",
- 			  STATE_MY_NAME (sd), lma, phdr[i].p_filesz);
- 	  free (buf);
- 	  return FALSE;
-@@ -275,7 +276,7 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 	{
- 	  sim_io_eprintf (sd,
- 			  "%s: could not load segment at 0x%" BFD_VMA_FMT "x, "
--			  "size 0x%lx\n",
-+			  "size 0x%" BFD_VMA_FMT "x\n",
- 			  STATE_MY_NAME (sd), lma, phdr[i].p_filesz);
- 	  free (buf);
- 	  return FALSE;
-@@ -572,7 +573,8 @@ cris_handle_interpreter (SIM_DESC sd, struct bfd *abfd)
- 	 memory area, so we go via a temporary area.  Luckily, the
- 	 interpreter is supposed to be small, less than 0x40000
- 	 bytes.  */
--      sim_do_commandf (sd, "memory region 0x%" BFD_VMA_FMT "x,0x%lx",
-+      sim_do_commandf (sd, "memory region 0x%" BFD_VMA_FMT "x,"
-+		       "0x%" BFD_VMA_FMT "x",
- 		       interp_load_addr, interpsiz);
- 
-       /* Now that memory for the interpreter is defined, load it.  */
---- a/sim/m32c/syscalls.c
-+++ b/sim/m32c/syscalls.c
-@@ -299,8 +299,8 @@ m32c_syscall (int id)
- 
- 	rv = gettimeofday (&tv, 0);
- 	if (trace)
--	  printf ("gettimeofday: %ld sec %ld usec to 0x%x\n", tv.tv_sec,
--		  tv.tv_usec, tvaddr);
-+	  printf ("gettimeofday: %lld sec %lld usec to 0x%x\n",
-+		  (long long)tv.tv_sec, (long long)tv.tv_usec, tvaddr);
- 	mem_put_si (tvaddr, tv.tv_sec);
- 	mem_put_si (tvaddr + 4, tv.tv_usec);
- 	put_reg (r0, rv);
---- a/sim/rx/syscalls.c
-+++ b/sim/rx/syscalls.c
-@@ -270,8 +270,8 @@ rx_syscall (int id)
- 
- 	rv = gettimeofday (&tv, 0);
- 	if (trace)
--	  printf ("gettimeofday: %ld sec %ld usec to 0x%x\n", tv.tv_sec,
--		  tv.tv_usec, tvaddr);
-+	  printf ("gettimeofday: %lld sec %lld usec to 0x%x\n",
-+		  (long long)tv.tv_sec, (long long)tv.tv_usec, tvaddr);
- 	mem_put_si (tvaddr, tv.tv_sec);
- 	mem_put_si (tvaddr + 4, tv.tv_usec);
- 	put_reg (1, rv);
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 733966f470628..544a0221737e4 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -123,16 +123,17 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hydra";
-  version = "2023-11-17";
+  version = "2023-12-04";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "8f48e4ddecbf403be35f8243b97d73cb39dd61bb";
-    hash = "sha256-5q/7yz6jJedD8YU3SuYyXtN3qEAlOBRKGZxOcYt/0X8=";
+    rev = "4dc8fe0b08edc421c251270ccd4be3e5bf9d66b4";
+    hash = "sha256-FjyMb5ZbPa2GLrRuFMUP/foKb0KvXFKThvgc9faFIw8=";
   };
 
   buildInputs = [
+    unzip
     libpqxx
     top-git
     mercurial
@@ -179,7 +180,6 @@ stdenv.mkDerivation rec {
     makeWrapper
     pkg-config
     mdbook
-    unzip
     nukeReferences
   ];
 
diff --git a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
index cfcd86f9dc2b1..78a04adde7977 100644
--- a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
+++ b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nxpmicro-mfgtools";
-  version = "1.5.125";
+  version = "1.5.139";
 
   src = fetchFromGitHub {
     owner = "nxp-imx";
     repo = "mfgtools";
     rev = "uuu_${version}";
-    sha256 = "sha256-f9Nt303xXZzLSu3GtOEpyaL91WVFUmKO7mxi8UNX3go=";
+    sha256 = "sha256-t5usUGbcdLQlqPpZkNDeGncka9VfkpO7U933Kw/Sm7U=";
   };
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles ];
diff --git a/pkgs/development/tools/misc/phpunit/composer.lock b/pkgs/development/tools/misc/phpunit/composer.lock
deleted file mode 100644
index b5b0a7cedb7f6..0000000000000
--- a/pkgs/development/tools/misc/phpunit/composer.lock
+++ /dev/null
@@ -1,1542 +0,0 @@
-{
-    "_readme": [
-        "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
-        "This file is @generated automatically"
-    ],
-    "content-hash": "11284f406a2af1b4b94558b5910ea51c",
-    "packages": [
-        {
-            "name": "myclabs/deep-copy",
-            "version": "1.11.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/myclabs/DeepCopy.git",
-                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
-                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.1 || ^8.0"
-            },
-            "conflict": {
-                "doctrine/collections": "<1.6.8",
-                "doctrine/common": "<2.13.3 || >=3,<3.2.2"
-            },
-            "require-dev": {
-                "doctrine/collections": "^1.6.8",
-                "doctrine/common": "^2.13.3 || ^3.2.2",
-                "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
-            },
-            "type": "library",
-            "autoload": {
-                "files": [
-                    "src/DeepCopy/deep_copy.php"
-                ],
-                "psr-4": {
-                    "DeepCopy\\": "src/DeepCopy/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "description": "Create deep copies (clones) of your objects",
-            "keywords": [
-                "clone",
-                "copy",
-                "duplicate",
-                "object",
-                "object graph"
-            ],
-            "support": {
-                "issues": "https://github.com/myclabs/DeepCopy/issues",
-                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
-            },
-            "funding": [
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
-                    "type": "tidelift"
-                }
-            ],
-            "time": "2023-03-08T13:26:56+00:00"
-        },
-        {
-            "name": "nikic/php-parser",
-            "version": "v4.17.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/nikic/PHP-Parser.git",
-                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
-                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=7.0"
-            },
-            "require-dev": {
-                "ircmaxell/php-yacc": "^0.0.7",
-                "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
-            },
-            "bin": [
-                "bin/php-parse"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.9-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "PhpParser\\": "lib/PhpParser"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Nikita Popov"
-                }
-            ],
-            "description": "A PHP parser written in PHP",
-            "keywords": [
-                "parser",
-                "php"
-            ],
-            "support": {
-                "issues": "https://github.com/nikic/PHP-Parser/issues",
-                "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
-            },
-            "time": "2023-08-13T19:53:39+00:00"
-        },
-        {
-            "name": "phar-io/manifest",
-            "version": "2.0.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phar-io/manifest.git",
-                "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
-                "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-phar": "*",
-                "ext-xmlwriter": "*",
-                "phar-io/version": "^3.0.1",
-                "php": "^7.2 || ^8.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Arne Blankerts",
-                    "email": "arne@blankerts.de",
-                    "role": "Developer"
-                },
-                {
-                    "name": "Sebastian Heuer",
-                    "email": "sebastian@phpeople.de",
-                    "role": "Developer"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "Developer"
-                }
-            ],
-            "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
-            "support": {
-                "issues": "https://github.com/phar-io/manifest/issues",
-                "source": "https://github.com/phar-io/manifest/tree/2.0.3"
-            },
-            "time": "2021-07-20T11:28:43+00:00"
-        },
-        {
-            "name": "phar-io/version",
-            "version": "3.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phar-io/version.git",
-                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
-                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.2 || ^8.0"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Arne Blankerts",
-                    "email": "arne@blankerts.de",
-                    "role": "Developer"
-                },
-                {
-                    "name": "Sebastian Heuer",
-                    "email": "sebastian@phpeople.de",
-                    "role": "Developer"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "Developer"
-                }
-            ],
-            "description": "Library for handling version information and constraints",
-            "support": {
-                "issues": "https://github.com/phar-io/version/issues",
-                "source": "https://github.com/phar-io/version/tree/3.2.1"
-            },
-            "time": "2022-02-21T01:04:05+00:00"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "10.1.9",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a56a9ab2f680246adcf3db43f38ddf1765774735",
-                "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-libxml": "*",
-                "ext-xmlwriter": "*",
-                "nikic/php-parser": "^4.15",
-                "php": ">=8.1",
-                "phpunit/php-file-iterator": "^4.0",
-                "phpunit/php-text-template": "^3.0",
-                "sebastian/code-unit-reverse-lookup": "^3.0",
-                "sebastian/complexity": "^3.0",
-                "sebastian/environment": "^6.0",
-                "sebastian/lines-of-code": "^2.0",
-                "sebastian/version": "^4.0",
-                "theseer/tokenizer": "^1.2.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.1"
-            },
-            "suggest": {
-                "ext-pcov": "PHP extension that provides line coverage",
-                "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "10.1-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
-                "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.9"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-11-23T12:23:20+00:00"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "4.1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
-                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "4.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
-                "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-08-31T06:24:48+00:00"
-        },
-        {
-            "name": "phpunit/php-invoker",
-            "version": "4.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-invoker.git",
-                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
-                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "ext-pcntl": "*",
-                "phpunit/phpunit": "^10.0"
-            },
-            "suggest": {
-                "ext-pcntl": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "4.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Invoke callables with a timeout",
-            "homepage": "https://github.com/sebastianbergmann/php-invoker/",
-            "keywords": [
-                "process"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
-                "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T06:56:09+00:00"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "3.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
-                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "3.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
-                "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
-                "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-08-31T14:07:24+00:00"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "6.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
-                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "6.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-timer/issues",
-                "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T06:57:52+00:00"
-        },
-        {
-            "name": "sebastian/cli-parser",
-            "version": "2.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/cli-parser.git",
-                "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
-                "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "2.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library for parsing CLI options",
-            "homepage": "https://github.com/sebastianbergmann/cli-parser",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
-                "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T06:58:15+00:00"
-        },
-        {
-            "name": "sebastian/code-unit",
-            "version": "2.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/code-unit.git",
-                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
-                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "2.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Collection of value objects that represent the PHP code units",
-            "homepage": "https://github.com/sebastianbergmann/code-unit",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/code-unit/issues",
-                "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T06:58:43+00:00"
-        },
-        {
-            "name": "sebastian/code-unit-reverse-lookup",
-            "version": "3.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
-                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
-                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "3.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Looks up which function or method a line of code belongs to",
-            "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
-                "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T06:59:15+00:00"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "5.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
-                "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-mbstring": "*",
-                "php": ">=8.1",
-                "sebastian/diff": "^5.0",
-                "sebastian/exporter": "^5.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "5.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "https://github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/comparator/issues",
-                "security": "https://github.com/sebastianbergmann/comparator/security/policy",
-                "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-08-14T13:18:12+00:00"
-        },
-        {
-            "name": "sebastian/complexity",
-            "version": "3.1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/complexity.git",
-                "reference": "68cfb347a44871f01e33ab0ef8215966432f6957"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957",
-                "reference": "68cfb347a44871f01e33ab0ef8215966432f6957",
-                "shasum": ""
-            },
-            "require": {
-                "nikic/php-parser": "^4.10",
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "3.1-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library for calculating the complexity of PHP code units",
-            "homepage": "https://github.com/sebastianbergmann/complexity",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/complexity/issues",
-                "security": "https://github.com/sebastianbergmann/complexity/security/policy",
-                "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-09-28T11:50:59+00:00"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "5.0.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
-                "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0",
-                "symfony/process": "^4.2 || ^5"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "5.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "https://github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff",
-                "udiff",
-                "unidiff",
-                "unified diff"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/diff/issues",
-                "security": "https://github.com/sebastianbergmann/diff/security/policy",
-                "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-05-01T07:48:21+00:00"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "6.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
-                "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "suggest": {
-                "ext-posix": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "6.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "https://github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/environment/issues",
-                "security": "https://github.com/sebastianbergmann/environment/security/policy",
-                "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-04-11T05:39:26+00:00"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "5.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc",
-                "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc",
-                "shasum": ""
-            },
-            "require": {
-                "ext-mbstring": "*",
-                "php": ">=8.1",
-                "sebastian/recursion-context": "^5.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "5.1-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@gmail.com"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "https://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/exporter/issues",
-                "security": "https://github.com/sebastianbergmann/exporter/security/policy",
-                "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-09-24T13:22:09+00:00"
-        },
-        {
-            "name": "sebastian/global-state",
-            "version": "6.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4",
-                "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1",
-                "sebastian/object-reflector": "^3.0",
-                "sebastian/recursion-context": "^5.0"
-            },
-            "require-dev": {
-                "ext-dom": "*",
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "6.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
-            "keywords": [
-                "global state"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/global-state/issues",
-                "security": "https://github.com/sebastianbergmann/global-state/security/policy",
-                "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-07-19T07:19:23+00:00"
-        },
-        {
-            "name": "sebastian/lines-of-code",
-            "version": "2.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/lines-of-code.git",
-                "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d",
-                "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d",
-                "shasum": ""
-            },
-            "require": {
-                "nikic/php-parser": "^4.10",
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "2.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library for counting the lines of code in PHP source code",
-            "homepage": "https://github.com/sebastianbergmann/lines-of-code",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
-                "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
-                "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-08-31T09:25:50+00:00"
-        },
-        {
-            "name": "sebastian/object-enumerator",
-            "version": "5.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/object-enumerator.git",
-                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
-                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1",
-                "sebastian/object-reflector": "^3.0",
-                "sebastian/recursion-context": "^5.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "5.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Traverses array structures and object graphs to enumerate all referenced objects",
-            "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
-                "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T07:08:32+00:00"
-        },
-        {
-            "name": "sebastian/object-reflector",
-            "version": "3.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/object-reflector.git",
-                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
-                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "3.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Allows reflection of object attributes, including inherited and non-public ones",
-            "homepage": "https://github.com/sebastianbergmann/object-reflector/",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
-                "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T07:06:18+00:00"
-        },
-        {
-            "name": "sebastian/recursion-context",
-            "version": "5.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
-                "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "5.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "https://github.com/sebastianbergmann/recursion-context",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
-                "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T07:05:40+00:00"
-        },
-        {
-            "name": "sebastian/type",
-            "version": "4.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/type.git",
-                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
-                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^10.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "4.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Collection of value objects that represent the types of the PHP type system",
-            "homepage": "https://github.com/sebastianbergmann/type",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/type/issues",
-                "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-03T07:10:45+00:00"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "4.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
-                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=8.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "4.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/version/issues",
-                "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/sebastianbergmann",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-02-07T11:34:05+00:00"
-        },
-        {
-            "name": "theseer/tokenizer",
-            "version": "1.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/theseer/tokenizer.git",
-                "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
-                "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-tokenizer": "*",
-                "ext-xmlwriter": "*",
-                "php": "^7.2 || ^8.0"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Arne Blankerts",
-                    "email": "arne@blankerts.de",
-                    "role": "Developer"
-                }
-            ],
-            "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
-            "support": {
-                "issues": "https://github.com/theseer/tokenizer/issues",
-                "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
-            },
-            "funding": [
-                {
-                    "url": "https://github.com/theseer",
-                    "type": "github"
-                }
-            ],
-            "time": "2023-11-20T00:12:19+00:00"
-        }
-    ],
-    "packages-dev": [],
-    "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": [],
-    "prefer-stable": true,
-    "prefer-lowest": false,
-    "platform": {
-        "php": ">=8.1",
-        "ext-dom": "*",
-        "ext-json": "*",
-        "ext-libxml": "*",
-        "ext-mbstring": "*",
-        "ext-xml": "*",
-        "ext-xmlwriter": "*"
-    },
-    "platform-dev": [],
-    "platform-overrides": {
-        "php": "8.1.0"
-    },
-    "plugin-api-version": "2.6.0"
-}
diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix
index 5da91bccc1205..663f3184b221b 100644
--- a/pkgs/development/tools/misc/pkg-config/default.nix
+++ b/pkgs/development/tools/misc/pkg-config/default.nix
@@ -35,8 +35,12 @@ stdenv.mkDerivation rec {
          "ac_cv_func_posix_getgrgid_r=yes"
        ];
 
-  # Silence "incompatible integer to pointer conversion passing 'gsize'" when building with Clang.
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion";
+  env.NIX_CFLAGS_COMPILE = toString (
+    # Silence "incompatible integer to pointer conversion passing 'gsize'" when building with Clang.
+    lib.optionals stdenv.cc.isClang ["-Wno-int-conversion"]
+    # Silence fprintf format errors when building for Windows.
+    ++ lib.optionals stdenv.hostPlatform.isWindows ["-Wno-error=format"]
+  );
 
   enableParallelBuilding = true;
   doCheck = true;
diff --git a/pkgs/development/tools/misc/segger-ozone/default.nix b/pkgs/development/tools/misc/segger-ozone/default.nix
index 9e048df457678..8109c1e42a368 100644
--- a/pkgs/development/tools/misc/segger-ozone/default.nix
+++ b/pkgs/development/tools/misc/segger-ozone/default.nix
@@ -1,14 +1,13 @@
-{ stdenv
+{ lib
+, stdenv
 , fetchurl
+, autoPatchelfHook
 , fontconfig
 , freetype
-, lib
 , libICE
 , libSM
-, udev
 , libX11
 , libXcursor
-, libXext
 , libXfixes
 , libXrandr
 , libXrender
@@ -16,42 +15,45 @@
 
 stdenv.mkDerivation rec {
   pname = "segger-ozone";
-  version = "3.28e";
+  version = "3.30b";
 
-  src = fetchurl {
-    url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${(lib.replaceStrings ["."] [""] version)}_x86_64.tgz";
-    sha256 = "BfmKBAKyTA0V31zkwFLrbT0Xob221KfHa6v0VxKFsSI=";
-  };
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_x86_64.tgz";
+      hash = "sha256-W8Fo0q58pAn1aB92CjYARcN3vMLEguvsyozsS7VRArQ=";
+    };
+    i686-linux = fetchurl {
+      url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_i386.tgz";
+      hash = "sha256-Xq/69lwF2Ll5VdkYMDNRtc0YUUvWc+XR0FHJXxOLNQ4=";
+    };
+  }.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
 
-  rpath = lib.makeLibraryPath [
+  buildInputs = [
     fontconfig
     freetype
     libICE
     libSM
-    udev
     libX11
     libXcursor
-    libXext
     libXfixes
     libXrandr
     libXrender
-  ]
-  + ":${stdenv.cc.cc.lib}/lib64";
+    stdenv.cc.cc.lib
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     mv Lib lib
     mv * $out
     ln -s $out/Ozone $out/bin
-  '';
-
-  postFixup = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Ozone" \
-      --set-rpath ${rpath}:$out/lib "$out/Ozone"
 
-    for file in $(find $out/lib -maxdepth 1 -type f -and -name \*.so\*); do
-      patchelf --set-rpath ${rpath}:$out/lib $file
-    done
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -80,6 +82,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     maintainers = [ maintainers.bmilanov ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 1948b6f8768a1..515ad042b2df1 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.11.0";
+  version = "5.12.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bN2LvuB/BD21SL5fG9QNPpR9hUk52U2BJJ6TFMhwDBk=";
+    hash = "sha256-NYtsfHdpkh+gPUF8moNEf4thQ9DliIALRrzcE2NSHsw=";
   };
 
-  cargoHash = "sha256-V4hANIkReF7EEtFsBv1hA/Ftre6YQPs69LpG/GR0Egc=";
+  cargoHash = "sha256-J7T4SF2Ksuq7T2GRA/hUFZnrY2jBWmKD/sTjwS9/Kws=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   # generate the man page
   postInstall = lib.optionalString (!isCross) ''
     # TexLab builds man page separately in CI:
-    # https://github.com/latex-lsp/texlab/blob/v5.11.0/.github/workflows/publish.yml#L117-L121
+    # https://github.com/latex-lsp/texlab/blob/v5.12.0/.github/workflows/publish.yml#L117-L121
     help2man --no-info "$out/bin/texlab" > texlab.1
     installManPage texlab.1
   '';
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index ea725b013180b..aeca3c437ff4d 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -9,15 +9,15 @@
 
 stdenv.mkDerivation {
   pname = "ycmd";
-  version = "unstable-2022-08-15";
+  version = "unstable-2023-11-06";
   disabled = !python.isPy3k;
 
   # required for third_party directory creation
   src = fetchFromGitHub {
     owner = "ycm-core";
     repo = "ycmd";
-    rev = "323d4b60f077bd07945f25a60c4584843ca851fb";
-    sha256 = "sha256-5IpXMQc3QIkKJkUrOPSRzciLvL1nhQw6wlP+pVnIucE=";
+    rev = "0607eed2bc211f88f82657b7781f4fe66579855b";
+    hash = "sha256-SzEcMQ4lX7NL2/g9tuhA6CaZ8pX/DGs7Fla/gr+RcOU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/mongosh/package-lock.json b/pkgs/development/tools/mongosh/package-lock.json
index 13776023623d3..f4779128f3a02 100644
--- a/pkgs/development/tools/mongosh/package-lock.json
+++ b/pkgs/development/tools/mongosh/package-lock.json
@@ -1,15 +1,15 @@
 {
   "name": "mongosh",
-  "version": "2.0.1",
+  "version": "2.1.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "mongosh",
-      "version": "2.0.1",
+      "version": "2.1.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@mongosh/cli-repl": "2.0.1"
+        "@mongosh/cli-repl": "2.1.1"
       },
       "bin": {
         "mongosh": "bin/mongosh.js"
@@ -122,46 +122,48 @@
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
     },
     "node_modules/@aws-sdk/client-cognito-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.418.0.tgz",
-      "integrity": "sha512-8Gib2gMbfCfxNz/FgSRijl47pnmV/rVvyRNoYtk24xndUydhyXKFTB0cqGVDpPv7eRb3wWQ9YZYVuaBDnEdZ1A==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.465.0.tgz",
+      "integrity": "sha512-Ku1034M9jjsXbLBS5DwQfcTwWwu2oxtmdbsxvEm4I7IUA/h1++hKPzZuJ6L9zo7I7GbA+WnCryviUdtbgCqTfA==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.418.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/client-sts": "3.465.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -169,43 +171,45 @@
       }
     },
     "node_modules/@aws-sdk/client-sso": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.418.0.tgz",
-      "integrity": "sha512-fakz3YeSW/kCAOJ5w4ObrrQBxsYO8sU8i6WHLv6iWAsYZKAws2Mqa8g89P61+GitSH4z9waksdLouS6ep78/5A==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.465.0.tgz",
+      "integrity": "sha512-JXDBa3Sl+LS0KEOs0PZoIjpNKEEGfeyFwdnRxi8Y1hMXNEKyJug1cI2Psqu2olpn4KeXwoP1BuITppZYdolOew==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -213,46 +217,48 @@
       }
     },
     "node_modules/@aws-sdk/client-sts": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.418.0.tgz",
-      "integrity": "sha512-L0n0Hw+Pm+BhXTN1bYZ0y4JAMArYgazdHf1nUSlEHndgZicCCuQtlMLxfo3i/IbtWi0dzfZcZ9d/MdAM8p4Jyw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.465.0.tgz",
+      "integrity": "sha512-rHi9ba6ssNbVjlWSdhi4C5newEhGhzkY9UE4KB+/Tj21zXfEP8r6uIltnQXPtun2SdA95Krh/yS1qQ4MRuzqyA==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-sdk-sts": "3.418.0",
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-sdk-sts": "3.465.0",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "fast-xml-parser": "4.2.5",
         "tslib": "^2.5.0"
       },
@@ -260,15 +266,27 @@
         "node": ">=14.0.0"
       }
     },
+    "node_modules/@aws-sdk/core": {
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.465.0.tgz",
+      "integrity": "sha512-fHSIw/Rgex3KbrEKn6ZrUc2VcsOTpdBMeyYtfmsTOLSyDDOG9k3jelOvVbCbrK5N6uEUSM8hrnySEKg94UB0cg==",
+      "dependencies": {
+        "@smithy/smithy-client": "^2.1.15",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
     "node_modules/@aws-sdk/credential-provider-cognito-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.418.0.tgz",
-      "integrity": "sha512-MakYZsT7fkG1W9IgkBz7PTXG/e6YD2oSEk+hPgwfdMv0YX76qjTU02B2qbbKSGtXichX73MNUPOvygF5XAi6oA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.465.0.tgz",
+      "integrity": "sha512-bvZNgA2Cx54eTSZm2bXCUbz5rQjcNqTONuvjNIl1CFK9lEj3o3rRU1EqAwX6AIrT1OIstnDr1Z6llxjwvTLqiA==",
       "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/client-cognito-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -276,13 +294,32 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.418.0.tgz",
-      "integrity": "sha512-e74sS+x63EZUBO+HaI8zor886YdtmULzwKdctsZp5/37Xho1CVUNtEC+fYa69nigBD9afoiH33I4JggaHgrekQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.465.0.tgz",
+      "integrity": "sha512-fku37AgkB9KhCuWHE6mfvbWYU0X84Df6MQ60nYH7s/PiNEhkX2cVI6X6kOKjP1MNIwRcYt+oQDvplVKdHume+A==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-http": {
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.465.0.tgz",
+      "integrity": "sha512-Rj/zFgP0i0tpuaO+sm1csGU7NLQa1F9eE9c3VKbYECiXAZwrGJnY1TdG2iSsLpkMtyfOhRrRvAuYAUCUemWg3g==",
+      "dependencies": {
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-stream": "^2.0.20",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -290,19 +327,19 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.418.0.tgz",
-      "integrity": "sha512-LTAeKKV85unlSqGNIeqEZ4N9gufaSoH+670n5YTUEk564zHCkUQW0PJomzLF5jKBco6Yfzv6rPBTukd+x9XWqw==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.465.0.tgz",
+      "integrity": "sha512-B1MFufvdToAEMtfszilVnKer2S7P/OfMhkCizq2zuu8aU/CquRyHvKEQgWdvqunUDrFnVTc0kUZgsbBY0uPjLg==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -310,20 +347,20 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.418.0.tgz",
-      "integrity": "sha512-VveTjtSC6m8YXj3fQDkMKEZuHv+CR2Z4u/NAN51Fi4xOtIWUtOBj5rfZ8HmBYoBjRF0DtRlPXuMiNnXAzTctfQ==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-ini": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.465.0.tgz",
+      "integrity": "sha512-R3VA9yJ0BvezvrDxcgPTv9VHbVPbzchLTrX5jLFSVuW/lPPYLUi/Cjtyg9C9Y7qRfoQS4fNMvSRhwO5/TF68gA==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-ini": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -331,14 +368,14 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.418.0.tgz",
-      "integrity": "sha512-xPbdm2WKz1oH6pTkrJoUmr3OLuqvvcPYTQX0IIlc31tmDwDWPQjXGGFD/vwZGIZIkKaFpFxVMgAzfFScxox7dw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.465.0.tgz",
+      "integrity": "sha512-YE6ZrRYwvb8969hWQnr4uvOJ8RU0JrNsk3vWTe/czly37ioZUEhi8jmpQp4f2mX/6U6buoFGWu5Se3VCdw2SFQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -346,16 +383,16 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.418.0.tgz",
-      "integrity": "sha512-tUF5Hg/HfaU5t+E7IuvohYlodSIlBXa28xAJPPFxhKrUnvP6AIoW6JLazOtCIQjQgJYEUILV29XX+ojUuITcaw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.465.0.tgz",
+      "integrity": "sha512-tLIP/4JQIJpn8yIg6RZRQ2nmvj5i4wLZvYvY4RtaFv2JrQUkmmTfyOZJuOBrIFRwJjx0fHmFu8DJjcOhMzllIQ==",
       "dependencies": {
-        "@aws-sdk/client-sso": "3.418.0",
-        "@aws-sdk/token-providers": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/client-sso": "3.465.0",
+        "@aws-sdk/token-providers": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -363,13 +400,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.418.0.tgz",
-      "integrity": "sha512-do7ang565n9p3dS1JdsQY01rUfRx8vkxQqz5M8OlcEHBNiCdi2PvSjNwcBdrv/FKkyIxZb0TImOfBSt40hVdxQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.465.0.tgz",
+      "integrity": "sha512-B4Y75fMTZIniEU0yyqat+9NsQbYlXdqP5Y3bShkaG3pGLOHzF/xMlWuG+D3kkQ806PLYi+BgfVls4BcO+NyVcA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -377,24 +414,25 @@
       }
     },
     "node_modules/@aws-sdk/credential-providers": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.418.0.tgz",
-      "integrity": "sha512-atEybTA0jvP9CpBCPKCoiPz1hjJ/lbRxf67r+fpAqPtfQKutGq/jZm78Yz5kV9F/NJEW2mK2GR/BslCAHc4H8g==",
-      "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.418.0",
-        "@aws-sdk/client-sso": "3.418.0",
-        "@aws-sdk/client-sts": "3.418.0",
-        "@aws-sdk/credential-provider-cognito-identity": "3.418.0",
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-ini": "3.418.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.465.0.tgz",
+      "integrity": "sha512-mtndyew33Fnv30zVCQLBkqvUeFvjAlgAe3yM/10U//dxsOW3pfYWZ6sMzDbuXHLCyROQXJqZfnsQKQs0rOaO0Q==",
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.465.0",
+        "@aws-sdk/client-sso": "3.465.0",
+        "@aws-sdk/client-sts": "3.465.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.465.0",
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-http": "3.465.0",
+        "@aws-sdk/credential-provider-ini": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -402,13 +440,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-host-header": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.418.0.tgz",
-      "integrity": "sha512-LrMTdzalkPw/1ujLCKPLwCGvPMCmT4P+vOZQRbSEVZPnlZk+Aj++aL/RaHou0jL4kJH3zl8iQepriBt4a7UvXQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.465.0.tgz",
+      "integrity": "sha512-nnGva8eplwEJqdVzcb+xF2Fwua0PpiwxMEvpnIy73gNbetbJdgFIprryMLYes00xzJEqnew+LWdpcd3YyS34ZA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -416,12 +454,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-logger": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.418.0.tgz",
-      "integrity": "sha512-StKGmyPVfoO/wdNTtKemYwoJsqIl4l7oqarQY7VSf2Mp3mqaa+njLViHsQbirYpyqpgUEusOnuTlH5utxJ1NsQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.465.0.tgz",
+      "integrity": "sha512-aGMx1aSlzDDgjZ7fSxLhGD5rkyCfHwq04TSB5fQAgDBqUjj4IQXZwmNglX0sLRmArXZtDglUVESOfKvTANJTPg==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -429,13 +467,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-recursion-detection": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.418.0.tgz",
-      "integrity": "sha512-kKFrIQglBLUFPbHSDy1+bbe3Na2Kd70JSUC3QLMbUHmqipXN8KeXRfAj7vTv97zXl0WzG0buV++WcNwOm1rFjg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.465.0.tgz",
+      "integrity": "sha512-ol3dlsTnryBhV5qkUvK5Yg3dRaV1NXIxYJaIkShrl8XAv4wRNcDJDmO5NYq5eVZ3zgV1nv6xIpZ//dDnnf6Z+g==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -443,13 +481,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-sdk-sts": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.418.0.tgz",
-      "integrity": "sha512-cW8ijrCTP+mgihvcq4+TbhAcE/we5lFl4ydRqvTdtcSnYQAVQADg47rnTScQiFsPFEB3NKq7BGeyTJF9MKolPA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.465.0.tgz",
+      "integrity": "sha512-PmTM5ycUe1RLAPrQXLCR8JzKamJuKDB0aIW4rx4/skurzWsEGRI47WHggf9N7sPie41IBGUhRbXcf7sfPjvI3Q==",
       "dependencies": {
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -457,16 +495,16 @@
       }
     },
     "node_modules/@aws-sdk/middleware-signing": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.418.0.tgz",
-      "integrity": "sha512-onvs5KoYQE8OlOE740RxWBGtsUyVIgAo0CzRKOQO63ZEYqpL1Os+MS1CGzdNhvQnJgJruE1WW+Ix8fjN30zKPA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.465.0.tgz",
+      "integrity": "sha512-d90KONWXSC3jA0kqJ6u8ygS4LoMg1TmSM7bPhHyibJVAEhnrlB4Aq1CWljNbbtphGpdKy5/XRM9O0/XCXWKQ4w==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/protocol-http": "^3.0.5",
+        "@smithy/protocol-http": "^3.0.9",
         "@smithy/signature-v4": "^2.0.0",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-middleware": "^2.0.6",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -474,14 +512,14 @@
       }
     },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.418.0.tgz",
-      "integrity": "sha512-Jdcztg9Tal9SEAL0dKRrnpKrm6LFlWmAhvuwv0dQ7bNTJxIxyEFbpqdgy7mpQHsLVZgq1Aad/7gT/72c9igyZw==",
-      "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.465.0.tgz",
+      "integrity": "sha512-1MvIWMj2nktLOJN8Kh4jiTK28oL85fTeoXHZ+V8xYMzont6C6Y8gQPtg7ka+RotHwqWMrovfnANisnX8EzEP/Q==",
+      "dependencies": {
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -489,14 +527,14 @@
       }
     },
     "node_modules/@aws-sdk/region-config-resolver": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.418.0.tgz",
-      "integrity": "sha512-lJRZ/9TjZU6yLz+mAwxJkcJZ6BmyYoIJVo1p5+BN//EFdEmC8/c0c9gXMRzfISV/mqWSttdtccpAyN4/goHTYA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.465.0.tgz",
+      "integrity": "sha512-h0Phd2Ae873dsPSWuxqxz2yRC5NMeeWxQiJPh4j42HF8g7dZK7tMQPkYznAoA/BzSBsEX87sbr3MmigquSyUTA==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
         "@smithy/util-config-provider": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.6",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -504,44 +542,46 @@
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.418.0.tgz",
-      "integrity": "sha512-9P7Q0VN0hEzTngy3Sz5eya2qEOEf0Q8qf1vB3um0gE6ID6EVAdz/nc/DztfN32MFxk8FeVBrCP5vWdoOzmd72g==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.465.0.tgz",
+      "integrity": "sha512-NaZbsyLs3whzRHGV27hrRwEdXB/tEK6tqn/aCNBy862LhVzocY1A+eYLKrnrvpraOOd2vyAuOtvvB3RMIdiL6g==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/protocol-http": "^3.0.5",
+        "@smithy/protocol-http": "^3.0.9",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -549,11 +589,11 @@
       }
     },
     "node_modules/@aws-sdk/types": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.418.0.tgz",
-      "integrity": "sha512-y4PQSH+ulfFLY0+FYkaK4qbIaQI9IJNMO2xsxukW6/aNoApNymN1D2FSi2la8Qbp/iPjNDKsG8suNPm9NtsWXQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.465.0.tgz",
+      "integrity": "sha512-Clqu2eD50OOzwSftGpzJrIOGev/7VJhJpc02SeS4cqFgI9EVd+rnFKS/Ux0kcwjLQBMiPcCLtql3KAHApFHAIA==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -561,11 +601,12 @@
       }
     },
     "node_modules/@aws-sdk/util-endpoints": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.418.0.tgz",
-      "integrity": "sha512-sYSDwRTl7yE7LhHkPzemGzmIXFVHSsi3AQ1KeNEk84eBqxMHHcCc2kqklaBk2roXWe50QDgRMy1ikZUxvtzNHQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.465.0.tgz",
+      "integrity": "sha512-lDpBN1faVw8Udg5hIo+LJaNfllbBF86PCisv628vfcggO8/EArL/v2Eos0KeqVT8yaINXCRSagwfo5TNTuW0KQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/util-endpoints": "^1.0.4",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -573,9 +614,9 @@
       }
     },
     "node_modules/@aws-sdk/util-locate-window": {
-      "version": "3.310.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz",
-      "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz",
+      "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==",
       "dependencies": {
         "tslib": "^2.5.0"
       },
@@ -584,24 +625,24 @@
       }
     },
     "node_modules/@aws-sdk/util-user-agent-browser": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.418.0.tgz",
-      "integrity": "sha512-c4p4mc0VV/jIeNH0lsXzhJ1MpWRLuboGtNEpqE4s1Vl9ck2amv9VdUUZUmHbg+bVxlMgRQ4nmiovA4qIrqGuyg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.465.0.tgz",
+      "integrity": "sha512-RM+LjkIsmUCBJ4yQeBnkJWJTjPOPqcNaKv8bpZxatIHdvzGhXLnWLNi3qHlBsJB2mKtKRet6nAUmKmzZR1sDzA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.418.0.tgz",
-      "integrity": "sha512-BXMskXFtg+dmzSCgmnWOffokxIbPr1lFqa1D9kvM3l3IFRiFGx2IyDg+8MAhq11aPDLvoa/BDuQ0Yqma5izOhg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.465.0.tgz",
+      "integrity": "sha512-XsHbq7gLCiGdy6FQ7/5nGslK0ij3Iuh051djuIICvNurlds5cqKLiBe63gX3IUUwxJcrKh4xBGviQJ52KdVSeg==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -625,11 +666,11 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.22.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
-      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
       "dependencies": {
-        "@babel/highlight": "^7.22.13",
+        "@babel/highlight": "^7.23.4",
         "chalk": "^2.4.2"
       },
       "engines": {
@@ -637,29 +678,29 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz",
-      "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.20.tgz",
-      "integrity": "sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
+      "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.22.13",
-        "@babel/generator": "^7.22.15",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
         "@babel/helper-compilation-targets": "^7.22.15",
-        "@babel/helper-module-transforms": "^7.22.20",
-        "@babel/helpers": "^7.22.15",
-        "@babel/parser": "^7.22.16",
+        "@babel/helper-module-transforms": "^7.23.3",
+        "@babel/helpers": "^7.23.5",
+        "@babel/parser": "^7.23.5",
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.22.20",
-        "@babel/types": "^7.22.19",
-        "convert-source-map": "^1.7.0",
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5",
+        "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
         "json5": "^2.2.3",
@@ -682,11 +723,11 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz",
-      "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
+      "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
       "dependencies": {
-        "@babel/types": "^7.22.15",
+        "@babel/types": "^7.23.5",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -727,12 +768,12 @@
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+      "version": "7.23.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
       "dependencies": {
-        "@babel/template": "^7.22.5",
-        "@babel/types": "^7.22.5"
+        "@babel/template": "^7.22.15",
+        "@babel/types": "^7.23.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -761,9 +802,9 @@
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz",
-      "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
       "dependencies": {
         "@babel/helper-environment-visitor": "^7.22.20",
         "@babel/helper-module-imports": "^7.22.15",
@@ -809,9 +850,9 @@
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
       "engines": {
         "node": ">=6.9.0"
       }
@@ -825,30 +866,30 @@
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
-      "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz",
-      "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
+      "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
       "dependencies": {
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.22.15",
-        "@babel/types": "^7.22.15"
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
-      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
       "dependencies": {
         "@babel/helper-validator-identifier": "^7.22.20",
         "chalk": "^2.4.2",
@@ -859,9 +900,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.22.16",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
-      "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
+      "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -870,9 +911,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz",
-      "integrity": "sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
+      "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -884,9 +925,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz",
-      "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
+      "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -898,9 +939,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz",
-      "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
+      "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -925,18 +966,18 @@
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz",
-      "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
+      "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
       "dependencies": {
-        "@babel/code-frame": "^7.22.13",
-        "@babel/generator": "^7.22.15",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
         "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.22.5",
+        "@babel/helper-function-name": "^7.23.0",
         "@babel/helper-hoist-variables": "^7.22.5",
         "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.22.16",
-        "@babel/types": "^7.22.19",
+        "@babel/parser": "^7.23.5",
+        "@babel/types": "^7.23.5",
         "debug": "^4.1.0",
         "globals": "^11.1.0"
       },
@@ -945,12 +986,12 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.22.19",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz",
-      "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
+      "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
       "dependencies": {
-        "@babel/helper-string-parser": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.19",
+        "@babel/helper-string-parser": "^7.23.4",
+        "@babel/helper-validator-identifier": "^7.22.20",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -970,6 +1011,47 @@
         "@hapi/hoek": "^9.0.0"
       }
     },
+    "node_modules/@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+      "dependencies": {
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/@jridgewell/gen-mapping": {
       "version": "0.3.3",
       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@@ -1005,21 +1087,21 @@
       "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
     },
     "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
-      "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
+      "version": "0.3.20",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+      "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
       "dependencies": {
         "@jridgewell/resolve-uri": "^3.1.0",
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
     "node_modules/@mongodb-js/devtools-connect": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.2.tgz",
-      "integrity": "sha512-cgRXxwZRO7K+gFVyrqcsWWrBfyaffVkafoXK91T1W+QsQxXZH1uoka2Pdle/5ugiGmuvEuKGQ9c+G8so4AKosQ==",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.3.tgz",
+      "integrity": "sha512-JS288VVm/Mu8+kHL8ybKCpL2/AiA4CWhWun7FR3iRNH5NXbT9c6aovEc2pxjsCbmYUjzuTsRoIo9LTrNoCvNrQ==",
       "dependencies": {
         "lodash.merge": "^4.6.2",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "system-ca": "^1.0.2"
       },
       "optionalDependencies": {
@@ -1033,9 +1115,13 @@
       }
     },
     "node_modules/@mongodb-js/mongodb-constants": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.2.2.tgz",
-      "integrity": "sha512-vm1G+/WRWmXGyE9ZnhDv9toe+LRu1x0F/lGEwqWESfBiUUUuVZhj25fS2o4IL7H4pJ31sFxr7/gu+ER8OkmtzA=="
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.7.2.tgz",
+      "integrity": "sha512-ElaVCCQo80vQTX865RXbJoITaB6kHJmOWqv0ANO5I/S9nP5LaIEfA2QQuBmE4cHOmb3ZGfzLfyCCfwbeSBwE6w==",
+      "dependencies": {
+        "dedent": "^1.5.1",
+        "semver": "^7.5.4"
+      }
     },
     "node_modules/@mongodb-js/oidc-plugin": {
       "version": "0.3.0",
@@ -1052,30 +1138,30 @@
       }
     },
     "node_modules/@mongodb-js/saslprep": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz",
-      "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz",
+      "integrity": "sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==",
       "dependencies": {
         "sparse-bitfield": "^3.0.3"
       }
     },
     "node_modules/@mongosh/arg-parser": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.0.1.tgz",
-      "integrity": "sha512-rPMof8rQXyzoZNG/ZQsQPTArPsPCBEf/fdjbNbebn+Vgq2bsz8AF7vVIr5aF6bwgJlYcNZcoAytdLIK1NOO0XA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.1.1.tgz",
+      "integrity": "sha512-D0+FiUc9lH/LWkyXLM2s1WXI9pzfX6tvafAOwY9Lk73zUITfGzPtmup2tOyH4nI6H2jgVEMFg0GdBnAb2i/m/g==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "mongodb-connection-string-url": "^2.6.0"
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/async-rewriter2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.0.1.tgz",
-      "integrity": "sha512-xiQNRUGSRbkQ6iJZkrB71m0r49Yi2ersnjmZTKl+lYEi/P7+8xiQFnJt1oGH8Acwj+STEarI2L+kxReazDwlIw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.1.1.tgz",
+      "integrity": "sha512-fm5s5uiH5oTVpvXZPgovjl/X3ZiL/lKDi2Plj0s1bOAPeWTQ6qaiPD1f/fbrEI2iVU+JyDk8clVMPV4duaOjvw==",
       "dependencies": {
         "@babel/core": "^7.22.8",
         "@babel/plugin-transform-destructuring": "^7.22.5",
@@ -1092,12 +1178,12 @@
       }
     },
     "node_modules/@mongosh/autocomplete": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.0.1.tgz",
-      "integrity": "sha512-IJUhc9nVM0Uc7C31L145G0+R3eNDF3uOeX3VZiJm+fJyf1ALbS10dcZ2+/dJ30b6pcluGPv4y6k/3MAd+mdExw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.1.1.tgz",
+      "integrity": "sha512-va1IXrQJ+3OcXbKIdQlBk0LeSgfTYdUbmc8vr/AwnTh+yZP+wd0viHE3l6KzO62H2d3aIfEcthfGReeRuISVHA==",
       "dependencies": {
-        "@mongodb-js/mongodb-constants": "^0.2.2",
-        "@mongosh/shell-api": "2.0.1",
+        "@mongodb-js/mongodb-constants": "^0.7.1",
+        "@mongosh/shell-api": "2.1.1",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -1105,31 +1191,31 @@
       }
     },
     "node_modules/@mongosh/cli-repl": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/cli-repl/-/cli-repl-2.0.1.tgz",
-      "integrity": "sha512-eDvMgOT5KXoFHL5KyFnknIpPF/2m1unyktkRnV/abJKKKhp1HGw87iKQtxMhPobctNSgieMJ0zsmxxSWL9sS/Q==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.0.1",
-        "@mongosh/autocomplete": "2.0.1",
-        "@mongosh/editor": "2.0.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "@mongosh/js-multiline-to-singleline": "2.0.1",
-        "@mongosh/logging": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/service-provider-server": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/shell-evaluator": "2.0.1",
-        "@mongosh/snippet-manager": "2.0.1",
-        "@mongosh/types": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/cli-repl/-/cli-repl-2.1.1.tgz",
+      "integrity": "sha512-uZyFtIWwsoSrpDE5f07Xg0Dz76Gpstqum4GfhIpsKQzAO8i9w2YCTK5P7fozmrkwixN5gNqYvUP+DKHMid+olw==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.1",
+        "@mongosh/autocomplete": "2.1.1",
+        "@mongosh/editor": "2.1.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "@mongosh/js-multiline-to-singleline": "2.1.1",
+        "@mongosh/logging": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/service-provider-server": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/shell-evaluator": "2.1.1",
+        "@mongosh/snippet-manager": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "analytics-node": "^5.1.2",
         "ansi-escape-sequences": "^5.1.2",
         "askcharacter": "^1.0.0",
         "askpassword": "^1.2.4",
         "is-recoverable-error": "^1.0.3",
         "js-yaml": "^4.1.0",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "mongodb-log-writer": "^1.4.0",
         "numeral": "^2.0.6",
         "pretty-repl": "^4.0.0",
@@ -1152,15 +1238,15 @@
       }
     },
     "node_modules/@mongosh/editor": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/editor/-/editor-2.0.1.tgz",
-      "integrity": "sha512-hSa6dED3QBFqS0sBJslMbMIhzidJ9vHl8P/EyqwlZe8A1JniNvzCYZJCvImn/asFOpkugVbK1/ylhmLAMlu4nQ==",
-      "dependencies": {
-        "@mongosh/js-multiline-to-singleline": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/shell-evaluator": "2.0.1",
-        "@mongosh/types": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/editor/-/editor-2.1.1.tgz",
+      "integrity": "sha512-5AYuVbmXaUawa2yN/lUqkre4v5hCXuAj5ss4gVPz9ioOewLwFORO4gEPsnzKkQHXvFrtiolen2aSJDlneRLSKg==",
+      "dependencies": {
+        "@mongosh/js-multiline-to-singleline": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/shell-evaluator": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "js-beautify": "^1.14.0"
       },
       "engines": {
@@ -1168,19 +1254,19 @@
       }
     },
     "node_modules/@mongosh/errors": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.0.1.tgz",
-      "integrity": "sha512-hr1jvonFgjLz1ZdtIRma69dnNKdGXSOxAoZwj091jGChI4OZfGVvUIqd8pLGdfxnFHil6Rr58MwFRtlL6gQhPA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.1.1.tgz",
+      "integrity": "sha512-Dw0qb+h6QiO8/bhuyTBK0aANMamuQjpcjdA35H+L78CS4c5iog6rSd3x0RISivhRsvGgGxE+JLcOuUyQsu2v4Q==",
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/history": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.0.1.tgz",
-      "integrity": "sha512-elOd9I2/QuMc+JORH3VfIQWZ6jCzTIzkZcncHOwMHQ01TxmSf4QTyxzWyM+BjSYXev0XTc71h0WngIoq3Kx1OQ==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.1.1.tgz",
+      "integrity": "sha512-PFfyq3jGAoxTld/T8CrZpardch1IWtEAJnyOcVVgL+pdspmrowhIPBd8HOyOM5C2wjCjDmqhNtBLaJ5iuOMmPg==",
       "dependencies": {
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1188,11 +1274,11 @@
       }
     },
     "node_modules/@mongosh/i18n": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.0.1.tgz",
-      "integrity": "sha512-6PMyQ457E206cYHgXEf1ylkwa/pE/0cV5Os7/lx4sTYAy08AUhBvzQcGOAQ8l6RWDO7my4fB9GfKi0U26MlK7Q==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.1.1.tgz",
+      "integrity": "sha512-i6ff4kdtHSfErGkYrEj8lSh/LBFIiSD3wecppy1FUMuDHBPfqbL42cGNV771yoyNUM7FlYb3CiXMXFDmqma2Vw==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
+        "@mongosh/errors": "2.1.1",
         "mustache": "^4.0.0"
       },
       "engines": {
@@ -1200,9 +1286,9 @@
       }
     },
     "node_modules/@mongosh/js-multiline-to-singleline": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.0.1.tgz",
-      "integrity": "sha512-2AcyjuuHYwEht7ghVFFZGE05Bnu7OOso2SasqbL/KlIdh+dnKlhwmFMOQn5l/2pIfWenwuurl5fUMpcMPyrsTQ==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.1.1.tgz",
+      "integrity": "sha512-hj6fZGOspeMOQVXTbm8ep2Rc+Rm9O6/I1dt5OpUaN4heyAlMLLugdZU+zYWksMo9NEnfNMHjHQUoQo0VBEJXEQ==",
       "dependencies": {
         "@babel/core": "^7.16.12",
         "@babel/types": "^7.21.2"
@@ -1212,14 +1298,14 @@
       }
     },
     "node_modules/@mongosh/logging": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.0.1.tgz",
-      "integrity": "sha512-QmczNhg3VM3O9IOa4si9dcjosAhqyOd2wiulU0AlBZ4e6ZTaj3wSnBbs+c1AD+8pFz1u+GMgI1/0bCVI/Krpnw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.1.1.tgz",
+      "integrity": "sha512-g0ZcfvmukiGll/e06BlNZdUMq5oiQ5HhwNKsLuJADWcV76ebBjAhnyB00pPMhSfqszmn4dri1O3k1IVRDlwmag==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/types": "2.0.1",
+        "@mongodb-js/devtools-connect": "^2.4.3",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "mongodb-log-writer": "^1.4.0",
         "mongodb-redact": "^0.2.2"
       },
@@ -1228,15 +1314,15 @@
       }
     },
     "node_modules/@mongosh/service-provider-core": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.0.1.tgz",
-      "integrity": "sha512-TV1UnH69rx0L6K7TIT7cDgQ0fPnyVju2GLIMWGiCmb93txcXF/EgTuP/q1m8ZRW7JoaQMOOj8zXn4ZbsAkJ9Uw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz",
+      "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==",
       "dependencies": {
         "@aws-sdk/credential-providers": "^3.347.1",
-        "@mongosh/errors": "2.0.1",
-        "bson": "^6.0.0",
-        "mongodb": "^6.0.0",
-        "mongodb-build-info": "^1.6.2"
+        "@mongosh/errors": "2.1.1",
+        "bson": "^6.2.0",
+        "mongodb": "^6.3.0",
+        "mongodb-build-info": "^1.7.1"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1246,39 +1332,39 @@
       }
     },
     "node_modules/@mongosh/service-provider-server": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.0.1.tgz",
-      "integrity": "sha512-CmOJKFtZDM0sroI+w4QdXiKub5Lf2HheAVx8QgGBshI/8npRnaXN9nSOww/p3p585BCmKiw9CLf/QXJSGXj6fA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.1.1.tgz",
+      "integrity": "sha512-pAnz8VdBBEqCUTLztPELSIrWXxC5K9acdSosTg31vYK0fbg7nx5Q55amPXLRxNlXPa3wFHYGt1R9hCD5PwSA+A==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1",
+        "@mongodb-js/devtools-connect": "^2.4.3",
         "@mongodb-js/oidc-plugin": "^0.3.0",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/types": "2.0.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "@types/sinon-chai": "^3.2.4",
         "aws4": "^1.11.0",
-        "mongodb": "^6.0.0",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb": "^6.3.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "socks": "^2.7.1"
       },
       "engines": {
         "node": ">=14.15.1"
       },
       "optionalDependencies": {
-        "kerberos": "2.0.1",
+        "kerberos": "^2.1.0",
         "mongodb-client-encryption": "^6.0.0"
       }
     },
     "node_modules/@mongosh/shell-api": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.0.1.tgz",
-      "integrity": "sha512-llVF/BEzfLHOgxCsmidv9GJzQnQDcO02/op6jG0JDYAIBQPMZhg1OpGEF5Ju/5220sH/gqQhajOYM2rFlbyBSw==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.0.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.1.1.tgz",
+      "integrity": "sha512-uOEgd4bNah1QVeN6Sqxq+tCHmxlecul0AzL5829Axv3Aa1cZnERZMgbIPyo4JoMB0wTtsgjsJHngBBaDUdkuUQ==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1286,27 +1372,27 @@
       }
     },
     "node_modules/@mongosh/shell-evaluator": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.0.1.tgz",
-      "integrity": "sha512-kWkE6uLf3WtWHU/sgqWQjJ7nsDhFdWW9L4wtoiKfGjGgYu8bHY/PM0PI0RUGBGagpx/OXfZ4P95J6T0BTqMdHA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.1.1.tgz",
+      "integrity": "sha512-h3OGG8r2dGt7xRuRwVVDcE8bMgzHe2XROdln8Cps/6Hb5mEDkg1JPT5HlJLmbk5j5IuEnr95dAxAzt/l5+461g==",
       "dependencies": {
-        "@mongosh/async-rewriter2": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/shell-api": "2.0.1"
+        "@mongosh/async-rewriter2": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/shell-api": "2.1.1"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/snippet-manager": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/snippet-manager/-/snippet-manager-2.0.1.tgz",
-      "integrity": "sha512-r+l2U4C0XiE/jZzAEvYIenKidWGLcAqnE3ZgK/GhR5qE6uM3Jz+75+m6z7ufCzotS/nrDDjKALcKSIamzRFWRA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/snippet-manager/-/snippet-manager-2.1.1.tgz",
+      "integrity": "sha512-1RyauOaXZAeTtbQJM3RaTciF3QWzM60e6gu4LS6uI7pm/l5TQlzFC2SWCu07Qm4Fp5SnLs7yKbW6WvNXj7Q6+w==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/types": "2.0.1",
-        "bson": "^6.0.0",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/types": "2.1.1",
+        "bson": "^6.2.0",
         "cross-spawn": "^7.0.3",
         "escape-string-regexp": "^4.0.0",
         "joi": "^17.4.0",
@@ -1318,11 +1404,11 @@
       }
     },
     "node_modules/@mongosh/types": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.0.1.tgz",
-      "integrity": "sha512-T/xz+RCcilt+NixGwsCh9VreiZmUUT5ZIHeD0NdOICKu/PBl5aDenZDa+94u+qOEN6IUexqT6u6mEhmnJiVDDg==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.1.1.tgz",
+      "integrity": "sha512-YcaHfurVlVvlKBMYXkV+JYg24urEJa4cmp/cMF/fqoBi6F+MC6n/2BlG4eqwWyZ3KtUzqCCgocBebt7e61yHKA==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1"
+        "@mongodb-js/devtools-connect": "^2.4.3"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1333,6 +1419,15 @@
       "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
       "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw=="
     },
+    "node_modules/@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+      "optional": true,
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/@segment/loosely-validate-event": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz",
@@ -1361,11 +1456,11 @@
       "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
     },
     "node_modules/@smithy/abort-controller": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.9.tgz",
-      "integrity": "sha512-8liHOEbx99xcy4VndeQNQhyA0LS+e7UqsuRnDTSIA26IKBv/7vA9w09KOd4fgNULrvX0r3WpA6cwsQTRJpSWkg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.14.tgz",
+      "integrity": "sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1373,14 +1468,14 @@
       }
     },
     "node_modules/@smithy/config-resolver": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.10.tgz",
-      "integrity": "sha512-MwToDsCltHjumkCuRn883qoNeJUawc2b8sX9caSn5vLz6J5crU1IklklNxWCaMO2z2nDL91Po4b/aI1eHv5PfA==",
+      "version": "2.0.19",
+      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.19.tgz",
+      "integrity": "sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-config-provider": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.7",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1388,14 +1483,14 @@
       }
     },
     "node_modules/@smithy/credential-provider-imds": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.12.tgz",
-      "integrity": "sha512-S3lUNe+2fEFwKcmiQniXGPXt69vaHvQCw8kYQOBL4OvJsgwfpkIYDZdroHbTshYi0M6WaKL26Mw+hvgma6dZqA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz",
+      "integrity": "sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1403,36 +1498,36 @@
       }
     },
     "node_modules/@smithy/eventstream-codec": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.9.tgz",
-      "integrity": "sha512-sy0pcbKnawt1iu+qCoSFbs/h9PAaUgvlJEO3lqkE1HFFj4p5RgL98vH+9CyDoj6YY82cG5XsorFmcLqQJHTOYw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz",
+      "integrity": "sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA==",
       "dependencies": {
         "@aws-crypto/crc32": "3.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-hex-encoding": "^2.0.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/fetch-http-handler": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.5.tgz",
-      "integrity": "sha512-BIeCHGfr5JCGN+EMTwZK74ELvjPXOIrI7OLM5OhZJJ6AmZyRv2S9ANJk18AtLwht0TsSm+8WoXIEp8LuxNgUyA==",
-      "dependencies": {
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/querystring-builder": "^2.0.9",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-base64": "^2.0.0",
+      "version": "2.2.7",
+      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz",
+      "integrity": "sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ==",
+      "dependencies": {
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/hash-node": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.9.tgz",
-      "integrity": "sha512-XP3yWd5wyCtiVmsY5Nuq/FUwyCEQ6YG7DsvRh7ThldNukGpCzyFdP8eivZJVjn4Fx7oYrrOnVoYZ0WEgpW1AvQ==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.16.tgz",
+      "integrity": "sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-buffer-from": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1440,11 +1535,11 @@
       }
     },
     "node_modules/@smithy/invalid-dependency": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.9.tgz",
-      "integrity": "sha512-RuJqhYf8nViK96IIO9JbTtjDUuFItVfuuJhWw2yk7fv67yltQ7fZD6IQ2OsHHluoVmstnQJuCg5raXJR696Ubw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz",
+      "integrity": "sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       }
     },
@@ -1460,12 +1555,12 @@
       }
     },
     "node_modules/@smithy/middleware-content-length": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.11.tgz",
-      "integrity": "sha512-Malj4voNTL4+a5ZL3a6+Ij7JTUMTa2R7c3ZIBzMxN5OUUgAspU7uFi1Q97f4B0afVh2joQBAWH5IQJUG25nl8g==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz",
+      "integrity": "sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==",
       "dependencies": {
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1473,14 +1568,16 @@
       }
     },
     "node_modules/@smithy/middleware-endpoint": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.9.tgz",
-      "integrity": "sha512-72/o8R6AAO4+nyTI6h4z6PYGTSA4dr1M7tZz29U8DEUHuh1YkhC77js0P6RyF9G0wDLuYqxb+Yh0crI5WG2pJg==",
-      "dependencies": {
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-middleware": "^2.0.2",
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz",
+      "integrity": "sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==",
+      "dependencies": {
+        "@smithy/middleware-serde": "^2.0.14",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
+        "@smithy/util-middleware": "^2.0.7",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1488,16 +1585,16 @@
       }
     },
     "node_modules/@smithy/middleware-retry": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.12.tgz",
-      "integrity": "sha512-YQ/ufXX4/d9/+Jf1QQ4J+CVeupC7BW52qldBTvRV33PDX9vxndlAwkFwzBcmnUFC3Hjf1//HW6I77EItcjNSCA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/service-error-classification": "^2.0.2",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-middleware": "^2.0.2",
-        "@smithy/util-retry": "^2.0.2",
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz",
+      "integrity": "sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-middleware": "^2.0.7",
+        "@smithy/util-retry": "^2.0.7",
         "tslib": "^2.5.0",
         "uuid": "^8.3.2"
       },
@@ -1506,11 +1603,11 @@
       }
     },
     "node_modules/@smithy/middleware-serde": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.9.tgz",
-      "integrity": "sha512-GVbauxrr6WmtCaesakktg3t5LR/yDbajpC7KkWc8rtCpddMI4ShAVO5Q6DqwX8MDFi4CLaY8H7eTGcxhl3jbLg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz",
+      "integrity": "sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1518,11 +1615,11 @@
       }
     },
     "node_modules/@smithy/middleware-stack": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.3.tgz",
-      "integrity": "sha512-AlhPmbwpkC4lQBVaVHXczmjFvsAhDHhrakqLt038qFLotnJcvDLhmMzAtu23alBeOSkKxkTQq0LsAt2N0WpAbw==",
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz",
+      "integrity": "sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1530,13 +1627,13 @@
       }
     },
     "node_modules/@smithy/node-config-provider": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.12.tgz",
-      "integrity": "sha512-df9y9ywv+JmS40Y60ZqJ4jfZiTCmyHQffwzIqjBjLJLJl0imf9F6DWBd+jiEWHvlohR+sFhyY+KL/qzKgnAq1A==",
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz",
+      "integrity": "sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==",
       "dependencies": {
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/shared-ini-file-loader": "^2.0.11",
-        "@smithy/types": "^2.3.3",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1544,14 +1641,14 @@
       }
     },
     "node_modules/@smithy/node-http-handler": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.5.tgz",
-      "integrity": "sha512-52uF+BrZaFiBh+NT/bADiVDCQO91T+OwDRsuaAeWZC1mlCXFjAPPQdxeQohtuYOe9m7mPP/xIMNiqbe8jvndHA==",
-      "dependencies": {
-        "@smithy/abort-controller": "^2.0.9",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/querystring-builder": "^2.0.9",
-        "@smithy/types": "^2.3.3",
+      "version": "2.1.10",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz",
+      "integrity": "sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw==",
+      "dependencies": {
+        "@smithy/abort-controller": "^2.0.14",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1559,11 +1656,11 @@
       }
     },
     "node_modules/@smithy/property-provider": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.10.tgz",
-      "integrity": "sha512-YMBVfh0ZMmJtbsUn+WfSwR32iRljZPdRN0Tn2GAcdJ+ejX8WrBXD7Z0jIkQDrQZr8fEuuv5x8WxMIj+qVbsPQw==",
+      "version": "2.0.15",
+      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.15.tgz",
+      "integrity": "sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1571,11 +1668,11 @@
       }
     },
     "node_modules/@smithy/protocol-http": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.5.tgz",
-      "integrity": "sha512-3t3fxj+ip4EPHRC2fQ0JimMxR/qCQ1LSQJjZZVZFgROnFLYWPDgUZqpoi7chr+EzatxJVXF/Rtoi5yLHOWCoZQ==",
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.10.tgz",
+      "integrity": "sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1583,11 +1680,11 @@
       }
     },
     "node_modules/@smithy/querystring-builder": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.9.tgz",
-      "integrity": "sha512-Yt6CPF4j3j1cuwod/DRflbuXxBFjJm7gAjy6W1RE21Rz5/kfGFqiZBXWmmXwGtnnhiLThYwoHK4S6/TQtnx0Fg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz",
+      "integrity": "sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-uri-escape": "^2.0.0",
         "tslib": "^2.5.0"
       },
@@ -1596,11 +1693,11 @@
       }
     },
     "node_modules/@smithy/querystring-parser": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.9.tgz",
-      "integrity": "sha512-U6z4N743s4vrcxPW8p8+reLV0PjMCYEyb1/wtMVvv3VnbJ74gshdI8SR1sBnEh95cF8TxonmX5IxY25tS9qGfg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz",
+      "integrity": "sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1608,22 +1705,22 @@
       }
     },
     "node_modules/@smithy/service-error-classification": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.2.tgz",
-      "integrity": "sha512-GTUd2j63gKy7A+ggvSdn2hc4sejG7LWfE+ZMF17vzWoNyqERWbRP7HTPS0d0Lwg1p6OQCAzvNigSrEIWVFt6iA==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz",
+      "integrity": "sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w==",
       "dependencies": {
-        "@smithy/types": "^2.3.3"
+        "@smithy/types": "^2.6.0"
       },
       "engines": {
         "node": ">=14.0.0"
       }
     },
     "node_modules/@smithy/shared-ini-file-loader": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.11.tgz",
-      "integrity": "sha512-Sf0u5C5px6eykXi6jImDTp+edvG3REtPjXnFWU/J+b7S2wkXwUqFXqBL5DdM4zC1F+M8u57ZT7NRqDwMOw7/Tw==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz",
+      "integrity": "sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1631,17 +1728,17 @@
       }
     },
     "node_modules/@smithy/signature-v4": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.9.tgz",
-      "integrity": "sha512-RkHP0joSI1j2EI+mU55sOi33/aMMkKdL9ZY+SWrPxsiCe1oyzzuy79Tpn8X7uT+t0ilNmQlwPpkP/jUy940pEA==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.16.tgz",
+      "integrity": "sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg==",
       "dependencies": {
-        "@smithy/eventstream-codec": "^2.0.9",
+        "@smithy/eventstream-codec": "^2.0.14",
         "@smithy/is-array-buffer": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-hex-encoding": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.7",
         "@smithy/util-uri-escape": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1649,13 +1746,13 @@
       }
     },
     "node_modules/@smithy/smithy-client": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.7.tgz",
-      "integrity": "sha512-r6T/oiBQ8vCbGqObH4/h0YqD0jFB1hAS9KFRmuTfaNJueu/L2hjmjqFjv3PV5lkbNHTgUYraSv4cFQ1naxiELQ==",
+      "version": "2.1.16",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.16.tgz",
+      "integrity": "sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ==",
       "dependencies": {
-        "@smithy/middleware-stack": "^2.0.3",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-stream": "^2.0.12",
+        "@smithy/middleware-stack": "^2.0.8",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-stream": "^2.0.21",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1663,9 +1760,9 @@
       }
     },
     "node_modules/@smithy/types": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.3.tgz",
-      "integrity": "sha512-zTdIPR9PvFVNRdIKMQu4M5oyTaycIbUqLheQqaOi9rTWPkgjGO2wDBxMA1rBHQB81aqAEv+DbSS4jfKyQMnXRA==",
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.6.0.tgz",
+      "integrity": "sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g==",
       "dependencies": {
         "tslib": "^2.5.0"
       },
@@ -1674,19 +1771,19 @@
       }
     },
     "node_modules/@smithy/url-parser": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.9.tgz",
-      "integrity": "sha512-NBnJ0NiY8z6E82Xd5VYUFQfKwK/wA/+QkKmpYUYP+cpH3aCzE6g2gvixd9vQKYjsIdRfNPCf+SFAozt8ljozOw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.14.tgz",
+      "integrity": "sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==",
       "dependencies": {
-        "@smithy/querystring-parser": "^2.0.9",
-        "@smithy/types": "^2.3.3",
+        "@smithy/querystring-parser": "^2.0.14",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/util-base64": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz",
-      "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz",
+      "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.0.0",
         "tslib": "^2.5.0"
@@ -1738,13 +1835,13 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-browser": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.11.tgz",
-      "integrity": "sha512-0syV1Mz/mCQ7CG/MHKQfH+w86xq59jpD0EOXv5oe0WBXLmq2lWPpVHl2Y6+jQ+/9fYzyZ5NF+NC/WEIuiv690A==",
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz",
+      "integrity": "sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==",
       "dependencies": {
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/smithy-client": "^2.1.7",
-        "@smithy/types": "^2.3.3",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
         "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       },
@@ -1753,22 +1850,35 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "2.0.13",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.13.tgz",
-      "integrity": "sha512-6BtCHYdw5Z8r6KpW8tRCc3yURgvcQwfIEeHhR70BeSOfx8T/TXPPjb8A+K45+KASspa3fzrsSxeIwB0sAeMoHA==",
-      "dependencies": {
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/credential-provider-imds": "^2.0.12",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/smithy-client": "^2.1.7",
-        "@smithy/types": "^2.3.3",
+      "version": "2.0.26",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz",
+      "integrity": "sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==",
+      "dependencies": {
+        "@smithy/config-resolver": "^2.0.19",
+        "@smithy/credential-provider-imds": "^2.1.2",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
         "node": ">= 10.0.0"
       }
     },
+    "node_modules/@smithy/util-endpoints": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz",
+      "integrity": "sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
     "node_modules/@smithy/util-hex-encoding": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz",
@@ -1781,11 +1891,11 @@
       }
     },
     "node_modules/@smithy/util-middleware": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.2.tgz",
-      "integrity": "sha512-UGPZM+Ja/vke5pc/S8G0LNiHpVirtjppsXO+GK9m9wbzRGzPJTfnZA/gERUUN/AfxEy/8SL7U1kd7u4t2X8K1w==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.7.tgz",
+      "integrity": "sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1793,12 +1903,12 @@
       }
     },
     "node_modules/@smithy/util-retry": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.2.tgz",
-      "integrity": "sha512-ovWiayUB38moZcLhSFFfUgB2IMb7R1JfojU20qSahjxAgfOZvDWme3eOYUMtAVnouZ9kYJiFgHLy27qRH4NeeA==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.7.tgz",
+      "integrity": "sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q==",
       "dependencies": {
-        "@smithy/service-error-classification": "^2.0.2",
-        "@smithy/types": "^2.3.3",
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1806,17 +1916,17 @@
       }
     },
     "node_modules/@smithy/util-stream": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.12.tgz",
-      "integrity": "sha512-FOCpRLaj6gvSyUC5mJAACT+sPMPmp9sD1o+hVbUH/QxwZfulypA3ZIFdAg/59/IY0d/1Q4CTztsiHEB5LgjN4g==",
-      "dependencies": {
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-base64": "^2.0.0",
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.21.tgz",
+      "integrity": "sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA==",
+      "dependencies": {
+        "@smithy/fetch-http-handler": "^2.2.7",
+        "@smithy/node-http-handler": "^2.1.10",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-buffer-from": "^2.0.0",
         "@smithy/util-hex-encoding": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1835,9 +1945,9 @@
       }
     },
     "node_modules/@smithy/util-utf8": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz",
-      "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz",
+      "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.0.0",
         "tslib": "^2.5.0"
@@ -1847,9 +1957,9 @@
       }
     },
     "node_modules/@types/babel__core": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz",
-      "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==",
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
       "dependencies": {
         "@babel/parser": "^7.20.7",
         "@babel/types": "^7.20.7",
@@ -1859,80 +1969,77 @@
       }
     },
     "node_modules/@types/babel__generator": {
-      "version": "7.6.5",
-      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz",
-      "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==",
+      "version": "7.6.7",
+      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz",
+      "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==",
       "dependencies": {
         "@babel/types": "^7.0.0"
       }
     },
     "node_modules/@types/babel__template": {
-      "version": "7.4.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz",
-      "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
       "dependencies": {
         "@babel/parser": "^7.1.0",
         "@babel/types": "^7.0.0"
       }
     },
     "node_modules/@types/babel__traverse": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz",
-      "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==",
+      "version": "7.20.4",
+      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
+      "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
       "dependencies": {
         "@babel/types": "^7.20.7"
       }
     },
     "node_modules/@types/chai": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.6.tgz",
-      "integrity": "sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw=="
-    },
-    "node_modules/@types/node": {
-      "version": "20.6.4",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.4.tgz",
-      "integrity": "sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ=="
+      "version": "4.3.11",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz",
+      "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ=="
     },
     "node_modules/@types/sinon": {
-      "version": "10.0.16",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.16.tgz",
-      "integrity": "sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==",
+      "version": "17.0.2",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.2.tgz",
+      "integrity": "sha512-Zt6heIGsdqERkxctIpvN5Pv3edgBrhoeb3yHyxffd4InN0AX2SVNKSrhdDZKGQICVOxWP/q4DyhpfPNMSrpIiA==",
       "dependencies": {
         "@types/sinonjs__fake-timers": "*"
       }
     },
     "node_modules/@types/sinon-chai": {
-      "version": "3.2.9",
-      "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz",
-      "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==",
+      "version": "3.2.12",
+      "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz",
+      "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==",
       "dependencies": {
         "@types/chai": "*",
         "@types/sinon": "*"
       }
     },
     "node_modules/@types/sinonjs__fake-timers": {
-      "version": "8.1.2",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz",
-      "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA=="
+      "version": "8.1.5",
+      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
+      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ=="
     },
     "node_modules/@types/webidl-conversions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-      "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="
     },
     "node_modules/@types/whatwg-url": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
-      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.3.tgz",
+      "integrity": "sha512-z1ELvMijRL1QmU7QuzDkeYXSF2+dXI0ITKoQsIoVKcNBOiK5RMmWy+pYYxJTHFt8vkpZe7UsvRErQwcxZkjoUw==",
       "dependencies": {
-        "@types/node": "*",
         "@types/webidl-conversions": "*"
       }
     },
     "node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
     },
     "node_modules/abort-controller": {
       "version": "3.0.0",
@@ -1958,9 +2065,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+      "version": "8.11.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+      "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2163,9 +2270,9 @@
       "optional": true
     },
     "node_modules/big-integer": {
-      "version": "1.6.51",
-      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
-      "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+      "version": "1.6.52",
+      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+      "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
       "engines": {
         "node": ">=0.6"
       }
@@ -2251,9 +2358,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.21.11",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz",
-      "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==",
+      "version": "4.22.2",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+      "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
       "funding": [
         {
           "type": "opencollective",
@@ -2269,9 +2376,9 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001538",
-        "electron-to-chromium": "^1.4.526",
-        "node-releases": "^2.0.13",
+        "caniuse-lite": "^1.0.30001565",
+        "electron-to-chromium": "^1.4.601",
+        "node-releases": "^2.0.14",
         "update-browserslist-db": "^1.0.13"
       },
       "bin": {
@@ -2282,9 +2389,9 @@
       }
     },
     "node_modules/bson": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-6.1.0.tgz",
-      "integrity": "sha512-yiQ3KxvpVoRpx1oD1uPz4Jit9tAVTJgjdmjDKtUErkOoL9VNoF8Dd58qtAOL5E40exx2jvAT9sqdRSK/r+SHlA==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz",
+      "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==",
       "engines": {
         "node": ">=16.20.1"
       }
@@ -2336,21 +2443,22 @@
       }
     },
     "node_modules/call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+      "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
       "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.1",
+        "set-function-length": "^1.1.1"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001538",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz",
-      "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==",
+      "version": "1.0.30001566",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz",
+      "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==",
       "funding": [
         {
           "type": "opencollective",
@@ -2425,9 +2533,12 @@
       }
     },
     "node_modules/component-type": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz",
-      "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg=="
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz",
+      "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==",
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
     },
     "node_modules/config-chain": {
       "version": "1.1.13",
@@ -2458,9 +2569,9 @@
       }
     },
     "node_modules/convert-source-map": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
     },
     "node_modules/cookie": {
       "version": "0.5.0",
@@ -2532,6 +2643,19 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/dedent": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
+      "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
+      "peerDependencies": {
+        "babel-plugin-macros": "^3.1.0"
+      },
+      "peerDependenciesMeta": {
+        "babel-plugin-macros": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/deep-extend": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -2573,6 +2697,19 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/define-data-property": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+      "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/define-lazy-prop": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
@@ -2610,6 +2747,11 @@
         "node": ">=8"
       }
     },
+    "node_modules/eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+    },
     "node_modules/editorconfig": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
@@ -2633,9 +2775,14 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.528",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz",
-      "integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA=="
+      "version": "1.4.603",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.603.tgz",
+      "integrity": "sha512-Dvo5OGjnl7AZTU632dFJtWj0uJK835eeOVQIuRcmBmsFsTNn3cL05FqOyHAfGQDIoHfLhyJ1Tya3PJ0ceMz54g=="
+    },
+    "node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
     },
     "node_modules/emphasize": {
       "version": "4.2.0",
@@ -2794,6 +2941,11 @@
         "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
+    "node_modules/execa/node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+    },
     "node_modules/expand-template": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
@@ -2945,6 +3097,21 @@
         }
       }
     },
+    "node_modules/foreground-child": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
     "node_modules/format": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
@@ -3002,15 +3169,13 @@
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
     },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
-    },
     "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
     "node_modules/gensync": {
       "version": "1.0.0-beta.2",
@@ -3035,14 +3200,14 @@
       }
     },
     "node_modules/get-intrinsic": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
-      "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+      "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
       "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
+        "function-bind": "^1.1.2",
         "has-proto": "^1.0.1",
-        "has-symbols": "^1.0.3"
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -3066,34 +3231,26 @@
       "optional": true
     },
     "node_modules/glob": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
-      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "version": "10.3.10",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+      "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^5.0.1",
-        "once": "^1.3.0"
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^2.3.5",
+        "minimatch": "^9.0.1",
+        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+        "path-scurry": "^1.10.1"
+      },
+      "bin": {
+        "glob": "dist/esm/bin.mjs"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=16 || 14 >=14.17"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/glob/node_modules/minimatch": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
-      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -3102,22 +3259,22 @@
         "node": ">=4"
       }
     },
+    "node_modules/gopd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+      "dependencies": {
+        "get-intrinsic": "^1.1.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/handle-backspaces": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/handle-backspaces/-/handle-backspaces-1.0.0.tgz",
       "integrity": "sha512-w11NXUn51gVN50nTW5MOuhKuko9xZonnHDe5LlapaOZvuyxDXVDn9b1ZtG0IJTABGbL/UGeSitqHgo9Bb7nDhQ=="
     },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
     "node_modules/has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -3126,6 +3283,17 @@
         "node": ">=4"
       }
     },
+    "node_modules/has-property-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
+      "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/has-proto": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
@@ -3148,6 +3316,17 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/hasown": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+      "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/heap-js": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.3.0.tgz",
@@ -3223,15 +3402,6 @@
       ],
       "optional": true
     },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
     "node_modules/inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -3280,6 +3450,14 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/is-inside-container": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -3358,10 +3536,27 @@
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
     },
+    "node_modules/jackspeak": {
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+      "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
     "node_modules/joi": {
-      "version": "17.10.2",
-      "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz",
-      "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==",
+      "version": "17.11.0",
+      "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz",
+      "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==",
       "dependencies": {
         "@hapi/hoek": "^9.0.0",
         "@hapi/topo": "^5.0.0",
@@ -3376,22 +3571,22 @@
       "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ=="
     },
     "node_modules/jose": {
-      "version": "4.14.6",
-      "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.6.tgz",
-      "integrity": "sha512-EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ==",
+      "version": "4.15.4",
+      "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz",
+      "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==",
       "funding": {
         "url": "https://github.com/sponsors/panva"
       }
     },
     "node_modules/js-beautify": {
-      "version": "1.14.9",
-      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.9.tgz",
-      "integrity": "sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==",
+      "version": "1.14.11",
+      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.11.tgz",
+      "integrity": "sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==",
       "dependencies": {
         "config-chain": "^1.1.13",
         "editorconfig": "^1.0.3",
-        "glob": "^8.1.0",
-        "nopt": "^6.0.0"
+        "glob": "^10.3.3",
+        "nopt": "^7.2.0"
       },
       "bin": {
         "css-beautify": "js/bin/css-beautify.js",
@@ -3399,7 +3594,7 @@
         "js-beautify": "js/bin/js-beautify.js"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
       }
     },
     "node_modules/js-tokens": {
@@ -3441,20 +3636,26 @@
       }
     },
     "node_modules/kerberos": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.0.1.tgz",
-      "integrity": "sha512-O/jIgbdGK566eUhFwIcgalbqirYU/r76MW7/UFw06Fd9x5bSwgyZWL/Vm26aAmezQww/G9KYkmmJBkEkPk5HLw==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.0.tgz",
+      "integrity": "sha512-HvOl6O6cyEN/8Z4CAocHe/sekJtvt5UrxUdCuu7bXDZ2Hnsy6OpsQbISW+lpm03vrbO2ir+1QQ5Sx/vMEhHnog==",
       "hasInstallScript": true,
       "optional": true,
       "dependencies": {
         "bindings": "^1.5.0",
-        "node-addon-api": "^4.3.0",
+        "node-addon-api": "^6.1.0",
         "prebuild-install": "7.1.1"
       },
       "engines": {
         "node": ">=12.9.0"
       }
     },
+    "node_modules/kerberos/node_modules/node-addon-api": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+      "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+      "optional": true
+    },
     "node_modules/lodash": {
       "version": "4.17.21",
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@@ -3623,11 +3824,11 @@
       }
     },
     "node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "engines": {
-        "node": ">=8"
+        "node": ">=16 || 14 >=14.17"
       }
     },
     "node_modules/minizlib": {
@@ -3676,13 +3877,13 @@
       "optional": true
     },
     "node_modules/mongodb": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.1.0.tgz",
-      "integrity": "sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.3.0.tgz",
+      "integrity": "sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA==",
       "dependencies": {
         "@mongodb-js/saslprep": "^1.1.0",
-        "bson": "^6.1.0",
-        "mongodb-connection-string-url": "^2.6.0"
+        "bson": "^6.2.0",
+        "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
         "node": ">=16.20.1"
@@ -3721,11 +3922,11 @@
       }
     },
     "node_modules/mongodb-build-info": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.0.tgz",
-      "integrity": "sha512-mKpWHe7VsYJYOgZ9ik4vIu3cOBKsDK5b8zSTqnZI5JG1briTYadB103b0yPGn1mQ+JppxzqH3EbRHW0xeOhkVw==",
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.1.tgz",
+      "integrity": "sha512-he4lTotY5AkGSc4Js9Dtqvx4W7x5JSNa9xtvR08y1tUyhglHG1tV+NnuUTrysXA0hNHMMvOd/Hh4Ez9Po84p1g==",
       "dependencies": {
-        "mongodb-connection-string-url": "^2.2.0"
+        "mongodb-connection-string-url": "^3.0.0"
       }
     },
     "node_modules/mongodb-client-encryption": {
@@ -3744,12 +3945,12 @@
       }
     },
     "node_modules/mongodb-connection-string-url": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz",
-      "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz",
+      "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==",
       "dependencies": {
-        "@types/whatwg-url": "^8.2.1",
-        "whatwg-url": "^11.0.0"
+        "@types/whatwg-url": "^11.0.2",
+        "whatwg-url": "^13.0.0"
       }
     },
     "node_modules/mongodb-crypt-library-version": {
@@ -3811,9 +4012,9 @@
       }
     },
     "node_modules/node-abi": {
-      "version": "3.47.0",
-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz",
-      "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==",
+      "version": "3.52.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz",
+      "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==",
       "optional": true,
       "dependencies": {
         "semver": "^7.3.5"
@@ -3876,22 +4077,22 @@
       }
     },
     "node_modules/node-releases": {
-      "version": "2.0.13",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
-      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
     },
     "node_modules/nopt": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
-      "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+      "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
       "dependencies": {
-        "abbrev": "^1.0.0"
+        "abbrev": "^2.0.0"
       },
       "bin": {
         "nopt": "bin/nopt.js"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/npm-run-path": {
@@ -3936,9 +4137,9 @@
       }
     },
     "node_modules/object-inspect": {
-      "version": "1.12.3",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-      "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
@@ -3966,6 +4167,7 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
       "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "optional": true,
       "dependencies": {
         "wrappy": "1"
       }
@@ -4002,11 +4204,11 @@
       }
     },
     "node_modules/openid-client": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.5.0.tgz",
-      "integrity": "sha512-Y7Xl8BgsrkzWLHkVDYuroM67hi96xITyEDSkmWaGUiNX6CkcXC3XyQGdv5aWZ6dukVKBFVQCADi9gCavOmU14w==",
+      "version": "5.6.1",
+      "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.1.tgz",
+      "integrity": "sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==",
       "dependencies": {
-        "jose": "^4.14.4",
+        "jose": "^4.15.1",
         "lru-cache": "^6.0.0",
         "object-hash": "^2.2.0",
         "oidc-token-hash": "^5.0.3"
@@ -4060,6 +4262,29 @@
         "node": ">=8"
       }
     },
+    "node_modules/path-scurry": {
+      "version": "1.10.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
+      "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+      "dependencies": {
+        "lru-cache": "^9.1.1 || ^10.0.0",
+        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
+      "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+      "engines": {
+        "node": "14 || >=16.14"
+      }
+    },
     "node_modules/path-to-regexp": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -4202,9 +4427,9 @@
       }
     },
     "node_modules/punycode": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
-      "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
       "engines": {
         "node": ">=6"
       }
@@ -4280,12 +4505,12 @@
       "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA=="
     },
     "node_modules/resolve-mongodb-srv": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.2.tgz",
-      "integrity": "sha512-jCuT9KvycstfAQnS/0KnfL48RVLYHuq4S3NZznQzuPMNyH7dBoMqSRSwWYIHp/UCcAnpXbNLrILEzEoxE8wWKA==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.3.tgz",
+      "integrity": "sha512-TrD4ebxN+1wfGhTl1uEKPSReCK13OscqpatIFKabCivrfQSDeVB4GYxpbm5F7yryyniuCxiEDxyyJO3a0UPQjw==",
       "optional": true,
       "dependencies": {
-        "whatwg-url": "^11.0.0"
+        "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0"
       },
       "bin": {
         "resolve-mongodb-srv": "bin/resolve-mongodb-srv.js"
@@ -4379,6 +4604,11 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/run-applescript/node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+    },
     "node_modules/run-applescript/node_modules/strip-final-newline": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
@@ -4491,6 +4721,20 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/set-function-length": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
+      "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+      "dependencies": {
+        "define-data-property": "^1.1.1",
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -4529,9 +4773,15 @@
       }
     },
     "node_modules/signal-exit": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
     },
     "node_modules/simple-concat": {
       "version": "1.0.1",
@@ -4625,6 +4875,66 @@
         "safe-buffer": "~5.2.0"
       }
     },
+    "node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/string-width-cjs": {
+      "name": "string-width",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width-cjs/node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/string-width/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/string-width/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/strip-ansi": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -4636,6 +4946,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/strip-ansi-cjs": {
+      "name": "strip-ansi",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/strip-final-newline": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -4731,6 +5053,14 @@
         "node": ">=6"
       }
     },
+    "node_modules/tar/node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/tar/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -4769,14 +5099,14 @@
       }
     },
     "node_modules/tr46": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-      "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
+      "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
       "dependencies": {
-        "punycode": "^2.1.1"
+        "punycode": "^2.3.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
       }
     },
     "node_modules/tslib": {
@@ -4892,15 +5222,15 @@
       }
     },
     "node_modules/whatwg-url": {
-      "version": "11.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-      "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
+      "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
       "dependencies": {
-        "tr46": "^3.0.0",
+        "tr46": "^4.1.1",
         "webidl-conversions": "^7.0.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=16"
       }
     },
     "node_modules/which": {
@@ -4932,10 +5262,128 @@
         "node-forge": "^1.2.1"
       }
     },
+    "node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs": {
+      "name": "wrap-ansi",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "optional": true
     },
     "node_modules/yallist": {
       "version": "3.1.1",
diff --git a/pkgs/development/tools/mongosh/source.json b/pkgs/development/tools/mongosh/source.json
index 3715df3bf3051..091bbd27c998c 100644
--- a/pkgs/development/tools/mongosh/source.json
+++ b/pkgs/development/tools/mongosh/source.json
@@ -1,6 +1,6 @@
 {
-  "version": "2.0.1",
-  "integrity": "sha512-Xvlzso5vJAYfbO/N/6CCmcEnpHAv/PF4D6RqAvr8BFoPjCmYFwKDjOHEHjaPtrJYY1gWEDN5gaukZfqcAxiDFg==",
-  "filename": "mongosh-2.0.1.tgz",
-  "deps": "sha256-wICy0PoMQ6ypiZL/4Yf2l9KNXC9LNNdzy8EmhwK3kws="
+  "version": "2.1.1",
+  "integrity": "sha512-2Gw9fJp2ebK2Gx7QT6sg7FCEpTfFlRib7hJkRhUO92/irGDTDtH6lYU45A4jRRMwgYVyjCfcfeWC11JQCSfsvg==",
+  "filename": "mongosh-2.1.1.tgz",
+  "deps": "sha256-F/ACpX5BsnPttrYRabWsTgUN6uABQ6RHdGc2h6qMbp8="
 }
diff --git a/pkgs/development/tools/neil/default.nix b/pkgs/development/tools/neil/default.nix
index bfa390248f32e..96eb34f091704 100644
--- a/pkgs/development/tools/neil/default.nix
+++ b/pkgs/development/tools/neil/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "neil";
-  version = "0.2.62";
+  version = "0.2.63";
 
   src = fetchFromGitHub {
     owner = "babashka";
     repo = "neil";
     rev = "v${version}";
-    sha256 = "sha256-zSZ62RMHZLuhIPdde0cfWae+uFpWVjMfHuLAJdRedJA=";
+    sha256 = "sha256-mcygDOx5yzOW80bv54cPOKl1t443DXFRq4Hb4KYD5e8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 5d948190ee19e..726aa304a544f 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "packer";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    hash = "sha256-oGEG9uGjZTpJjQBnVlffFpNc5sb7HyD/ibpnQUhtTH4=";
+    hash = "sha256-7HoT9B6YpgwJ8Q1TUMS3W919204LiOqyemtT7Ybeeyg=";
   };
 
-  vendorHash = "sha256-vHVx9vFPvctWNzibfZlN7mEYngYd6q7s9gMIM0FX0Ao=";
+  vendorHash = "sha256-aalecIoKUUj0siDIBXXeyCjkpsyjlPPX6XohDC6WDoY=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/redoc-cli/default.nix b/pkgs/development/tools/redoc-cli/default.nix
index ed475e08fa44e..de30e43d5eaf9 100644
--- a/pkgs/development/tools/redoc-cli/default.nix
+++ b/pkgs/development/tools/redoc-cli/default.nix
@@ -30,5 +30,7 @@ buildNpmPackage rec {
     license = lib.licenses.mit;
     mainProgram = "redoc-cli";
     maintainers = with lib.maintainers; [ veehaitch ];
+    # https://github.com/NixOS/nixpkgs/issues/272217
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix
index 74a3d6b149b52..f8e74387b3466 100644
--- a/pkgs/development/tools/reindeer/default.nix
+++ b/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "unstable-2023-11-09";
+  version = "unstable-2023-12-06";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
-    rev = "66460cb9628864e230f6b30adc49c4b848d2e843";
-    sha256 = "sha256-pB68YxLHiNFhW+0PZ+UW39V59aE11CXZH7WXyqgyRIk=";
+    rev = "5297f5fbb3140203ad796c5b22ad5ec3607bb640";
+    sha256 = "sha256-o9T7mv01ncstqpOwaj3PBPGtYVXLBnYlfCtP0IbxSpw=";
   };
 
-  cargoSha256 = "sha256-iw+7xsVNpIQIxDAmN878v88k1EYe1FnJPVpGBhyVstA=";
+  cargoSha256 = "sha256-WHoOyJn+F+lMVUx2djfcbrlKAWs1fW+uhF0xiFKQes0=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 94f70251e504c..aa81e95923179 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EX1tXe8KlwjrohzgzKDeJP0PjfKw8+lnQ7eg9PAUAfQ=";
+    hash = "sha256-Al256/8A/efLrf97xCwEocwgs3ngPnEAmkfcLWdlkTw=";
   };
 
-  cargoHash = "sha256-ueWSBYXcdaxagjFjxfsImulOs0zVVqGHmfXp4pQLaMM=";
+  cargoHash = "sha256-4iC9pRmhxC29zIrRxQfNG3KCWtHqw8ml6MJoT/XZjSI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/rust/cargo-deb/default.nix b/pkgs/development/tools/rust/cargo-deb/default.nix
index a9b76710605ed..257819f4ad3b7 100644
--- a/pkgs/development/tools/rust/cargo-deb/default.nix
+++ b/pkgs/development/tools/rust/cargo-deb/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "1.42.2";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-s/piZ8sCdBz5zFW9i7xdVrf7dQiMjQp/ixCDjFh5SLc=";
+    hash = "sha256-DgKGnIA2ovBLja+r+nYZ97UPaWO7a7RXeXa10guZBTc=";
   };
 
-  cargoHash = "sha256-4iJghmSXsaijNCvYyrM3dEsqCDk6zeTU92oP5Qs6tOY=";
+  cargoHash = "sha256-Sv9i8f0ywMNvjA2yvCX+2ZhFuNCovEGiaMxkg/IV36g=";
 
   nativeBuildInputs = [
     makeWrapper
@@ -25,6 +25,7 @@ rustPlatform.buildRustPackage rec {
   # This is an FHS specific assert depending on glibc location
   checkFlags = [
     "--skip=dependencies::resolve_test"
+    "--skip=run_cargo_deb_command_on_example_dir_with_separate_debug_symbols"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/tools/rust/cargo-hack/default.nix b/pkgs/development/tools/rust/cargo-hack/default.nix
index 4de6345b9bf64..9a880a7a92f0b 100644
--- a/pkgs/development/tools/rust/cargo-hack/default.nix
+++ b/pkgs/development/tools/rust/cargo-hack/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hack";
-  version = "0.6.13";
+  version = "0.6.14";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-5WwbtubANrLHXvaWzO/u1NeeetVUvl/ujq89BqFZ2ZQ=";
+    hash = "sha256-RWYCESNNrB4eZGHGbbXAZJ+NhrRY5rImoAG7OFRPHZ0=";
   };
 
-  cargoHash = "sha256-25I1j0QiyeHtUq6IK7ehRK3JLKygiigtfvEe+N74TgY=";
+  cargoHash = "sha256-YRNIFNiFPK7/RgdUSDA+UPJ9wooyqi32+pzshW+ajSU=";
 
   # some necessary files are absent in the crate version
   doCheck = false;
diff --git a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
index 7e0abac242a84..9795d382d8b3a 100644
--- a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
@@ -8,7 +8,7 @@ version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
- "gimli",
+ "gimli 0.28.1",
 ]
 
 [[package]]
@@ -158,7 +158,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -389,7 +389,7 @@ dependencies = [
 
 [[package]]
 name = "cargo-leptos"
-version = "0.2.2"
+version = "0.2.5"
 dependencies = [
  "ansi_term",
  "anyhow",
@@ -430,9 +430,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36"
+checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff"
 dependencies = [
  "serde",
 ]
@@ -489,9 +489,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -499,9 +499,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.7"
+version = "4.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
 dependencies = [
  "anstream",
  "anstyle",
@@ -518,7 +518,7 @@ dependencies = [
  "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -686,7 +686,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -737,7 +737,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if 1.0.0",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -745,9 +745,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "data-url"
@@ -889,15 +889,21 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "fallible-iterator"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
+
+[[package]]
 name = "fastrand"
 version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -927,9 +933,9 @@ dependencies = [
 
 [[package]]
 name = "flexi_logger"
-version = "0.27.2"
+version = "0.27.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d1984eeb4ccb9a6f3fa5f2a1850d34afed6fd4ffcd1513b691eef9dda0f057"
+checksum = "2ac35b454b60e1836602173e2eb7ef531173388c0212e02ec7f9fac086159ee5"
 dependencies = [
  "chrono",
  "glob",
@@ -948,25 +954,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1082,9 +1073,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -1095,9 +1086,20 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
+dependencies = [
+ "fallible-iterator",
+ "indexmap 1.9.3",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -1107,9 +1109,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
 dependencies = [
  "bytes",
  "fnv",
@@ -1117,7 +1119,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
  "slab",
  "tokio",
  "tokio-util",
@@ -1144,9 +1146,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "heck"
@@ -1180,9 +1182,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -1237,16 +1239,17 @@ dependencies = [
 ]
 
 [[package]]
-name = "hyper-tls"
-version = "0.5.0"
+name = "hyper-rustls"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
- "bytes",
+ "futures-util",
+ "http",
  "hyper",
- "native-tls",
+ "rustls",
  "tokio",
- "tokio-native-tls",
+ "tokio-rustls",
 ]
 
 [[package]]
@@ -1286,9 +1289,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1311,7 +1314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -1400,9 +1403,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1437,9 +1440,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
 
 [[package]]
 name = "leptos_hot_reload"
-version = "0.5.2"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6902fabee84955a85a6cdebf8ddfbfb134091087b172e32ebb26e571d4640ca"
+checksum = "4ea60376eb80a24b3ab082612d62211e3ea0fc4dee132f7ff34d5fa5a5108cd2"
 dependencies = [
  "anyhow",
  "camino",
@@ -1449,15 +1452,15 @@ dependencies = [
  "quote",
  "rstml",
  "serde",
- "syn 2.0.38",
+ "syn 2.0.39",
  "walkdir",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libflate"
@@ -1484,10 +1487,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "lightningcss"
-version = "1.0.0-alpha.50"
+version = "1.0.0-alpha.51"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2999490cc10a59ad8a87d731791a5d438d2d025e3f137aa7d4c23e1827985b0"
+checksum = "99d6ad516c08b24c246b339159dc2ee2144c012e8ebdf4db4bddefb8734b2b69"
 dependencies = [
  "ahash 0.7.7",
  "bitflags 2.4.1",
@@ -1516,9 +1530,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
 
 [[package]]
 name = "lock_api"
@@ -1639,24 +1653,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "native-tls"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
-]
-
-[[package]]
 name = "net2"
 version = "0.2.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1745,50 +1741,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
-name = "openssl"
-version = "0.10.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9dfc0783362704e97ef3bd24261995a699468440099ef95d869b4d9732f829a"
-dependencies = [
- "bitflags 2.4.1",
- "cfg-if 1.0.0",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f55da20b29f956fb01f0add8683eb26ee13ebe3ebd935e49898717c6b4b2830"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "option-ext"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1870,9 +1822,9 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -1933,7 +1885,7 @@ dependencies = [
  "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1971,7 +1923,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1987,12 +1939,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2029,9 +1975,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -2044,7 +1990,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "version_check",
  "yansi",
 ]
@@ -2136,15 +2082,6 @@ dependencies = [
 
 [[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_syscall"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
@@ -2163,12 +2100,12 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
@@ -2225,30 +2162,46 @@ dependencies = [
  "http",
  "http-body",
  "hyper",
- "hyper-tls",
+ "hyper-rustls",
  "ipnet",
  "js-sys",
  "log",
  "mime",
- "native-tls",
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
  "system-configuration",
  "tokio",
- "tokio-native-tls",
+ "tokio-rustls",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
+ "webpki-roots",
  "winreg",
 ]
 
 [[package]]
+name = "ring"
+version = "0.17.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "rkyv"
 version = "0.7.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2291,7 +2244,7 @@ dependencies = [
  "proc-macro2",
  "proc-macro2-diagnostics",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "syn_derive",
  "thiserror",
 ]
@@ -2313,9 +2266,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.21"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
@@ -2325,6 +2278,37 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustls"
+version = "0.21.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64 0.21.5",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
 name = "rustversion"
 version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2352,48 +2336,26 @@ dependencies = [
 ]
 
 [[package]]
-name = "schannel"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
-dependencies = [
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "scopeguard"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "seahash"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
-
-[[package]]
-name = "security-framework"
-version = "2.9.2"
+name = "sct"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
-name = "security-framework-sys"
-version = "2.9.1"
+name = "seahash"
+version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
 
 [[package]]
 name = "semver"
@@ -2406,9 +2368,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
@@ -2426,13 +2388,13 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2526,9 +2488,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "socket2"
@@ -2551,6 +2513,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
 name = "string_cache"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2595,9 +2569,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2613,7 +2587,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2696,7 +2670,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -2716,9 +2690,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.33.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
 dependencies = [
  "backtrace",
  "bytes",
@@ -2735,22 +2709,22 @@ dependencies = [
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
-name = "tokio-native-tls"
-version = "0.3.1"
+name = "tokio-rustls"
+version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "native-tls",
+ "rustls",
  "tokio",
 ]
 
@@ -2887,10 +2861,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2911,15 +2891,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.5.0"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
 
 [[package]]
 name = "version_check"
@@ -2945,15 +2919,17 @@ dependencies = [
 
 [[package]]
 name = "walrus"
-version = "0.19.0"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb08e48cde54c05f363d984bb54ce374f49e242def9468d2e1b6c2372d291f8"
+checksum = "2c03529cd0c4400a2449f640d2f27cd1b48c3065226d15e26d98e4429ab0adb7"
 dependencies = [
  "anyhow",
+ "gimli 0.26.2",
  "id-arena",
  "leb128",
  "log",
  "walrus-macro",
+ "wasm-encoder",
  "wasmparser",
 ]
 
@@ -2986,9 +2962,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -2996,24 +2972,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-cli-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2252adf46913da7b729caf556b81cedd1335165576e6446d84618e8835d89dd"
+checksum = "cf8226e223e2dfbe8f921b7f20b82d1b5d86a6b143e9d6286cca8edd16695583"
 dependencies = [
  "anyhow",
  "base64 0.9.3",
@@ -3033,9 +3009,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-externref-xform"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f3b73cf8fcb86da78c6649c74acef205723f57af99b9f549b2609c83fe7815"
+checksum = "b8a719be856d8b0802c7195ca26ee6eb02cb9639a12b80be32db960ce9640cb8"
 dependencies = [
  "anyhow",
  "walrus",
@@ -3043,9 +3019,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -3055,9 +3031,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3065,22 +3041,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-multi-value-xform"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "930dd8e8226379aebb7d512f31b9241a3c59a1801452932e5a15bebfd3b708fb"
+checksum = "a12766255d4b9026700376cc81894eeb62903e4414cbc94675f6f9babd9cfb76"
 dependencies = [
  "anyhow",
  "walrus",
@@ -3088,15 +3064,15 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "wasm-bindgen-threads-xform"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759b1e9784f903a7890bcf147aa7c8c529a6318a2db05f88c054194a3e6c6d57"
+checksum = "13c2b14c5b9c2c7aa9dd1eb7161857de9783f40e98582e7f41f2d7c04ffdc155"
 dependencies = [
  "anyhow",
  "walrus",
@@ -3105,9 +3081,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-conventions"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc12bc175c837239520b8aa9dcfb68a025fcf56a718a02551a75a972711c816"
+checksum = "aaedf88769cb23c6fd2e3bfed65bcbff6c5d92c8336afbd80d2dfcc8eb5cf047"
 dependencies = [
  "anyhow",
  "walrus",
@@ -3115,9 +3091,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-interpreter"
-version = "0.2.88"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a5510ab88377b4e3160a7e5d90a876d0a1da2d9b9b67495f437246714c0980f"
+checksum = "a8a79039df1e0822e6d66508ec86052993deac201e26060f62abcd85e1daf951"
 dependencies = [
  "anyhow",
  "log",
@@ -3126,22 +3102,37 @@ dependencies = [
 ]
 
 [[package]]
+name = "wasm-encoder"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881"
+dependencies = [
+ "leb128",
+]
+
+[[package]]
 name = "wasmparser"
-version = "0.77.1"
+version = "0.80.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe3d5405e9ea6c1317a656d6e0820912d8b7b3607823a7596117c8f666daf6f"
+checksum = "449167e2832691a1bff24cde28d2804e90e09586a448c8e76984792c44334a6b"
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "webpki-roots"
+version = "0.25.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
+
+[[package]]
 name = "which"
 version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3224,6 +3215,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3254,6 +3254,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3266,6 +3281,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3278,6 +3299,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3290,6 +3317,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3302,6 +3335,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3314,6 +3353,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3326,6 +3371,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3338,6 +3389,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winreg"
 version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3392,22 +3449,22 @@ checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377"
 
 [[package]]
 name = "zerocopy"
-version = "0.7.21"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc"
+checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.21"
+version = "0.7.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806"
+checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.39",
 ]
 
 [[package]]
diff --git a/pkgs/development/tools/rust/cargo-leptos/default.nix b/pkgs/development/tools/rust/cargo-leptos/default.nix
index a1e1ca030711f..fa670ee51e9cd 100644
--- a/pkgs/development/tools/rust/cargo-leptos/default.nix
+++ b/pkgs/development/tools/rust/cargo-leptos/default.nix
@@ -1,7 +1,6 @@
 { darwin
 , fetchFromGitHub
 , lib
-, openssl
 , pkg-config
 , rustPlatform
 , stdenv
@@ -9,30 +8,28 @@
 let
   inherit (darwin.apple_sdk.frameworks)
     CoreServices
+    SystemConfiguration
     Security;
   inherit (lib) optionals;
   inherit (stdenv) isDarwin;
 in
 rustPlatform.buildRustPackage rec {
   pname = "cargo-leptos";
-  version = "0.2.2";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "leptos-rs";
     repo = pname;
-    rev = "e98b478b0c82af1469151eff30f4246b9af4a539";
-    hash = "sha256-7o/yQanBBSA+MmMiGCYSjar4hZ8TRZoPiUniF5ELzXU=";
+    rev = version;
+    hash = "sha256-veRhTruM+Nw2rerzXC/kpi2Jr8mMMBLqOM2YBCpFePU=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
   };
 
-  nativeBuildInputs = optionals (!isDarwin) [ pkg-config ];
-
-  buildInputs = optionals (!isDarwin) [
-    openssl
-  ] ++ optionals isDarwin [
+  buildInputs = optionals isDarwin [
+    SystemConfiguration
     Security
     CoreServices
   ];
diff --git a/pkgs/development/tools/rust/cargo-update/default.nix b/pkgs/development/tools/rust/cargo-update/default.nix
index 99c10f7d21f68..3b3418f38dc06 100644
--- a/pkgs/development/tools/rust/cargo-update/default.nix
+++ b/pkgs/development/tools/rust/cargo-update/default.nix
@@ -16,14 +16,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-update";
-  version = "13.2.0";
+  version = "13.3.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-yMHGn/RPtYuxS3rHzm87mW7nBUEaSOGsCT7Ckxvhabk=";
+    sha256 = "sha256-owiMVeH7m4LoM8c4qjLyFx3v/+Flzt+C+O8qEuXazvc=";
   };
 
-  cargoHash = "sha256-hO2W0NRV9fGHnnS1kOkQ+e0sFzVSBQk3MOm8qDYbA00=";
+  cargoHash = "sha256-WtNH62DBo6WFOUcHnZxn0Jco4SUmhO0+1wXPRB2wxic=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/tools/rust/ravedude/default.nix b/pkgs/development/tools/rust/ravedude/default.nix
index ea5812e5ad1ef..aeb44664cf6c1 100644
--- a/pkgs/development/tools/rust/ravedude/default.nix
+++ b/pkgs/development/tools/rust/ravedude/default.nix
@@ -3,28 +3,40 @@
 , fetchCrate
 , pkg-config
 , udev
+, nix-update-script
+, testers
+, ravedude
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ravedude";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-wcY9fvfIn1pWMAh5FI/QFl18CV2xjmRGSwwoRfGvujo=";
+    hash = "sha256-LhPRz3DUMDoe50Hq3yO+2BHpyh5fQ4sMNGLttjkdSZw=";
   };
 
-  cargoHash = "sha256-AOIrB0FRagbA2+JEURF41d+th0AbR++U5WKCcZmh4Os=";
+  cargoHash = "sha256-Uo8wlTAHBkn/WeGPhPP+BU80wjSyNHsWQj8QvA7mHrk=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ udev ];
 
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion {
+      package = ravedude;
+      version = "v${version}";
+    };
+  };
+
   meta = with lib; {
     description = "Tool to easily flash code onto an AVR microcontroller with avrdude";
     homepage = "https://crates.io/crates/ravedude";
     license = with licenses; [ mit /* or */ asl20 ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ rvarago ];
+    mainProgram = "ravedude";
   };
 }
diff --git a/pkgs/development/tools/sca2d/default.nix b/pkgs/development/tools/sca2d/default.nix
index eb28e7acb026c..eb745e5bd2c62 100644
--- a/pkgs/development/tools/sca2d/default.nix
+++ b/pkgs/development/tools/sca2d/default.nix
@@ -16,6 +16,8 @@ let
           sha256 = "sha256-ctdPPKPSD4weidyhyj7RCV89baIhmuxucF3/Ojx1Efo=";
         };
 
+        patches = [ ];
+
         disabledTestPaths = [ "tests/test_nearley/test_nearley.py" ];
       });
     };
diff --git a/pkgs/development/tools/spring-boot-cli/default.nix b/pkgs/development/tools/spring-boot-cli/default.nix
index 8306a05def0d3..fe4780176a674 100644
--- a/pkgs/development/tools/spring-boot-cli/default.nix
+++ b/pkgs/development/tools/spring-boot-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "spring-boot-cli";
-  version = "3.1.5";
+  version = "3.2.0";
 
   src = fetchzip {
     url = "mirror://maven/org/springframework/boot/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}-bin.zip";
-    hash = "sha256-5Q6bAuEEBkiRHjX8Ie5FFhPfzwKRdlNIQucTqDEIZuQ=";
+    hash = "sha256-C9hWIH6lFDa9dzH5iYZlawt+7SSPt3gxcXM62qd0zbo=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index f150ebc0d4509..c011c1048ecda 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -7,14 +7,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.7.3";
-  vendorHash = "sha256-xC5EHP4Zb9lgvbxVkoVBxdQ4+f34zqRf4XapntZMTTc=";
+  version = "5.7.4";
+  vendorHash = "sha256-2+Q93tm3ooOd/m6aUWAwFGh5CzARPNISNx0Tcrjc7NY=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-mxyGdyR1yZY+YOyf9ngk6P2oBmUL+IbwLWaCvZziSIM=";
+    hash = "sha256-d4cI/Nyn2XPvdZFLY7GHIAcmIUnzgyehGxZPylUD3EU=";
   };
 
   ldflags = [
diff --git a/pkgs/development/tools/tailwindcss/default.nix b/pkgs/development/tools/tailwindcss/default.nix
index 59564cec7f64f..44328eb46474d 100644
--- a/pkgs/development/tools/tailwindcss/default.nix
+++ b/pkgs/development/tools/tailwindcss/default.nix
@@ -18,16 +18,16 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    aarch64-darwin = "sha256-VAJypHejh3ZW2x3fPNvuFw3VkmBbsSTnmBHuqU3hXVY=";
-    aarch64-linux = "sha256-Yxw6DIP8j3JANgvN870socG0aNX76d3c0z12ePbuFSs=";
-    armv7l-linux = "sha256-yS8LDmUit5pM4WrMjhqUJD4e0fWKWf8cr4w1PACj+8g=";
-    x86_64-darwin = "sha256-cTIp7HesR9Ae6yFpUy0H1hrqtHSSReIKZmKE06XCsWU=";
-    x86_64-linux = "sha256-Z3Co095akfV/11UWvpc0WAp3gdUrpjVskUw1v01Eifs=";
+    aarch64-darwin = "sha256-ROZVmhdy3vltNeSgV65aAwythgydusYYVB7XQOJ/spw=";
+    aarch64-linux = "sha256-aX6CTnsWCwf0wDc7wl3skHwC5aJgoBz/2JtgS34eX4s=";
+    armv7l-linux = "sha256-q1449OZ5wvgdJjxhg1+noQVFcFfHKokHtV6CbR8evgs=";
+    x86_64-darwin = "sha256-2eVT5TbektDvXYQzaBc0A9bxv8bKY70cmdIA3WN0u68=";
+    x86_64-linux = "sha256-i0fjaFQbzXL2DIN5Q/+1GRhWTRoaa4tGnDCv6Cl4BhI=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation rec {
   pname = "tailwindcss";
-  version = "3.3.5";
+  version = "3.3.6";
 
   src = fetchurl {
     url = "https://github.com/tailwindlabs/tailwindcss/releases/download/v${version}/tailwindcss-${plat}";
diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix
index d5ad729050ce0..2f1d3b7e72b13 100644
--- a/pkgs/development/tools/turso-cli/default.nix
+++ b/pkgs/development/tools/turso-cli/default.nix
@@ -8,13 +8,13 @@
 }:
 buildGo121Module rec {
   pname = "turso-cli";
-  version = "0.87.4";
+  version = "0.87.6";
 
   src = fetchFromGitHub {
     owner = "tursodatabase";
     repo = "turso-cli";
     rev = "v${version}";
-    hash = "sha256-e5HuDWMmikTlWC2ezZ5zxxKYFlgz9jrpHtNfIwSiiok=";
+    hash = "sha256-LQBAq7U9+6LCkIsA9mvyBUz3vXN/lYdzKHvca4JdxE0=";
   };
 
   vendorHash = "sha256-EcWhpx93n+FzkXDOHwAxhn13qR4n9jLFeaKoe49x1x4=";
diff --git a/pkgs/development/tools/twilio-cli/default.nix b/pkgs/development/tools/twilio-cli/default.nix
index 9a89aa22c8095..11a2bfe4e24b8 100644
--- a/pkgs/development/tools/twilio-cli/default.nix
+++ b/pkgs/development/tools/twilio-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "twilio-cli";
-  version = "5.16.2";
+  version = "5.16.3";
 
   src = fetchzip {
     url = "https://twilio-cli-prod.s3.amazonaws.com/twilio-v${finalAttrs.version}/twilio-v${finalAttrs.version}.tar.gz";
-    hash = "sha256-5YIv4Y46PnyvYt1GQZUrL1/00LldbGDqGjjpys3Sphs=";
+    hash = "sha256-CaH0NRK0KvR2F8/Fov16uzig5BvwRuUNf4SDFDu/SLs=";
   };
 
   buildInputs = [ nodejs-slim ];
diff --git a/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch b/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
index 6109101b7ba9c..75b8f0cf8dfe5 100644
--- a/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
+++ b/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
@@ -214,7 +214,7 @@ index edae9b477..782904f49 100644
          cloud init command '%{cmd}' failed on guest '%{guest_name}'.
        command_deprecated: |-
          The command 'vagrant %{name}' has been deprecated and is no longer functional
-@@ -1238,23 +1238,6 @@ en:
+@@ -1245,30 +1245,6 @@ en:
          following command:
  
            vagrant plugin install --local
@@ -225,12 +225,19 @@ index edae9b477..782904f49 100644
 -        again.
 -      plugin_missing_library: |-
 -        Vagrant failed to install the requested plugin because it depends
--        on a library which is not currently installed on this system. The
--        following library is required by the '%{name}' plugin:
+-        on development files for a library which is not currently installed
+-        on this system. The following library is required by the '%{name}'
+-        plugin:
 -
 -          %{library}
 -
--        Please install the library and then run the command again.
+-        If a package manager is used on this system, please install the development
+-        package for the library. The name of the package will be similar to:
+-
+-          %{library}-dev or %{library}-devel
+-
+-        After the library and development files have been installed, please
+-        run the command again.
 -      plugin_missing_ruby_dev: |-
 -        Vagrant failed to install the requested plugin because the Ruby header
 -        files could not be found. Install the ruby development package for your
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 3b03e4426ba60..5dc9e46671e91 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -5,9 +5,9 @@
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.3.4";
+  version = "2.3.7";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "sha256-Q+sUYcbc/SOgw4ZXDmwqh24G0jiLvA8fDJyZ45OqLw8=";
+  hash = "sha256-+oqWMZqnuf9fSpkbd8vzf1SVSdhHN2JLzr76jyAEv0U=";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
@@ -21,7 +21,7 @@ let
       vagrant = {
         source = {
           type = "url";
-          inherit url sha256;
+          inherit url hash;
         };
         inherit version;
       };
@@ -48,7 +48,7 @@ in buildRubyGem rec {
 
   doInstallCheck = true;
   dontBuild = false;
-  src = fetchurl { inherit url sha256; };
+  src = fetchurl { inherit url hash; };
 
   patches = [
     ./unofficial-installation-nowarn.patch
@@ -98,13 +98,6 @@ in buildRubyGem rec {
     HOME="$(mktemp -d)" $out/bin/vagrant init --output - > /dev/null
   '';
 
-  # `patchShebangsAuto` patches this one script which is intended to run
-  # on foreign systems.
-  postFixup = ''
-    sed -i -e '1c#!/bin/sh -' \
-      $out/lib/ruby/gems/*/gems/vagrant-*/plugins/provisioners/salt/bootstrap-salt.sh
-  '';
-
   passthru = {
     inherit ruby deps;
   };
diff --git a/pkgs/development/tools/vagrant/gemset_libvirt.nix b/pkgs/development/tools/vagrant/gemset_libvirt.nix
index 438d436869f6f..d31b76a4e7f87 100644
--- a/pkgs/development/tools/vagrant/gemset_libvirt.nix
+++ b/pkgs/development/tools/vagrant/gemset_libvirt.nix
@@ -47,10 +47,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s8b3bsajwjyrjs53h0nrfrpzzgi8igsrslprhr6fgl80ig3plld";
+      sha256 = "sha256-z0VkRqFk3JU02ULQ+xQbywekzrJgz1YPDul//Ov5ajU=";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.11.0";
   };
   fog-xml = {
     dependencies = ["fog-core" "nokogiri"];
@@ -109,10 +109,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+      sha256 = "sha256-RrLSRMxv8BqJv2EnRpDAn9vcpHqErp6sOQOegSMa7nw=";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.2";
   };
   multi_json = {
     groups = ["default"];
@@ -130,20 +130,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
+      sha256 = "sha256-INyAC4++TE9LWxZOaqOrgqNxvLJ+toXBZpYcNN2KItc=";
       type = "gem";
     };
-    version = "1.13.6";
+    version = "1.15.2";
   };
   racc = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
+      sha256 = "sha256-r2QSSDb908AOgwcD1/hz6l3qvekj83AGo59aXg2hY4c=";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.1";
   };
   rexml = {
     groups = ["default"];
@@ -155,6 +155,26 @@
     };
     version = "3.2.5";
   };
+  xml-simple = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "sha256-0hEx5RnIbxpbwrbS1X1G5pmOR/GO0kmyXK2GQz29aV0=";
+      type = "gem";
+    };
+    version = "1.1.9";
+  };
+  diffy = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "sha256-NrQv++UTjdxWGCEHwkrY1rBm7P0odoKfOR46SZPYmuE=";
+      type = "gem";
+    };
+    version = "3.4.2";
+  };
   ruby-libvirt = {
     groups = ["default"];
     platforms = [];
@@ -166,14 +186,14 @@
     version = "0.8.0";
   };
   vagrant-libvirt = {
-    dependencies = ["fog-core" "fog-libvirt" "nokogiri" "rexml"];
+    dependencies = ["fog-core" "fog-libvirt" "nokogiri" "rexml" "xml-simple" "diffy"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j31y6sjhslj5yr0ssvb36ngm7prfsbdfj6131757jl0l0ri8pyv";
+      sha256 = "sha256-NMiRjrVQo2Ui9nOJwpDmNJUk+95gsT85pwFMIiw3bwQ=";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "0.12.2";
   };
 }
diff --git a/pkgs/development/tools/vala-lint/default.nix b/pkgs/development/tools/vala-lint/default.nix
index 56566230ef492..b3f4987146b8d 100644
--- a/pkgs/development/tools/vala-lint/default.nix
+++ b/pkgs/development/tools/vala-lint/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-lint";
-  version = "unstable-2023-11-12";
+  version = "unstable-2023-12-05";
 
   src = fetchFromGitHub {
     owner = "vala-lang";
     repo = "vala-lint";
-    rev = "95cf9e61a73fe4a0f69fd8c275c9548703f79838";
-    sha256 = "sha256-w5jW/JM1sR9gIIVl3WJNK9jpaA4CMr56Wt4AuxUlkW8=";
+    rev = "8ae2bb65fe66458263d94711ae4ddd978faece00";
+    sha256 = "sha256-FZV726ZeNEX4ulEh+IIzwZqpnVRr7IeZb47FV1C7YjU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix
index 0b0183aef1d8e..02e5102c9e257 100644
--- a/pkgs/development/tools/vendir/default.nix
+++ b/pkgs/development/tools/vendir/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vendir";
-  version = "0.35.2";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-vendir";
     rev = "v${version}";
-    sha256 = "sha256-zoZPAJTEmKHL78wfAHqayBxw8tRANIsMckj+wXtbLTw=";
+    sha256 = "sha256-AxHVr6XryTXqm+iL54eqxIRE2MfxLbwFz7+aCauP0x8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix
index caddb568c65f0..911ee57a6932c 100644
--- a/pkgs/development/tools/vsce/default.nix
+++ b/pkgs/development/tools/vsce/default.nix
@@ -12,13 +12,13 @@
 
 buildNpmPackage rec {
   pname = "vsce";
-  version = "2.21.1";
+  version = "2.22.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${version}";
-    hash = "sha256-cFqjoWQu/6cvbT1vxReERybuKpeL4LCVl5qhvSwr6fs=";
+    hash = "sha256-zpZ/PsqZ9yRDKTXkSrcBgSxYer7JdjNZqsseHwfzkEY=";
   };
 
   npmDepsHash = "sha256-Difk9a9TYmfwzP9SawEuaxm7iHVjdfO+FxFCE7aEMzM=";
diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix
index c87f49aa7cb41..fec8f6c7ad48d 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -7,9 +7,9 @@
 , stdenv
 , curl
 , Security
-, version ? "0.2.88"
-, hash ? "sha256-CpyB2poKIqP4Zfn3Gk1hA9m6EQ/ZiyO91wZViMH7Wsk="
-, cargoHash ? "sha256-0D5ABJ3jwsrFIvXSOYgOqJtV5B9JUsHZfJEKl6PO47I="
+, version ? "0.2.89"
+, hash ? "sha256-IPxP68xtNSpwJjV2yNMeepAS0anzGl02hYlSTvPocz8="
+, cargoHash ? "sha256-pBeQaG6i65uJrJptZQLuIaCb/WCQMhba1Z1OhYqA8Zc="
 }:
 
 rustPlatform.buildRustPackage rec {
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 9dbbd19d46808..ada98eb33b477 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.40.1";
+  version = "4.40.4";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-S2hsZkospf1VMH/fDLiALEraOA8dbG62JejGY2T/tRU=";
+    hash = "sha256-cEOOaQAduL9a+EwWigzPDN1ABM6wEjEc8dV4ESFkMXA=";
   };
 
-  vendorHash = "sha256-ggb8ZX2KBj/oY+vomCme/7KlnfsykMm4l027kwlxpWY=";
+  vendorHash = "sha256-kFDW8HrBhSuflAbuC6Zs/61OLXPsfPQfYU7Laa7eK9c=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
   '';
 
   passthru.tests = {
-    simple = runCommand "${pname}-test" {} ''
+    simple = runCommand "${pname}-test" { } ''
       echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
       [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
     '';
diff --git a/pkgs/development/tools/zed/default.nix b/pkgs/development/tools/zed/default.nix
index 557e0aff6e271..884b73e9ede8b 100644
--- a/pkgs/development/tools/zed/default.nix
+++ b/pkgs/development/tools/zed/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "brimdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d/XJirgJlS4jTlmATQpFH+Yn7M4EdY0yNDKM1A2NjoA=";
+    sha256 = "sha256-jW++0am4UfMR9f4Qib7LSald06MzjDVTBWJKV4Ebbsw=";
   };
 
-  vendorHash = "sha256-n/7HV3dyV8qsJeEk+vikZvuM5G7nf0QOwVBtInJdU2k=";
+  vendorHash = "sha256-BWvMy1dc3PzAc3kDTXtI6Y8kjRGLWR+aUleItg5EgRU=";
 
   subPackages = [ "cmd/zed" "cmd/zq" ];
 
diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix
index bd2b6e016d4be..d224af5312763 100644
--- a/pkgs/development/web/bun/default.nix
+++ b/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.0.14";
+  version = "1.0.15";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-15YHmf3hJtkRXV8JO2P6XEx3ySOmaXIXU++pt6xl7fM=";
+        hash = "sha256-3EUVa/v/1Q42IPysoUT/N7Adtwq//79ibTpQgrpzl1I=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-DEsYsn6zuUVFt6LerkMIb8bIPvCL6bW2qtX3fg6QLvw=";
+        hash = "sha256-WEt/oIleK3f+waEIiR+umdbxvMpeF+sTVTcy1DE0yKY=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-kZTp/L/C+8zs7mY9wogM5zRYjXXvLEEW8a1GzyhuQyA=";
+        hash = "sha256-VGJYg3im6KzS3YZevorzeomYQIiYVEVP1K7YIXRzzUE=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-8ixHAN2VpeEdixoq8Aw4KwG+B7bw5u35XVT5TFZzeRE=";
+        hash = "sha256-8US2sbirFOAFXfGvHm9VqPORjUzJN/K+0/BcgK4FVcI=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 09d266ff97378..abaf279e7269b 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.38.4";
+  version = "1.38.5";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Jve2aKfnWZotgzfzUJ+ez+9sainmQiUg3x8FIWnr6/o=";
+    hash = "sha256-gNYyB6KUgi0/kGfyYPuDdPWU0B4Io2TxEBAf/oRSHxs=";
   };
 
-  cargoHash = "sha256-pDDi0Xm1o61Ng308MeTVoVp+cYVFt34Kh4sj2idH+9s=";
+  cargoHash = "sha256-soHNk/EY6Db49NtdAHrky9DfEJDKfPcS2L/crkJI/9E=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 862b7279f7e6d..b9d804cf3a71d 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.1.127";
+  version = "0.1.131";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-ho2dbuejQWU7K4j107fV4Lf5r3grsePifaE+HbRdCys=";
+    hash = "sha256-q24QQExHsIUkMQBhIdYN9ra6tSPfB21SxXnZzVJIpJk=";
   };
 
-  vendorHash = "sha256-qo1P2PSiWco3oKqKOCmCuM6QOz6a9ov2d2MpggBU4N8=";
+  vendorHash = "sha256-UHG0pUJzA3I8uBbll+4fEpwpEvNBxoQYKr8wuupc8NQ=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch b/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch
deleted file mode 100644
index f4d3b0e32b1c6..0000000000000
--- a/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-This patch is based off of npm tag v8.19.4.
-
-This introduces fixes for 4 issues:
-
-1. When node-gyp is included as a dependency in a project, any scripts that run it will not use the copy included in Node. This is problematic because we patch node-gyp to work without xcbuild on Darwin, leading to these packages failing to build with a sandbox on Darwin.
-2. When a Git dependency contains install scripts, it has to be built just like any other package. Thus, we need to patch shebangs appropriately, just like in npmConfigHook.
-3. We get useless warnings that clog up logs when using a v1 lockfile, so we silence them.
-4. npm looks at a hidden lockfile to determine if files have binaries to link into `node_modules/.bin`. When using a v1 lockfile offline, this lockfile does not contain enough info, leading to binaries for packages such as Webpack not being available to scripts. We used to work around this by making npm ignore the hidden lockfile by creating a file, but now we just disable the code path entirely.
-
-To update:
-1. Run `git diff` from an npm checkout
-2. Run `fix-npm-patch-paths.sh`
-3. Include/update this frontmatter, please!
-
-diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-index c59c270d9..98785192f 100644
---- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-+++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-@@ -12,7 +12,10 @@ const setPATH = (projectPath, binPaths, env) => {
-     .reduce((set, p) => set.concat(p.filter(concatted => !set.includes(concatted))), [])
-     .join(delimiter)
- 
--  const pathArr = []
-+  // Ensure when using buildNpmPackage hooks that Node.js'
-+  // bundled copy of node-gyp is used, instead of any copy
-+  // pulled in as a dependency.
-+  const pathArr = process.env['NIX_NODEJS_BUILDNPMPACKAGE'] ? [nodeGypPath, PATH] : [];
-   if (binPaths) {
-     pathArr.push(...binPaths)
-   }
-@@ -26,7 +29,8 @@ const setPATH = (projectPath, binPaths, env) => {
-     pp = p
-     p = dirname(p)
-   } while (p !== pp)
--  pathArr.push(nodeGypPath, PATH)
-+  if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { pathArr.push(nodeGypPath, PATH) }
-+
- 
-   const pathVal = pathArr.join(delimiter)
- 
-diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js
-index c4819b4fd..7efbeef05 100644
---- a/deps/npm/node_modules/pacote/lib/git.js
-+++ b/deps/npm/node_modules/pacote/lib/git.js
-@@ -186,6 +186,24 @@ class GitFetcher extends Fetcher {
-       }
-       noPrepare.push(this.resolved)
- 
-+      if (process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
-+        const spawn = require('@npmcli/promise-spawn')
-+
-+        const npmWithNixFlags = (args, cmd) => spawn('bash', ['-c', 'npm ' + args + ` $npm${cmd}Flags "$\{npm${cmd}FlagsArray[@]}" $npmFlags "$\{npmFlagsArray[@]}"`], { cwd: dir, env: { ...process.env, _PACOTE_NO_PREPARE_: noPrepare.join('\n') } }, { message: `\`npm ${args}\` failed` })
-+        const patchShebangs = () => spawn('bash', ['-c', 'source $stdenv/setup; patchShebangs node_modules'], { cwd: dir })
-+
-+        // the DirFetcher will do its own preparation to run the prepare scripts
-+        // All we have to do is put the deps in place so that it can succeed.
-+        //
-+        // We ignore this.npmConfig to maintain an environment that's as close
-+        // to the rest of the build as possible.
-+        return spawn('bash', ['-c', '$prefetchNpmDeps --fixup-lockfile package-lock.json'], { cwd: dir })
-+        .then(() => npmWithNixFlags('ci --ignore-scripts', 'Install'))
-+        .then(patchShebangs)
-+        .then(() => npmWithNixFlags('rebuild', 'Rebuild'))
-+        .then(patchShebangs)
-+      }
-+
-       // the DirFetcher will do its own preparation to run the prepare scripts
-       // All we have to do is put the deps in place so that it can succeed.
-       return npm(
-diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-index e9a8720d7..b29ad0185 100644
---- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-@@ -744,7 +744,7 @@ This is a one-time fix-up, please be patient...
-           node.package = { ...mani, _id: `${mani.name}@${mani.version}` }
-         } catch (er) {
-           const warning = `Could not fetch metadata for ${name}@${id}`
--          log.warn(heading, warning, er)
-+          if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { log.warn(heading, warning, er) }
-         }
-         this.finishTracker(t)
-       })
-diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-index 7ab65f5b0..12f563a50 100644
---- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-@@ -143,7 +143,7 @@ module.exports = cls => class ActualLoader extends cls {
-     this[_actualTree].assertRootOverrides()
- 
-     // if forceActual is set, don't even try the hidden lockfile
--    if (!forceActual) {
-+    if (!forceActual && !process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
-       // Note: hidden lockfile will be rejected if it's not the latest thing
-       // in the folder, or if any of the entries in the hidden lockfile are
-       // missing.
diff --git a/pkgs/games/aaaaxy/default.nix b/pkgs/games/aaaaxy/default.nix
index b6e5826be96a8..3a5a0ecbbd09f 100644
--- a/pkgs/games/aaaaxy/default.nix
+++ b/pkgs/games/aaaaxy/default.nix
@@ -19,17 +19,17 @@
 
 buildGoModule rec {
   pname = "aaaaxy";
-  version = "1.4.72";
+  version = "1.4.101";
 
   src = fetchFromGitHub {
     owner = "divVerent";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wKnwyjgEV1M5CJR0uxs9vNbF3iJvDPWOqya0iLHXjGw=";
+    hash = "sha256-Eg8RvViTPqlVmvUX3k+/ph4YYU7xfFQY1Gs/e1at6No=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-hK5w3JhcYUW5bAUovv/ldHoYcY0oIh5q4LWxiGuP2NQ=";
+  vendorHash = "sha256-Qd5ytSrW42pDzKt9xg3hWD9rWFvQi1PPYF+m56+/cHE=";
 
   buildInputs = [
     alsa-lib
diff --git a/pkgs/games/amoeba/default.nix b/pkgs/games/amoeba/default.nix
index 0e21a9a1b9ea3..445c86c3bd165 100644
--- a/pkgs/games/amoeba/default.nix
+++ b/pkgs/games/amoeba/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchurl, amoeba-data, alsa-lib, expat, freetype, gtk2, libvorbis, libGLU, xorg, pkg-config }:
+{ lib, stdenv, fetchurl, amoeba-data, alsa-lib, expat, freetype, gtk3, libvorbis, libGLU, xorg, pkg-config, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "amoeba";
   version = "1.1";
-  debver = "29.1";
+  debver = "31";
 
   srcs = [
     (fetchurl {
       url = "http://http.debian.net/debian/pool/contrib/a/amoeba/amoeba_${version}.orig.tar.gz";
-      sha256 = "1hyycw4r36ryka2gab9vzkgs8gq4gqhk08vn29cwak95w0rahgim";
+      hash = "sha256-NT6oMuAlTcVZEnYjMCF+BD+k3/w7LfWEmj6bkQln3sM=";
     })
     (fetchurl {
       url = "http://http.debian.net/debian/pool/contrib/a/amoeba/amoeba_${version}-${debver}.debian.tar.xz";
-      sha256 = "1xgi2sqzq97w6hd3dcyq6cka8xmp6nr25qymzhk52cwqh7qb75p3";
+      hash = "sha256-Ga/YeXbPXjkG/6qd9Z201d14Hlj/Je6DxgzeIQOqrWc=";
     })
   ];
   sourceRoot = "amoeba-1.1.orig";
@@ -22,17 +22,17 @@ stdenv.mkDerivation rec {
   '';
   postPatch = ''
     sed -i packer/pakfile.cpp -e 's|/usr/share/amoeba|${amoeba-data}/share/amoeba|'
-    sed -i main/linux-config/linux-config.cpp -e 's|libgdk-x11-2.0.so.0|${gtk2}/lib/&|'
-    sed -i main/linux-config/linux-config.cpp -e 's|libgtk-x11-2.0.so.0|${gtk2}/lib/&|'
+    sed -i main/linux-config/linux-config.cpp -e 's|libgdk-x11-2.0.so.0|${gtk3}/lib/&|'
+    sed -i main/linux-config/linux-config.cpp -e 's|libgtk-x11-2.0.so.0|${gtk3}/lib/&|'
   '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsa-lib expat freetype gtk2 libvorbis libGLU xorg.libXxf86vm ];
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+  buildInputs = [ alsa-lib expat freetype gtk3 libvorbis libGLU xorg.libXxf86vm ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1/
+    mkdir -p $out/bin
     cp amoeba $out/bin/
-    cp ../debian/amoeba.1 $out/share/man/man1/
+    installManPage ../debian/amoeba.1
   '';
 
   meta = with lib; {
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 275b878d26199..fb0117f3e93e2 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -82,7 +82,7 @@ let
   let
     # Split the version into the major and minor parts
     versionParts = lib.splitString "-" version;
-    splitVersion = lib.splitString "." (builtins.elemAt versionParts 0);
+    splitVersion = lib.splitVersion (builtins.elemAt versionParts 0);
     majorVersion = builtins.concatStringsSep "." (lib.lists.take 2 splitVersion);
 
     minorVersionPart =  parts: sep: expectedSize:
diff --git a/pkgs/games/chiaki4deck/default.nix b/pkgs/games/chiaki4deck/default.nix
index 850e67eefcef8..01c505d60f275 100644
--- a/pkgs/games/chiaki4deck/default.nix
+++ b/pkgs/games/chiaki4deck/default.nix
@@ -20,13 +20,13 @@
 
 mkDerivation rec {
   pname = "chiaki4deck";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "streetpea";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-udSGtpBUbxEZU9l+jLmUWJbkaCxKGoPuKAaYVmEEezk=";
+    hash = "sha256-W/t9uYApt8j5UMjtVWhFtq+IHmu9vi6M92I8N4kRtEk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/games/doom-ports/zandronum/add_gitinfo.patch b/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
index 4d8d7c8379618..33f51ecb125dd 100644
--- a/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
+++ b/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
@@ -1,15 +1,15 @@
-diff -Naur blah/src/gitinfo.h blah2/src/gitinfo.h
---- blah/src/gitinfo.h	1969-12-31 16:00:00.000000000 -0800
-+++ blah2/src/gitinfo.h	2017-09-15 01:44:43.953562714 -0700
+diff -r 4178904d7698 src/gitinfo.h
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/gitinfo.h	Fri Dec 01 13:02:42 2023 -0300
 @@ -0,0 +1,11 @@
-+// dd3c3b57023f64cda84f09ed13e4c03a4ad2b920
++// 4178904d769879e6c2919fb647ee6dd2736399e9
 +//
 +// This file was automatically generated by the
 +// updaterevision tool. Do not edit by hand.
 +
-+#define GIT_DESCRIPTION "ZA_3.0-0-dd3c3b57023f"
-+#define GIT_HASH "dd3c3b57023f64cda84f09ed13e4c03a4ad2b920"
-+#define GIT_TIME "2017-09-01 06:40:50 -0500"
-+#define HG_REVISION_NUMBER 1504266050
-+#define HG_REVISION_HASH_STRING "dd3c3b57023f"
-+#define HG_TIME "170901-1140"
++#define GIT_DESCRIPTION "ZA_3.0.1-572-4178904d7698"
++#define GIT_HASH "4178904d769879e6c2919fb647ee6dd2736399e9"
++#define GIT_TIME "2021-12-11 16:35:55 -0500"
++#define HG_REVISION_NUMBER 1639258555
++#define HG_REVISION_HASH_STRING "4178904d7698"
++#define HG_TIME "211211-2135"
diff --git a/pkgs/games/doom-ports/zandronum/default.nix b/pkgs/games/doom-ports/zandronum/default.nix
index 436a8738b5b12..0006ea3c7ce54 100644
--- a/pkgs/games/doom-ports/zandronum/default.nix
+++ b/pkgs/games/doom-ports/zandronum/default.nix
@@ -1,36 +1,54 @@
-{ stdenv, lib, fetchhg, cmake, pkg-config, makeWrapper, callPackage
-, soundfont-fluid, SDL, libGL, glew, bzip2, zlib, libjpeg, fluidsynth, openssl, gtk2, python3, game-music-emu
+{ stdenv
+, lib
+, fetchhg
+, cmake
+, pkg-config
+, makeWrapper
+, callPackage
+, soundfont-fluid
+, SDL_compat
+, libGL
+, glew
+, bzip2
+, zlib
+, libjpeg
+, fluidsynth
+, fmodex
+, openssl
+, gtk2
+, python3
+, game-music-emu
 , serverOnly ? false
 }:
 
 let
   suffix = lib.optionalString serverOnly "-server";
-  fmod = callPackage ./fmod.nix { };
+  fmod = fmodex; # fmodex is on nixpkgs now
   sqlite = callPackage ./sqlite.nix { };
   clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "zandronum${suffix}";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchhg {
-    url = "https://hg.osdn.net/view/zandronum/zandronum-stable";
-    rev = "ZA_${version}";
-    sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
+    # expired ssl certificate
+    url = "http://hg.osdn.net/view/zandronum/zandronum-stable";
+    rev = "4178904d7698";
+    hash = "sha256-5t36CoRPPjDKQE0DVSv2Qqpqko6JAXBI53tuAYiylHQ=";
   };
 
   # zandronum tries to download sqlite now when running cmake, don't let it
-
   # it also needs the current mercurial revision info embedded in gitinfo.h
   # otherwise, the client will fail to connect to servers because the
   # protocol version doesn't match.
-
-  patches = [ ./zan_configure_impurity.patch ./add_gitinfo.patch ./dont_update_gitinfo.patch ];
+  patches = [ ./zan_configure_impurity.patch ./dont_update_gitinfo.patch ./add_gitinfo.patch ];
 
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
-  buildInputs = [ openssl bzip2 zlib SDL libjpeg sqlite game-music-emu ]
-             ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ];
+  buildInputs = [ openssl bzip2 zlib SDL_compat libjpeg sqlite game-music-emu ]
+    ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ];
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper python3 ];
 
@@ -53,6 +71,7 @@ in stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # Won't work well without C or en_US. Setting LANG might not be enough if the user is making use of LC_* so wrap with LC_ALL instead
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/lib/zandronum
@@ -61,6 +80,8 @@ in stdenv.mkDerivation rec {
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
        $out/lib/zandronum
     makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
+    wrapProgram $out/bin/zandronum${suffix} \
+      --set LC_ALL="C"
   '';
 
   postFixup = lib.optionalString (!serverOnly) ''
@@ -76,7 +97,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://zandronum.com/";
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
     maintainers = with maintainers; [ lassulus MP2E ];
-    license = licenses.unfreeRedistributable;
+    license = licenses.sleepycat;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch b/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
index d6dd3a58f4577..d1cf831819c32 100644
--- a/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
+++ b/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
@@ -1,10 +1,10 @@
-diff -r dd3c3b57023f src/CMakeLists.txt
---- a/src/CMakeLists.txt	Fri Sep 01 06:40:50 2017 -0500
-+++ b/src/CMakeLists.txt	Fri Sep 15 01:46:34 2017 -0700
-@@ -636,15 +636,6 @@
-	add_definitions( -DBACKPATCH )
+diff -r 4178904d7698 src/CMakeLists.txt
+--- a/src/CMakeLists.txt	Sat Dec 11 16:35:55 2021 -0500
++++ b/src/CMakeLists.txt	Fri Dec 01 13:00:32 2023 -0300
+@@ -642,15 +642,6 @@
+ 	add_definitions( -DBACKPATCH )
  endif( BACKPATCH )
-
+ 
 -# Update gitinfo.h
 -
 -get_target_property( UPDATEREVISION_EXE updaterevision LOCATION )
@@ -15,5 +15,5 @@ diff -r dd3c3b57023f src/CMakeLists.txt
 -	DEPENDS updaterevision )
 -
  # Libraries ZDoom needs
-
+ 
  message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" )
diff --git a/pkgs/games/doom-ports/zandronum/sqlite.nix b/pkgs/games/doom-ports/zandronum/sqlite.nix
index c7687f89589d7..67dbb84f515a8 100644
--- a/pkgs/games/doom-ports/zandronum/sqlite.nix
+++ b/pkgs/games/doom-ports/zandronum/sqlite.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation {
   version = "3.0";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz";
-    hash = "sha256-N1dhJGOXbn0IxenwrzAhYT/CS7z+HFEZfWd2uezprFw=";
+    url = "https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz";
+    sha256 = "1qxwkfvd185dfcqbakrzikrsw6ffr5jp1gl3dch9dsdyjvmw745x";
   };
 
   buildPhase = ''
diff --git a/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch b/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
index 0cf7150502e4e..9dafc6219d296 100644
--- a/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
+++ b/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
@@ -1,13 +1,13 @@
-diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
---- a/sqlite/CMakeLists.txt	Sun Sep 10 18:53:00 2017 +0200
-+++ b/sqlite/CMakeLists.txt	Fri Sep 15 00:12:11 2017 -0700
-@@ -1,62 +1,5 @@
+diff -r 4178904d7698 sqlite/CMakeLists.txt
+--- a/sqlite/CMakeLists.txt	Sat Dec 11 16:35:55 2021 -0500
++++ b/sqlite/CMakeLists.txt	Fri Dec 01 12:57:55 2023 -0300
+@@ -1,65 +1,5 @@
  cmake_minimum_required( VERSION 2.4 )
-
+ 
 -# [BB/EP] Download SQLite archive and extract the sources if necessary.
--set( ZAN_SQLITE_VERSION 3180000 ) # SQL version 3.18.0
--set( ZAN_SQLITE_YEAR 2017 )
--set( ZAN_SQLITE_SHA1 "74559194e1dd9b9d577cac001c0e9d370856671b" )
+-set( ZAN_SQLITE_VERSION 3360000 ) # SQL version 3.36.0
+-set( ZAN_SQLITE_YEAR 2021 )
+-set( ZAN_SQLITE_SHA1 "a4bcf9e951bfb9745214241ba08476299fc2dc1e" )
 -set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" )
 -set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" )
 -set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" )
@@ -15,38 +15,41 @@ diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
 -if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} )
 -	message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n"
 -				"SQLite: Please remove it and try again." )
--elseif( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-elseif( ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.c ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.h ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3ext.h ) )
 -
--	if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
--		message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
+-	if( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-		if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
+-			message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
 -					"SQLite: Please remove it and try again." )
--	endif()
--	message( STATUS "SQLite: downloading the archive..." )
+-		endif()
 -
--	file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
--			SHOW_PROGRESS
--			STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
+-		message( STATUS "SQLite: downloading the archive..." )
 -
--	# Report any problem if present and abort immediately.
--	list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
--	if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
--		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
--		message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
--	endif()
+-		file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
+-				SHOW_PROGRESS
+-				STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
+-
+-		# Report any problem if present and abort immediately.
+-		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-		if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-			list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
+-			message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
+-		endif()
 -
--	# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
--	file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
--	if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
--		message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
--					"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
--					"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
+-		# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
+-		file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
+-		if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
+-			message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
+-						"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
+-						"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
+-		endif()
+-
+-		# Rename the archive.
+-		execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
 -	endif()
 -
 -	message( STATUS "SQLite: saving the source files into the 'sqlite' directory." )
 -
--	# Rename the archive.
--	execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
--
 -	# Extract the archive.
 -	execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
 -
@@ -61,5 +64,6 @@ diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
 -	message( STATUS "SQLite: done." )
 -endif()
 -
- add_library( sqlite3 sqlite3.c )
- target_link_libraries( sqlite3 ${CMAKE_DL_LIBS} )
+ # [BB] Silence all GCC warnings
+ IF ( CMAKE_COMPILER_IS_GNUCXX )
+ 	ADD_DEFINITIONS ( -w )
diff --git a/pkgs/games/gambatte/fix-scons-paths.patch b/pkgs/games/gambatte/fix-scons-paths.patch
deleted file mode 100644
index ea10ee4163b42..0000000000000
--- a/pkgs/games/gambatte/fix-scons-paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/libgambatte/SConstruct b/libgambatte/SConstruct
-index e882514..87e1eaa 100644
---- a/libgambatte/SConstruct
-+++ b/libgambatte/SConstruct
-@@ -5,7 +5,9 @@ vars = Variables()
- vars.Add('CC')
- vars.Add('CXX')
- 
--env = Environment(CPPPATH = ['src', 'include', '../common'],
-+import os
-+env = Environment(ENV = os.environ,
-+                  CPPPATH = ['src', 'include', '../common'],
-                   CFLAGS = global_cflags + global_defines,
-                   CXXFLAGS = global_cxxflags + global_defines,
-                   variables = vars)
diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix
index 4a5670bb9c3e0..a9e9f860d8528 100644
--- a/pkgs/games/gcompris/default.nix
+++ b/pkgs/games/gcompris/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   version = "3.3";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
+    url = "mirror://kde/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
     hash = "sha256-8hqiq1wYw4irbOXCrwcJqTMuLISzSmSqPuw2Rn8XzQA=";
   };
 
diff --git a/pkgs/games/maptool/default.nix b/pkgs/games/maptool/default.nix
index eed8bac656be0..d5fcbc47529b1 100644
--- a/pkgs/games/maptool/default.nix
+++ b/pkgs/games/maptool/default.nix
@@ -13,15 +13,10 @@
 let
   pname = "maptool";
   version = "1.13.2";
-  repoBase = "https://github.com/RPTools/${pname}";
+  repoBase = "https://github.com/RPTools/maptool";
   src = fetchurl {
-    url = "${repoBase}/releases/download/${version}/MapTool-${version}.jar";
-    hash = "sha256-14ULI1OAk0V4DqiL5IF7DK6pw0NRfmU+omrFP72PblA=";
-  };
-
-  icon = fetchurl {
-    url = "https://raw.githubusercontent.com/RPTools/${pname}/${version}/package/linux/MapTool.png";
-    hash = "sha256-xkVYjMprTanHu8r4b9PHORI8E1aJp+9KDSP5mqCE8ew=";
+    url = "${repoBase}/releases/download/${version}/maptool-${version}-x86_64.pkg.tar.zst";
+    hash = "sha256-Ntmro+t4qpP5BXW20t97ki0wt2NKaK5yQarsxDEKbb0=";
   };
 
   meta = with lib; {
@@ -33,17 +28,20 @@ let
     ];
     license = licenses.agpl3;
     maintainers = with maintainers; [ rhendric ];
+    platforms = [ "x86_64-linux" ];
   };
 
   javafxModules = [ "base" "controls" "media" "swing" "web" "fxml" "graphics" ];
 
+  appClasspath = "share/${pname}";
+
   classpath =
     lib.concatMap (mod: [
       "${openjfx}/modules_src/javafx.${mod}/module-info.java"
       "${openjfx}/modules/javafx.${mod}"
       "${openjfx}/modules_libs/javafx.${mod}"
     ]) javafxModules ++
-    [ src ];
+    [ "$out/${appClasspath}/*" ];
 
   jvmArgs = [
     "-cp" (lib.concatStringsSep ":" classpath)
@@ -76,6 +74,7 @@ stdenvNoCC.mkDerivation {
   inherit pname version src meta;
 
   dontUnpack = true;
+  dontConfigure = true;
   dontBuild = true;
   dontWrapGApps = true;
 
@@ -99,15 +98,20 @@ stdenvNoCC.mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin
-    makeWrapper ${jre}/bin/java $out/bin/${binName} \
-      "''${gappsWrapperArgs[@]}" \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ ffmpeg ]} \
-      --add-flags '${lib.concatStringsSep " " jvmArgs} net.rptools.maptool.client.LaunchInstructions'
+    dest=$out/${appClasspath}
+    install -dm755 "$dest"
+    bsdtar -xf "$src" -C "$dest" --strip-components 4 opt/maptool/lib/app/{'*.jar',readme}
 
     dest=$out/share/icons/hicolor/256x256/apps
-    mkdir -p "$dest"
-    ln -s ${icon} "$dest/${rdnsName}.png"
+    install -dm755 "$dest"
+    bsdtar -xOf "$src" opt/maptool/lib/MapTool.png > "$dest"/${rdnsName}.png
+
+    dest=$out/bin
+    install -dm755 "$dest"
+    makeWrapper ${jre}/bin/java "$dest"/${binName} \
+      "''${gappsWrapperArgs[@]}" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ ffmpeg ]} \
+      --add-flags "${lib.concatStringsSep " " jvmArgs} net.rptools.maptool.client.LaunchInstructions"
 
     runHook postInstall
   '';
diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/games/openttd/jgrpp.nix
index b8b0716976672..a8fce07cdb34b 100644
--- a/pkgs/games/openttd/jgrpp.nix
+++ b/pkgs/games/openttd/jgrpp.nix
@@ -2,13 +2,13 @@
 
 openttd.overrideAttrs (oldAttrs: rec {
   pname = "openttd-jgrpp";
-  version = "0.55.3";
+  version = "0.56.0";
 
   src = fetchFromGitHub rec {
     owner = "JGRennison";
     repo = "OpenTTD-patches";
     rev = "jgrpp-${version}";
-    hash = "sha256-E1+pXpXNHOu9nPTGSY8baVaKf1Um6IGDjpi1MmENez8=";
+    hash = "sha256-J5xDg8c5Vvgu0LBZnt7uMJ5etbqmCPlEeizR7/Uj8K0=";
   };
 
   buildInputs = oldAttrs.buildInputs ++ [ zstd ];
diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix
index 1fa07f92ccee2..38de693695b2c 100644
--- a/pkgs/games/path-of-building/default.nix
+++ b/pkgs/games/path-of-building/default.nix
@@ -2,13 +2,13 @@
 let
   data = stdenv.mkDerivation(finalAttrs: {
     pname = "path-of-building-data";
-    version = "2.34.1";
+    version = "2.35.5";
 
     src = fetchFromGitHub {
       owner = "PathOfBuildingCommunity";
       repo = "PathOfBuilding";
       rev = "v${finalAttrs.version}";
-      hash = "sha256-i6OCW5Vc9/LfNuiaEeelmXiqP7+WdIklRNRcgWb7L1w=";
+      hash = "sha256-SnsmXoxr5zSORLSpdDGw3OTTNJUDUEfCqBs6lYm4lP0=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index 88c27d864cf10..88afc95d60855 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -6,17 +6,18 @@
 , jre
 , xorg
 , gitUpdater
+, libGL
 }:
 
 maven.buildMavenPackage rec {
   pname = "runelite";
-  version = "2.6.9";
+  version = "2.6.11";
 
   src = fetchFromGitHub {
     owner = "runelite";
     repo = "launcher";
     rev = version;
-    hash = "sha256-wU97uiotKZfui0ir7rmO1WLN3G6lTMxqF6vTyrlax1Q=";
+    hash = "sha256-tu3sEhmFZLMqPiBdPCiNYj5s08hMCo8mXpOCx/BP1EM=";
   };
   mvnHash = "sha256-iGnoAZcJvaVoACi9ozG/f+A8tjvDuwn22bMRyuUU5Jg=";
 
@@ -45,7 +46,7 @@ maven.buildMavenPackage rec {
     ln -s ${desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop
 
     makeWrapper ${jre}/bin/java $out/bin/runelite \
-      --prefix LD_LIBRARY_PATH : "${xorg.libXxf86vm}/lib" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libXxf86vm libGL ]}" \
       --add-flags "-jar $out/share/RuneLite.jar"
   '';
 
diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix
index e1bc4a8dbbcfe..2d70022049e1b 100644
--- a/pkgs/games/starsector/default.nix
+++ b/pkgs/games/starsector/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchzip
 , libXxf86vm
+, libGL
 , makeWrapper
 , openal
 , openjdk
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
-  buildInputs = [ xorg.libXxf86vm openal ];
+  buildInputs = [ xorg.libXxf86vm openal libGL ];
 
   dontBuild = true;
 
diff --git a/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch b/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch
deleted file mode 100644
index 65686f5546c49..0000000000000
--- a/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 33d928c54f4b35f8877cacd1e2c77b68b4dddc06 Mon Sep 17 00:00:00 2001
-From: Zane van Iperen <zane@zanevaniperen.com>
-Date: Sun, 7 Nov 2021 15:46:37 +1000
-Subject: [PATCH] fix build with ffmpeg 4
-
----
- src/arch/MovieTexture/MovieTexture_FFMpeg.cpp |  5 +----
- src/arch/MovieTexture/MovieTexture_FFMpeg.h   | 22 +++++++++----------
- 2 files changed, 12 insertions(+), 15 deletions(-)
-
-diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-index bdf2356..f79fea2 100644
---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-@@ -445,7 +445,7 @@ RString MovieDecoder_FFMpeg::Open( RString sFile )
- 		return "Couldn't find any video streams";
- 	m_pStream = m_fctx->streams[stream_idx];
- 
--	if( m_pStream->codec->codec_id == avcodec::CODEC_ID_NONE )
-+	if( m_pStream->codec->codec_id == avcodec::AV_CODEC_ID_NONE )
- 		return ssprintf( "Unsupported codec %08x", m_pStream->codec->codec_tag );
- 
- 	RString sError = OpenCodec();
-@@ -474,9 +474,6 @@ RString MovieDecoder_FFMpeg::OpenCodec()
- 	m_pStream->codec->idct_algo         = FF_IDCT_AUTO;
- 	m_pStream->codec->error_concealment = 3;
- 
--	if( pCodec->capabilities & CODEC_CAP_DR1 )
--		m_pStream->codec->flags |= CODEC_FLAG_EMU_EDGE;
--
- 	LOG->Trace("Opening codec %s", pCodec->name );
- 
- 	int ret = avcodec::avcodec_open2( m_pStream->codec, pCodec, NULL );
-diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.h b/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-index f4d25ef..32564e5 100644
---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-@@ -64,7 +64,7 @@ private:
- 
- 	avcodec::AVStream *m_pStream;
- 	avcodec::AVFrame *m_Frame;
--	avcodec::PixelFormat m_AVTexfmt; /* PixelFormat of output surface */
-+	avcodec::AVPixelFormat m_AVTexfmt; /* PixelFormat of output surface */
- 	avcodec::SwsContext *m_swsctx;
- 
- 	avcodec::AVFormatContext *m_fctx;
-@@ -90,7 +90,7 @@ static struct AVPixelFormat_t
- {
- 	int bpp;
- 	uint32_t masks[4];
--	avcodec::PixelFormat pf;
-+	avcodec::AVPixelFormat pf;
- 	bool bHighColor;
- 	bool bByteSwapOnLittleEndian;
- 	MovieDecoderPixelFormatYCbCr YUV;
-@@ -101,7 +101,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0x0000FF00,
- 		  0x000000FF },
--		avcodec::PIX_FMT_YUYV422,
-+		avcodec::AV_PIX_FMT_YUYV422,
- 		false, /* N/A */
- 		true,
- 		PixelFormatYCbCr_YUYV422,
-@@ -112,7 +112,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0xFF000000,
- 		  0x000000FF },
--		avcodec::PIX_FMT_BGRA,
-+		avcodec::AV_PIX_FMT_BGRA,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -123,7 +123,7 @@ static struct AVPixelFormat_t
- 		  0x0000FF00,
- 		  0x000000FF,
- 		  0xFF000000 },
--		avcodec::PIX_FMT_ARGB,
-+		avcodec::AV_PIX_FMT_ARGB,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -135,7 +135,7 @@ static struct AVPixelFormat_t
- 		  0x0000FF00,
- 		  0x00FF0000,
- 		  0xFF000000 },
--		avcodec::PIX_FMT_ABGR,
-+		avcodec::AV_PIX_FMT_ABGR,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -146,7 +146,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0x0000FF00,
- 		  0x000000FF },
--		avcodec::PIX_FMT_RGBA,
-+		avcodec::AV_PIX_FMT_RGBA,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -157,7 +157,7 @@ static struct AVPixelFormat_t
- 		  0x00FF00,
- 		  0x0000FF,
- 		  0x000000 },
--		avcodec::PIX_FMT_RGB24,
-+		avcodec::AV_PIX_FMT_RGB24,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -168,7 +168,7 @@ static struct AVPixelFormat_t
- 		  0x00FF00,
- 		  0xFF0000,
- 		  0x000000 },
--		avcodec::PIX_FMT_BGR24,
-+		avcodec::AV_PIX_FMT_BGR24,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -179,12 +179,12 @@ static struct AVPixelFormat_t
- 		  0x03E0,
- 		  0x001F,
- 		  0x0000 },
--		avcodec::PIX_FMT_RGB555,
-+		avcodec::AV_PIX_FMT_RGB555,
- 		false,
- 		false,
- 		PixelFormatYCbCr_Invalid,
- 	},
--	{ 0, { 0,0,0,0 }, avcodec::PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid }
-+	{ 0, { 0,0,0,0 }, avcodec::AV_PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid }
- };
- 
- #endif
--- 
-2.31.1
-
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 65b9bfff189e1..bfd871a2a1c14 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -1,21 +1,40 @@
-{ stdenv, lib, fetchFromGitHub, cmake, nasm
-, gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis
-, glew, libpulseaudio, udev
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, nasm
+, alsa-lib
+, ffmpeg_6
+, glew
+, glib
+, gtk2
+, libmad
+, libogg
+, libpulseaudio
+, libvorbis
+, udev
+, xorg
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "stepmania";
-  version = "5.1.0-b2";
+  version = "5.1.0-b2-unstable-2022-11-14";
 
   src = fetchFromGitHub {
     owner = "stepmania";
     repo  = "stepmania";
-    rev   = "v${version}";
-    sha256 = "0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn";
+    rev   = "d55acb1ba26f1c5b5e3048d6d6c0bd116625216f";
+    hash = "sha256-49H2Q61R4l/G0fWsjCjiAUXeWwG3lcsDpV5XvR3l3QE=";
   };
 
   patches = [
-    ./0001-fix-build-with-ffmpeg-4.patch
+    # https://github.com/stepmania/stepmania/pull/2247
+    (fetchpatch {
+      name = "fix-building-with-ffmpeg6.patch";
+      url = "https://github.com/stepmania/stepmania/commit/3fef5ef60b7674d6431f4e1e4ba8c69b0c21c023.patch";
+      hash = "sha256-m+5sP+mIpcSjioRBdzChqja5zwNcwdSNAfvSJ2Lww+g=";
+    })
   ];
 
   postPatch = ''
@@ -25,8 +44,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake nasm ];
 
   buildInputs = [
-    gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis
-    glew libpulseaudio udev
+    alsa-lib
+    ffmpeg_6
+    glew
+    glib
+    gtk2
+    libmad
+    libogg
+    libpulseaudio
+    libvorbis
+    udev
+    xorg.libXtst
   ];
 
   cmakeFlags = [
@@ -38,6 +66,11 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/bin
     ln -s $out/stepmania-5.1/stepmania $out/bin/stepmania
+
+    mkdir -p $out/share/
+    cp -r $src/icons $out/share/
+
+    install -Dm444 $src/stepmania.desktop -t $out/share/applications
   '';
 
   meta = with lib; {
@@ -45,7 +78,7 @@ stdenv.mkDerivation rec {
     description = "Free dance and rhythm game for Windows, Mac, and Linux";
     platforms = platforms.linux;
     license = licenses.mit; # expat version
-    maintainers = [ ];
+    maintainers = with maintainers; [ h7x4 ];
     # never built on aarch64-linux since first introduction in nixpkgs
     broken = stdenv.isLinux && stdenv.isAarch64;
     mainProgram = "stepmania";
diff --git a/pkgs/games/tennix/fix_FTBFS.patch b/pkgs/games/tennix/fix_FTBFS.patch
deleted file mode 100644
index d58aa3a8129f3..0000000000000
--- a/pkgs/games/tennix/fix_FTBFS.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From: Thomas Perl <m@thp.io>
-Description: Fix FTBFS 
-Origin: upstream, https://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6
-Bug-Debian:  https://bugs.debian.org/664907
-
---- tennix-1.1.orig/archivetool.cc
-+++ tennix-1.1/archivetool.cc
-@@ -24,6 +24,7 @@
- #include <assert.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <libgen.h>
- #include <sys/stat.h>
- 
- #include "archive.hh"
---- tennix-1.1.orig/game.c
-+++ tennix-1.1/game.c
-@@ -388,6 +388,9 @@ void step(GameState* s) {
-                         s->ball.move_x = 4.0 + 3.0*PLAYER(s, p).power/PLAYER_POWER_MAX;
-                         s->ball.move_z = 1.1*PLAYER(s, p).power/PLAYER_POWER_MAX;
-                         break;
-+                    default:
-+                        assert(false);
-+                        break;
-                 }
-                 s->ball.move_y = get_move_y( s, p);
-                 s->sound_events ^= SOUND_EVENT_RACKET;
---- tennix-1.1.orig/network.h
-+++ tennix-1.1/network.h
-@@ -103,19 +103,19 @@ void
- net_serialize_ball(const Ball* src, NetworkBall* dest);
- 
- void
--net_unserialize_ball(const NetworkBall* src, Ball* dest);
-+net_unserialize_ball(NetworkBall* src, Ball* dest);
- 
- void
- net_serialize_player(const Player* src, NetworkPlayer* dest);
- 
- void
--net_unserialize_player(const NetworkPlayer* src, Player* dest);
-+net_unserialize_player(NetworkPlayer* src, Player* dest);
- 
- void
- net_serialize_gamestate(const GameState* src, NetworkGameState* dest);
- 
- void
--net_unserialize_gamestate(const NetworkGameState* src, GameState* dest);
-+net_unserialize_gamestate(NetworkGameState* src, GameState* dest);
- 
- #endif
- 
---- tennix-1.1.orig/locations.h
-+++ tennix-1.1/locations.h
-@@ -155,7 +155,7 @@ static Location locations[] = {
- #endif
- 
-     /* End marker */
--    { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false }
-+    { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false, false, 0, 0 }
- };
- 
- unsigned int location_count()
---- tennix-1.1.orig/tennix.cc
-+++ tennix-1.1/tennix.cc
-@@ -461,7 +461,7 @@ int main( int argc, char** argv) {
-                 start_fade();
-                 gameloop(current_game, connection);
-                 SDL_Delay(150);
--                while(SDL_PollEvent(&e));
-+                while (SDL_PollEvent(&e)) {};
- #ifdef ENABLE_FPS_LIMIT
-                 frames = 0;
-                 ft = SDL_GetTicks();
---- tennix-1.1.orig/SDL_rotozoom.c
-+++ tennix-1.1/SDL_rotozoom.c
-@@ -365,6 +365,9 @@ int zoomSurfaceRGBA(SDL_Surface * src, S
- 

- int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst, int flipx, int flipy)

- {

-+    (void)flipx;

-+    (void)flipy;

-+

-     Uint32 x, y, sx, sy, *sax, *say, *csax, *csay, csx, csy;

-     Uint8 *sp, *dp, *csp;

-     int dgap;

-@@ -393,7 +396,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-      */

-     csx = 0;

-     csax = sax;

--    for (x = 0; x < dst->w; x++) {

-+    for (x = 0; x < (Uint32)dst->w; x++) {

- 	csx += sx;

- 	*csax = (csx >> 16);

- 	csx &= 0xffff;

-@@ -401,7 +404,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-     }

-     csy = 0;

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csy += sy;

- 	*csay = (csy >> 16);

- 	csy &= 0xffff;

-@@ -410,13 +413,13 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
- 

-     csx = 0;

-     csax = sax;

--    for (x = 0; x < dst->w; x++) {

-+    for (x = 0; x < (Uint32)dst->w; x++) {

- 	csx += (*csax);

- 	csax++;

-     }

-     csy = 0;

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csy += (*csay);

- 	csay++;

-     }

-@@ -432,10 +435,10 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-      * Draw 

-      */

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csax = sax;

- 	sp = csp;

--	for (x = 0; x < dst->w; x++) {

-+	for (x = 0; x < (Uint32)dst->w; x++) {

- 	    /*

- 	     * Draw 

- 	     */

-@@ -801,6 +804,8 @@ SDL_Surface* rotateSurface90Degrees(SDL_
- void rotozoomSurfaceSizeTrig(int width, int height, double angle, double zoomx, double zoomy, int *dstwidth, int *dstheight, 

- 			     double *canglezoom, double *sanglezoom)

- {

-+    (void)zoomy;

-+

-     double x, y, cx, cy, sx, sy;

-     double radangle;

-     int dstwidthhalf, dstheighthalf;

---- tennix-1.1.orig/network.c
-+++ tennix-1.1/network.c
-@@ -183,7 +183,7 @@ net_serialize_ball(const Ball* src, Netw
- }
- 
- void
--net_unserialize_ball(const NetworkBall* src, Ball* dest)
-+net_unserialize_ball(NetworkBall* src, Ball* dest)
- {
-     assert(src != NULL && dest != NULL);
-     dest->x = unpack_float(SDLNet_Read32(&(src->x)), -WIDTH, WIDTH*2);
-@@ -213,7 +213,7 @@ net_serialize_player(const Player* src,
- }
- 
- void
--net_unserialize_player(const NetworkPlayer* src, Player* dest)
-+net_unserialize_player(NetworkPlayer* src, Player* dest)
- {
-     assert(src != NULL && dest != NULL);
-     dest->x = unpack_float(SDLNet_Read32(&(src->x)), 0, WIDTH*1.2);
-@@ -221,7 +221,7 @@ net_unserialize_player(const NetworkPlay
-     dest->power = unpack_float(SDLNet_Read32(&(src->power)), 0, 110);
-     dest->use_power = src->use_power;
-     dest->score = src->score;
--    dest->desire = src->desire;
-+    dest->desire = (PlayerDesire)src->desire;
-     dest->game = src->game;
-     memcpy(dest->sets, src->sets, sizeof(unsigned char)*(SETS_TO_WIN*2));
-     dest->accelerate = unpack_float(SDLNet_Read32(&(src->accelerate)), 0, 200);
-@@ -250,7 +250,7 @@ net_serialize_gamestate(const GameState*
- }
- 
- void
--net_unserialize_gamestate(const NetworkGameState* src, GameState* dest)
-+net_unserialize_gamestate(NetworkGameState* src, GameState* dest)
- {
-     int p;
- 
---- tennix-1.1.orig/makefile
-+++ tennix-1.1/makefile
-@@ -27,24 +27,23 @@ ifeq ($(MKCALLGRAPH),1)
-   LD        =  nccld
- endif
- 
--RELEASE   =  1.1
--
--UNAME = $(shell uname)
-+RELEASE = 1.1.1
- 
- PREFIX ?= /usr/local
- BINDIR ?= $(PREFIX)/bin
- DATAROOTDIR ?= $(PREFIX)/share
- DATADIR ?= $(DATAROOTDIR)/games
- 
--LIBS =
--CFLAGS += -W -Wall -ansi -pedantic -Wcast-qual -Wwrite-strings -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" -g
-+CFLAGS += -W -Wall -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\"
- CXXFLAGS += $(CFLAGS)
- 
- USE_PYTHON ?= 1
- 
- ifeq ($(USE_PYTHON),1)
--  CFLAGS += `python-config --includes` -DTENNIX_PYTHON
--  LIBS += `python-config --libs`
-+  PYTHON_INCLUDES := $(shell python-config --includes)
-+  PYTHON_LIBS := $(shell python-config --libs)
-+  CFLAGS += $(PYTHON_INCLUDES) -DTENNIX_PYTHON
-+  LIBS += $(PYTHON_LIBS)
- endif
- 
- ifeq ($(NONFREE_LOCATIONS),1)
-@@ -67,17 +66,14 @@ ifeq ($(MAEMO),1)
-   CFLAGS += -DMAEMO
- endif
- 
--ifeq ($(UNAME),Darwin)
--  SDLLIBS=$$(sdl-config --prefix)/lib
--  LIBS += $$(sdl-config --static-libs) $(SDLLIBS)/libSDL_mixer.a $(SDLLIBS)/libSDL_image.a $(SDLLIBS)/libSDL_ttf.a $(SDLLIBS)/libSDL_net.a $$(freetype-config --prefix)/lib/libfreetype.a
--  CFLAGS += $$(sdl-config --cflags) -lz
--else
--  LIBS += $$(sdl-config --libs) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net
--  CFLAGS += $$(sdl-config --cflags)
--endif
-+SDL_LIBS := $(shell sdl-config --libs)
-+SDL_CFLAGS := $(shell sdl-config --cflags)
-+
-+LIBS += $(SDL_LIBS) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net
-+CFLAGS += $(SDL_CFLAGS)
- 
--SRC = tennix.cc game.c graphics.cc input.c util.c sound.cc animation.c network.c
- OBJ = tennix.o game.o graphics.o input.o util.o sound.o animation.o archive.o SDL_rotozoom.o network.o
-+
- ifeq ($(MSYSTEM),MINGW32)
-   OBJ += tennixres.o
- endif
---- tennix-1.1.orig/game.h
-+++ tennix-1.1/game.h
-@@ -98,6 +98,13 @@ typedef struct {
-     bool inhibit_gravity;
- } Ball;
- 
-+enum PlayerDesire {
-+    DESIRE_NORMAL,
-+    DESIRE_TOPSPIN,
-+    DESIRE_SMASH,
-+    DESIRE_MAX
-+};
-+
- typedef struct {
-     InputDevice* input;
-     char input_device_index;
-@@ -106,9 +113,9 @@ typedef struct {
-     float power;
-     bool use_power;
-     unsigned char score;
--    unsigned char desire;
-+    PlayerDesire desire;
-     bool type; /* is this player ai-controlled or human? */
--    char game; /* score for the current game */
-+    int game; /* score for the current game */
-     unsigned char sets[SETS_TO_WIN*2]; /* score for each set */
-     float accelerate; /* a value [0..1] how fast the user accelerates */
- } Player;
-@@ -118,13 +125,6 @@ enum {
-     PLAYER_TYPE_AI
- };
- 
--enum {
--    DESIRE_NORMAL,
--    DESIRE_TOPSPIN,
--    DESIRE_SMASH,
--    DESIRE_MAX
--};
--
- /* wait 2 seconds before we score the game */
- #define SCORING_DELAY 1000
- 
-@@ -161,7 +161,7 @@ enum {
- 
- typedef struct {
-     const Location* location;
--    char current_location; /* index of loc. in global location table */
-+    int current_location; /* index of loc. in global location table */
-     Ball ball;
-     Player players[MAXPLAYERS];
-     unsigned char serving_player;
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 424781dd89580..aebe85f891bdf 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -31,13 +31,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ultrastardx";
-  version = "2023.9.0";
+  version = "2023.11.0";
 
   src = fetchFromGitHub {
     owner = "UltraStar-Deluxe";
     repo = "USDX";
     rev = "v${version}";
-    hash = "sha256-KvYfWdpgN72F8Y5iFNba0SCjPoS33O3FAdrrC49xoGo=";
+    hash = "sha256-y+6RptHOYtNQXnWIe+e0MPyGK7t6x4+FTUQZkQSI3OA=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 9979d16247c02..5dc2f6d4b8bb4 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -46,11 +46,11 @@ in
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version  = "4.4.0";
+  version  = "4.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
-    hash = "sha256-Ul77OihJWIH9H6FUpibGDjqX1BY4DWDQ3bR4lRDY9+U=";
+    hash = "sha256-8vbwO4PXEOyZqGiSz1yqhe8jfe4E4iv908mc+8xuH8I=";
   };
 
   buildInputs = [
@@ -88,9 +88,6 @@ stdenv.mkDerivation rec {
                       --replace '"which "' '"${which}/bin/which "'
     substituteInPlace lib/exceptionhandler/exceptionhandler.cpp \
                       --replace "which %s" "${which}/bin/which %s"
-    # https://github.com/Warzone2100/warzone2100/pull/3353
-    substituteInPlace lib/ivis_opengl/gfx_api_vk.cpp \
-      --replace vk::throwResultException vk::detail::throwResultException
   '';
 
   cmakeFlags = [
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index 444fcebe38fa9..f3025572429e7 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -26,13 +26,13 @@ let
            stdenv.mkDerivation (rec {
 
     pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";
-    version = "2.9.0";
+    version = "2.10.0";
 
     src = fetchFromGitHub {
       owner = "ARM-software";
       repo = "arm-trusted-firmware";
       rev = "v${version}";
-      hash = "sha256-F7RNYNLh0ORzl5PmzRX9wGK8dZgUQVLKQg1M9oNd0pk=";
+      hash = "sha256-CAuftVST9Fje/DWaaoX0K2SfWwlGMaUFG4huuwsTOSU=";
     };
 
     patches = lib.optionals deleteHDCPBlobBeforeBuild [
diff --git a/pkgs/misc/cups/0001-TargetConditionals.patch b/pkgs/misc/cups/0001-TargetConditionals.patch
deleted file mode 100644
index 42cd4c051d4bf..0000000000000
--- a/pkgs/misc/cups/0001-TargetConditionals.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1204c841999808ba27267a0039777dcbccdcd6e3 Mon Sep 17 00:00:00 2001
-From: toonn <toonn@toonn.io>
-Date: Sun, 27 Jun 2021 12:30:08 +0200
-Subject: [PATCH] TargetConditionals
-
----
- test/ippserver.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/test/ippserver.c b/test/ippserver.c
-index 38b304f..68ccab1 100644
---- a/test/ippserver.c
-+++ b/test/ippserver.c
-@@ -25,7 +25,11 @@
-  * Include necessary headers...
-  */
- 
--#include <config.h>			/* CUPS configuration header */
-+#ifdef __APPLE__
-+#  include <xcode/config.h>		/* CUPS configuration header macOS */
-+#else
-+#  include <config.h>			/* CUPS configuration header */
-+#endif /* __APPLE__ */
- #include <cups/cups.h>			/* Public API */
- #include <cups/string-private.h>	/* CUPS string functions */
- #include <cups/thread-private.h>	/* For multithreading functions */
--- 
-2.17.2 (Apple Git-113)
-
diff --git a/pkgs/misc/documentation-highlighter/LICENSE b/pkgs/misc/documentation-highlighter/LICENSE
index 422deb7350fe1..2250cc7eca9bf 100644
--- a/pkgs/misc/documentation-highlighter/LICENSE
+++ b/pkgs/misc/documentation-highlighter/LICENSE
@@ -1,24 +1,29 @@
-Copyright (c) 2006, Ivan Sagalaev
+BSD 3-Clause License
+
+Copyright (c) 2006, Ivan Sagalaev.
 All rights reserved.
+
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-    * Neither the name of highlight.js nor the names of its contributors 
-      may be used to endorse or promote products derived from this software 
-      without specific prior written permission.
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
 
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/pkgs/misc/documentation-highlighter/README.md b/pkgs/misc/documentation-highlighter/README.md
index f4baa3c8e0015..569c90affed9e 100644
--- a/pkgs/misc/documentation-highlighter/README.md
+++ b/pkgs/misc/documentation-highlighter/README.md
@@ -1,132 +1,30 @@
 This file was generated with pkgs/misc/documentation-highlighter/update.sh
 
-# Highlight.js
+# Highlight.js CDN Assets
 
-[![Build Status](https://travis-ci.org/isagalaev/highlight.js.svg?branch=master)](https://travis-ci.org/isagalaev/highlight.js)
+[![install size](https://packagephobia.now.sh/badge?p=highlight.js)](https://packagephobia.now.sh/result?p=highlight.js)
 
-Highlight.js is a syntax highlighter written in JavaScript. It works in
-the browser as well as on the server. It works with pretty much any
-markup, doesn’t depend on any framework and has automatic language
-detection.
-
-## Getting Started
-
-The bare minimum for using highlight.js on a web page is linking to the
-library along with one of the styles and calling
-[`initHighlightingOnLoad`][1]:
-
-```html
-<link rel="stylesheet" href="/path/to/styles/default.css">
-<script src="/path/to/highlight.pack.js"></script>
-<script>hljs.initHighlightingOnLoad();</script>
-```
-
-This will find and highlight code inside of `<pre><code>` tags; it tries
-to detect the language automatically. If automatic detection doesn’t
-work for you, you can specify the language in the `class` attribute:
-
-```html
-<pre><code class="html">...</code></pre>
-```
-
-The list of supported language classes is available in the [class
-reference][2].  Classes can also be prefixed with either `language-` or
-`lang-`.
-
-To disable highlighting altogether use the `nohighlight` class:
-
-```html
-<pre><code class="nohighlight">...</code></pre>
-```
-
-## Custom Initialization
-
-When you need a bit more control over the initialization of
-highlight.js, you can use the [`highlightBlock`][3] and [`configure`][4]
-functions. This allows you to control *what* to highlight and *when*.
-
-Here’s an equivalent way to calling [`initHighlightingOnLoad`][1] using
-jQuery:
-
-```javascript
-$(document).ready(function() {
-  $('pre code').each(function(i, block) {
-    hljs.highlightBlock(block);
-  });
-});
-```
-
-You can use any tags instead of `<pre><code>` to mark up your code. If
-you don't use a container that preserve line breaks you will need to
-configure highlight.js to use the `<br>` tag:
+**This package contains only the CDN build assets of highlight.js.**
 
-```javascript
-hljs.configure({useBR: true});
+This may be what you want if you'd like to install the pre-built distributable highlight.js client-side assets via NPM. If you're wanting to use highlight.js mainly on the server-side you likely want the [highlight.js][1] package instead.
 
-$('div.code').each(function(i, block) {
-  hljs.highlightBlock(block);
-});
-```
+To access these files via CDN:<br>
+https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@latest/build/
 
-For other options refer to the documentation for [`configure`][4].
+**If you just want a single .js file with the common languages built-in:
+<https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@latest/build/highlight.min.js>**
 
+---
 
-## Web Workers
+## Highlight.js
 
-You can run highlighting inside a web worker to avoid freezing the browser
-window while dealing with very big chunks of code.
-
-In your main script:
-
-```javascript
-addEventListener('load', function() {
-  var code = document.querySelector('#code');
-  var worker = new Worker('worker.js');
-  worker.onmessage = function(event) { code.innerHTML = event.data; }
-  worker.postMessage(code.textContent);
-})
-```
-
-In worker.js:
-
-```javascript
-onmessage = function(event) {
-  importScripts('<path>/highlight.pack.js');
-  var result = self.hljs.highlightAuto(event.data);
-  postMessage(result.value);
-}
-```
-
-
-## Getting the Library
-
-You can get highlight.js as a hosted, or custom-build, browser script or
-as a server module. Right out of the box the browser script supports
-both AMD and CommonJS, so if you wish you can use RequireJS or
-Browserify without having to build from source. The server module also
-works perfectly fine with Browserify, but there is the option to use a
-build specific to browsers rather than something meant for a server.
-Head over to the [download page][5] for all the options.
-
-**Don't link to GitHub directly.** The library is not supposed to work straight
-from the source, it requires building. If none of the pre-packaged options
-work for you refer to the [building documentation][6].
-
-**The CDN-hosted package doesn't have all the languages.** Otherwise it'd be
-too big. If you don't see the language you need in the ["Common" section][5],
-it can be added manually:
-
-```html
-<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.4.0/languages/go.min.js"></script>
-```
-
-**On Almond.** You need to use the optimizer to give the module a name. For
-example:
-
-```
-r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js
-```
+Highlight.js is a syntax highlighter written in JavaScript. It works in
+the browser as well as on the server. It works with pretty much any
+markup, doesn’t depend on any framework, and has automatic language
+detection.
 
+If you'd like to read the full README:<br>
+<https://github.com/highlightjs/highlight.js/blob/main/README.md>
 
 ## License
 
@@ -137,16 +35,13 @@ for details.
 
 The official site for the library is at <https://highlightjs.org/>.
 
+The Github project may be found at: <https://github.com/highlightjs/highlight.js>
+
 Further in-depth documentation for the API and other topics is at
 <http://highlightjs.readthedocs.io/>.
 
-Authors and contributors are listed in the [AUTHORS.en.txt][8] file.
+A list of the Core Team and contributors can be found in the [CONTRIBUTORS.md][8] file.
 
-[1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload
-[2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html
-[3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block
-[4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options
-[5]: https://highlightjs.org/download/
-[6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html
-[7]: https://github.com/isagalaev/highlight.js/blob/master/LICENSE
-[8]: https://github.com/isagalaev/highlight.js/blob/master/AUTHORS.en.txt
+[1]: https://www.npmjs.com/package/highlight.js
+[7]: https://github.com/highlightjs/highlight.js/blob/main/LICENSE
+[8]: https://github.com/highlightjs/highlight.js/blob/main/CONTRIBUTORS.md
diff --git a/pkgs/misc/documentation-highlighter/highlight.pack.js b/pkgs/misc/documentation-highlighter/highlight.pack.js
index f909702367ec9..b8008d3650f05 100644
--- a/pkgs/misc/documentation-highlighter/highlight.pack.js
+++ b/pkgs/misc/documentation-highlighter/highlight.pack.js
@@ -1,2 +1,345 @@
-/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */
-!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset<r[0].offset?e:r:"start"===r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value).replace('"',"&quot;")+'"'}s+="<"+t(e)+E.map.call(e.attributes,r).join("")+">"}function u(e){s+="</"+t(e)+">"}function c(e){("start"===e.event?o:u)(e.node)}for(var l=0,s="",f=[];e.length||r.length;){var g=i();if(s+=n(a.substring(l,g[0].offset)),l=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===l);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return s+n(a.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},u=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?u("keyword",a.k):x(a.k).forEach(function(e){u(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return l("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var c=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=c.length?t(c.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function l(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":I.classPrefix,i='<span class="'+a,o=t?"":C;return i+=e+'">',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=l(E,r),e?(B+=e[1],a+=p(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!y[E.sL])return n(k);var t=e?f(E.sL,k,!0,x[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(B+=t.r),e&&(x[E.sL]=t.top),p(t.language,t.value,!1,!0)}function b(){L+=null!=E.sL?d():h(),k=""}function v(e){L+=e.cN?p(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(k+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),b(),t.rB||t.eB||(k=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),b(),a.eE&&(k=n));do E.cN&&(L+=C),E.skip||(B+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"<unnamed>")+'"');return k+=n,n.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,E=i||N,x={},L="";for(R=E;R!==N;R=R.parent)R.cN&&(L=p(R.cN,"",!0)+L);var k="",B=0;try{for(var M,j,O=0;;){if(E.t.lastIndex=O,M=E.t.exec(t),!M)break;j=m(t.substring(O,M.index),M[0]),O=M.index+j}for(m(t.substr(O)),R=E;R.parent;R=R.parent)R.cN&&(L+=C);return{r:B,value:L,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function g(e,t){t=t||I.languages||x(y);var r={r:0,value:n(e)},a=r;return t.filter(w).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return I.tabReplace||I.useBR?e.replace(M,function(e,n){return I.useBR&&"\n"===e?"<br>":I.tabReplace?n.replace(/\t/g,I.tabReplace):""}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function d(e){var n,t,r,o,l,s=i(e);a(s)||(I.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):n=e,l=n.textContent,r=s?f(s,l,!0):g(l),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),l)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,s,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){I=o(I,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,d)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=y[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function R(){return x(y)}function w(e){return e=(e||"").toLowerCase(),y[e]||y[L[e]]}var E=[],x=Object.keys,y={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="</span>",I={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=d,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("nix",function(e){var r={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},t={cN:"subst",b:/\$\{/,e:/}/,k:r},i={b:/[a-zA-Z0-9-_]+(\s*=)/,rB:!0,r:0,c:[{cN:"attr",b:/\S+/}]},s={cN:"string",c:[t],v:[{b:"''",e:"''"},{b:'"',e:'"'}]},a=[e.NM,e.HCM,e.CBCM,s,i];return t.c=a,{aliases:["nixos"],k:r,c:a}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});
\ No newline at end of file
+/*!
+  Highlight.js v11.9.0 (git: b7ec4bfafc)
+  (c) 2006-2023 undefined and other contributors
+  License: BSD-3-Clause
+ */
+var hljs=function(){"use strict";function e(t){
+return t instanceof Map?t.clear=t.delete=t.set=()=>{
+throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{
+throw Error("set is read-only")
+}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{
+const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i)
+})),t}class t{constructor(e){
+void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}
+ignoreMatch(){this.isMatchIgnored=!0}}function n(e){
+return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")
+}function i(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t]
+;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.scope
+;class o{constructor(e,t){
+this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){
+this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{
+if(e.startsWith("language:"))return e.replace("language:","language-")
+;if(e.includes(".")){const n=e.split(".")
+;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")
+}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}
+closeNode(e){s(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){
+this.buffer+=`<span class="${e}">`}}const r=(e={})=>{const t={children:[]}
+;return Object.assign(t,e),t};class a{constructor(){
+this.rootNode=r(),this.stack=[this.rootNode]}get top(){
+return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){
+this.top.children.push(e)}openNode(e){const t=r({scope:e})
+;this.add(t),this.stack.push(t)}closeNode(){
+if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){
+for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}
+walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){
+return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),
+t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){
+"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{
+a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e}
+addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){
+this.closeNode()}__addSublanguage(e,t){const n=e.root
+;t&&(n.scope="language:"+t),this.add(n)}toHTML(){
+return new o(this,this.options).value()}finalize(){
+return this.closeAllNodes(),!0}}function l(e){
+return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")}
+function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")}
+function h(...e){return e.map((e=>l(e))).join("")}function f(...e){const t=(e=>{
+const t=e[e.length-1]
+;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}
+})(e);return"("+(t.capture?"":"?:")+e.map((e=>l(e))).join("|")+")"}
+function p(e){return RegExp(e.toString()+"|").exec("").length-1}
+const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
+;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n
+;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break}
+s+=i.substring(0,e.index),
+i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],
+"("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)}
+const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",y="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",O={
+begin:"\\\\[\\s\\S]",relevance:0},v={scope:"string",begin:"'",end:"'",
+illegal:"\\n",contains:[O]},k={scope:"string",begin:'"',end:'"',illegal:"\\n",
+contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t,
+contains:[]},n);s.contains.push({scope:"doctag",
+begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
+end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0})
+;const o=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)
+;return s.contains.push({begin:h(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s
+},S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var j=Object.freeze({
+__proto__:null,APOS_STRING_MODE:v,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{
+scope:"number",begin:_,relevance:0},BINARY_NUMBER_RE:_,COMMENT:N,
+C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number",
+begin:y,relevance:0},C_NUMBER_RE:y,END_SAME_AS_BEGIN:e=>Object.assign(e,{
+"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{
+t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:R,IDENT_RE:E,
+MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0},
+NUMBER_MODE:{scope:"number",begin:w,relevance:0},NUMBER_RE:w,
+PHRASAL_WORDS_MODE:{
+begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
+},QUOTE_STRING_MODE:k,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,
+end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]},
+RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
+SHEBANG:(e={})=>{const t=/^#![ ]*\//
+;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t,
+end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},
+TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x,
+UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function A(e,t){
+"."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){
+void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){
+t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",
+e.__beforeBegin=A,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,
+void 0===e.relevance&&(e.relevance=0))}function L(e,t){
+Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(e,t){
+if(e.match){
+if(e.begin||e.end)throw Error("begin & end are not supported with match")
+;e.begin=e.match,delete e.match}}function P(e,t){
+void 0===e.relevance&&(e.relevance=1)}const D=(e,t)=>{if(!e.beforeMatch)return
+;if(e.starts)throw Error("beforeMatch cannot be used with starts")
+;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]
+})),e.keywords=n.keywords,e.begin=h(n.beforeMatch,g(n.begin)),e.starts={
+relevance:0,contains:[Object.assign(n,{endsParent:!0})]
+},e.relevance=0,delete n.beforeMatch
+},H=["of","and","for","in","not","or","if","then","parent","list","value"],C="keyword"
+;function $(e,t,n=C){const i=Object.create(null)
+;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{
+Object.assign(i,$(e[n],t,n))})),i;function s(e,n){
+t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|")
+;i[n[0]]=[e,U(n[0],n[1])]}))}}function U(e,t){
+return t?Number(t):(e=>H.includes(e.toLowerCase()))(e)?0:1}const z={},W=e=>{
+console.error(e)},X=(e,...t)=>{console.log("WARN: "+e,...t)},G=(e,t)=>{
+z[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0)
+},K=Error();function F(e,t,{key:n}){let i=0;const s=e[n],o={},r={}
+;for(let e=1;e<=t.length;e++)r[e+i]=s[e],o[e+i]=!0,i+=p(t[e-1])
+;e[n]=r,e[n]._emit=o,e[n]._multi=!0}function Z(e){(e=>{
+e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,
+delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={
+_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope
+}),(e=>{if(Array.isArray(e.begin)){
+if(e.skip||e.excludeBegin||e.returnBegin)throw W("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),
+K
+;if("object"!=typeof e.beginScope||null===e.beginScope)throw W("beginScope must be object"),
+K;F(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{
+if(Array.isArray(e.end)){
+if(e.skip||e.excludeEnd||e.returnEnd)throw W("skip, excludeEnd, returnEnd not compatible with endScope: {}"),
+K
+;if("object"!=typeof e.endScope||null===e.endScope)throw W("endScope must be object"),
+K;F(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function V(e){
+function t(t,n){
+return RegExp(l(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))
+}class n{constructor(){
+this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}
+addRule(e,t){
+t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),
+this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)
+;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(e,{joinWith:"|"
+}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex
+;const t=this.matcherRe.exec(e);if(!t)return null
+;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n]
+;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){
+this.rules=[],this.multiRegexes=[],
+this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){
+if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n
+;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),
+t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){
+return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){
+this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){
+const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex
+;let n=t.exec(e)
+;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{
+const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}
+return n&&(this.regexIndex+=n.position+1,
+this.regexIndex===this.count&&this.considerAll()),n}}
+if(e.compilerExtensions||(e.compilerExtensions=[]),
+e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.")
+;return e.classNameAliases=i(e.classNameAliases||{}),function n(o,r){const a=o
+;if(o.isCompiled)return a
+;[I,B,Z,D].forEach((e=>e(o,r))),e.compilerExtensions.forEach((e=>e(o,r))),
+o.__beforeBegin=null,[T,L,P].forEach((e=>e(o,r))),o.isCompiled=!0;let c=null
+;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),
+c=o.keywords.$pattern,
+delete o.keywords.$pattern),c=c||/\w+/,o.keywords&&(o.keywords=$(o.keywords,e.case_insensitive)),
+a.keywordPatternRe=t(c,!0),
+r&&(o.begin||(o.begin=/\B|\b/),a.beginRe=t(a.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),
+o.end&&(a.endRe=t(a.end)),
+a.terminatorEnd=l(a.end)||"",o.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),
+o.illegal&&(a.illegalRe=t(o.illegal)),
+o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{
+variants:null},t)))),e.cachedVariants?e.cachedVariants:q(e)?i(e,{
+starts:e.starts?i(e.starts):null
+}):Object.isFrozen(e)?i(e):e))("self"===e?o:e)))),o.contains.forEach((e=>{n(e,a)
+})),o.starts&&n(o.starts,r),a.matcher=(e=>{const t=new s
+;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"
+}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"
+}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function q(e){
+return!!e&&(e.endsWithParent||q(e.starts))}class J extends Error{
+constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}
+const Y=n,Q=i,ee=Symbol("nomatch"),te=n=>{
+const i=Object.create(null),s=Object.create(null),o=[];let r=!0
+;const a="Could not find the language '{}', did you forget to load/include a language module?",l={
+disableAutodetect:!0,name:"Plain text",contains:[]};let p={
+ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,
+languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",
+cssSelector:"pre code",languages:null,__emitter:c};function b(e){
+return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s=""
+;"object"==typeof t?(i=e,
+n=t.ignoreIllegals,s=t.language):(G("10.7.0","highlight(lang, code, ...args) has been deprecated."),
+G("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),
+s=e,i=t),void 0===n&&(n=!0);const o={code:i,language:s};N("before:highlight",o)
+;const r=o.result?o.result:E(o.language,o.code,n)
+;return r.code=o.code,N("after:highlight",r),r}function E(e,n,s,o){
+const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R)
+;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n=""
+;for(;t;){n+=R.substring(e,t.index)
+;const s=_.case_insensitive?t[0].toLowerCase():t[0],o=(i=s,N.keywords[i]);if(o){
+const[e,i]=o
+;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(j+=i),e.startsWith("_"))n+=t[0];else{
+const n=_.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0]
+;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i
+;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{
+if(""===R)return;let e=null;if("string"==typeof N.subLanguage){
+if(!i[N.subLanguage])return void M.addText(R)
+;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top
+}else e=x(R,N.subLanguage.length?N.subLanguage:null)
+;N.relevance>0&&(j+=e.relevance),M.__addSublanguage(e._emitter,e.language)
+})():l(),R=""}function u(e,t){
+""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1
+;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue}
+const i=_.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}}
+function h(e,t){
+return e.scope&&"string"==typeof e.scope&&M.openNode(_.classNameAliases[e.scope]||e.scope),
+e.beginScope&&(e.beginScope._wrap?(u(R,_.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),
+R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{
+value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t)
+;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e)
+;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){
+for(;e.endsParent&&e.parent;)e=e.parent;return e}}
+if(e.endsWithParent)return f(e.parent,n,i)}function b(e){
+return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){
+const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return ee;const o=N
+;N.endScope&&N.endScope._wrap?(g(),
+u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(),
+d(N.endScope,e)):o.skip?R+=t:(o.returnEnd||o.excludeEnd||(R+=t),
+g(),o.excludeEnd&&(R=t));do{
+N.scope&&M.closeNode(),N.skip||N.subLanguage||(j+=N.relevance),N=N.parent
+}while(N!==s.parent);return s.starts&&h(s.starts,e),o.returnEnd?0:t.length}
+let w={};function y(i,o){const a=o&&o[0];if(R+=i,null==a)return g(),0
+;if("begin"===w.type&&"end"===o.type&&w.index===o.index&&""===a){
+if(R+=n.slice(o.index,o.index+1),!r){const t=Error(`0 width match regex (${e})`)
+;throw t.languageName=e,t.badRule=w.rule,t}return 1}
+if(w=o,"begin"===o.type)return(e=>{
+const n=e[0],i=e.rule,s=new t(i),o=[i.__beforeBegin,i["on:begin"]]
+;for(const t of o)if(t&&(t(e,s),s.isMatchIgnored))return b(n)
+;return i.skip?R+=n:(i.excludeBegin&&(R+=n),
+g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(o)
+;if("illegal"===o.type&&!s){
+const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"<unnamed>")+'"')
+;throw e.mode=N,e}if("end"===o.type){const e=m(o);if(e!==ee)return e}
+if("illegal"===o.type&&""===a)return 1
+;if(I>1e5&&I>3*o.index)throw Error("potential infinite loop, way more iterations than matches")
+;return R+=a,a.length}const _=O(e)
+;if(!_)throw W(a.replace("{}",e)),Error('Unknown language: "'+e+'"')
+;const v=V(_);let k="",N=o||v;const S={},M=new p.__emitter(p);(()=>{const e=[]
+;for(let t=N;t!==_;t=t.parent)t.scope&&e.unshift(t.scope)
+;e.forEach((e=>M.openNode(e)))})();let R="",j=0,A=0,I=0,T=!1;try{
+if(_.__emitTokens)_.__emitTokens(n,M);else{for(N.matcher.considerAll();;){
+I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=A
+;const e=N.matcher.exec(n);if(!e)break;const t=y(n.substring(A,e.index),e)
+;A=e.index+t}y(n.substring(A))}return M.finalize(),k=M.toHTML(),{language:e,
+value:k,relevance:j,illegal:!1,_emitter:M,_top:N}}catch(t){
+if(t.message&&t.message.includes("Illegal"))return{language:e,value:Y(n),
+illegal:!0,relevance:0,_illegalBy:{message:t.message,index:A,
+context:n.slice(A-100,A+100),mode:t.mode,resultSoFar:k},_emitter:M};if(r)return{
+language:e,value:Y(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N}
+;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{
+const t={value:Y(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)}
+;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(k).map((t=>E(t,e,!1)))
+;s.unshift(n);const o=s.sort(((e,t)=>{
+if(e.relevance!==t.relevance)return t.relevance-e.relevance
+;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1
+;if(O(t.language).supersetOf===e.language)return-1}return 0})),[r,a]=o,c=r
+;return c.secondBest=a,c}function w(e){let t=null;const n=(e=>{
+let t=e.className+" ";t+=e.parentNode?e.parentNode.className:""
+;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1])
+;return t||(X(a.replace("{}",n[1])),
+X("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}
+return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return
+;if(N("before:highlightElement",{el:e,language:n
+}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)
+;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),
+console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),
+console.warn("The element with unescaped HTML:"),
+console.warn(e)),p.throwUnescapedHTML))throw new J("One of your code blocks includes unescaped HTML.",e.innerHTML)
+;t=e;const i=t.textContent,o=n?m(i,{language:n,ignoreIllegals:!0}):x(i)
+;e.innerHTML=o.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n
+;e.classList.add("hljs"),e.classList.add("language-"+i)
+})(e,n,o.language),e.result={language:o.language,re:o.relevance,
+relevance:o.relevance},o.secondBest&&(e.secondBest={
+language:o.secondBest.language,relevance:o.secondBest.relevance
+}),N("after:highlightElement",{el:e,result:o,text:i})}let y=!1;function _(){
+"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(w):y=!0
+}function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}
+function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{
+s[e.toLowerCase()]=t}))}function k(e){const t=O(e)
+;return t&&!t.disableAutodetect}function N(e,t){const n=e;o.forEach((e=>{
+e[n]&&e[n](t)}))}
+"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{
+y&&_()}),!1),Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:_,
+highlightElement:w,
+highlightBlock:e=>(G("10.7.0","highlightBlock will be removed entirely in v12.0"),
+G("10.7.0","Please use highlightElement now."),w(e)),configure:e=>{p=Q(p,e)},
+initHighlighting:()=>{
+_(),G("10.6.0","initHighlighting() deprecated.  Use highlightAll() now.")},
+initHighlightingOnLoad:()=>{
+_(),G("10.6.0","initHighlightingOnLoad() deprecated.  Use highlightAll() now.")
+},registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){
+if(W("Language definition for '{}' could not be registered.".replace("{}",e)),
+!r)throw t;W(t),s=l}
+s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&v(s.aliases,{
+languageName:e})},unregisterLanguage:e=>{delete i[e]
+;for(const t of Object.keys(s))s[t]===e&&delete s[t]},
+listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v,
+autoDetection:k,inherit:Q,addPlugin:e=>{(e=>{
+e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{
+e["before:highlightBlock"](Object.assign({block:t.el},t))
+}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{
+e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),o.push(e)},
+removePlugin:e=>{const t=o.indexOf(e);-1!==t&&o.splice(t,1)}}),n.debugMode=()=>{
+r=!1},n.safeMode=()=>{r=!0},n.versionString="11.9.0",n.regex={concat:h,
+lookahead:g,either:f,optional:d,anyNumberOfTimes:u}
+;for(const t in j)"object"==typeof j[t]&&e(j[t]);return Object.assign(n,j),n
+},ne=te({});return ne.newInstance=()=>te({}),ne}()
+;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `bash` grammar compiled for Highlight.js 11.9.0 */
+(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/,
+end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{
+className:"variable",variants:[{
+begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={
+className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]
+},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={
+begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,
+end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,
+contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(o);const r={begin:/\$?\(\(/,
+end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]
+},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10
+}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,
+contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{
+name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,
+keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],
+literal:["true","false"],
+built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]
+},contains:[l,e.SHEBANG(),m,r,i,c,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{
+className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}}})()
+;hljs.registerLanguage("bash",e)})();/*! `nix` grammar compiled for Highlight.js 11.9.0 */
+(()=>{var e=(()=>{"use strict";return e=>{const n={
+keyword:["rec","with","let","in","inherit","assert","if","else","then"],
+literal:["true","false","or","and","null"],
+built_in:["import","abort","baseNameOf","dirOf","isNull","builtins","map","removeAttrs","throw","toString","derivation"]
+},s={className:"subst",begin:/\$\{/,end:/\}/,keywords:n},a={className:"string",
+contains:[{className:"char.escape",begin:/''\$/},s],variants:[{begin:"''",
+end:"''"},{begin:'"',end:'"'}]
+},i=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{
+begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{
+className:"attr",begin:/\S+/,relevance:.2}]}];return s.contains=i,{name:"Nix",
+aliases:["nixos"],keywords:n,contains:i}}})();hljs.registerLanguage("nix",e)
+})();/*! `shell` grammar compiled for Highlight.js 11.9.0 */
+(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session",
+aliases:["console","shellsession"],contains:[{className:"meta.prompt",
+begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,
+subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();
\ No newline at end of file
diff --git a/pkgs/misc/documentation-highlighter/loader.js b/pkgs/misc/documentation-highlighter/loader.js
index 4ad7dbf24b514..cf0fdac574dda 100644
--- a/pkgs/misc/documentation-highlighter/loader.js
+++ b/pkgs/misc/documentation-highlighter/loader.js
@@ -1,7 +1,6 @@
 /* This file is NOT part of highlight.js */
-document.onreadystatechange = function () {
-    var listings = document.querySelectorAll('.programlisting, .screen');
-    for (i = 0; i < listings.length; ++i) {
-        hljs.highlightBlock(listings[i]);
-    }
-}
+document.addEventListener('DOMContentLoaded', (event) => {
+    document.querySelectorAll('.programlisting, .screen').forEach((element) => {
+        hljs.highlightElement(element);
+    });
+});
diff --git a/pkgs/misc/documentation-highlighter/mono-blue.css b/pkgs/misc/documentation-highlighter/mono-blue.css
index 884c97c7673f6..bc9bceae4b10f 100644
--- a/pkgs/misc/documentation-highlighter/mono-blue.css
+++ b/pkgs/misc/documentation-highlighter/mono-blue.css
@@ -1,17 +1,18 @@
+pre code.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 1em
+}
+code.hljs {
+  padding: 3px 5px
+}
 /*
   Five-color theme from a single blue hue.
 */
 .hljs {
-  display: block;
-  overflow-x: auto;
-  padding: 0.5em;
   background: #eaeef3;
+  color: #00193a
 }
-
-.hljs {
-  color: #00193a;
-}
-
 .hljs-keyword,
 .hljs-selector-tag,
 .hljs-title,
@@ -19,13 +20,11 @@
 .hljs-doctag,
 .hljs-name,
 .hljs-strong {
-  font-weight: bold;
+  font-weight: bold
 }
-
 .hljs-comment {
-  color: #738191;
+  color: #738191
 }
-
 .hljs-string,
 .hljs-title,
 .hljs-section,
@@ -38,9 +37,8 @@
 .hljs-name,
 .hljs-selector-id,
 .hljs-selector-class {
-  color: #0048ab;
+  color: #0048ab
 }
-
 .hljs-meta,
 .hljs-subst,
 .hljs-symbol,
@@ -51,9 +49,8 @@
 .hljs-template-variable,
 .hljs-link,
 .hljs-bullet {
-  color: #4c81c9;
+  color: #4c81c9
 }
-
 .hljs-emphasis {
-  font-style: italic;
-}
+  font-style: italic
+}
\ No newline at end of file
diff --git a/pkgs/misc/documentation-highlighter/update.sh b/pkgs/misc/documentation-highlighter/update.sh
index 3b77af4af4163..8d44e9ddd9a15 100755
--- a/pkgs/misc/documentation-highlighter/update.sh
+++ b/pkgs/misc/documentation-highlighter/update.sh
@@ -21,19 +21,21 @@ trap finish EXIT
 mkdir $scratch/src
 cd $scratch/src
 
-token=$(curl https://highlightjs.org/download/ -c "$scratch/jar" \
-    | grep csrf \
-    | cut -d"'" -f6)
+curl \
+    -X POST \
+    -H 'Content-Type: application/json' \
+    --data-raw '{
+      "api": 2,
+      "languages": ["bash", "nix", "shell"]
+    }' \
+    https://highlightjs.org/api/download > $scratch/out.zip
 
-curl --header "Referer: https://highlightjs.org/download/"\
-    -b "$scratch/jar" \
-    --data "csrfmiddlewaretoken=$token&nix.js=on&bash.js=on" \
-    https://highlightjs.org/download/ > $scratch/out.zip
 
 unzip "$scratch/out.zip"
 out="$root/"
 mkdir -p "$out"
-cp ./{highlight.pack.js,LICENSE,styles/mono-blue.css} "$out"
+cp ./highlight.min.js "$out/highlight.pack.js"
+cp ./{LICENSE,styles/mono-blue.css} "$out"
 
 (
     echo "This file was generated with pkgs/misc/documentation-highlighter/update.sh"
diff --git a/pkgs/misc/doge/default.nix b/pkgs/misc/doge/default.nix
deleted file mode 100644
index 3fbf5992ade78..0000000000000
--- a/pkgs/misc/doge/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, python3Packages, fetchPypi }:
-
-python3Packages.buildPythonPackage rec {
-  pname = "doge";
-  version = "3.5.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0lwdl06lbpnaqqjk8ap9dsags3bzma30z17v0zc7spng1gz8m6xj";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/thiderman/doge";
-    description = "wow very terminal doge";
-    license = licenses.mit;
-    maintainers = with maintainers; [ Gonzih ];
-    mainProgram = "doge";
-  };
-}
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 8630cc859917d..a1c8fb43c20f6 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -16,12 +16,12 @@
 }:
 
 let
-  version = "2.2";
+  version = "2.3.1";
   prebuilt_server = fetchurl {
     name = "scrcpy-server";
     inherit version;
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    hash = "sha256-yFxKqEMF77aRFc1JehIOvdECWJk7TPEjqCRbPZnUmHQ=";
+    hash = "sha256-9oFIIvwwinpTLyU0hckDgYPGKWpsXfRwqeODtPjnYFs=";
   };
 in
 stdenv.mkDerivation rec {
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = "scrcpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2/IsDZJAtERs2AG6J4LR/ffy4XYmaj0KeSwZLQ849Lc=";
+    hash = "sha256-RM29WjzsYnn26x/Xr2RKp0p87/v+Jl8skEcAwxhZEtU=";
   };
 
   #   display.c: When run without a hardware accelerator, this allows the command to continue working rather than failing unexpectedly.
diff --git a/pkgs/os-specific/darwin/rectangle/default.nix b/pkgs/os-specific/darwin/rectangle/default.nix
index 590e6427d19b7..4366e0aedebfb 100644
--- a/pkgs/os-specific/darwin/rectangle/default.nix
+++ b/pkgs/os-specific/darwin/rectangle/default.nix
@@ -7,11 +7,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "rectangle";
-  version = "0.74";
+  version = "0.75";
 
   src = fetchurl {
     url = "https://github.com/rxhanson/Rectangle/releases/download/v${version}/Rectangle${version}.dmg";
-    hash = "sha256-ERfzgw8R39dOc9F/dgcgCKbEVFNChC5LqDFBDzbS+Wg=";
+    hash = "sha256-IjEqT1PHGohuQqgS+IzZKyLoIs0P0V7z42JzNUuzh84=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/os-specific/linux/autosuspend/default.nix b/pkgs/os-specific/linux/autosuspend/default.nix
index fc2b2f0c4e389..5abacf966b9e1 100644
--- a/pkgs/os-specific/linux/autosuspend/default.nix
+++ b/pkgs/os-specific/linux/autosuspend/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchPypi
 , python3
 }:
 
@@ -8,11 +9,16 @@ let
     packageOverrides = self: super: {
       # autosuspend is incompatible with tzlocal v5
       # See https://github.com/regebro/tzlocal#api-change
-      tzlocal = super.tzlocal.overridePythonAttrs (prev: {
-        src = prev.src.override {
-          version = "4.3.1";
+      tzlocal = super.tzlocal.overridePythonAttrs (prev: rec {
+        version = "4.3.1";
+        src = fetchPypi {
+          inherit (prev) pname;
+          inherit version;
           hash = "sha256-7jLvjCCAPBmpbtNmrd09SnKe9jCctcc1mgzC7ut/pGo=";
         };
+        propagatedBuildInputs = with self; [
+          pytz-deprecation-shim
+        ];
       });
     };
   };
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index c77c01df85086..e96902a130296 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -122,7 +122,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.9";
+  version = "1.9.10";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -133,7 +133,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-UUrG3CMCAC5hyy2U5I4zqvJoSP/+zuiq1P+2Pdb3QD0=";
+    hash = "sha256-qB7SGkjPahZmLax8HrSdLvORAXTBcuN5NohT0KUjCnM=";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 2954ee8f78b90..4b38ffc5069ca 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -275,6 +275,12 @@ let
       INFINIBAND = module;
       INFINIBAND_IPOIB = module;
       INFINIBAND_IPOIB_CM = yes;
+    } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
+      # Not enabled by default, hides modules behind it
+      NET_VENDOR_MEDIATEK = yes;
+      # Enable SoC interface for MT7915 module, required for MT798X.
+      MT7986_WMAC = whenBetween "5.18" "6.6" yes;
+      MT798X_WMAC = whenAtLeast "6.6" yes;
     };
 
     wireless = {
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 25b28539bc39d..72d6c1197e63a 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,38 +1,38 @@
 {
     "testing": {
-        "version": "6.7-rc3",
-        "hash": "sha256:1bi80271g76pcajzmzr0dxcmzzlzicqddm38mr7pkz8zi0070arf"
+        "version": "6.7-rc4",
+        "hash": "sha256:1igynlm5pv62brfkyjh6w8lzvmmy8c3g8phrn5wgdyy8svc48r8h"
     },
     "6.5": {
         "version": "6.5.13",
         "hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq"
     },
     "6.1": {
-        "version": "6.1.64",
-        "hash": "sha256:1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2"
+        "version": "6.1.66",
+        "hash": "sha256:030sxwzqlf9jg57j1hvd46ffkc9yfplbk3b81faycfa2dk6n57j1"
     },
     "5.15": {
-        "version": "5.15.140",
-        "hash": "sha256:0isa9si9wjn10lw41431wdqsbp9y685ch5lzhwswng3g6j5ywaxy"
+        "version": "5.15.142",
+        "hash": "sha256:0xjn16b02f8d6c0m8vrbmk85kdyfy8m46s80rnkb0nnwfx9cjxld"
     },
     "5.10": {
-        "version": "5.10.202",
-        "hash": "sha256:12zs2bz2plps6xp80sdg36zkyr00rf5l5c85jl4dd7b9klly04ij"
+        "version": "5.10.203",
+        "hash": "sha256:0xr8p7kfr1v3s41fv55ph0l8d9s2p146dl2fh3r2y09lrvwwxssn"
     },
     "5.4": {
-        "version": "5.4.262",
-        "hash": "sha256:1p34x33gkvpv26zcrpx1i6dr7dknyxj8gnp6caqb8sj58h3slgkx"
+        "version": "5.4.263",
+        "hash": "sha256:1y1mfwjsilrx8x8jnjlyh8r9zlygjjqdf7pay92jv2qijjddpl2h"
     },
     "4.19": {
-        "version": "4.19.300",
-        "hash": "sha256:0ilksl94gjpc4pzc90swfawsl8lvibpq14nkaxzl0831i219ahd8"
+        "version": "4.19.301",
+        "hash": "sha256:1fr05fl8fyyjgsqj8fppd5v378d7sazvpqlq4sl875851fd9nmb2"
     },
     "4.14": {
-        "version": "4.14.331",
-        "hash": "sha256:03sk82dgvccv70i3hy8gf2hw0n4m305f7rxjw93p7jnjrbpdrp1r"
+        "version": "4.14.332",
+        "hash": "sha256:1f4q0acbp917myjmgiy4haxp78yak5h1rj5g937r6mkykwb6nb14"
     },
     "6.6": {
-        "version": "6.6.3",
-        "hash": "sha256:19wmjkyyv5glv1w647qisrv829hhhpba5x905a7p7kch9wyzrv98"
+        "version": "6.6.5",
+        "hash": "sha256:17miac3h4kvj4yyf042qsmpsivpq243db5v0ay6233d6aic7k4kw"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
index bc45a86905c11..497fb09ab4d1a 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.15.137-rt71"; # updated by ./update-rt.sh
+  version = "5.15.141-rt72"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1xxjbxldrhmnh2q6rykpxyfbj8xqgl82q30n8sfavrzr14bb4jcp";
+    sha256 = "1yicgvq413801qrfzr0rdzwgg45dszrvfd6y9dmrhak9bk36lvck";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "11zk02ni3b0l1wwrfvyc1q92bd9as61hwgbwlj42xv5gbpd39jlw";
+      sha256 = "0qlk43g5c0apspdg56ccb4259903nvadv4pnga07i4lg6xwb5xjw";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
index 85c8a8b8a10ea..e57b2859b8cb0 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.1.59-rt16"; # updated by ./update-rt.sh
+  version = "6.1.65-rt18"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "1860r1aan258yi2jq68bp1kdbcyy7ygc7d8g54wnc0vmqqj7fzv2";
+    sha256 = "02mj394ina3npp6qqinc4pc6afp5pg1rlbjc90g4p902d29jjwj0";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1cmgw6a8zlj89172mp85lxaksz1pvc155mj2fq59l1ry35gwb5q7";
+      sha256 = "0axy543q47xv5nsrw6prmy9dqvbp27wkn2brwygl05nl8grjvhr8";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index e72df64c4a22e..4a1bd7543b1b9 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.6.3"; #zen
+    version = "6.6.4"; #zen
     suffix = "zen1"; #zen
-    sha256 = "0hjn4qq8dppa0cn4rx7n98cxvzhkbn30hlm3bgcv97fwyvglsdwc"; #zen
+    sha256 = "1zks4fpbw788aaw9rysdpfhmqzr8l5y6afq92md1gizyyl1rjhq1"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.6.3"; #lqx
+    version = "6.6.4"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1mh2pngz589z1c4jqdx2slh1dsmjqq7f1yriz2yp50kkv8abff8z"; #lqx
+    sha256 = "049pga9bc5pbnwki5vmnz9pdx0p5r7sssb66b4580h9x9skzi9m2"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
index 4762b63eda9bf..2a60864ea6bf5 100644
--- a/pkgs/os-specific/linux/kmscon/default.nix
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -16,6 +16,7 @@
 , libxslt
 , mesa
 , ninja
+, buildPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -29,13 +30,18 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-8owyyzCrZVbWXcCR+RA+m0MOrdzW+efI+rIMWEVEZ1o=";
   };
 
+  strictDeps = true;
+
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
+
   buildInputs = [
     libGLU
     libGL
     libdrm
     libtsm
     libxkbcommon
-    libxslt
     pango
     pixman
     systemd
@@ -47,6 +53,7 @@ stdenv.mkDerivation rec {
     ninja
     docbook_xsl
     pkg-config
+    libxslt # xsltproc
   ];
 
   patches = [
diff --git a/pkgs/os-specific/linux/libnss-mysql/default.nix b/pkgs/os-specific/linux/libnss-mysql/default.nix
index 77e629b03074d..1333128011191 100644
--- a/pkgs/os-specific/linux/libnss-mysql/default.nix
+++ b/pkgs/os-specific/linux/libnss-mysql/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, which, libmysqlclient }:
+{ lib
+, nixosTests
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, which
+, libmysqlclient
+}:
 
 stdenv.mkDerivation rec {
   pname = "libnss-mysql";
@@ -20,6 +27,10 @@ stdenv.mkDerivation rec {
     rm -r $out/etc
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) auth-mysql;
+  };
+
   meta = with lib; {
     description = "MySQL module for the Solaris Nameservice Switch (NSS)";
     homepage = "https://github.com/saknopper/libnss-mysql";
diff --git a/pkgs/os-specific/linux/libnvme/default.nix b/pkgs/os-specific/linux/libnvme/default.nix
index 129bb49e81e9a..aee0dc1e0094f 100644
--- a/pkgs/os-specific/linux/libnvme/default.nix
+++ b/pkgs/os-specific/linux/libnvme/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   mesonFlags = [
     "-Ddocs=man"
-    (lib.mesonBool "tests" finalAttrs.doCheck)
+    (lib.mesonBool "tests" finalAttrs.finalPackage.doCheck)
     (lib.mesonBool "docs-build" withDocs)
   ];
 
diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix
index 6caa8e3945086..5a5064719fefa 100644
--- a/pkgs/os-specific/linux/light/default.nix
+++ b/pkgs/os-specific/linux/light/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     description = "GNU/Linux application to control backlights";
     homepage = "https://haikarainen.github.io/light/";
     license = lib.licenses.gpl3;
+    mainProgram = "light";
     maintainers = with lib.maintainers; [ puffnfresh dtzWill ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 49f16db002f3b..4192de0cfeab6 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -6,7 +6,6 @@
 , libcap ? null, systemd ? null
 }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "lxc";
   version = "4.0.12";
@@ -48,10 +47,10 @@ stdenv.mkDerivation rec {
     "--disable-api-docs"
     "--with-init-script=none"
     "--with-distro=nixos" # just to be sure it is "unknown"
-  ] ++ optional (libapparmor != null) "--enable-apparmor"
-    ++ optional (libselinux != null) "--enable-selinux"
-    ++ optional (libseccomp != null) "--enable-seccomp"
-    ++ optional (libcap != null) "--enable-capabilities"
+  ] ++ lib.optional (libapparmor != null) "--enable-apparmor"
+    ++ lib.optional (libselinux != null) "--enable-selinux"
+    ++ lib.optional (libseccomp != null) "--enable-seccomp"
+    ++ lib.optional (libcap != null) "--enable-capabilities"
     ++ [
     "--disable-examples"
     "--enable-python"
@@ -90,7 +89,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://linuxcontainers.org/";
     description = "Userspace tools for Linux Containers, a lightweight virtualization system";
-    license = licenses.lgpl21Plus;
+    license = lib.licenses.lgpl21Plus;
 
     longDescription = ''
       LXC is the userspace control package for Linux Containers, a
@@ -100,7 +99,7 @@ stdenv.mkDerivation rec {
       mechanisms to Linux’s existing process management infrastructure.
     '';
 
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = lib.platforms.linux;
+    maintainers = lib.teams.lxc.members;
   };
 }
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 96477c5f44268..28777d36e6beb 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -2,7 +2,6 @@
 , util-linux, makeWrapper
 , enableDebugBuild ? config.lxcfs.enableDebugBuild or false }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "lxcfs";
   version = "4.0.12";
@@ -48,8 +47,8 @@ stdenv.mkDerivation rec {
     description = "FUSE filesystem for LXC";
     homepage = "https://linuxcontainers.org/lxcfs";
     changelog = "https://linuxcontainers.org/lxcfs/news/";
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
+    maintainers = lib.teams.lxc.members;
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index ecfc04115d000..710e4ad9defbb 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -27,12 +27,12 @@ rec {
   stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else latest;
 
   production = generic {
-    version = "535.129.03";
-    sha256_64bit = "sha256-5tylYmomCMa7KgRs/LfBrzOLnpYafdkKwJu4oSb/AC4=";
-    sha256_aarch64 = "sha256-i6jZYUV6JBvN+Rt21v4vNstHPIu9sC+2ZQpiLOLoWzM=";
-    openSha256 = "sha256-/Hxod/LQ4CGZN1B1GRpgE/xgoYlkPpMh+n8L7tmxwjs=";
-    settingsSha256 = "sha256-QKN/gLGlT+/hAdYKlkIjZTgvubzQTt4/ki5Y+2Zj3pk=";
-    persistencedSha256 = "sha256-FRMqY5uAJzq3o+YdM2Mdjj8Df6/cuUUAnh52Ne4koME=";
+    version = "535.146.02";
+    sha256_64bit = "sha256-Sf0cyeRFyYspP3xm82vs/hLMwd6WDf/z8dyWujqcv3A=";
+    sha256_aarch64 = "sha256-8G0oNdaVWxIGwVaQSw/cojy4TIAuiUBF3B98BI4hEec=";
+    openSha256 = "sha256-Oyllcy3uYYK912CIusMwjKKHtMgoyOxpZWQQ8hIycuk=";
+    settingsSha256 = "sha256-IrN2NaPrZSN0sCZqYNJ43iCicX3ziwUgyLLSRzp9sHQ=";
+    persistencedSha256 = "sha256-trIddaTgKXszEJunK+t6D+e3HbLDTfAsitdEYRgwRNQ=";
   };
 
   latest = selectHighestVersion production (generic {
@@ -59,14 +59,14 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.16";
+    version = "535.43.19";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-c93CJSMPlGZgk+jhp9zTHCKSZ0LdnJu+ifLo+qMvIIk=";
-    openSha256 = "sha256-509KaBavGIOOpzdrdJuAR1PYq91Clwo8n+nhruxO1wM=";
+    sha256_64bit = "sha256-zxyZnXpNQuYJ17NDm3s8P/7GzQ4xD4Q4oCZA0ei+Wqs=";
+    openSha256 = "sha256-K14Av5fCda1J9o5pkQBhmwW34d2hgqrF3J99FWPsNjM=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
-    url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
+    url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
   };
 
   # data center driver compatible with current default cudaPackages
diff --git a/pkgs/os-specific/linux/pam_mysql/default.nix b/pkgs/os-specific/linux/pam_mysql/default.nix
index 036d4b20cb4c5..1088d8abe7a63 100644
--- a/pkgs/os-specific/linux/pam_mysql/default.nix
+++ b/pkgs/os-specific/linux/pam_mysql/default.nix
@@ -1,4 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pam, pkg-config, libmysqlclient, mariadb, libxcrypt }:
+{ lib
+, nixosTests
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pam
+, pkg-config
+, libmysqlclient
+, mariadb
+, libxcrypt
+}:
 
 stdenv.mkDerivation rec {
   pname = "pam_mysql";
@@ -14,6 +25,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson pkg-config ninja ];
   buildInputs = [ pam libmysqlclient mariadb libxcrypt ];
 
+  passthru.tests = {
+    inherit (nixosTests) auth-mysql;
+  };
+
   meta = with lib; {
     description = "PAM authentication module against a MySQL database";
     homepage = "https://github.com/NigelCunningham/pam-MySQL";
diff --git a/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch b/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
deleted file mode 100644
index 328a4a1026189..0000000000000
--- a/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
+++ /dev/null
@@ -1,295 +0,0 @@
---- a/options.c
-+++ b/options.c
-@@ -34,6 +34,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- a/safe_finger.c
-+++ b/safe_finger.c
-@@ -20,6 +20,11 @@
- 
- /* System libraries */
- 
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <stdlib.h>
-+#include <sys/wait.h>
-+#include <grp.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <signal.h>
-@@ -27,7 +31,7 @@
- #include <ctype.h>
- #include <pwd.h>
- 
--extern void exit();
-+int pipe_stdin(char **argv);
- 
- /* Local stuff */
- 
---- a/scaffold.c
-+++ b/scaffold.c
-@@ -10,6 +10,7 @@
- 
- /* System libraries. */
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/socket.h>
-@@ -27,7 +27,4 @@
- #endif
- 
--#ifndef INET6
--extern char *malloc();
--#endif
- 
- /* Application-specific. */
---- a/shell_cmd.c
-+++ b/shell_cmd.c
-@@ -14,6 +14,10 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <fcntl.h>
-+#include <sys/wait.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <signal.h>
-@@ -25,8 +25,6 @@
- #include <syslog.h>
- #include <string.h>
- 
--extern void exit();
--
- /* Local stuff. */
- 
- #include "tcpd.h"
---- a/tcpdchk.c
-+++ b/tcpdchk.c
-@@ -20,6 +20,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #ifdef INET6
-@@ -35,10 +36,7 @@
- #include <netdb.h>
- #include <string.h>
- 
--extern int errno;
--extern void exit();
--extern int optind;
--extern char *optarg;
-+int cidr_mask_addr(char *str);
- 
- #ifndef INADDR_NONE
- #define INADDR_NONE     (-1)		/* XXX should be 0xffffffff */
---- a/clean_exit.c
-+++ b/clean_exit.c
-@@ -13,8 +13,8 @@
- #endif
- 
- #include <stdio.h>
--
--extern void exit();
-+#include <unistd.h>
-+#include <stdlib.h>
- 
- #include "tcpd.h"
- 
---- a/hosts_access.c
-+++ b/hosts_access.c
-@@ -23,6 +23,7 @@
- 
- /* System libraries. */
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #ifdef INT32_T
-     typedef uint32_t u_int32_t;
-@@ -43,8 +44,8 @@
- #include <netdb.h>
- #endif
- 
--extern char *fgets();
--extern int errno;
-+static int match_pattern_ylo(const char *s, const char *pattern);
-+int cidr_mask_addr(char *str);
- 
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
---- a/inetcf.c
-+++ b/inetcf.c
-@@ -9,15 +9,14 @@
- static char sccsid[] = "@(#) inetcf.c 1.7 97/02/12 02:13:23";
- #endif
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <stdio.h>
- #include <errno.h>
- #include <string.h>
- 
--extern int errno;
--extern void exit();
--
-+#include "scaffold.h"
- #include "tcpd.h"
- #include "inetcf.h"
- 
---- a/percent_x.c
-+++ b/percent_x.c
-@@ -16,12 +16,12 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <string.h>
- 
--extern void exit();
--
- /* Local stuff. */
- 
- #include "tcpd.h"
---- a/rfc931.c
-+++ b/rfc931.c
-@@ -15,6 +15,7 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <sys/types.h>
---- a/tcpd.c
-+++ b/tcpd.c
-@@ -16,6 +16,7 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/stat.h>
-@@ -39,6 +39,8 @@
- #include "patchlevel.h"
- #include "tcpd.h"
- 
-+void fix_options(struct request_info *request);
-+
- int     allow_severity = SEVERITY;	/* run-time adjustable */
- int     deny_severity = LOG_WARNING;	/* ditto */
- 
---- a/tcpdmatch.c
-+++ b/tcpdmatch.c
-@@ -19,6 +19,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/socket.h>
-@@ -30,9 +32,6 @@
- #include <setjmp.h>
- #include <string.h>
- 
--extern void exit();
--extern int optind;
--extern char *optarg;
- 
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
---- a/update.c
-+++ b/update.c
-@@ -19,6 +19,7 @@
- 
- /* System libraries */
- 
-+#include <unistd.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <string.h>
---- a/misc.c
-+++ b/misc.c
-@@ -14,11 +14,10 @@
- #include <arpa/inet.h>
- #include <stdio.h>
- #include <string.h>
-+#include <stdlib.h>
- 
- #include "tcpd.h"
- 
--extern char *fgets();
--
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
- #endif
---- a/fix_options.c
-+++ b/fix_options.c
-@@ -32,6 +32,7 @@
- 
- /* fix_options - get rid of IP-level socket options */
- 
-+void
- fix_options(request)
- struct request_info *request;
- {
-@@ -38,11 +38,8 @@
- #ifdef IP_OPTIONS
-     unsigned char optbuf[BUFFER_SIZE / 3], *cp;
-     char    lbuf[BUFFER_SIZE], *lp;
--#ifdef __GLIBC__
--    size_t  optsize = sizeof(optbuf), ipproto;
--#else
--    int     optsize = sizeof(optbuf), ipproto;
--#endif
-+    socklen_t optsize = sizeof(optbuf);
-+    int ipproto;
-     struct protoent *ip;
-     int     fd = request->fd;
-     unsigned int opt;
---- a/socket.c
-+++ b/socket.c
-@@ -95,11 +95,7 @@
-     static struct sockaddr_in client;
-     static struct sockaddr_in server;
- #endif
--#ifdef __GLIBC__
--    size_t  len;
--#else
--    int     len;
--#endif
-+    socklen_t len;
-     char    buf[BUFSIZ];
-     int     fd = request->fd;
- 
-@@ -430,11 +426,7 @@
- #else
-     struct sockaddr_in sin;
- #endif
--#ifdef __GLIBC__
--    size_t  size = sizeof(sin);
--#else
--    int     size = sizeof(sin);
--#endif
-+    socklen_t size;
- 
-     /*
-      * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/pkgs/os-specific/linux/zsa-udev-rules/default.nix b/pkgs/os-specific/linux/zsa-udev-rules/default.nix
index c015da7456a0b..66485ab51dd82 100644
--- a/pkgs/os-specific/linux/zsa-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/zsa-udev-rules/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsa-udev-rules";
-  version = "unstable-2022-10-26";
+  version = "unstable-2023-11-30";
 
   src = fetchFromGitHub {
     owner = "zsa";
     repo = "wally";
-    rev = "623a50d0e0b90486e42ad8ad42b0a7313f7a37b3";
-    hash = "sha256-meR2V7T4hrJFXFPLENHoAgmOILxxynDBk0BLqzsAZvQ=";
+    rev = "a6648f6b543b703e3902faf5c08e997e0d58c909";
+    hash = "sha256-j9n3VoX+UngX12DF28rtNh+oy80Th1BINPQqk053lvE=";
   };
 
   # Only copies udevs rules
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index a8bd3ba5a7a1b..b45cf273dfd6b 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -38,12 +38,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-  version = "3.12.7";
+  version = "3.12.8";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-EX7+f6R1dfU2hYt2ftEjpevmaUtAJ1wHcr+X30z5Bb8=";
+    hash = "sha256-ggqTlKGeMr5jq64KkLIIHDmaR/otfE1nSSRjQICiR+Q=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
diff --git a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch b/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch
deleted file mode 100644
index 4e6f56a7cf121..0000000000000
--- a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From eca202d2893c9f2f91628ad6244b52cf7880bfcf Mon Sep 17 00:00:00 2001
-From: Graham Bennett <graham@grahambennett.org>
-Date: Mon, 21 Nov 2022 15:39:54 +0000
-Subject: [PATCH] Revert "fix yarn warning from d3-color (#27139)"
-
-This reverts commit b9e133e40c2848b0d555051a99bf8d2816fd28a7.
----
- airflow/www/package.json |  3 ---
- airflow/www/yarn.lock    | 13 +++++++++----
- 2 files changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/airflow/www/package.json b/airflow/www/package.json
-index f694089ee6..3d37ad4c46 100644
---- a/airflow/www/package.json
-+++ b/airflow/www/package.json
-@@ -120,8 +120,5 @@
-     "redoc": "^2.0.0-rc.72",
-     "type-fest": "^2.17.0",
-     "url-search-params-polyfill": "^8.1.0"
--  },
--  "resolutions": {
--    "d3-color": "^3.1.0"
-   }
- }
-diff --git a/airflow/www/yarn.lock b/airflow/www/yarn.lock
-index bafd63a368..dad0ebabab 100644
---- a/airflow/www/yarn.lock
-+++ b/airflow/www/yarn.lock
-@@ -4518,10 +4518,15 @@ d3-collection@1, d3-collection@^1.0.4:
-   resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
-   integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
- 
--d3-color@1, "d3-color@1 - 2", d3-color@^3.1.0:
--  version "3.1.0"
--  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
--  integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
-+d3-color@1:
-+  version "1.4.1"
-+  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a"
-+  integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==
-+
-+"d3-color@1 - 2":
-+  version "2.0.0"
-+  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e"
-+  integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==
- 
- d3-contour@1:
-   version "1.3.2"
--- 
-2.37.3
-
diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix
index 21904dc615a12..7e6d8f500a101 100644
--- a/pkgs/servers/bazarr/default.nix
+++ b/pkgs/servers/bazarr/default.nix
@@ -8,13 +8,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "1.3.1";
+  version = "1.4.0";
 
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
-    sha256 = "sha256-AhUMrvnZoo0XMfJ6F9Bi4mC0hk5T3EkQPX/s4tHWcic=";
+    sha256 = "sha256-sCP1I57FSXTf5iQlmUIQHMrSGNOxG/R2aahU3D8x5Ww=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index e372ffe9bad8f..658d477a483d5 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  doCheck = true;
+  # ERROR: All 188 tests were run, 90 failed unexpectedly.
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "Flexible dictionary server and client implementing RFC 2229";
diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix
index 6066fb718ef7d..2ebe8ad9d844f 100644
--- a/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/pkgs/servers/elasticmq-server-bin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "elasticmq-server";
-  version = "1.4.5";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${finalAttrs.pname}-${finalAttrs.version}.jar";
-    sha256 = "sha256-ep/Je83rUE2mcRqIBbgNH+7uFYf0EoHuRo7JOgT2aIs=";
+    sha256 = "sha256-YpMVmRzY9Ik7n43WXZy6xOoF5qM13F5LADn091WIuN4=";
   };
 
   # don't do anything?
diff --git a/pkgs/servers/etcd/3.4.nix b/pkgs/servers/etcd/3.4.nix
index 61b3f99d01471..597cad35021b8 100644
--- a/pkgs/servers/etcd/3.4.nix
+++ b/pkgs/servers/etcd/3.4.nix
@@ -2,25 +2,25 @@
 
 buildGoModule rec {
   pname = "etcd";
-  version = "3.4.27";
-
-  vendorHash = "sha256-duqOIMIXAuJjvKDM15mDdi+LZUZm0uK0MjTv2Dsl3FA=";
-
-  doCheck = false;
+  version = "3.4.28";
 
   src = fetchFromGitHub {
     owner = "etcd-io";
     repo = "etcd";
     rev = "v${version}";
-    sha256 = "sha256-iw9rWfloK1h0M0O10AqCFKETSN6Adn71ujn4twVgsnk=";
+    hash = "sha256-M0iD05Wk3pC56kGKeIb0bfMUpy9idMKin0+DYhBo/cw=";
   };
 
+  vendorHash = "sha256-DbDIz/cbXqYHaGqNqP+wYpuiaFiZYElRXmQwBXnCbMk=";
+
   buildPhase = ''
     patchShebangs .
     ./build
     ./functional/build
   '';
 
+  doCheck = false;
+
   installPhase = ''
     install -Dm755 bin/* bin/functional/cmd/* -t $out/bin
   '';
diff --git a/pkgs/servers/etcd/3.5.nix b/pkgs/servers/etcd/3.5.nix
index a7507f1dd2377..e5d9a677f950b 100644
--- a/pkgs/servers/etcd/3.5.nix
+++ b/pkgs/servers/etcd/3.5.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub, symlinkJoin, nixosTests }:
 
 let
-  version = "3.5.9";
+  version = "3.5.10";
 
   src = fetchFromGitHub {
     owner = "etcd-io";
     repo = "etcd";
     rev = "v${version}";
-    hash = "sha256-Vp8U49fp0FowIuSSvbrMWjAKG2oDO1o0qO4izSnTR3U=";
+    hash = "sha256-X/de8YA55SZ6p8r/pV8CGxfDKN8voJlyA0r4ckan6ZE=";
   };
 
   CGO_ENABLED = 0;
@@ -25,7 +25,7 @@ let
 
     inherit CGO_ENABLED meta src version;
 
-    vendorHash = "sha256-vu5VKHnDbvxSd8qpIFy0bA88IIXLaQ5S8dVUJEwnKJA=";
+    vendorHash = "sha256-kFR6RvHoNM4SZOgJd7inUuw5GfRLM+3WsKU73We8UzU=";
 
     modRoot = "./server";
 
@@ -45,7 +45,7 @@ let
 
     inherit CGO_ENABLED meta src version;
 
-    vendorHash = "sha256-i60rKCmbEXkdFOZk2dTbG5EtYKb5eCBSyMcsTtnvATs=";
+    vendorHash = "sha256-oVabZ2JZlLKHFCuAeeWRTrcSCxzz05HlvDu/YSMKuCs=";
 
     modRoot = "./etcdutl";
   };
@@ -55,7 +55,7 @@ let
 
     inherit CGO_ENABLED meta src version;
 
-    vendorHash = "sha256-awl/4kuOjspMVEwfANWK0oi3RId6ERsFkdluiRaaXlA=";
+    vendorHash = "sha256-0j35caQfLh7kwDKgmTe1novqKfz/3JlQLbUk3+GFPhk=";
 
     modRoot = "./etcdctl";
   };
diff --git a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
index bbe9535824e72..463a7579763d4 100644
--- a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
+++ b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
@@ -1,28 +1,31 @@
 #!/usr/bin/env python3
 
 import json
-import importlib_metadata
+import os
 import sys
 
+import importlib_metadata
 from packaging.requirements import Requirement
 
 
+def error(msg: str) -> None:
+    print(f"  - {msg}", file=sys.stderr)
+    return False
+
+
 def check_requirement(req: str):
     # https://packaging.pypa.io/en/stable/requirements.html
     requirement = Requirement(req)
     try:
         version = importlib_metadata.distribution(requirement.name).version
     except importlib_metadata.PackageNotFoundError:
-        print(f"  - Dependency {requirement.name} is missing", file=sys.stderr)
-        return False
+        return error(f"{requirement.name}{requirement.specifier} not present")
 
     # https://packaging.pypa.io/en/stable/specifiers.html
-    if not version in requirement.specifier:
-        print(
-            f"  - {requirement.name}{requirement.specifier} expected, but got {version}",
-            file=sys.stderr,
+    if version not in requirement.specifier:
+        return error(
+            f"{requirement.name}{requirement.specifier} expected, but got {version}"
         )
-        return False
 
     return True
 
@@ -30,13 +33,24 @@ def check_requirement(req: str):
 def check_manifest(manifest_file: str):
     with open(manifest_file) as fd:
         manifest = json.load(fd)
+
+    ok = True
+
+    derivation_domain = os.environ.get("domain")
+    manifest_domain = manifest["domain"]
+    if derivation_domain != manifest_domain:
+        ok = False
+        error(
+            f"Derivation attribute domain ({derivation_domain}) must match manifest domain ({manifest_domain})"
+        )
+
     if "requirements" in manifest:
-        ok = True
         for requirement in manifest["requirements"]:
             ok &= check_requirement(requirement)
-        if not ok:
-            print("Manifest requirements are not met", file=sys.stderr)
-            sys.exit(1)
+
+    if not ok:
+        error("Manifest check failed.")
+        sys.exit(1)
 
 
 if __name__ == "__main__":
diff --git a/pkgs/servers/home-assistant/build-custom-component/default.nix b/pkgs/servers/home-assistant/build-custom-component/default.nix
index 05b7c2d4b0392..2948d15bb8144 100644
--- a/pkgs/servers/home-assistant/build-custom-component/default.nix
+++ b/pkgs/servers/home-assistant/build-custom-component/default.nix
@@ -3,7 +3,8 @@
 , makeSetupHook
 }:
 
-{ pname
+{ owner
+, domain
 , version
 , format ? "other"
 , ...
@@ -17,13 +18,14 @@ let
 in
 home-assistant.python.pkgs.buildPythonPackage (
   {
+    pname = "${owner}/${domain}";
     inherit format;
 
     installPhase = ''
       runHook preInstall
 
       mkdir $out
-      cp -r $src/custom_components/ $out/
+      cp -r ./custom_components/ $out/
 
       runHook postInstall
     '';
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 0ed97c596724c..9519d190b808f 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -3540,7 +3540,8 @@
       renault-api
     ];
     "renson" = ps: with ps; [
-    ]; # missing inputs: renson-endura-delta
+      renson-endura-delta
+    ];
     "reolink" = ps: with ps; [
       aiohttp-cors
       reolink-aio
@@ -5568,6 +5569,7 @@
     "reddit"
     "remote"
     "renault"
+    "renson"
     "reolink"
     "repairs"
     "rest"
diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md
index a7244b25c173b..d7137e5c62f7f 100644
--- a/pkgs/servers/home-assistant/custom-components/README.md
+++ b/pkgs/servers/home-assistant/custom-components/README.md
@@ -25,7 +25,7 @@ versions into the Python environment.
 }:
 
 buildHomeAssistantComponent {
-  # pname, version
+  # owner, domain, version
 
   src = fetchFromGithub {
     # owner, repo, rev, hash
@@ -40,18 +40,34 @@ buildHomeAssistantComponent {
   }
 }
 
-## Package name normalization
+## Package attribute
 
-Apply the same normalization rules as defined for python packages in
-[PEP503](https://peps.python.org/pep-0503/#normalized-names).
-The name should be lowercased and dots, underlines or multiple
-dashes should all be replaced by a single dash.
+The attribute name must reflect the domain as seen in the
+`manifest.json`, which in turn will match the python module name below
+in the `custom_components/` directory.
+
+**Example:**
+
+The project [mweinelt/ha-prometheus-sensor](https://github.com/mweinelt/ha-prometheus-sensor/blob/1.0.0/custom_components/prometheus_sensor/manifest.json#L2)
+would receive the attribute name `"prometheus_sensor"`, because both
+domain in the `manifest.json` as well as the module name are
+`prometheus_sensor`.
+
+## Package name
+
+The `pname` attribute is a composition of both `owner` and `domain`.
+
+Don't set `pname`, set `owner and `domain` instead.
+
+Exposing the `domain` attribute separately allows checking for
+conflicting components at eval time.
 
 ## Manifest check
 
 The `buildHomeAssistantComponent` builder uses a hook to check whether
 the dependencies specified in the `manifest.json` are present and
-inside the specified version range.
+inside the specified version range. It also makes sure derivation
+and manifest agree about the domain name.
 
 There shouldn't be a need to disable this hook, but you can set
 `dontCheckManifest` to `true` in the derivation to achieve that.
diff --git a/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix
new file mode 100644
index 0000000000000..1d2ae2228a5b2
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildHomeAssistantComponent
+, ulid-transform
+}:
+
+buildHomeAssistantComponent rec {
+  owner = "basnijholt";
+  domain = "adaptive_lighting";
+  version = "1.19.1";
+
+  src = fetchFromGitHub {
+    owner = "basnijholt";
+    repo = "adaptive-lighting";
+    rev = "refs/tags/${version}";
+    hash = "sha256-AZsloE1vNQ9o2pg878J6I5qYXyI4fqYEvr18SrTocWo=";
+  };
+
+  propagatedBuildInputs = [
+    ulid-transform
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/basnijholt/adaptive-lighting/releases/tag/${version}";
+    description = "Home Assistant Adaptive Lighting Plugin - Sun Synchronized Lighting";
+    homepage = "https://github.com/basnijholt/adaptive-lighting";
+    maintainers = with maintainers; [ mindstorms6 ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix
index 4a96b305964ae..fe1c39487903f 100644
--- a/pkgs/servers/home-assistant/custom-components/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/default.nix
@@ -2,5 +2,11 @@
 }:
 
 {
-  prometheus-sensor = callPackage ./prometheus-sensor {};
+  adaptive_lighting = callPackage ./adaptive_lighting {};
+
+  govee-lan = callPackage ./govee-lan {};
+
+  miele = callPackage ./miele {};
+
+  prometheus_sensor = callPackage ./prometheus_sensor {};
 }
diff --git a/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix b/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix
new file mode 100644
index 0000000000000..60c58bb85850d
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildHomeAssistantComponent
+, fetchFromGitHub
+, govee-led-wez
+}:
+
+buildHomeAssistantComponent {
+  owner = "wez";
+  domain = "govee_lan";
+  version = "unstable-2023-06-10";
+
+  src = fetchFromGitHub {
+    owner = "wez";
+    repo = "govee-lan-hass";
+    rev = "18d8455510d158496f7e5d4f0286f58bd61042bb";
+    hash = "sha256-ZhrxEPBEi+Z+2ZOAQ1amhO0tqvhM6tyFQgoRIVNDtXY=";
+  };
+
+  dontBuild = true;
+
+  propagatedBuildInputs = [
+    govee-led-wez
+  ];
+
+  # enable when pytest-homeassistant-custom-component is packaged
+  doCheck = false;
+
+  # nativeCheckInputs = [
+  #   pytest-homeassistant-custom-component
+  #   pytestCheckHook
+  # ];
+
+  meta = with lib; {
+    description = "Control Govee lights via the LAN API from Home Assistant";
+    homepage = "https://github.com/wez/govee-lan-hass";
+    maintainers = with maintainers; [ SuperSandro2000 ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/miele/default.nix b/pkgs/servers/home-assistant/custom-components/miele/default.nix
new file mode 100644
index 0000000000000..71624f674b4d7
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/miele/default.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildHomeAssistantComponent,
+  flatdict,
+  pymiele,
+}:
+buildHomeAssistantComponent rec {
+  owner = "astrandb";
+  domain = "miele";
+  version = "0.1.19";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo = domain;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk=";
+  };
+
+  propagatedBuildInputs = [
+    flatdict
+    pymiele
+  ];
+
+  # Makefile only used for bumping the version
+  dontBuild = true;
+
+  meta = with lib; {
+    changelog = "https://github.com/astrandb/miele/releases/tag/v${version}";
+    description = "A modern integration for Miele devices in Home Assistant";
+    homepage = "https://github.com/astrandb/miele";
+    maintainers = with maintainers; [jamiemagee];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix
index 07bcd9abec1ca..2368d85552b25 100644
--- a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix
@@ -4,7 +4,8 @@
 }:
 
 buildHomeAssistantComponent rec {
-  pname = "prometheus-sensor";
+  owner = "mweinelt";
+  domain = "prometheus_sensor";
   version = "1.0.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
index 4bb1e63b5f7f1..38bfeed576d46 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
@@ -2,7 +2,11 @@
 }:
 
 {
+  light-entity-card = callPackage ./light-entity-card { };
+
   mini-graph-card = callPackage ./mini-graph-card {};
 
   mini-media-player = callPackage ./mini-media-player {};
+
+  zigbee2mqtt-networkmap = callPackage ./zigbee2mqtt-networkmap { };
 }
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
new file mode 100644
index 0000000000000..9c1e97b0f8ede
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "light-entity-card";
+  version = "6.1.0";
+
+  src = fetchFromGitHub {
+    owner = "ljmerza";
+    repo = "light-entity-card";
+    rev = "refs/tags/${version}";
+    hash = "sha256-CJpRvgPf7+v9m/8/O2R+nut3PnyDPC8OTipyE+Brp9U=";
+  };
+
+  npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0=";
+
+  env.NODE_OPTIONS = "--openssl-legacy-provider";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    cp -v dist/light-entity-card.js* $out/
+
+    runHook postInstall
+  '';
+
+  passthru.entrypoint = "light-entity-card.js";
+
+  meta = with lib; {
+    description = "Control any light or switch entity";
+    homepage = "https://github.com/ljmerza/light-entity-card";
+    changelog = "https://github.com/ljmerza/light-entity-card/releases/tag/${version}";
+    maintainers = with maintainers; [ SuperSandro2000 ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
index 6945b18bde20b..749b15398f4b0 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mini-media-player";
-  version = "1.16.5";
+  version = "1.16.6";
 
   src = fetchFromGitHub {
     owner = "kalkih";
     repo = "mini-media-player";
     rev = "v${version}";
-    hash = "sha256-ydkY7Qx2GMh4CpvvBAQubJ7PlxSscDZRJayn82bOczM=";
+    hash = "sha256-1cC9dyZ9+7dXSL/dmFD0HV7SgsBW2zA7a+eOKVwbzg8=";
   };
 
-  npmDepsHash = "sha256-v9NvZOrQPMOoG3LKACnu79jKgZtcnGiopWad+dFbplw=";
+  npmDepsHash = "sha256-/7roW1xkZmGuB/8nFaQz0Yeuai6yJ+cH7Uqa/zxfa5w=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix
new file mode 100644
index 0000000000000..ef412801bfe92
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, fetchFromGitHub
+, fetchYarnDeps
+, mkYarnPackage
+}:
+
+mkYarnPackage rec {
+  pname = "zigbee2mqtt-networkmap";
+  version = "unstable-2023-12-06";
+
+  src = fetchFromGitHub {
+    owner = "azuwis";
+    repo = "zigbee2mqtt-networkmap";
+    rev = "d5f1002118ba5881c6bdc27cb0f67642575c414f";
+    hash = "sha256-ITqzMjom2XN7+ICDH0Z5YJWY5GNUXzaqSuEzXekhw9I=";
+  };
+
+  packageJSON = ./package.json;
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-uPhD6UQ1KI7y6bqqQF7InT9eKU9VWGf2D60Lo5Mwcf8=";
+  };
+
+  configurePhase = ''
+    cp -r $node_modules node_modules
+    chmod +w node_modules
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn --offline build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    cp -v dist/zigbee2mqtt-networkmap.js $out/
+
+    runHook postInstall
+  '';
+
+  dontFixup = true;
+
+  doDist = false;
+
+  passthru.entrypoint = "zigbee2mqtt-networkmap.js";
+
+  meta = with lib; {
+    description = "Home Assistant Custom Card to show Zigbee2mqtt network map";
+    homepage = "https://github.com/azuwis/zigbee2mqtt-networkmap";
+    maintainers = with maintainers; [ azuwis ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json
new file mode 100644
index 0000000000000..b989bfde28e4c
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json
@@ -0,0 +1,25 @@
+{
+  "name": "zigbee2mqtt-networkmap",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "vue": "^3.3.4"
+  },
+  "devDependencies": {
+    "@material/mwc-button": "^0.27.0",
+    "@vue/cli-plugin-eslint": "^5.0.8",
+    "@vue/cli-service": "^5.0.8",
+    "@vue/eslint-config-standard": "^8.0.1",
+    "@babel/core": "^7.0.0",
+    "@babel/eslint-parser": "^7.0.0",
+    "eslint": "^8.42.0",
+    "eslint-plugin-vue": "^9.14.1",
+    "lodash.isequal": "^4.5.0",
+    "vue-d3-network": "^0.1.28"
+  }
+}
diff --git a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch b/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch
deleted file mode 100644
index 1d0d716290dd6..0000000000000
--- a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
-index 67083b2c6782..273cb5f5a42b 100644
---- a/libexec/httpd/bozohttpd.c
-+++ b/libexec/httpd/bozohttpd.c
-@@ -138,6 +138,7 @@
- #include <grp.h>
- #include <stdarg.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <strings.h>
- #include <string.h>
- #include <syslog.h>
diff --git a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch b/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch
deleted file mode 100644
index 9a01a4adce7fc..0000000000000
--- a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff --git a/libexec/httpd/auth-bozo.c b/libexec/httpd/auth-bozo.c
-index a2f2ee4304c1..c9eefe3313dd 100644
---- a/libexec/httpd/auth-bozo.c
-+++ b/libexec/httpd/auth-bozo.c
-@@ -54,7 +54,7 @@ bozo_auth_check(bozo_httpreq_t *request, const char *file)
- 	bozohttpd_t *httpd = request->hr_httpd;
- 	struct stat sb;
- 	char dir[MAXPATHLEN], authfile[MAXPATHLEN], *basename;
--	char user[BUFSIZ], *pass;
-+	char user[BOZO_MINBUFSIZE], *pass;
- 	FILE *fp;
- 	int len;
- 
-@@ -144,7 +144,7 @@ bozo_auth_check_headers(bozo_httpreq_t *request, char *val, char *str,
- 
- 	if (strcasecmp(val, "authorization") == 0 &&
- 	    strncasecmp(str, "Basic ", 6) == 0) {
--		char	authbuf[BUFSIZ];
-+		char	authbuf[BOZO_MINBUFSIZE];
- 		char	*pass = NULL;
- 		ssize_t	alen;
- 
-diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
-index 273cb5f5a42b..f619567ba822 100644
---- a/libexec/httpd/bozohttpd.c
-+++ b/libexec/httpd/bozohttpd.c
-@@ -2275,7 +2275,7 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
- 		}
- #endif /* !NO_USER_SUPPORT */
- 
--		size = snprintf(httpd->errorbuf, BUFSIZ,
-+		size = snprintf(httpd->errorbuf, BOZO_MINBUFSIZE,
- 		    "<html><head><title>%s</title></head>\n"
- 		    "<body><h1>%s</h1>\n"
- 		    "%s%s: <pre>%s</pre>\n"
-@@ -2285,10 +2285,10 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
- 		    user ? user : "", file,
- 		    reason, hostname, portbuf, hostname, portbuf);
- 		free(user);
--		if (size >= (int)BUFSIZ) {
-+		if (size >= (int)BOZO_MINBUFSIZE) {
- 			bozowarn(httpd,
- 				"bozo_http_error buffer too small, truncated");
--			size = (int)BUFSIZ;
-+			size = (int)BOZO_MINBUFSIZE;
- 		}
- 
- 		if (file_alloc)
-@@ -2515,7 +2515,7 @@ bozo_init_httpd(bozohttpd_t *httpd)
- 	httpd->mmapsz = BOZO_MMAPSZ;
- 
- 	/* error buffer for bozo_http_error() */
--	if ((httpd->errorbuf = malloc(BUFSIZ)) == NULL) {
-+	if ((httpd->errorbuf = malloc(BOZO_MINBUFSIZE)) == NULL) {
- 		fprintf(stderr,
- 			"bozohttpd: memory_allocation failure\n");
- 		return 0;
-diff --git a/libexec/httpd/bozohttpd.h b/libexec/httpd/bozohttpd.h
-index c83bd112d9d7..7b19494cf5ad 100644
---- a/libexec/httpd/bozohttpd.h
-+++ b/libexec/httpd/bozohttpd.h
-@@ -227,6 +227,8 @@ typedef struct bozoprefs_t {
- /* only allow this many total headers bytes */
- #define BOZO_HEADERS_MAX_SIZE (16 * 1024)
- 
-+#define BOZO_MINBUFSIZE (4 * 1024)
-+
- /* debug flags */
- #define DEBUG_NORMAL	1
- #define DEBUG_FAT	2
-diff --git a/libexec/httpd/testsuite/t10.out b/libexec/httpd/testsuite/t10.out
-index cf410110627c..b3ab88f94fb9 100644
---- a/libexec/httpd/testsuite/t10.out
-+++ b/libexec/httpd/testsuite/t10.out
-@@ -1,8 +1,8 @@
- HTTP/1.0 404 Not Found

- Content-Type: text/html

--Content-Length: 1024

--Server: bozohttpd/20140708

-+Content-Length: 4096

-+Server: bozohttpd/20210403

- 

- <html><head><title>404 Not Found</title></head>
- <body><h1>404 Not Found</h1>
--/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-\ No newline at end of file
-+/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-\ No newline at end of file
diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json
index 98c0b30faa986..24177680d770e 100644
--- a/pkgs/servers/invidious/versions.json
+++ b/pkgs/servers/invidious/versions.json
@@ -4,9 +4,9 @@
     "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
   },
   "invidious": {
-    "rev": "9ce9c543992243737516750bf08f5d073e899715",
-    "sha256": "sha256-yyNtMvHaN3hNxTafhQivN39NzEylrm+FG7S5DNkCtWU=",
-    "version": "unstable-2023-11-21"
+    "rev": "9e8baa35397671aabfc77f6b912c9f1829be52b6",
+    "sha256": "sha256-Mbdh/YMTOamYLZcQ8afKREMC/wTutVnkx8Q0ON8wovQ=",
+    "version": "unstable-2023-12-06"
   },
   "lsquic": {
     "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index f29a9b5f701e3..e35f552a347d2 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "1.6.4";
+  version = "1.8.3";
 
   src = fetchurl {
-    url = "https://github.com/gotson/${pname}/releases/download/v${version}/${pname}-${version}.jar";
-    sha256 = "sha256-tqrC3l2njYGRVIdvt86JVKTCVaAK7GPoYacx3hFRggg=";
+    url = "https://github.com/gotson/${pname}/releases/download/${version}/${pname}-${version}.jar";
+    sha256 = "sha256-kZzyDzFDVrzjScpvCFw5xXk3uCYW01sP7y28YDADVHc=";
   };
 
   nativeBuildInputs = [
@@ -27,12 +27,12 @@ stdenvNoCC.mkDerivation rec {
     komga = nixosTests.komga;
   };
 
-  meta = with lib; {
+  meta = {
     description = "Free and open source comics/mangas server";
     homepage = "https://komga.org/";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     platforms = jdk17_headless.meta.platforms;
-    maintainers = with maintainers; [ govanify ];
+    maintainers = with lib.maintainers; [ govanify ];
     mainProgram = "komga";
   };
 
diff --git a/pkgs/servers/krill/default.nix b/pkgs/servers/krill/default.nix
index 46619bc960fd3..bff404b244e94 100644
--- a/pkgs/servers/krill/default.nix
+++ b/pkgs/servers/krill/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krill";
-  version = "0.13.1";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UwvSwV1EHcEsF+IScdDiuuU56sXojEWGObzPKrLvlEQ=";
+    hash = "sha256-cAKH05iTLtHgujxfyiyU2e+Ns4en1loYUduh1X9OmuI=";
   };
 
-  cargoHash = "sha256-ts0yr1BY/StEmklUB29blR4K6RfHbH5WzIP2Zs2sVR4=";
+  cargoHash = "sha256-RcsAfdyCIBtcFdyPGbqRuY9NDygnBwz+0Jp2xgJLBFo=";
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkg-config ];
@@ -26,6 +26,9 @@ rustPlatform.buildRustPackage rec {
   # Needed to get openssl-sys to use pkgconfig.
   OPENSSL_NO_VENDOR = 1;
 
+  # disable failing tests on darwin
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "RPKI Certificate Authority and Publication Server written in Rust";
     longDescription = ''
diff --git a/pkgs/servers/mail/mailman/package.nix b/pkgs/servers/mail/mailman/package.nix
index 955c553d8a74e..f64c3f1a29c82 100644
--- a/pkgs/servers/mail/mailman/package.nix
+++ b/pkgs/servers/mail/mailman/package.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     requests
     sqlalchemy
     zope-component
-    zope_configuration
+    zope-configuration
   ];
 
   checkInputs = [
diff --git a/pkgs/servers/mail/mailpit/default.nix b/pkgs/servers/mail/mailpit/default.nix
index ba31137812aef..6bc42c1103810 100644
--- a/pkgs/servers/mail/mailpit/default.nix
+++ b/pkgs/servers/mail/mailpit/default.nix
@@ -12,13 +12,13 @@
 }:
 
 let
-  version = "1.10.1";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "axllent";
     repo = "mailpit";
     rev = "v${version}";
-    hash = "sha256-6nACvAhmFsZGWOqa3pwFqJLnh6Cueq2eYeg4Ns8gCmk=";
+    hash = "sha256-DEeE562E+G/Qfpqc1kr9bklG6109OZENpglWmHj0Tpo=";
   };
 
   # Separate derivation, because if we mix this in buildGoModule, the separate
@@ -30,7 +30,7 @@ let
 
     npmDeps = fetchNpmDeps {
       inherit src;
-      hash = "sha256-DlklRc9Mt4bMAOm/dZnvWPU74oGkc8RLof37Q/977Tk=";
+      hash = "sha256-FEwaWHf5Ic2t933xSacmc+T0RydZOPCK1yQxTRZ0u38=";
     };
 
     env = lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
@@ -56,7 +56,7 @@ buildGoModule {
   pname = "mailpit";
   inherit src version;
 
-  vendorHash = "sha256-COkJF6JX4NnlPtCeGjaTLYvAKgXEhh+AJC0R9V7J4CM=";
+  vendorHash = "sha256-oBkdC4Qx9vuz9rvNxk27TM6vkQokOcFQ4hEZCxlT8xo=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch b/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
deleted file mode 100644
index bac048892fe83..0000000000000
--- a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 60abf3ee8864980a95b32e2d6cf60e26b49654c0 Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 7 Jun 2017 22:15:39 +0200
-Subject: [PATCH 2/2] Adding --siteconfigpath to not be forced to use global /etc/spamasassin configuration directory but to provide an alternative location.
-
----
- sa-update.raw | 5 +++++
- lib/Mail/SpamAssassin/PerMsgStatus.pm | 2 +
- 2 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/sa-update.raw b/sa-update.raw
-index bb7396d..39f681f 100755
---- a/sa-update.raw
-+++ b/sa-update.raw
-@@ -196,6 +196,7 @@ GetOptions(
-   'gpgkeyfile=s'			=> \$opt{'gpgkeyfile'},
-   'channelfile=s'			=> \$opt{'channelfile'},
-   'updatedir=s'				=> \$opt{'updatedir'},
-+  'siteconfigpath=s'                           => \$opt{'siteconfigpath'},
-   'gpg!'				=> \$GPG_ENABLED,
- 
-   '4'                                   => sub { $opt{'force_pf'} = 'inet' },
-@@ -267,6 +268,9 @@ else {
-   $opt{'updatedir'} = $SA->sed_path('__local_state_dir__/__version__');
- }
- 
-+if (defined $opt{'siteconfigpath'}) {
-+  $LOCAL_RULES_DIR = untaint_file_path($opt{'siteconfigpath'});
-+}
- 
- # check only disabled gpg
- # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5854
-@@ -1808,7 +1812,7 @@ Options:
-   --updatedir path        Directory to place updates, defaults to the
-                           SpamAssassin site rules directory
-                           (default: @@LOCAL_STATE_DIR@@/@@VERSION@@)
-+  --siteconfigpath=path   Path for site configs
-   --refreshmirrors        Force the MIRRORED.BY file to be updated
-   -D, --debug [area=n,...]  Print debugging messages
-   -v, --verbose           Be verbose, like print updated channel names;
--- 
-
-2.12.2
-
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index 384302458470c..ba743e6e37c76 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -321,6 +321,16 @@
     };
     version = "0.1.1";
   };
+  bcp47_spec = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "043qld01c163yc7fxlar3046dac2833rlcg44jbbs9n1jvgjxmiz";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
   bcrypt = {
     groups = ["default" "pam_authentication"];
     platforms = [];
@@ -1395,10 +1405,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rvsalsrs8njk2gqxgq0ydg5cd02jqdawskbq2ccz663qxz8wwq5";
+      sha256 = "0illsmkly0hhi24lm1l6jjjdr6jykvydkwi1cxf4ad3mra68m16l";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "1.0.0";
   };
   json-jwt = {
     dependencies = ["activesupport" "aes_key_wrap" "bindata" "httpclient"];
@@ -1417,10 +1427,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z3kqacjmqs02vwwqm9di7sw7f7nchxx99v84myrrzmh64c6zfcq";
+      sha256 = "1carfj87p6cpd0xnysg5sj653rqmmwnnacsmjk42xdy40j15gp88";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.3.1";
   };
   json-ld-preloaded = {
     dependencies = ["json-ld" "rdf"];
@@ -2341,15 +2351,15 @@
     version = "13.0.6";
   };
   rdf = {
-    dependencies = ["link_header"];
+    dependencies = ["bcp47_spec" "link_header"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jx4xyip4inrhr099zac8ah5232g70rv39mm19p85sgpwg80a6ip";
+      sha256 = "0l515w395kbyz4n7lx102x1nv9yl6l72gvk67p35z4cqa74s59nx";
       type = "gem";
     };
-    version = "3.2.11";
+    version = "3.3.1";
   };
   rdf-normalize = {
     dependencies = ["rdf"];
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 4f39e350a0f03..989bcaa6b3c68 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.1";
+  version = "4.2.3";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-SM9WdD+xpxo+gfBft9DARV6QjwNbF2Y9McVrrdDT3fw=";
+      hash = "sha256-e8O4kxsrHf+wEtl4S57xIL1VEvhUSjyCbmz4r9p8Zhw=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/pkgs/servers/matrix-synapse/sliding-sync/default.nix b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
index aca863ed2da99..28a788c9c3283 100644
--- a/pkgs/servers/matrix-synapse/sliding-sync/default.nix
+++ b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "matrix-sliding-sync";
-  version = "0.99.12";
+  version = "0.99.13";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "sliding-sync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7M+Ti1SfurRngXg2oCdLveG6QyjM2BjKnoovJxz7ZOY=";
+    hash = "sha256-jrsMPFUSdtUs6qG902+oRBGUvFGmhR8/NHCUwB9oVnE=";
   };
 
-  vendorHash = "sha256-li5kEF7U7KyyMLMhVBqvnLuLXI6QrJl1KeusKrQXo8w=";
+  vendorHash = "sha256-THjvc0TepIBFOTte7t63Dmadf3HMuZ9m0YzQMI5e5Pw=";
 
   subPackages = [ "cmd/syncv3" ];
 
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index b82475fa07ae7..4bb3cabf206c8 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -9,11 +9,11 @@ let
   python = python3.override {
     packageOverrides = self: super: {
       tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
-        version = "1.30.0a2";
+        version = "1.33.0a1";
         pname = "tulir-telethon";
         src = fetchPypi {
           inherit pname version;
-          hash = "sha256-PkdxOdl1HM9SEC/CMOetahDzVJDg+zPP7s9NCsVdQsA=";
+          hash = "sha256-at/MiVXAKFhMH1N1m+K9HmYvxvzYa7xKhIlpDs7Kk3U=";
         };
         doCheck = false;
       });
@@ -22,14 +22,14 @@ let
 in
 python.pkgs.buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.14.2";
+  version = "0.15.0";
   disabled = python.pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "telegram";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8wLLm2L6R4sfIHyqGvwFESTqS7FZhpkExqaQsdFRMa0=";
+    hash = "sha256-2XPZkBAe15Rf1tv4KGhwRhoRf1wv+moADWDMNmkERtk=";
   };
 
   format = "setuptools";
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index bc61b99f0453f..38f20a1d68abd 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -21,16 +21,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2023-09-20T22-49-55Z";
+  version = "2023-11-01T18-37-25Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-JX+bxFAxTmOjpY6HAVVhdZftFx9HlniX+3zKY7Qui9w=";
+    sha256 = "sha256-3YCXIn/xBhkKrmM41JBBfzc6re1nAFHO9GCwTE6AddY=";
   };
 
-  vendorHash = "sha256-fcaMYm7Tw5zqtHhPzmUS/5E7AYI8P2fuxT2sDQwNttc=";
+  vendorHash = "sha256-UZqICN3vPJRgO7fKzVTlP/sFx4cWUnEN9BpSp1bFgL0=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/mir/default.nix b/pkgs/servers/mir/default.nix
index 078125016bf0e..ed28e3be41818 100644
--- a/pkgs/servers/mir/default.nix
+++ b/pkgs/servers/mir/default.nix
@@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
     pkg-config
     (python3.withPackages (ps: with ps; [
       pillow
-    ] ++ lib.optionals finalAttrs.doCheck [
+    ] ++ lib.optionals finalAttrs.finalPackage.doCheck [
       pygobject3
       python-dbusmock
     ]))
@@ -141,7 +141,7 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DBUILD_DOXYGEN=OFF"
     "-DMIR_PLATFORM='gbm-kms;x11;eglstream-kms;wayland'"
-    "-DMIR_ENABLE_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DMIR_ENABLE_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
     # BadBufferTest.test_truncated_shm_file *doesn't* throw an error as the test expected, mark as such
     # https://github.com/MirServer/mir/pull/1947#issuecomment-811810872
     "-DMIR_SIGBUS_HANDLER_ENVIRONMENT_BROKEN=ON"
diff --git a/pkgs/servers/misc/virtiofsd/default.nix b/pkgs/servers/misc/virtiofsd/default.nix
index 8a1a1aca85a9d..db725261dbc3d 100644
--- a/pkgs/servers/misc/virtiofsd/default.nix
+++ b/pkgs/servers/misc/virtiofsd/default.nix
@@ -25,6 +25,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://gitlab.com/virtio-fs/virtiofsd";
     description = "vhost-user virtio-fs device backend written in Rust";
     maintainers = with maintainers; [ qyliss astro ];
+    mainProgram = "virtiofsd";
     platforms = platforms.linux;
     license = with licenses; [ asl20 /* and */ bsd3 ];
   };
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 18af89b946b00..96487015df8c6 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.38.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "agent";
     rev = "v${version}";
-    hash = "sha256-lXjtKZJNkYffizNiX+rrRVu94mr+WXnsKKpEaLdd2Rs=";
+    hash = "sha256-caqJE92yEzqU/UQS7Cgxe+4+wGqBqPshhhPAyPP2WPQ=";
   };
 
-  vendorHash = "sha256-+6ReDdjCHED8kYVt7WSUFT+Gsmg+AIyS3oIfj2kTCGo=";
+  vendorHash = "sha256-aN/vIBbezieMhWG/czwXxx+/M40mDySZmM8pxVVs3Vs=";
   proxyVendor = true; # darwin/linux hash mismatch
 
   frontendYarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index c4c9c75903a2c..2cc7042068d49 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,27 +2,36 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "10.2.0";
+  version = "10.2.2";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" "modowners" ];
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    hash = "sha256-PNKvu7DfVHzBaRGM/Zej0oI5pbi6gPta+ZzVEXXmTsI=";
+    rev = "v${version}";
+    hash = "sha256-MlrGBa/ZQwfETr5vt7CyJxtvZC021aeWsgKtfuc8wAc=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    hash = "sha256-KE026VWxlJYzRqTqry4h8vm1NIXB7sJUucz+W/s1eoE=";
+    hash = "sha256-Mt0si5TxkXGQp5vmVD37fl3WKXuuIcJNtiTcEYCroZ8=";
   };
 
-  vendorHash = "sha256-Mybo7ZVP7fwmBwloC3jHJnqPmhbj1DQSwz8T2onkL3Y=";
+  vendorHash = "sha256-z2eDbnezG9TWrqLPxAXHBgdtXvaEf8ccUQUe9MnhjtQ=";
 
   nativeBuildInputs = [ wire ];
 
-  preBuild = ''
+  preBuild = let
+    skipTest = lineOffset: testCase: file:
+      let
+        jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]);
+      in ''
+        sed -i -e '/${testCase}/{
+        ${jumpAndAppend} t.Skip();
+        }' ${file}
+      '';
+  in ''
     # Generate DI code that's required to compile the package.
     # From https://github.com/grafana/grafana/blob/v8.2.3/Makefile#L33-L35
     wire gen -tags oss ./pkg/server
@@ -42,12 +51,14 @@ buildGoModule rec {
     # [...]
     # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get latest.json repo from github.com" logger=update.checker error="Get \"https://raw.githubusercontent.com/grafana/grafana/main/latest.json\": dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp [::1]:36391->[::1]:53: read: connection refused"
     # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get plugins repo from grafana.com" logger=plugin.manager error="Get \"https://grafana.com/api/plugins/versioncheck?slugIn=&grafanaVersion=\": dial tcp: lookup grafana.com on [::1]:53: read udp [::1]:41796->[::1]:53: read: connection refused"
-    sed -i -e '/Request is not forbidden if from an admin/a t.Skip();' pkg/tests/api/plugins/api_plugins_test.go
+    ${skipTest 1 "Request is not forbidden if from an admin" "pkg/tests/api/plugins/api_plugins_test.go"}
 
     # Skip a flaky test (https://github.com/NixOS/nixpkgs/pull/126928#issuecomment-861424128)
-    sed -i -e '/it should change folder successfully and return correct result/{N;s/$/\nt.Skip();/}'\
-      pkg/services/libraryelements/libraryelements_patch_test.go
+    ${skipTest 2 "it should change folder successfully and return correct result" "pkg/services/libraryelements/libraryelements_patch_test.go"}
 
+    # Skip flaky tests (https://logs.ofborg.org/?key=nixos/nixpkgs.263185&attempt_id=5b056a17-67a7-4b74-9dc7-888eb1d6c2dd)
+    ${skipTest 1 "TestIntegrationRulerAccess" "pkg/tests/api/alerting/api_alertmanager_test.go"}
+    ${skipTest 1 "TestIntegrationRulePause" "pkg/tests/api/alerting/api_ruler_test.go"}
 
     # main module (github.com/grafana/grafana) does not contain package github.com/grafana/grafana/scripts/go
     rm -r scripts/go
diff --git a/pkgs/servers/monitoring/plugins/default.nix b/pkgs/servers/monitoring/plugins/default.nix
index 2f6122caa69e8..6f3d8c5ffd897 100644
--- a/pkgs/servers/monitoring/plugins/default.nix
+++ b/pkgs/servers/monitoring/plugins/default.nix
@@ -34,7 +34,6 @@ let
     lm_sensors
     net-snmp
     procps
-    unixtools.ping
   ];
 
   mailq = runCommand "mailq-wrapper" { preferLocalBuild = true; } ''
@@ -76,8 +75,8 @@ stdenv.mkDerivation rec {
       -e 's|^DEFAULT_PATH=.*|DEFAULT_PATH=\"${binPath}\"|'
 
     configureFlagsArray+=(
-      --with-ping-command='ping -4 -n -U -w %d -c %d %s'
-      --with-ping6-command='ping -6 -n -U -w %d -c %d %s'
+      --with-ping-command='${lib.getBin unixtools.ping}/bin/ping -4 -n -U -w %d -c %d %s'
+      --with-ping6-command='${lib.getBin unixtools.ping}/bin/ping -6 -n -U -w %d -c %d %s'
     )
 
     install -Dm555 ${share} $out/share
diff --git a/pkgs/servers/monitoring/prometheus/atlas-exporter.nix b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix
new file mode 100644
index 0000000000000..ce40a93e66f84
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "atlas-exporter";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "czerwonk";
+    repo = "atlas_exporter";
+    rev = version;
+    sha256 = "sha256-vhUhWO7fQpUHT5nyxbT8AylgUqDNZRSb+EGRNGZJ14E=";
+  };
+
+  vendorHash = "sha256-tR+OHxj/97AixuAp0Kx9xQsKPAxpvF6hDha5BgMBha0=";
+
+  meta = with lib; {
+    description = "Prometheus exporter for RIPE Atlas measurement results ";
+    homepage = "https://github.com/czerwonk/atlas_exporter";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ clerie ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch b/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch
deleted file mode 100644
index 28616251f37ef..0000000000000
--- a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e81b06df67b1d42ef915615fafa0b56ef956673b Mon Sep 17 00:00:00 2001
-From: Andreas Fuchs <asf@boinkor.net>
-Date: Thu, 11 Feb 2021 17:30:44 -0500
-Subject: [PATCH] Return the cached value if it's not time to scan again yet
-
-This should ensure that if we have a valid value cached (which ought
-to be every time after the first scan), we return it as metrics.
-
-This fixes the crashes that would happen if queries happened earlier
-than the re-scan interval allowed.
-
-Address review feedback: Shorten the time-to-scan logic
-
-We can express this in a single if statement, so it takes fewer lines
-to do the "should we check again" check.
----
- readjson.go | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-diff --git a/readjson.go b/readjson.go
-index da35448..c9996fd 100644
---- a/readjson.go
-+++ b/readjson.go
-@@ -78,14 +78,7 @@ func readData(device string) (gjson.Result, error) {
- 
- 	if _, err := os.Stat(device); err == nil {
- 		cacheValue, cacheOk := jsonCache[device]
--		timeToScan := false
--		if cacheOk {
--			timeToScan = time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration))
--		} else {
--			timeToScan = true
--		}
--
--		if timeToScan {
-+		if !cacheOk || time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) {
- 			json, ok := readSMARTctl(device)
- 			if ok {
- 				jsonCache[device] = JSONCache{JSON: json, LastCollect: time.Now()}
-@@ -93,7 +86,7 @@ func readData(device string) (gjson.Result, error) {
- 			}
- 			return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("smartctl returned bad data for device %s", device)
- 		}
--		return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Too early collect called for device %s", device)
-+		return cacheValue.JSON, nil
- 	}
- 	return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Device %s unavialable", device)
- }
--- 
-2.33.1
-
diff --git a/pkgs/servers/mxisd/0001-gradle.patch b/pkgs/servers/mxisd/0001-gradle.patch
deleted file mode 100644
index 8a9f5a81180bb..0000000000000
--- a/pkgs/servers/mxisd/0001-gradle.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/build.gradle	2019-05-16 21:09:08.373112953 +0200
-+++ b/build.gradle	2019-05-16 21:09:37.093114427 +0200
-@@ -72,7 +72,7 @@
- 
- buildscript {
-     repositories {
--        jcenter()
-+REPLACE
-     }
- 
-     dependencies {
-@@ -81,9 +81,7 @@
- }
- 
- repositories {
--    jcenter()
--    maven { url "https://kamax.io/maven/releases/" }
--    maven { url "https://kamax.io/maven/snapshots/" }
-+REPLACE
- }
- 
- dependencies {
diff --git a/pkgs/servers/nats-server/default.nix b/pkgs/servers/nats-server/default.nix
index b65d97a156f62..60073aef2a1dd 100644
--- a/pkgs/servers/nats-server/default.nix
+++ b/pkgs/servers/nats-server/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nats-server";
-  version = "2.10.4";
+  version = "2.10.7";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jcN/ycRj8DksBj/Qy0IhoVwQsKuMF+sBkaKM1rZYJPc=";
+    hash = "sha256-DZ0a4gptTjuSVBlhDEWKTmU6Dgt36xulfjVK1kJtXhI=";
   };
 
-  vendorHash = "sha256-5p23qIWN7+nL+NKbKpBqov7+isNXKmJQRzzojTqKIU4=";
+  vendorHash = "sha256-Q2wc4esu2H81ct9TUPs+ysT3LrW698+9JllbvdDa5Yc=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix
index ba678355033ee..c241ec987d6d5 100644
--- a/pkgs/servers/nosql/ferretdb/default.nix
+++ b/pkgs/servers/nosql/ferretdb/default.nix
@@ -6,13 +6,13 @@
 
 buildGo121Module rec {
   pname = "ferretdb";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    hash = "sha256-J9pY84jaVsi31XdoAh3+fNgFNS88Nxxcs+hRV+bPn/M=";
+    hash = "sha256-Oh8VHWsV7jD2HgG2IVDV2krTBSCz4dyCENej1m6xnM4=";
   };
 
   postPatch = ''
@@ -20,7 +20,7 @@ buildGo121Module rec {
     echo nixpkgs     > build/version/package.txt
   '';
 
-  vendorHash = "sha256-NDLxf8aobamtR5/xn7YPgWQid4NZvj7v249tP1VGXfs=";
+  vendorHash = "sha256-iDPZ3DG/aWOHz61gVd56KhB7/RvsWOS+gfzk6Rx5c4o=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/servers/nosql/immudb/default.nix b/pkgs/servers/nosql/immudb/default.nix
index 716f9f0a9f743..ff6e314984367 100644
--- a/pkgs/servers/nosql/immudb/default.nix
+++ b/pkgs/servers/nosql/immudb/default.nix
@@ -14,13 +14,13 @@ let
 in
 buildGoModule rec {
   pname = "immudb";
-  version = "1.5.0";
+  version = "1.9DOM.0";
 
   src = fetchFromGitHub {
     owner = "codenotary";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xvbks6dUiS14cntydAjSNTujxsSwYzmf+B4Zh4V/NwI=";
+    sha256 = "sha256-4N6E2dA7hF5sxHDLO5MMlKraXtwu7eHVB5WKs7J8ZmA=";
   };
 
   preBuild = ''
@@ -29,7 +29,7 @@ buildGoModule rec {
     go generate -tags webconsole ./webconsole
   '';
 
-  vendorHash = "sha256-7mMutYx2/jmTx+7h9S412fYCFXiJnTGz0qwDSO7BIzM=";
+  vendorHash = "sha256-Yvxra/B5Z8qfxh7zsFDj7H+G7SYRfdP7U8UZ9g2os6A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/servers/nosql/janusgraph/default.nix b/pkgs/servers/nosql/janusgraph/default.nix
index 36385fd46cca4..0c16f90db60da 100644
--- a/pkgs/servers/nosql/janusgraph/default.nix
+++ b/pkgs/servers/nosql/janusgraph/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "janusgraph";
-  version = "0.6.4";
+  version = "1.0.0";
 
   src = fetchzip {
     url = "https://github.com/JanusGraph/janusgraph/releases/download/v${version}/janusgraph-${version}.zip";
-    sha256 = "sha256-rfqZE7HYgudVjrz+Ij+ggltaBXvYbczgRwCqsNTojTg=";
+    sha256 = "sha256-X/ZHvmCJzo0X/sUpbm1CkQcnNi3NMNAaVXep6cpoIAA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/owncast/default.nix b/pkgs/servers/owncast/default.nix
index 2740e19dbff2f..a5ec0dc214dab 100644
--- a/pkgs/servers/owncast/default.nix
+++ b/pkgs/servers/owncast/default.nix
@@ -9,7 +9,7 @@
 }:
 
 let
-  version = "0.1.1";
+  version = "0.1.2";
 in buildGoModule {
   pname = "owncast";
   inherit version;
@@ -17,9 +17,9 @@ in buildGoModule {
     owner = "owncast";
     repo = "owncast";
     rev = "v${version}";
-    hash = "sha256-nBTuvVVnFlC75p8bRCN+lNl9fExBZrsLEesvXWwNlAQ=";
+    hash = "sha256-pPBY2PcXe3k9G6kjj/vF5VB6DEmiwKDUrK4VGR4xNzU=";
   };
-  vendorHash = "sha256-yjy5bDJjWk7UotBVqvVFiGx8mpfhpqMTxoQm/eWHcw4=";
+  vendorHash = "sha256-7HxiZh5X5AZVMiZT6B8DfOy6stJ3+dFEixwJYv5X0dY=";
 
   propagatedBuildInputs = [ ffmpeg ];
 
diff --git a/pkgs/servers/oxigraph/default.nix b/pkgs/servers/oxigraph/default.nix
index 35148cb0932a0..740c44680041f 100644
--- a/pkgs/servers/oxigraph/default.nix
+++ b/pkgs/servers/oxigraph/default.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxigraph";
-  version = "0.3.20";
+  version = "0.3.21";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gV7Yo14oGFzuO1b/JGXeuqn4k+9aNTwngEJHoD9+NMI=";
+    sha256 = "sha256-SjAsSWpjNK4XxbYEw6A8n+hchVyzJd0bx1rAqchmw4w=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-bXf7PZm2l1hwnFVbfEJWLyRaVY3cZFaDSe8b77JtyaU=";
+  cargoHash = "sha256-fDU7RF9TArSQFb6DP/Ltu9Fls2rzhXeBI/jVh5QuKUI=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index 9e43e30559dbe..a2fca49db2d3a 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -21,15 +21,15 @@ let
   }.${stdenv.hostPlatform.system} or unsupported;
 
   hash = {
-    aarch64-darwin = "sha256-5K18Vd0Ly/2YSmAvTbgiSQR8ifaz9wMs3vI0WFtB90g=";
-    aarch64-linux = "sha256-QI4+TVW/Zj1sI4yoxTGpzYNPufKnp68fLgDmajzD+6Y=";
-    x86_64-darwin = "sha256-qofWOMJIen8dI1wDFwNWeYuV9Ett3KvaTLfuK/v2USs=";
-    x86_64-linux = "sha256-qqAoXPdsjpn6Al5CLcvqfsZe9PRp8Swg1Wiy0w20hHs=";
+    aarch64-darwin = "sha256-l2HS1/HoKYf93qKxfMU80J3QOXjMRtX2A9hJm8E2Kh4=";
+    aarch64-linux = "sha256-ab5xavO2TVL1j9vqNv97bgAmQLZQJxnbam08DzdgDVE=";
+    x86_64-darwin = "sha256-nXas2i2eq7qdTFV0S+F5sPuqzSwE4qeJ+ms4fcJgZmQ=";
+    x86_64-linux = "sha256-HltmiQSJSwoW5+iEiXlJiCWwKRmuxDBcPbvOkJwLQXA=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.9.4.4039";
+  version = "1.10.5.4116";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/rmfakecloud/webui.nix b/pkgs/servers/rmfakecloud/webui.nix
index f870dc013b5a3..2555bf50801cc 100644
--- a/pkgs/servers/rmfakecloud/webui.nix
+++ b/pkgs/servers/rmfakecloud/webui.nix
@@ -1,4 +1,4 @@
-{ version, src, stdenv, lib, fetchFromGitHub, fetchYarnDeps, fixup_yarn_lock, yarn, nodejs }:
+{ version, src, stdenv, lib, fetchFromGitHub, fetchYarnDeps, prefetch-yarn-deps, yarn, nodejs }:
 
 stdenv.mkDerivation rec {
   inherit version src;
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-37P+acjaeG7TCyLoIHIHsB+DCUOsQOJ1H9T5SgajtLc=";
   };
 
-  nativeBuildInputs = [ fixup_yarn_lock yarn nodejs ];
+  nativeBuildInputs = [ prefetch-yarn-deps yarn nodejs ];
 
   buildPhase = ''
     export HOME=$(mktemp -d)
     cd ui
-    fixup_yarn_lock yarn.lock
+    fixup-yarn-lock yarn.lock
     yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
     yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
     patchShebangs node_modules
diff --git a/pkgs/servers/rustypaste/default.nix b/pkgs/servers/rustypaste/default.nix
index 0986abe374ca3..b28490b2ef581 100644
--- a/pkgs/servers/rustypaste/default.nix
+++ b/pkgs/servers/rustypaste/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustypaste";
-  version = "0.14.1";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9qP0/PGXRbQzSIsxUoGzbtc2KNg6SKrqGYcg/K6SuKo=";
+    sha256 = "sha256-3DH19lLOoNwokHmANKVbYgMBlp1HXxcSK2Cun8KV3b8=";
   };
 
-  cargoHash = "sha256-76s3cWAKS6aeIG1ctHU6uCMWHDKsMcf5HWhUWzEuAkI=";
+  cargoHash = "sha256-Ybqe3CMqZi127aXwRrdo2Of3n+pPGfnTqFPlM7Nr2rI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 37e98de2591bf..30cd068fb853c 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    python
+    python3Packages.python
     wafHook
     pkg-config
     bison
@@ -223,7 +223,7 @@ stdenv.mkDerivation rec {
   '';
 
   disallowedReferences =
-    lib.optionals (buildPackages.python3Packages.python != python)
+    lib.optionals (buildPackages.python3Packages.python != python3Packages.python)
       [ buildPackages.python3Packages.python ];
 
   passthru = {
diff --git a/pkgs/servers/search/opensearch/default.nix b/pkgs/servers/search/opensearch/default.nix
index 73eb1fd97fa78..3c09530d17905 100644
--- a/pkgs/servers/search/opensearch/default.nix
+++ b/pkgs/servers/search/opensearch/default.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "opensearch";
-  version = "2.11.0";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "https://artifacts.opensearch.org/releases/bundle/opensearch/${finalAttrs.version}/opensearch-${finalAttrs.version}-linux-x64.tar.gz";
-    hash = "sha256-j9bN09E4VikDPqvhRULfOjATme5KgVGrdv0rIPdd4Sw=";
+    hash = "sha256-km6z+Z9ZLnUY1dweJQrhHRu0XvdmqQIiqN8Ruy7jWpw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/spicedb/default.nix b/pkgs/servers/spicedb/default.nix
index 9095335d1b80d..6f87272f07f0c 100644
--- a/pkgs/servers/spicedb/default.nix
+++ b/pkgs/servers/spicedb/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "spicedb";
-  version = "1.25.0";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "authzed";
     repo = "spicedb";
     rev = "v${version}";
-    hash = "sha256-+/0raANdWXPnme/l82wzbhf+kYggBvs4iYswDUPFjlI=";
+    hash = "sha256-D68VuTCwa7RNHxNJEUIu6vP2VPHlnOlBM+vtnM30zDw=";
   };
 
-  vendorHash = "sha256-r0crxfE3XtsT4+5lWNY6R/bcuxq2WeongK9l7ABXQo8=";
+  vendorHash = "sha256-dniZH+x3BFEMtmjpMBurphpJ1YMZvm9+CCHIJV5Xy4w=";
 
   subPackages = [ "cmd/spicedb" ];
 
diff --git a/pkgs/servers/sql/pgpool/default.nix b/pkgs/servers/sql/pgpool/default.nix
index 6d825ddb66809..74fd51d452660 100644
--- a/pkgs/servers/sql/pgpool/default.nix
+++ b/pkgs/servers/sql/pgpool/default.nix
@@ -10,12 +10,12 @@
 
 stdenv.mkDerivation rec {
   pname = "pgpool-II";
-  version = "4.4.4";
+  version = "4.4.5";
 
   src = fetchurl {
     url = "https://www.pgpool.net/mediawiki/download.php?f=pgpool-II-${version}.tar.gz";
     name = "pgpool-II-${version}.tar.gz";
-    sha256 = "sha256-EL7Wb4GXx03LAKDnP2GAZtXV4K3IeIZcL8+hyUXmj08=";
+    hash = "sha256-zNSSLIaUmRECor72TdQ/M/U59qGFvULyGDIrqwo4imA=";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
index 2a0f3de88499e..827fc57af62bb 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
@@ -1,27 +1,48 @@
 { lib
 , fetchFromGitHub
-, buildPgxExtension
+, buildPgrxExtension
 , postgresql
 , nixosTests
-, cargo-pgx_0_7_1
+, cargo-pgrx
+, fetchCrate
 , nix-update-script
 , stdenv
 }:
 
-(buildPgxExtension.override {cargo-pgx = cargo-pgx_0_7_1;})rec {
+let
+
+  cargo-pgrx_0_10_2 = cargo-pgrx.overrideAttrs (old: rec {
+    name = "cargo-pgrx-${version}";
+    version = "0.10.2";
+
+    src = fetchCrate {
+      pname = "cargo-pgrx";
+      inherit version;
+      hash = "sha256-FqjfbJmSy5UCpPPPk4bkEyvQCnaH9zYtkI7txgIn+ls=";
+    };
+
+    cargoDeps = old.cargoDeps.overrideAttrs (_: {
+      inherit src;
+      outputHash = "sha256-itU000vyVGnDUUZx6qOLJqiPdyNHikW2KNFzBmJPqv0=";
+    });
+  });
+
+in
+
+(buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_10_2; }) rec {
   inherit postgresql;
 
   pname = "timescaledb_toolkit";
-  version = "1.16.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = "timescaledb-toolkit";
     rev = version;
-    sha256 = "sha256-aivGURTsm0dGaFq75qR3wIkXwsbvBiDEg+qLMcqKMj8=";
+    hash = "sha256-Lm/LFBkG91GeWlJL9RBqP8W0tlhBEeGQ6kXUzzv4xRE=";
   };
 
-  cargoSha256 = "sha256-AO5nSgQYvTmohXbzjWvDylnBgS2WpKP6wFOnkUx7ksI=";
+  cargoHash = "sha256-LME8oftHmmiN8GU3eTBTSB6m0CE+KtDFRssL1g2Cjm8=";
   buildAndTestSubdir = "extension";
 
   passthru = {
diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix
index b5b855a4b6983..1767b544f21ac 100644
--- a/pkgs/servers/sunshine/default.nix
+++ b/pkgs/servers/sunshine/default.nix
@@ -31,6 +31,7 @@
 , libepoxy
 , libva
 , libvdpau
+, libglvnd
 , numactl
 , amf-headers
 , intel-media-sdk
@@ -131,6 +132,7 @@ stdenv.mkDerivation rec {
     mesa
     xorg.libXrandr
     libxcb
+    libglvnd
   ];
 
   cmakeFlags = [
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index b4c2d24751727..60f82bf57e88d 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps, shadow, getent }:
 
 let
-  version = "1.54.0";
+  version = "1.54.1";
 in
 buildGoModule {
   pname = "tailscale";
@@ -11,7 +11,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-/l3csuj1AZQo7C0BzkhqvkMNEQxc6Ers0KtZvxWS96Q=";
+    hash = "sha256-dYYmqz1o3+FhdHmQ3KzUkAoSfEHNQhQt6neV3rFI+QE=";
   };
   vendorHash = "sha256-/kuu7DKPklMZOvYqJpsOp3TeDG9KDEET4U0G+sq+4qY=";
 
diff --git a/pkgs/servers/teleport/11/default.nix b/pkgs/servers/teleport/11/default.nix
deleted file mode 100644
index 3a935b630e721..0000000000000
--- a/pkgs/servers/teleport/11/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ callPackage, ... }@args:
-callPackage ../generic.nix ({
-  version = "11.3.27";
-  hash = "sha256-A3EeFQsDOaggfb5S+eyRCe/vm054MabfRrcHPxhO0So=";
-  vendorHash = "sha256-hjMv/H4dlinlv3ku7i1km2/b+6uCdbznHtVOMIjDlUc=";
-  yarnHash = "sha256-hip0WQVZpx2qfVDmEy4nk4UFYEjX1Xhj8HsIIQ8PF1Y=";
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "rdp-rs-0.1.0" = "sha256-GJfUyiYQwcDTMqt+iik3mFI0f6mu13RJ2XuoDzlg9sU=";
-    };
-  };
-  extPatches = [
-    # https://github.com/NixOS/nixpkgs/issues/120738
-    ../tsh.patch
-    # https://github.com/NixOS/nixpkgs/issues/132652
-    ../test.patch
-  ];
-} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/servers/tracing/honeycomb/refinery/default.nix b/pkgs/servers/tracing/honeycomb/refinery/default.nix
index a44be19b35aba..d1c7f9d909587 100644
--- a/pkgs/servers/tracing/honeycomb/refinery/default.nix
+++ b/pkgs/servers/tracing/honeycomb/refinery/default.nix
@@ -29,7 +29,7 @@ buildGoModule rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/honeycomb/refinery";
+    homepage = "https://github.com/honeycombio/refinery";
     description = "A tail-sampling proxy for OpenTelemetry";
     license = licenses.asl20;
     maintainers = with maintainers; [ lf- ];
diff --git a/pkgs/servers/unstructured-api/default.nix b/pkgs/servers/unstructured-api/default.nix
index 7fb028de5fc92..a2f32b9418b00 100644
--- a/pkgs/servers/unstructured-api/default.nix
+++ b/pkgs/servers/unstructured-api/default.nix
@@ -21,7 +21,7 @@ let
     safetensors
     uvicorn
   ] ++ packages.unstructured.optional-dependencies.local-inference);
-  version = "0.0.57";
+  version = "0.0.59";
   unstructured_api_nltk_data = symlinkJoin {
     name = "unstructured_api_nltk_data";
 
@@ -35,7 +35,7 @@ in stdenvNoCC.mkDerivation {
     owner = "Unstructured-IO";
     repo = "unstructured-api";
     rev = version;
-    hash = "sha256-FdRrGqF1cJImFVNs/tZo1457f9yhhpwxGGmpAdZUWso=";
+    hash = "sha256-AYccSOPY3tW6ho1SNSYYDhKJXKtE3sUaT4g1toOfHSw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 893404a6084f3..320eac3bc8ce6 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -279,6 +279,7 @@ let
       popd &>/dev/null
 
       redis-server >/dev/null &
+      REDIS_PID=$!
 
       initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null
       postgres -D $NIX_BUILD_TOP/postgres -k $NIX_BUILD_TOP >/dev/null &
@@ -304,6 +305,8 @@ let
 
       bundle exec rake db:migrate >/dev/null
       chmod -R +w tmp
+
+      kill $REDIS_PID
     '';
 
     buildPhase = ''
diff --git a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch b/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
deleted file mode 100644
index 30493b543e38c..0000000000000
--- a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/lib/discourse.rb b/lib/discourse.rb
-index ea2a3cbafd..66454d9157 100644
---- a/lib/discourse.rb
-+++ b/lib/discourse.rb
-@@ -62,7 +62,7 @@ module Discourse
-         fd.fsync()
-       end
- 
--      File.rename(temp_destination, destination)
-+      FileUtils.mv(temp_destination, destination)
- 
-       nil
-     end
-@@ -76,7 +76,7 @@ module Discourse
-       FileUtils.mkdir_p(File.join(Rails.root, 'tmp'))
-       temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex)
-       execute_command('ln', '-s', source, temp_destination)
--      File.rename(temp_destination, destination)
-+      FileUtils.mv(temp_destination, destination)
- 
-       nil
-     end
diff --git a/pkgs/servers/web-apps/netbox/config_3_3.patch b/pkgs/servers/web-apps/netbox/config_3_3.patch
deleted file mode 100644
index 1adc0b537a4ef..0000000000000
--- a/pkgs/servers/web-apps/netbox/config_3_3.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
-index d5a7bfaec..68754a8c5 100644
---- a/netbox/netbox/settings.py
-+++ b/netbox/netbox/settings.py
-@@ -222,6 +222,7 @@ TASKS_REDIS_PASSWORD = TASKS_REDIS.get('PASSWORD', '')
- TASKS_REDIS_DATABASE = TASKS_REDIS.get('DATABASE', 0)
- TASKS_REDIS_SSL = TASKS_REDIS.get('SSL', False)
- TASKS_REDIS_SKIP_TLS_VERIFY = TASKS_REDIS.get('INSECURE_SKIP_TLS_VERIFY', False)
-+TASKS_REDIS_URL = TASKS_REDIS.get('URL')
- 
- # Caching
- if 'caching' not in REDIS:
-@@ -236,11 +237,12 @@ CACHING_REDIS_SENTINELS = REDIS['caching'].get('SENTINELS', [])
- CACHING_REDIS_SENTINEL_SERVICE = REDIS['caching'].get('SENTINEL_SERVICE', 'default')
- CACHING_REDIS_PROTO = 'rediss' if REDIS['caching'].get('SSL', False) else 'redis'
- CACHING_REDIS_SKIP_TLS_VERIFY = REDIS['caching'].get('INSECURE_SKIP_TLS_VERIFY', False)
-+CACHING_REDIS_URL = REDIS['caching'].get('URL', f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}')
- 
- CACHES = {
-     'default': {
-         'BACKEND': 'django_redis.cache.RedisCache',
--        'LOCATION': f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}',
-+        'LOCATION': CACHING_REDIS_URL,
-         'OPTIONS': {
-             'CLIENT_CLASS': 'django_redis.client.DefaultClient',
-             'PASSWORD': CACHING_REDIS_PASSWORD,
-@@ -383,7 +385,7 @@ USE_X_FORWARDED_HOST = True
- X_FRAME_OPTIONS = 'SAMEORIGIN'
- 
- # Static files (CSS, JavaScript, Images)
--STATIC_ROOT = BASE_DIR + '/static'
-+STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/')
- STATIC_URL = f'/{BASE_PATH}static/'
- STATICFILES_DIRS = (
-     os.path.join(BASE_DIR, 'project-static', 'dist'),
-@@ -562,6 +564,14 @@ if TASKS_REDIS_USING_SENTINEL:
-             'socket_connect_timeout': TASKS_REDIS_SENTINEL_TIMEOUT
-         },
-     }
-+elif TASKS_REDIS_URL:
-+    RQ_PARAMS = {
-+        'URL': TASKS_REDIS_URL,
-+        'PASSWORD': TASKS_REDIS_PASSWORD,
-+        'SSL': TASKS_REDIS_SSL,
-+        'SSL_CERT_REQS': None if TASKS_REDIS_SKIP_TLS_VERIFY else 'required',
-+        'DEFAULT_TIMEOUT': RQ_DEFAULT_TIMEOUT,
-+    }
- else:
-     RQ_PARAMS = {
-         'HOST': TASKS_REDIS_HOST,
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
index ab648d7daa7b4..4c19eaf0a4d2e 100644
--- a/pkgs/servers/web-apps/netbox/default.nix
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -22,8 +22,8 @@ lib.fix (self: {
   };
 
   netbox_3_6 = callPackage generic {
-    version = "3.6.3";
-    hash = "sha256-8Xir2Gvwh2cllHu5qVAzumuH0lknMMtjd8BuFuuf9A0=";
+    version = "3.6.6";
+    hash = "sha256-viC4grOqpWvG2pqcSi+MJykpEXSQYqfpkKF9it9Tj1g=";
     extraPatches = [
       # Allow setting the STATIC_ROOT from within the configuration and setting a custom redis URL
       ./config.patch
diff --git a/pkgs/servers/web-apps/netbox/generic.nix b/pkgs/servers/web-apps/netbox/generic.nix
index afd02d7985351..ec544b1e87724 100644
--- a/pkgs/servers/web-apps/netbox/generic.nix
+++ b/pkgs/servers/web-apps/netbox/generic.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , python3
 , version
 , hash
@@ -94,6 +93,7 @@
       passthru = {
         # PYTHONPATH of all dependencies used by the package
         pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
+        gunicorn = python3.pkgs.gunicorn;
         inherit tests;
       };
 
diff --git a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch b/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch
deleted file mode 100644
index 1e97b7d85ce01..0000000000000
--- a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/netbox/netbox/graphql/scalars.py b/netbox/netbox/graphql/scalars.py
-index 7d14189dd..0a18e79d2 100644
---- a/netbox/netbox/graphql/scalars.py
-+++ b/netbox/netbox/graphql/scalars.py
-@@ -1,6 +1,6 @@
- from graphene import Scalar
- from graphql.language import ast
--from graphql.type.scalars import MAX_INT, MIN_INT
-+from graphql.type.scalars import GRAPHQL_MAX_INT, GRAPHQL_MIN_INT
- 
- 
- class BigInt(Scalar):
-@@ -10,7 +10,7 @@ class BigInt(Scalar):
-     @staticmethod
-     def to_float(value):
-         num = int(value)
--        if num > MAX_INT or num < MIN_INT:
-+        if num > GRAPHQL_MAX_INT or num < GRAPHQL_MIN_INT:
-             return float(num)
-         return num
- 
diff --git a/pkgs/servers/web-apps/nifi/default.nix b/pkgs/servers/web-apps/nifi/default.nix
index 46535e0b4b4b8..182b1fb22fd50 100644
--- a/pkgs/servers/web-apps/nifi/default.nix
+++ b/pkgs/servers/web-apps/nifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nifi";
-  version = "1.23.2";
+  version = "1.24.0";
 
   src = fetchzip {
     url = "mirror://apache/nifi/${version}/nifi-${version}-bin.zip";
-    hash = "sha256-NRX0lEE5/HsYnZXtLDlPUpgWMsg/2Z3cRUnJwKDGxfw=";
+    hash = "sha256-8S06E8RiH/EnfAa60eRzjmHmzMn+3UZbykJpvFFXEho=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index 77d85bc81ef4a..f4a9d05e8d94c 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -1,11 +1,11 @@
 { callPackage }: builtins.mapAttrs (_: callPackage ./generic.nix) rec {
-  wordpress = wordpress6_3;
+  wordpress = wordpress6_4;
   wordpress6_3 = {
     version = "6.3.2";
     hash = "sha256-Jo2/Vlm4Ml24ucPI6ZHs2mkbpY2rZB1dofmGXNPweA8=";
   };
   wordpress6_4 = {
-    version = "6.4.1";
-    hash = "sha256-NF3tvVNUYlKPvtvJZzM7djGflOUT4VUlm4AyHPFzfdw=";
+    version = "6.4.2";
+    hash = "sha256-m4KJELf5zs3gwAQPmAhoPe2rhopZFsYN6OzAv6Wzo6c=";
   };
 }
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 010112dff80bd..6b655c63cd867 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "zigbee2mqtt";
-  version = "1.33.2";
+  version = "1.34.0";
 
   src = fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    hash = "sha256-pRY4FOIJwsLSKYieN0D1esKdoUqx62NMFgiYXaXguJ0=";
+    hash = "sha256-2D9WylfpetnEZdY4STIrGEU6Gg1gET/zf5p7Ou/Wm5Q=";
   };
 
-  npmDepsHash = "sha256-9bOFM8Ie0334H2L94ypgkMrB6zyVJ9YTvNnKeBJjOUI=";
+  npmDepsHash = "sha256-MXTKZNERxryt7L42dHxKx7XfXByNQ67oU+4FKTd0u4U=";
 
   nativeBuildInputs = [
     python3
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 1fa5b9c6151ab..b756da0754ebc 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -135,7 +135,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     pname = "fish";
-    version = "3.6.1";
+    version = "3.6.4";
 
     src = fetchurl {
       # There are differences between the release tarball and the tarball GitHub
@@ -145,7 +145,7 @@ let
       # --version`), as well as the local documentation for all builtins (and
       # maybe other things).
       url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${pname}-${version}.tar.xz";
-      hash = "sha256-VUArtHymc52KuiXkF4CQW1zhvOCl4N0X3KkItbwLSbI=";
+      hash = "sha256-Dz9hDlgN4JL76ILIqnZiPs+Ruxb98FQyQebpDV1Lw5M=";
     };
 
     # Fix FHS paths in tests
@@ -156,6 +156,8 @@ let
       sed -i 's|L"/bin/echo"|L"${coreutils}/bin/echo"|' src/fish_tests.cpp
       sed -i 's|L"/bin/c"|L"${coreutils}/bin/c"|' src/fish_tests.cpp
       sed -i 's|L"/bin/ca"|L"${coreutils}/bin/ca"|' src/fish_tests.cpp
+      # disable flakey test
+      sed -i '/{TEST_GROUP("history_races"), history_tests_t::test_history_races},/d' src/fish_tests.cpp
 
       # tests/checks/cd.fish
       sed -i 's|/bin/pwd|${coreutils}/bin/pwd|' tests/checks/cd.fish
diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix
index 52c4725114fa1..a9557d70c36c0 100644
--- a/pkgs/shells/fish/plugins/fzf-fish.nix
+++ b/pkgs/shells/fish/plugins/fzf-fish.nix
@@ -5,13 +5,13 @@ let
 in
 buildFishPlugin rec {
   pname = "fzf.fish";
-  version = "10.1";
+  version = "10.2";
 
   src = fetchFromGitHub {
     owner = "PatrickF1";
     repo = "fzf.fish";
     rev = "v${version}";
-    hash = "sha256-ivXa1S/HrXFzESsV0d9zIwQiuCOYNpa1tUrvA/b15yY=";
+    hash = "sha256-1/MLKkUHe4c9YLDrH+cnL+pLiSOSERbIZSM4FTG3wF0=";
   };
 
   nativeCheckInputs = [ fzf fd unixtools.script procps ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index fe4c25396845e..0160fc29b3be7 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -7,11 +7,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    hash = "sha256-ll4YmmP9A9EpnIyd4Pv8Ot8lrK/grsWzqgn6am9PIRE=";
+    hash = "sha256-iCoEFudFqxjYZerhOe7u6bPzN5EUOpwSpWCbTzUmF8U=";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/zsh/agdsn-zsh-config/default.nix b/pkgs/shells/zsh/agdsn-zsh-config/default.nix
index 6efbb285f29f2..9ff6c464bbe2f 100644
--- a/pkgs/shells/zsh/agdsn-zsh-config/default.nix
+++ b/pkgs/shells/zsh/agdsn-zsh-config/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "agdsn-zsh-config";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "agdsn";
     repo = "agdsn-zsh-config";
     rev = "v${version}";
-    sha256 = "sha256-kbpiA+aI3mXQAanmTyZo2rJNOKX77FKjpVsQywyyq90=";
+    sha256 = "sha256-8POQPk/hsJBMJ/ZJe9XzVj7Rd7C2+QnpzgYbUR0s3Fc=";
   };
 
   dontBuild = true;
diff --git a/pkgs/shells/zsh/zsh-vi-mode/default.nix b/pkgs/shells/zsh/zsh-vi-mode/default.nix
index 372dedcf5d876..42472625f13e8 100644
--- a/pkgs/shells/zsh/zsh-vi-mode/default.nix
+++ b/pkgs/shells/zsh/zsh-vi-mode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-vi-mode";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "jeffreytse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QE6ZwwM2X0aPqNnbVrj0y7w9hmuRf0H1j8nXYwyoLo4=";
+    sha256 = "sha256-xbchXJTFWeABTwq6h4KWLh+EvydDrDzcY9AQVK65RS8=";
   };
 
   strictDeps = true;
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     description = "A better and friendly vi(vim) mode plugin for ZSH.";
     maintainers = with maintainers; [ kyleondy ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/stdenv/darwin/fixed-xnu-python3.patch b/pkgs/stdenv/darwin/fixed-xnu-python3.patch
deleted file mode 100644
index 9f29376187f4c..0000000000000
--- a/pkgs/stdenv/darwin/fixed-xnu-python3.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/bsd/kern/makekdebugevents.py b/bsd/kern/makekdebugevents.py
-index 73b2db4..d354ba0 100755
---- a/bsd/kern/makekdebugevents.py
-+++ b/bsd/kern/makekdebugevents.py
-@@ -5,7 +5,7 @@
- # named kd_events[] or these mappings.
- # Required to generate a header file used by DEVELOPMENT and DEBUG kernels.
- #
-- 
-+
- import sys
- import re
- 
-@@ -21,18 +21,18 @@ code_table = []
- # scan file to generate internal table
- with open(trace_code_file, 'rt') as codes:
-     for line in codes:
--	m = id_name_pattern.match(line)
--	if m:
-+        m = id_name_pattern.match(line)
-+        if m:
-             code_table += [(int(m.group(1),base=16), m.group(2))]
- 
- # emit typedef:
--print "typedef struct {"
--print "        uint32_t   id;"
--print "        const char *name;"
--print "} kd_event_t;"
-+print("typedef struct {")
-+print("        uint32_t   id;")
-+print("        const char *name;")
-+print("} kd_event_t;")
- # emit structure declaration and sorted initialization:
--print "kd_event_t kd_events[] = {"
-+print("kd_event_t kd_events[] = {")
- for mapping in sorted(code_table, key=lambda x: x[0]):
--        print "        {0x%x, \"%s\"}," % mapping
--print "};"
-+        print("        {0x%x, \"%s\"}," % mapping)
-+print("};")
- 
diff --git a/pkgs/test/cuda/cuda-library-samples/extension.nix b/pkgs/test/cuda/cuda-library-samples/extension.nix
index 4c721a9e9e1bc..62de715fd0b4f 100644
--- a/pkgs/test/cuda/cuda-library-samples/extension.nix
+++ b/pkgs/test/cuda/cuda-library-samples/extension.nix
@@ -1,3 +1,14 @@
-final: prev: {
-  cuda-library-samples = final.callPackage ./generic.nix { };
-}
+{hostPlatform, lib}:
+let
+  # Samples are built around the CUDA Toolkit, which is not available for
+  # aarch64. Check for both CUDA version and platform.
+  platformIsSupported = hostPlatform.isx86_64;
+
+  # Build our extension
+  extension =
+    final: _:
+    lib.attrsets.optionalAttrs platformIsSupported {
+      cuda-library-samples = final.callPackage ./generic.nix {};
+    };
+in
+extension
diff --git a/pkgs/test/cuda/cuda-library-samples/generic.nix b/pkgs/test/cuda/cuda-library-samples/generic.nix
index e9a481c94a7a4..d4182536654e1 100644
--- a/pkgs/test/cuda/cuda-library-samples/generic.nix
+++ b/pkgs/test/cuda/cuda-library-samples/generic.nix
@@ -1,7 +1,11 @@
-{ lib, backendStdenv, fetchFromGitHub
-, cmake, addOpenGLRunpath
-, cudatoolkit
-, cutensor
+{
+  lib,
+  backendStdenv,
+  fetchFromGitHub,
+  cmake,
+  addOpenGLRunpath,
+  cudatoolkit,
+  cutensor,
 }:
 
 let
@@ -14,8 +18,11 @@ let
   };
   commonAttrs = {
     version = lib.strings.substring 0 7 rev + "-" + lib.versions.majorMinor cudatoolkit.version;
-    nativeBuildInputs = [ cmake addOpenGLRunpath ];
-    buildInputs = [ cudatoolkit ];
+    nativeBuildInputs = [
+      cmake
+      addOpenGLRunpath
+    ];
+    buildInputs = [cudatoolkit];
     postFixup = ''
       for exe in $out/bin/*; do
         addOpenGLRunpath $exe
@@ -29,43 +36,50 @@ let
         cuSPARSE, cuSOLVER, cuFFT, cuRAND, NPP and nvJPEG.
       '';
       license = lib.licenses.bsd3;
-      maintainers = with lib.maintainers; [ obsidian-systems-maintenance ];
+      maintainers = with lib.maintainers; [obsidian-systems-maintenance] ++ lib.teams.cuda.members;
     };
   };
 in
 
 {
-  cublas = backendStdenv.mkDerivation (commonAttrs // {
-    pname = "cuda-library-samples-cublas";
+  cublas = backendStdenv.mkDerivation (
+    commonAttrs
+    // {
+      pname = "cuda-library-samples-cublas";
 
-    src = "${src}/cuBLASLt";
-  });
+      src = "${src}/cuBLASLt";
+    }
+  );
 
-  cusolver = backendStdenv.mkDerivation (commonAttrs // {
-    pname = "cuda-library-samples-cusolver";
+  cusolver = backendStdenv.mkDerivation (
+    commonAttrs
+    // {
+      pname = "cuda-library-samples-cusolver";
 
-    src = "${src}/cuSOLVER";
+      src = "${src}/cuSOLVER";
 
-    sourceRoot = "cuSOLVER/gesv";
-  });
+      sourceRoot = "cuSOLVER/gesv";
+    }
+  );
 
-  cutensor = backendStdenv.mkDerivation (commonAttrs // {
-    pname = "cuda-library-samples-cutensor";
+  cutensor = backendStdenv.mkDerivation (
+    commonAttrs
+    // {
+      pname = "cuda-library-samples-cutensor";
 
-    src = "${src}/cuTENSOR";
+      src = "${src}/cuTENSOR";
 
-    buildInputs = [ cutensor ];
+      buildInputs = [cutensor];
 
-    cmakeFlags = [
-      "-DCUTENSOR_EXAMPLE_BINARY_INSTALL_DIR=${builtins.placeholder "out"}/bin"
-    ];
+      cmakeFlags = ["-DCUTENSOR_EXAMPLE_BINARY_INSTALL_DIR=${builtins.placeholder "out"}/bin"];
 
-    # CUTENSOR_ROOT is double escaped
-    postPatch = ''
-      substituteInPlace CMakeLists.txt \
-        --replace "\''${CUTENSOR_ROOT}/include" "${cutensor.dev}/include"
-    '';
+      # CUTENSOR_ROOT is double escaped
+      postPatch = ''
+        substituteInPlace CMakeLists.txt \
+          --replace "\''${CUTENSOR_ROOT}/include" "${cutensor.dev}/include"
+      '';
 
-    CUTENSOR_ROOT = cutensor;
-  });
+      CUTENSOR_ROOT = cutensor;
+    }
+  );
 }
diff --git a/pkgs/test/cuda/cuda-samples/extension.nix b/pkgs/test/cuda/cuda-samples/extension.nix
index 664349416b713..d41da90cd5d0e 100644
--- a/pkgs/test/cuda/cuda-samples/extension.nix
+++ b/pkgs/test/cuda/cuda-samples/extension.nix
@@ -1,14 +1,18 @@
-final: prev: let
-
-  sha256 = {
-    "10.0" = "1zvh4xsdyc59m87brpcmssxsjlp9dkynh4asnkcmc3g94f53l0jw";
-    "10.1" = "1s8ka0hznrni36ajhzf2gqpdrl8kd8fi047qijxks5l2abc093qd";
-    "10.2" = "01p1innzgh9siacpld6nsqimj8jkg93rk4gj8q4crn62pa5vhd94";
-    "11.0" = "1n3vjc8c7zdig2xgl5fppavrphqzhdiv9m9nk6smh4f99fwi0705";
-    "11.1" = "1kjixk50i8y1bkiwbdn5lkv342crvkmbvy1xl5j3lsa1ica21kwh";
-    "11.2" = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1";
-    "11.3" = "0kbibb6pgz8j5iq6284axcnmycaha9bw8qlmdp6yfwmnahq1v0yz";
-    "11.4" = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk";
+{
+  cudaVersion,
+  hostPlatform,
+  lib,
+}:
+let
+  cudaVersionToHash = {
+    "10.0" = "sha256-XAI6iiPpDVbZtFoRaP1s6VKpu9aV3bwOqqkw33QncP8=";
+    "10.1" = "sha256-DY8E2FKCFj27jPgQEB1qE9HcLn7CfSiVGdFm+yFQE+k=";
+    "10.2" = "sha256-JDW4i7rC2MwIRvKRmUd6UyJZI9bWNHqZijrB962N4QY=";
+    "11.0" = "sha256-BRwQuUvJEVi1mTbVtGODH8Obt7rXFfq6eLH9wxCTe9g=";
+    "11.1" = "sha256-kM8gFItBaTpkoT34vercmQky9qTFtsXjXMGjCMrsUc4=";
+    "11.2" = "sha256-gX6V98dRwdAQIsvru2byDLiMswCW2lrHSBSJutyWONw=";
+    "11.3" = "sha256-34MdMFS2cufNbZVixFdSUDFfLeuKIGFwLBL9d81acU0=";
+    "11.4" = "sha256-Ewu+Qk6GtGXC37CCn1ZXHc0MQAuyXCGf3J6T4cucTSA=";
     "11.5" = "sha256-AKRZbke0K59lakhTi8dX2cR2aBuWPZkiQxyKaZTvHrI=";
     "11.6" = "sha256-AsLNmAplfuQbXg9zt09tXAuFJ524EtTYsQuUlV1tPkE=";
     # The tag 11.7 of cuda-samples does not exist
@@ -16,10 +20,23 @@ final: prev: let
     "12.0" = "sha256-Lj2kbdVFrJo5xPYPMiE4BS7Z8gpU5JLKXVJhZABUe/g=";
     "12.1" = "sha256-xE0luOMq46zVsIEWwK4xjLs7NorcTIi9gbfZPVjIlqo=";
     "12.2" = "sha256-pOy0qfDjA/Nr0T9PNKKefK/63gQnJV2MQsN2g3S2yng=";
+    "12.3" = "sha256-fjVp0G6uRCWxsfe+gOwWTN+esZfk0O5uxS623u0REAk=";
   };
 
-in prev.lib.attrsets.optionalAttrs (builtins.hasAttr prev.cudaVersion sha256) {
-  cuda-samples = final.callPackage ./generic.nix {
-    sha256 = sha256.${prev.cudaVersion};
-  };
-}
+  # Samples are built around the CUDA Toolkit, which is not available for
+  # aarch64. Check for both CUDA version and platform.
+  cudaVersionIsSupported = cudaVersionToHash ? ${cudaVersion};
+  platformIsSupported = hostPlatform.isx86_64;
+  isSupported = cudaVersionIsSupported && platformIsSupported;
+
+  # Build our extension
+  extension =
+    final: _:
+    lib.attrsets.optionalAttrs isSupported {
+      cuda-samples = final.callPackage ./generic.nix {
+        inherit cudaVersion;
+        hash = cudaVersionToHash.${cudaVersion};
+      };
+    };
+in
+extension
diff --git a/pkgs/test/cuda/cuda-samples/generic.nix b/pkgs/test/cuda/cuda-samples/generic.nix
index e690f32959f2a..fb3d7cc99da95 100644
--- a/pkgs/test/cuda/cuda-samples/generic.nix
+++ b/pkgs/test/cuda/cuda-samples/generic.nix
@@ -1,70 +1,79 @@
-{ autoAddOpenGLRunpathHook
-, backendStdenv
-, cmake
-, cudatoolkit
-, cudaVersion
-, fetchFromGitHub
-, fetchpatch
-, freeimage
-, glfw3
-, lib
-, pkg-config
-, sha256
+{
+  autoAddOpenGLRunpathHook,
+  backendStdenv,
+  cmake,
+  cudatoolkit,
+  cudaVersion,
+  fetchFromGitHub,
+  fetchpatch,
+  freeimage,
+  glfw3,
+  hash,
+  lib,
+  pkg-config,
 }:
-backendStdenv.mkDerivation (finalAttrs: {
-  pname = "cuda-samples";
-  version = cudaVersion;
+let
+  inherit (lib) lists strings;
+in
+backendStdenv.mkDerivation (
+  finalAttrs: {
+    strictDeps = true;
 
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = finalAttrs.pname;
-    rev = "v${finalAttrs.version}";
-    inherit sha256;
-  };
+    pname = "cuda-samples";
+    version = cudaVersion;
 
-  nativeBuildInputs = [
-    pkg-config
-    autoAddOpenGLRunpathHook
-    glfw3
-    freeimage
-  ]
-  # CMake has to run as a native, build-time dependency for libNVVM samples.
-  ++ lib.lists.optionals (lib.strings.versionAtLeast finalAttrs.version "12.2") [
-    cmake
-  ];
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = finalAttrs.pname;
+      rev = "v${finalAttrs.version}";
+      inherit hash;
+    };
 
-  # CMake is not the primary build tool -- that's still make.
-  # As such, we disable CMake's build system.
-  dontUseCmakeConfigure = true;
+    nativeBuildInputs =
+      [
+        autoAddOpenGLRunpathHook
+        pkg-config
+      ]
+      # CMake has to run as a native, build-time dependency for libNVVM samples.
+      # However, it's not the primary build tool -- that's still make.
+      # As such, we disable CMake's build system.
+      ++ lists.optionals (strings.versionAtLeast finalAttrs.version "12.2") [cmake];
 
-  buildInputs = [ cudatoolkit ];
+    dontUseCmakeConfigure = true;
 
-  # See https://github.com/NVIDIA/cuda-samples/issues/75.
-  patches = lib.optionals (finalAttrs.version == "11.3") [
-    (fetchpatch {
-      url = "https://github.com/NVIDIA/cuda-samples/commit/5c3ec60faeb7a3c4ad9372c99114d7bb922fda8d.patch";
-      sha256 = "sha256-0XxdmNK9MPpHwv8+qECJTvXGlFxc+fIbta4ynYprfpU=";
-    })
-  ];
+    buildInputs = [
+      cudatoolkit
+      freeimage
+      glfw3
+    ];
 
-  enableParallelBuilding = true;
+    # See https://github.com/NVIDIA/cuda-samples/issues/75.
+    patches = lib.optionals (finalAttrs.version == "11.3") [
+      (fetchpatch {
+        url = "https://github.com/NVIDIA/cuda-samples/commit/5c3ec60faeb7a3c4ad9372c99114d7bb922fda8d.patch";
+        hash = "sha256-0XxdmNK9MPpHwv8+qECJTvXGlFxc+fIbta4ynYprfpU=";
+      })
+    ];
 
-  preConfigure = ''
-    export CUDA_PATH=${cudatoolkit}
-  '';
+    enableParallelBuilding = true;
 
-  installPhase = ''
-    runHook preInstall
+    preConfigure = ''
+      export CUDA_PATH=${cudatoolkit}
+    '';
 
-    install -Dm755 -t $out/bin bin/${backendStdenv.hostPlatform.parsed.cpu.name}/${backendStdenv.hostPlatform.parsed.kernel.name}/release/*
+    installPhase = ''
+      runHook preInstall
 
-    runHook postInstall
-  '';
+      install -Dm755 -t $out/bin bin/${backendStdenv.hostPlatform.parsed.cpu.name}/${backendStdenv.hostPlatform.parsed.kernel.name}/release/*
 
-  meta = {
-    description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit";
-    # CUDA itself is proprietary, but these sample apps are not.
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ obsidian-systems-maintenance ] ++ lib.teams.cuda.members;
-  };
-})
+      runHook postInstall
+    '';
+
+    meta = {
+      description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit";
+      # CUDA itself is proprietary, but these sample apps are not.
+      license = lib.licenses.bsd3;
+      maintainers = with lib.maintainers; [obsidian-systems-maintenance] ++ lib.teams.cuda.members;
+    };
+  }
+)
diff --git a/pkgs/test/cuda/default.nix b/pkgs/test/cuda/default.nix
index c7b790e35e259..be88bd3820a90 100644
--- a/pkgs/test/cuda/default.nix
+++ b/pkgs/test/cuda/default.nix
@@ -1,7 +1,7 @@
-{ callPackage }:
+{callPackage}:
 
 rec {
-  cuda-samplesPackages = callPackage ./cuda-samples/generic.nix { };
+  cuda-samplesPackages = callPackage ./cuda-samples/generic.nix {};
   inherit (cuda-samplesPackages)
     cuda-samples_cudatoolkit_10
     cuda-samples_cudatoolkit_10_0
@@ -12,9 +12,10 @@ rec {
     cuda-samples_cudatoolkit_11_1
     cuda-samples_cudatoolkit_11_2
     cuda-samples_cudatoolkit_11_3
-    cuda-samples_cudatoolkit_11_4;
+    cuda-samples_cudatoolkit_11_4
+    ;
 
-  cuda-library-samplesPackages = callPackage ./cuda-library-samples/generic.nix { };
+  cuda-library-samplesPackages = callPackage ./cuda-library-samples/generic.nix {};
   inherit (cuda-library-samplesPackages)
     cuda-library-samples_cudatoolkit_10
     cuda-library-samples_cudatoolkit_10_1
@@ -24,5 +25,6 @@ rec {
     cuda-library-samples_cudatoolkit_11_1
     cuda-library-samples_cudatoolkit_11_2
     cuda-library-samples_cudatoolkit_11_3
-    cuda-library-samples_cudatoolkit_11_4;
+    cuda-library-samples_cudatoolkit_11_4
+    ;
 }
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 9543e165a8053..29dc4b5192ec9 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -63,12 +63,8 @@ with pkgs;
 
             # libcxxStdenv broken
             # fix in https://github.com/NixOS/nixpkgs/pull/216273
-          ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
-            # libcxx does not build for some reason on aarch64-linux
-            (filterAttrs (n: _: n != "llvmPackages_7"))
           ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
             (filterAttrs (n: _: n != "llvmPackages_6"))
-            (filterAttrs (n: _: n != "llvmPackages_7"))
             (filterAttrs (n: _: n != "llvmPackages_8"))
             (filterAttrs (n: _: n != "llvmPackages_9"))
             (filterAttrs (n: _: n != "llvmPackages_10"))
diff --git a/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix b/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
index 526730e72228e..2bc331cc18741 100644
--- a/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
+++ b/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
@@ -1,12 +1,29 @@
 { lib
-, python3Packages
+, python3
 , fetchPypi
 , nix-update-script
 , testers
 , aws-encryption-sdk-cli
 }:
 
-python3Packages.buildPythonApplication rec {
+let
+  localPython = python3.override {
+    self = localPython;
+    packageOverrides = final: prev: {
+      urllib3 = prev.urllib3.overridePythonAttrs (prev: rec {
+        pyproject = true;
+        version = "1.26.18";
+        nativeBuildInputs = with final; [ setuptools ];
+        src = prev.src.override {
+          inherit version;
+          hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA=";
+        };
+      });
+    };
+  };
+in
+
+localPython.pkgs.buildPythonApplication rec {
   pname = "aws-encryption-sdk-cli";
   version = "4.1.0";
 
@@ -15,15 +32,16 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-OCbt0OkDVfpzUIogbsKzaPAle2L6l6N3cmZoS2hEaSM=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with localPython.pkgs; [
     attrs
     aws-encryption-sdk
     base64io
+    urllib3
   ];
 
   doCheck = true;
 
-  nativeCheckInputs = with python3Packages; [
+  nativeCheckInputs = with localPython.pkgs; [
     mock
     pytest-mock
     pytestCheckHook
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 37deb7960532a..3a0b72a158de3 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -13,6 +13,11 @@
 let
   py = python3 // {
     pkgs = python3.pkgs.overrideScope (final: prev: {
+      sphinx = prev.sphinx.overridePythonAttrs (prev: {
+        disabledTests = prev.disabledTests ++ [
+          "test_check_link_response_only" # fails on hydra https://hydra.nixos.org/build/242624087/nixlog/1
+        ];
+      });
       ruamel-yaml = prev.ruamel-yaml.overridePythonAttrs (prev: {
         src = prev.src.override {
           version = "0.17.21";
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 657ce55e400bb..0c447be4e7f21 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -5,14 +5,14 @@
 }:
 
 let
-  version = "2.54.0";
+  version = "2.55.0";
 
   src = fetchFromGitHub {
     name = "azure-cli-${version}-src";
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    hash = "sha256-LbGDPZe4AWl6wnZ5GtiiM4O5EsCHEHX420lBIJJ0+Kk=";
+    hash = "sha256-+4ju+KOQ9LG1nzYnHOZ4mvXf6SazcrIgw/Q2mvetPMc=";
   };
 
   # put packages that needs to be overridden in the py package scope
@@ -288,4 +288,3 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     platforms = platforms.all;
   };
 })
-
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index ab77600387328..9893e9e1e29cb 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -106,7 +106,6 @@ let
       azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "30.3.0" "tar.gz" "sha256-5Sl4Y0D4YqpqIYp61qW+trn7VYM8XKoIUcwzFNBJO2M=";
       azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "10.1.0" "zip" "sha256-eNQ3rbKFdPRIyDjtXwH5ztN4GWCYBh3rWdn3AxcEwX4=";
       azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "10.1.0" "zip" "sha256-VrX9YfYNvlA8+eNqHCp35BAeQZzQKakZs7ZZKwT8oYc=";
-      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "27.0.0" "tar.gz" "sha256-IdGo2A65YiMJJ8S18Ji+FfnnylNhs8vFOQpfA91wgNM=";
       azure-mgmt-core = overrideAzureMgmtPackage super.azure-mgmt-core "1.3.2" "zip" "sha256-B/Sv6COlXXBLBI1h7f3BMYwFHtWfJEAyEmNQvpXp1QE=";
       azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "9.3.0" "tar.gz" "sha256-02DisUN2/auBDhPgE9aUvEvYwoQUQC4NYGD/PQZOl/Y=";
       azure-mgmt-databoxedge = overrideAzureMgmtPackage super.azure-mgmt-databoxedge "1.0.0" "zip" "sha256-BAkAYrwejwDC9FMVo7zrD7OzR57BR01xuINC4TSZsIc=";
@@ -164,8 +163,10 @@ let
       azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "10.0.0b1" "zip"
         "sha256-1CiZuTXYhIb74eGQZUJHHzovYNnnVd3Ydu1UCy2Bu00=";
 
-      azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
-        "sha256-nri3eB/UQQ7p4gfNDDmDuvnlhBS1tKGISdCYVuNrrN4=";
+      azure-mgmt-kusto = (overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
+        "sha256-nri3eB/UQQ7p4gfNDDmDuvnlhBS1tKGISdCYVuNrrN4=").overridePythonAttrs (attrs: {
+        propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [ self.msrest self.msrestazure ];
+      });
 
       azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
         "sha256-WVScTEBo8mRmsQl7V0qOUJn7LNbIvgoAOVsG07KeJ40=r";
diff --git a/pkgs/tools/admin/berglas/default.nix b/pkgs/tools/admin/berglas/default.nix
index 75a4bc591e7b1..150b5535f1ce9 100644
--- a/pkgs/tools/admin/berglas/default.nix
+++ b/pkgs/tools/admin/berglas/default.nix
@@ -27,16 +27,16 @@ in
 
 buildGoModule rec {
   pname = "berglas";
-  version = "1.0.3";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4hbRX0kKMWixcu5SWjrM5lVvhLMOaeBdG4GH5NVAh70=";
+    sha256 = "sha256-Jf6yPVydM7UnG1yiLEFe+7FMkWANIQebZ3QAwg6/OQs=";
   };
 
-  vendorHash = "sha256-qcFS07gma7GVxhdrYca0E6rcczNcZmU8JcjjcpEaxp0=";
+  vendorHash = "sha256-3WDBl/GqCgRFMmh6TQvtHhACCRzf9sdIO8fel8CAMP0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix
index 0dca98037997a..6e115f6eb6a59 100644
--- a/pkgs/tools/admin/chamber/default.nix
+++ b/pkgs/tools/admin/chamber/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.13.4";
+  version = "2.13.5";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J6sLDalvUl4SgSyr5DK/tW7DyRa/qdKw6zornz1R2ck=";
+    sha256 = "sha256-uwTEHxaPG1jDeR+84ZrsP6bg5DBsKIeuHeZAtgrsy/s=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/tools/admin/colmena/default.nix b/pkgs/tools/admin/colmena/default.nix
index ceb544753b21a..6cb763c88d1eb 100644
--- a/pkgs/tools/admin/colmena/default.nix
+++ b/pkgs/tools/admin/colmena/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
 
   passthru = {
     # We guarantee CLI and Nix API stability for the same minor version
-    apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitString "." version));
+    apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
 
     tests.version = testers.testVersion { package = colmena; };
   };
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 13589edd6bdc8..29534b092d9fa 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -87,7 +87,7 @@ buildGoModule rec {
     homepage = "https://ubuntu.com/lxd";
     changelog = "https://github.com/canonical/lxd/releases/tag/lxd-${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/lxd/ui.nix b/pkgs/tools/admin/lxd/ui.nix
index c248199b4ad72..16fdb4c331759 100644
--- a/pkgs/tools/admin/lxd/ui.nix
+++ b/pkgs/tools/admin/lxd/ui.nix
@@ -9,18 +9,18 @@
 
 stdenv.mkDerivation rec {
   pname = "lxd-ui";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "lxd-ui";
     rev = "refs/tags/${version}";
-    hash = "sha256-l9Fp/Vm7NxMCp5QcM8+frFyfahhPG7TyF6NhfU1SEaA=";
+    hash = "sha256-52MRf7bk8Un9wqz00+JjDmuJgPKYhgAhIbMbcAuf8W8=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-R6OeaBC6xBHa229YGyc2LDjjenwvS805PW8ueU/o99I=";
+    hash = "sha256-WWnNjwzhN57PzTPmLWWzPoj66VFUnuzW1hTjKlVV8II=";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Web user interface for LXD.";
     homepage = "https://github.com/canonical/lxd-ui";
     license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ jnsgruk ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/pulumi-bin/data.nix b/pkgs/tools/admin/pulumi-bin/data.nix
index 299d77ff8acf4..00cd07621ae98 100644
--- a/pkgs/tools/admin/pulumi-bin/data.nix
+++ b/pkgs/tools/admin/pulumi-bin/data.nix
@@ -1,12 +1,12 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.94.0";
+  version = "3.95.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-linux-x64.tar.gz";
-        sha256 = "1yn97xxqwgrcd5psrrimcz1gjv34s7mri40nwb2mgmqj7xs4hyi3";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-x64.tar.gz";
+        sha256 = "1ig942izr0bjjnmccjdrna1fy1245s0l5mbr80xbxm5lima9z66p";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-amd64.tar.gz";
@@ -17,52 +17,52 @@
         sha256 = "0pf1pka8pq4cizlnf5hm5ji1hf5nchkj21mwpi2cxdk2w4ghw0ds";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-linux-amd64.tar.gz";
-        sha256 = "0qi3wp5iy9pym4yqzx1186paz80dv7lppcd0jw4fgpi8lclfygbm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-amd64.tar.gz";
+        sha256 = "0cp4f5syq1jbkvw1gjxyfwf6kv1qkzb68x7gqm2xdb9j4glx4wab";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-linux-amd64.tar.gz";
-        sha256 = "06ycizhynnmr9g0awqn9y8jglxl7brxrzibxh9lb55kiy5vl8vry";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-amd64.tar.gz";
+        sha256 = "0gha4nm5gg4s3hqy7whdywkd0mpndmgjq9xmswqzvapjj7hjcnh6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-amd64.tar.gz";
-        sha256 = "0vyhmdyln0cpcf1fgc0v641c78a66dzx97i7xq6isspl6zx9njn5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "05mhvif4minkr5mi0yjghsd9ffx9wyb5chjp0kz3256d4clld6ai";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-linux-amd64.tar.gz";
-        sha256 = "112rd5hhmcp2h7r6jzihcb8g1w1r4g1ba1mwk808nwqfgswfi2wf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-amd64.tar.gz";
+        sha256 = "1p4k8fx6ix8y7bb8mjvk0avq5r7lam3yywncb05vxiw5qwqls9s0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-linux-amd64.tar.gz";
-        sha256 = "0slbvp9pg2yrrm5i4z7zhyksn8lmz82xymvwadr69z71h59s3b1x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-amd64.tar.gz";
+        sha256 = "0dl60nrgilg9ccn28dnyrv0lw6sqrcy26r4kgcbdqkw0f15isjhv";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-amd64.tar.gz";
         sha256 = "029xymc6ynb7aq5wdkvksgqhjl9aix5j3rn8dfzlbmrmmz0xyvxr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-linux-amd64.tar.gz";
-        sha256 = "0hk2niplgjhkq7fhkwhhka33cikdami7r6g2f80c7d94g8wpgf5x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-amd64.tar.gz";
+        sha256 = "17q3186a3awbh0v0rxby4a8qdl49zbbc46a1fjaqhsg14sizryfl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-linux-amd64.tar.gz";
-        sha256 = "1vn3rayqdg8hff0bcbmzy2nz9pzbki00y729jxdlkv2k4y4raik6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-amd64.tar.gz";
+        sha256 = "05k325y99wcg3584bbgkrh20zq46y6hi1sk2bi0jm6njvwyb786w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-linux-amd64.tar.gz";
-        sha256 = "1h7rxzax73hq6dyldb6dqxrjhbddamaljn2h0cabdjlvrvbnkg0l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-amd64.tar.gz";
+        sha256 = "1v8x27yi6mqj8sxwwl7jvw5960pv98y4lkyj9gyx3260a3hsgav2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-amd64.tar.gz";
         sha256 = "0bsbfsc7wxsjyqyz5klxn91hd1lwini4pbpm0lw5pf78af7z8v0z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-linux-amd64.tar.gz";
-        sha256 = "1r1sfxngwkf89lni0l8zalh2vz5a7m9ap4p15cs4bc98zmkin762";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-amd64.tar.gz";
+        sha256 = "1j7zkyjn7v98l5m9a3cgpy5ckx5y4kirda8i3im58dbyripwzppi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-linux-amd64.tar.gz";
-        sha256 = "1m44dwr8q8w60s5clm4n1hini1bm5bqc7p7h1gvbh5zg1482hn5q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-amd64.tar.gz";
+        sha256 = "0v4bg7iz6fnvca59z74ymqilkra4mldbs1xa4w1ijw4jvbnyq3vr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
@@ -73,32 +73,32 @@
         sha256 = "1l3pqshzxscv3pxp5wjyrc83irkhh6g7hbdi51x2jhdywjz5r55m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-linux-amd64.tar.gz";
-        sha256 = "1047qlwrv42llknx25r2iqdchparcrc5krpbjcqq194rpzq73m02";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-amd64.tar.gz";
+        sha256 = "0llybkwlzzd8ylxcch4hns3xbba715iyf1mrfy9vnn60kfn2jprc";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-amd64.tar.gz";
         sha256 = "0hnaanqg991xy4jmk09rcd5adzx760707133yaax0nx6r1g0lbdc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-linux-amd64.tar.gz";
-        sha256 = "0x22g7rdywxk1crgcf424n6w2h1jslk4fhhh66g642d553jpz1ci";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-amd64.tar.gz";
+        sha256 = "10cxlavxvb98207plgrvmf8c8sgp5w2hpnpcj493i033am07g7yc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-amd64.tar.gz";
-        sha256 = "1xq92rsk7bimkr52c13mjypd0ygs7qc9ijyi2ghnf0585d1z5bk5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz";
+        sha256 = "1zra1ck64gs4nwqf62ksfmpbx24lxw6vsgi47j4v8q051m89fgq3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-amd64.tar.gz";
         sha256 = "0f5sii66fffq5qrri8r1a3xzskvj9yx6chr7j2s34kgc11dqrbxc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-linux-amd64.tar.gz";
-        sha256 = "1r079igvw2cv90sq5c7ldfvyfni3a6vh8bwj9hzbjwmcmpdf2lri";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-amd64.tar.gz";
+        sha256 = "13nrdwka7pxyqjy5hjc3678sfayfs11hwqfj7r4apml8sws0g3xj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-linux-amd64.tar.gz";
-        sha256 = "10llnm73xzm8p2jjiny1zbx9snh633vi8psbaxc2hrjv8ks803i0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-amd64.tar.gz";
+        sha256 = "10a0kr20ai5qhhxsr5210ag5ijkzxjihm7afy2mzsslqv4zdc953";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-amd64.tar.gz";
@@ -121,20 +121,20 @@
         sha256 = "1v59k0m4rrad5vbd2x4znb985cbwj9py6ki60x1skq704pmcli5g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-linux-amd64.tar.gz";
-        sha256 = "1g5rx5vy8miwlz66dwv6nks9jk0pjyxb37w6wgnpcgw02m9famrl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-amd64.tar.gz";
+        sha256 = "10m3mqqi1gr5n7phsjyrdpy6vd9f3qri7vryj10p6fp7my9sgr3q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-linux-amd64.tar.gz";
-        sha256 = "1k3xipaw1nrfc0vms20xcxnaz4f0wni3a3w85lwiyi4vx5pd0kn7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-amd64.tar.gz";
+        sha256 = "00mml1dpyjc683yrp7g7w49pvjyd5mdm6bls26q9rbirgblajcnf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-amd64.tar.gz";
-        sha256 = "1knsb0ha7xbgvlna67nhxmmrr6rw3h52va3dh4ra47b7r8ii7dca";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-amd64.tar.gz";
+        sha256 = "0nssdk2zp42ssnkgq87mw4rk1lzlzgi3adr4l5g9ipmqjfphw3bx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-amd64.tar.gz";
-        sha256 = "06gvx51nl93rj244yximp6059yiyxh4jcdqqcrjic8r7wabzsiiw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-amd64.tar.gz";
+        sha256 = "148ifpnjh8jm4x9f9snlzfq1z7f2z0c630bhhx6a86ankaavyr00";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-amd64.tar.gz";
@@ -149,8 +149,8 @@
         sha256 = "044w1qwjadrz0ylr00qnwppvq6mc8c8z759b0wfn69a2r25az19f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-linux-amd64.tar.gz";
-        sha256 = "1y8yfzmgxx2x15ljwjyc5kyrkmai1if59hz65avsf67615xisnyy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-amd64.tar.gz";
+        sha256 = "1dp9vldrs2b0ml542rn0jna0rbz2hxx7il86bliamj5fwr89k49w";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-amd64.tar.gz";
@@ -163,8 +163,8 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-darwin-x64.tar.gz";
-        sha256 = "0v854xz9imq9kxslvyx3km20jzcia8m6wkq6ga1gxlsrbx3ajgrn";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-x64.tar.gz";
+        sha256 = "13lb757py7ls6p4l2x5s20xy5mp21a10y8cdnbfsr9l03kz50yhi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-amd64.tar.gz";
@@ -175,52 +175,52 @@
         sha256 = "0i4kjngs8ly5cxikxc1jz2lcma31sx87vbdbny2j7xxz3fqsyi19";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-darwin-amd64.tar.gz";
-        sha256 = "0rrs93qrqz4bs66ydjb2y4jl6l7pdycs4hqpgp110mipn54bkfix";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-amd64.tar.gz";
+        sha256 = "0ld394yzmhmagn2mb1ds7mg30v283f1q1xg67r1bs3wmf4zkxi8l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-darwin-amd64.tar.gz";
-        sha256 = "03rvwmslb8z5y0whfw8n9ycdi943kniacw5jxasi4crciz5ynldf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-amd64.tar.gz";
+        sha256 = "1ci55mz72y68wwcih0sx500n3pmrkq798janhc7nksyn8qdj14ik";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-amd64.tar.gz";
-        sha256 = "04imkdrj388nk88r734f0p0a6z1hffzmplwgmx55kfwqz3zpz4y5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "16yqva40xq8xfqjnxx7r9kx3r6nrxsqivqpm056hpnad6bjy5d7s";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-darwin-amd64.tar.gz";
-        sha256 = "08acycw7qz7dz6hb7yrja38gkqb309nbski68g9vpbvgg71b4kkm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-amd64.tar.gz";
+        sha256 = "1abmbagldr2bv73qz39kpbpyjjwy3c8slikwvak9mmzxjpk2lvay";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-darwin-amd64.tar.gz";
-        sha256 = "1b01rnms4fzi0w4pmyxjrp06001fz99dpas4r06ri2mm21kdbyvf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-amd64.tar.gz";
+        sha256 = "0gr4is4k9hzjncg5qvy1n4j4hzvmn8f37f119bdgima1s6r9aiz4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-amd64.tar.gz";
         sha256 = "16zc13z31p92775v3vsn6j6pmz1wcjqb8rhzxpnr03zbqviws7mi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-darwin-amd64.tar.gz";
-        sha256 = "1jdxf418lrh1rzhmkcjpvx1l5pc7gjigyxdxfzf9ig8fxhwrnwhm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-amd64.tar.gz";
+        sha256 = "06nr217ymzfkr6l4fgwj9fjp724v08lyvxap7xw56mq9z0bf1vgk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-darwin-amd64.tar.gz";
-        sha256 = "0h6lsjh7243792x943900aw714i7nkjcyn8sgcy4y2z2c43ic1pz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-amd64.tar.gz";
+        sha256 = "1v3axsc678s7w0pkpc4b8l32rl2yb0jcdwba6i8v9jlawg4rv4z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-darwin-amd64.tar.gz";
-        sha256 = "0wyjcpl5iw3f97k0s372lh4xrpdibsrczwdprl55w56wxd7kdjq1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-amd64.tar.gz";
+        sha256 = "07iwdpvxqf3vkd1l1daazhs3agbbq067bcyp0vr2jqapz355yjad";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-amd64.tar.gz";
         sha256 = "1qyb6v3bxg7hsr5viwpc4nzdgq63frjqgxs7kqyg1pp40rcmh2bm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-darwin-amd64.tar.gz";
-        sha256 = "0iymy2rjyxya49w7awrjns4pnj4m2m66iqf59f1a6ww4i5qmx5f1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-amd64.tar.gz";
+        sha256 = "0hm1jx48i6315xykn5fx3zw1m4cp5blizjmvcidrs5x1j1fwpcl4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-darwin-amd64.tar.gz";
-        sha256 = "0g8rcdbfbpmsw3wqx9jy5kz6pcmr9im2njisi3rlkkyfazm7fmqd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-amd64.tar.gz";
+        sha256 = "0arzbimf0rwn6j41ia6fl90xnkz7yyhc3lnnzr51sw4g8y3jihj9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
@@ -231,32 +231,32 @@
         sha256 = "0xdfxxlfxm44bkljc5c8h3ici7dlkbgbg6z2ns4870p15lhq34n5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-darwin-amd64.tar.gz";
-        sha256 = "159p2fxfhgck431cbzs5ik6s4bprx8jp5nxi28ir52qyfaj3xx6x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-amd64.tar.gz";
+        sha256 = "0974a34i4im82ccc4b25l6v3hdvi0hkh2xadhdn765g2bdcr7vh8";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-amd64.tar.gz";
         sha256 = "1547hc9jdg0j6n66sk5j7iid5m5pvkv8q9j09q9vkcrkj3kkjcvb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-darwin-amd64.tar.gz";
-        sha256 = "1kipsvsji6s9j2644ka46rpg4mhscj3hb61b5g3ghfmm66hxijs6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-amd64.tar.gz";
+        sha256 = "0a03z495j6yy3y5aqbd4515iwm601pzr6is7lq885vcripxvs4x7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-amd64.tar.gz";
-        sha256 = "18vqn7cs5l6fyxmplvcmb779sa91ka8vzz40giggdxzsdjjj9dpx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz";
+        sha256 = "0ddd0pgpyywq291r9q8w6bn41r2px595017iihx4n2cnb1c4v6d5";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-amd64.tar.gz";
         sha256 = "19zm781g8ii062dp48wf11pdyrddk10c5rf18xk4bpf2prbg5vsi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-darwin-amd64.tar.gz";
-        sha256 = "1mj438fnidycdbxi168z3bkc8fxpw1fzagssxzwawd2d6faxv919";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-amd64.tar.gz";
+        sha256 = "1ikshq05lkh39m5z7p72mv3cnd9ji16b09cb5g78zlrdzlgq2086";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-darwin-amd64.tar.gz";
-        sha256 = "087i49sx3cw7vylq01vby1mhblr03ib302yhss7sx944brzc53hv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-amd64.tar.gz";
+        sha256 = "0h177vx31q53xpqrvfdajf4knwchhrz7l605s50v5isqbpgagl5m";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-amd64.tar.gz";
@@ -279,20 +279,20 @@
         sha256 = "1jg3qdm331dvnq2igf6q0xd2ld21jnhm0h756pmxszngadfnmcdw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-darwin-amd64.tar.gz";
-        sha256 = "19pm2qfjmdfz32py93xcmw85byyffgq1xpv6rdk31r25ys9qhdbl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-amd64.tar.gz";
+        sha256 = "144rydj53334sj11p55npmgss3kam2lxrm7shrcjvb1v28m8vdnx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-darwin-amd64.tar.gz";
-        sha256 = "19i67kpf5ghw9w5mdww10njz7cf0v7975in0nrp2i6l61p9c9yl1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-amd64.tar.gz";
+        sha256 = "0yxqhzx5rdy0a7g8q8c1s9w52h1clssnx70pp8900vdfsviwxqvf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-amd64.tar.gz";
-        sha256 = "0xgihb099s99qb5bk6wavwm9227z73jgqrysmvjrqkn83kh7942v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-amd64.tar.gz";
+        sha256 = "06cwx6642byqb953g8xa9a3s9jcp8cf6ib12agchkwmpfws5piz1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-amd64.tar.gz";
-        sha256 = "1pm5j9q4kvv70c6paficcfb664df6666mq559zvdklf5ndjpw5z9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-amd64.tar.gz";
+        sha256 = "0mpwjrbayckaapvz8vs2x918ya5a3rk44f3cx1dri18wq82klln7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-amd64.tar.gz";
@@ -307,8 +307,8 @@
         sha256 = "19wmv952wn2njbd1ppl1lfzf1f47wf11m4qiiqc3wyd1qc33qsn1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-darwin-amd64.tar.gz";
-        sha256 = "0ghxpf03h1gg1fc0wpzzdij9dydc9knvjyn9xvjhwr7ar3bvswq5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-amd64.tar.gz";
+        sha256 = "18kai9s283hip893867hc65pr0jpgydw0b2gwqdj2zi3mibbm08x";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-amd64.tar.gz";
@@ -321,8 +321,8 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-linux-arm64.tar.gz";
-        sha256 = "075pyjjinc77283cqd81745sdjxlcrdn02nx17jis28w4gp7y88n";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-arm64.tar.gz";
+        sha256 = "0sf96mbqlj4q6lf6xlx6bd4v12byg929m2vx4w7smqdd7w27gsja";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-arm64.tar.gz";
@@ -333,52 +333,52 @@
         sha256 = "0y1i2lwvy0wjvngpjf5rscidrlqb3mhhkhqvj227alz3c4xhf091";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-linux-arm64.tar.gz";
-        sha256 = "1mncqhlr8ga43pkay8cn0nj9b3kzd8jb65wp02gqsgf8adracrks";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-arm64.tar.gz";
+        sha256 = "0fas3734vf8ibx36ikgwjr5ky1sprxh7qn95jd43d13ii9a8ic9l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-linux-arm64.tar.gz";
-        sha256 = "0x6k6ng49nnh72ca1jcqg1nci8i4qhnw90xwgwi0mxc7dndnx73x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-arm64.tar.gz";
+        sha256 = "0ahp2aqlp9j7hr6c8rxzwrabyn1cfxqcncfax4sbj1prqw0jrac2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-arm64.tar.gz";
-        sha256 = "11ph5yjy754sb55sncdlgibrmijg2jsylrjfpvy4mclrwg64cari";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "0ivkm1cidvc6fz6k65z386qw0d7skh31i81yqccaql1i0n67mlsh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-linux-arm64.tar.gz";
-        sha256 = "0l8kqxk85vskg4jw2m9qvqjp9bdlzbllbhzj4q1fifmcwj5ks649";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-arm64.tar.gz";
+        sha256 = "0329lf1r9lga72x0crdwgx7m2xg14ydl6hb1c5jj76lkisqqzzyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-linux-arm64.tar.gz";
-        sha256 = "0fkjdd51b3pa224ycf9fi1zdcrf6vcbp9vph1rgqynz9ha7axyiz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-arm64.tar.gz";
+        sha256 = "045mc5ifkbpwp74z6826nzi16a2p5h44szxfn8h4mn3zjq86yjsi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-arm64.tar.gz";
         sha256 = "11gx8zlkakfbwf7vc4j29cd0bfakjf6flgp0a05d8ka5kjq3qkcx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-linux-arm64.tar.gz";
-        sha256 = "0gvvzv2qrdma9qah36giwgxgs7vhq86xjmxrsbja2n6jxzdrfszk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-arm64.tar.gz";
+        sha256 = "0yfsci2jc0az4n4mkr0wfd6npzxqw1mkci09wagrs7wibwb4wx5d";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-linux-arm64.tar.gz";
-        sha256 = "0v5665apxp9bg8vj73p8bni7dqqa2cqawx4dda9rfv35a63rd89w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-arm64.tar.gz";
+        sha256 = "1iq7phnx0sz539vgsc6j6md6djw7rdnywfmlbjrc6f31fsx2v0ln";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-linux-arm64.tar.gz";
-        sha256 = "0980s2a1c3pkswf8ai91wb526hyghcbzjnykf5ivam4vy0mlc8k5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-arm64.tar.gz";
+        sha256 = "1x92ls4p3l44p276rdgy1dxf5qy29ssw3zgjajf6jlfimgp8746f";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-arm64.tar.gz";
         sha256 = "1h7yh118iqr0bdkkagf3m0yxnphz5na7vyqqmzs7d9y9kcgfg8gi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-linux-arm64.tar.gz";
-        sha256 = "11q7cnncwdmjp8klk74wrnm6674ap5lrdjfq7413ps8rbdjpyvhl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-arm64.tar.gz";
+        sha256 = "10dvhbv5l1wwb6r7c9aiy0pqpwsj2s8s6gdyabvqm8hcza37jlnd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-linux-arm64.tar.gz";
-        sha256 = "1dxam51n9r2nmkw29fdwl5b0664ll2a1qczva0fgh1wpdslisp8s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-arm64.tar.gz";
+        sha256 = "0447lckkgq6vs8a2ra4wi86yir8w61mm41ahp9nn6xxmnsqrn3jm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
@@ -389,32 +389,32 @@
         sha256 = "11dfjx05inx1fdknzli0q7gma4hc1217jmfn4bx9ky635nqh5ckq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-linux-arm64.tar.gz";
-        sha256 = "0w2zwbz9slbwnk2zaw88y5npiqh2b5klw1j33c5wv1lr75fy2192";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-arm64.tar.gz";
+        sha256 = "00b9b6zpkd88j5vsfff1q3q5wna22h2jvfhri6kap372whvdbpac";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-arm64.tar.gz";
         sha256 = "0gwdlk1m4f91fbqnlv3jb83fi66nay261180nr72bk4hc9757y8i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-linux-arm64.tar.gz";
-        sha256 = "03j4ka8jdyxzkbsd0bgiqnnz1a8472mb0v3mlfnyvi0c6gs4y7cq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-arm64.tar.gz";
+        sha256 = "14dk14j27kbjbda02x62621kjfvr6g2fc65cxdgcl0qb662fms2x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-arm64.tar.gz";
-        sha256 = "17bykmfj9kxw2c94wjxcfakd10apnc88axr3wx2pa2k5idxd3ih0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz";
+        sha256 = "0d8m2krbzxjhfm82dgf8p4vm3kk9gk98l798q4ayjrddqqb4mxq4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-arm64.tar.gz";
         sha256 = "1z67c7jwfs2z2hi0fqsxzsb426iv82n9sv3ik6smhq2agcxlaas2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-linux-arm64.tar.gz";
-        sha256 = "0b81vgi6n1j3gh8kbf3g3fxlix7iyrn08kkrizmpc7bv5wd0i9ry";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-arm64.tar.gz";
+        sha256 = "0mxw0f756b4p0far801vwpsw2md0pph33bsh5xij5is5c1kiqwjr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-linux-arm64.tar.gz";
-        sha256 = "1wvl8h7wfkr1d7rff8j0n30xdc9yx1q3ps7zm8b485isx8hhq4f4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-arm64.tar.gz";
+        sha256 = "0s1gk18fszs6vwy3kwask0vsyykvxwwgigml1va67i9w0bqp199l";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-arm64.tar.gz";
@@ -437,20 +437,20 @@
         sha256 = "18wkr5sfa9v8b9b4c3hdgnq8wd8qpykcyqbcmiypykj8y954hxjk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-linux-arm64.tar.gz";
-        sha256 = "0a8vzhiy7jdxyvfmqd6z9n7iqvpdxc51qcwy212r9vy84mqxjsig";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-arm64.tar.gz";
+        sha256 = "0j4qhlxkpxr7j4s76vkkqxwhjb9b4kvdn19wcd83j2ybxlz698zw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-linux-arm64.tar.gz";
-        sha256 = "1nv5vd4cv8bfvihv2m316pw39yip7i61xx29lxvyvi5pib2yl0h2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-arm64.tar.gz";
+        sha256 = "0p2wlfs2lwwiz0az4kdb2jpaswn8z8yrv2mwk1hhcjn7g8xyn5zc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-arm64.tar.gz";
-        sha256 = "1kqv70w3d84a9a0kj0w2hmd88h50zlfc35xkf57kgd43l948wcin";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-arm64.tar.gz";
+        sha256 = "1pzkcm9nw8q8i440lc3xgpg9l5qrkxf1x22y7llvm5k0z1vv5rpq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-arm64.tar.gz";
-        sha256 = "1rlf5gl7a7ym8zl4h0v7i42a9830zi401axw032h0v4q6w4zki3n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-arm64.tar.gz";
+        sha256 = "1hyff2mkpkkbg8li0kblqmb17xcjql77wly33fjph6gw66wymnqb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-arm64.tar.gz";
@@ -465,8 +465,8 @@
         sha256 = "0gx4n9palj6yana77hs3aiv96ck4vzvnqblb1h7h9z1jfmdl7m01";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-linux-arm64.tar.gz";
-        sha256 = "1qj7640s3kqiz3x30k7dvd4v2anzqm1mb9qf045igmmf2bm6q5fm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-arm64.tar.gz";
+        sha256 = "1pkkm24f4n6qd5hsgb6ayv38jfs6k77mb3xcvdzsy3bmynxn7662";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-arm64.tar.gz";
@@ -479,8 +479,8 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-darwin-arm64.tar.gz";
-        sha256 = "05yyw5pjbmzgqimcd72xidwzqsvvkj7ayafwy701smmxdpck31b0";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-arm64.tar.gz";
+        sha256 = "0k09shsrpzi378xfqggx532szq35w67nja91ysljm8w5q8f1s06a";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-arm64.tar.gz";
@@ -491,52 +491,52 @@
         sha256 = "1lz73k8v5iixivydvfrwr239sw6i5qx4h7qkd0l3hvbih3v97v6a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-darwin-arm64.tar.gz";
-        sha256 = "1prm3b7w0i751rpvwglfkm2wkq24318k2ra8z6rkjsdkcvxa1i5j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-arm64.tar.gz";
+        sha256 = "1dqs6ygjpah10g47k4d3ms2cin5k76c2kbzgg86ipar3gcyn2lx9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-darwin-arm64.tar.gz";
-        sha256 = "10blif15dymdbdr40lazaiq8sncfp0gd9phahzcr2m9fh6rx4lpd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-arm64.tar.gz";
+        sha256 = "0f3nd7sy17sg522lxsc5ypsqpk8allw0wvzw7i6vc5781xa40xqi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-arm64.tar.gz";
-        sha256 = "07f30h74hyg3j9dj78a0al5v9i5n105y52yn362mlyvfh807blml";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "02hlp97294ds7cpj775lks5w05hxwv644y8v9pil5y6n2xllkrqg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-darwin-arm64.tar.gz";
-        sha256 = "05ifn20vn66k6sy69l3z1nmnjajfjazlq12cm1vz4apxa8yqxqn4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-arm64.tar.gz";
+        sha256 = "042hqdj5j8ib1l9r0h62m2x79x2iglz2fnvw6007absn6vi3qhsq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-darwin-arm64.tar.gz";
-        sha256 = "1v9xk41876gcsgggr3igjj8n8ff3zd5fvqbp81s7g180z1pgsrkk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-arm64.tar.gz";
+        sha256 = "0l0g5qgv5f6q0fij8mkvawdkm7h3wfqcg6mfskw6s0kwbmrbavpj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-arm64.tar.gz";
         sha256 = "0asaq5gg22jgq5x2bn89m9qn3jm7cmdhkypdl5barkmccvsbpfg0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-darwin-arm64.tar.gz";
-        sha256 = "1vnh7d4n7sd5bfms9vxgr87k9r1ahchmmfng0wml60jvssjbgiyf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-arm64.tar.gz";
+        sha256 = "0rmgha9nxabkdb7z3asi16zbslz69jxchlw2awjsv0dq1nyn4pvq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-darwin-arm64.tar.gz";
-        sha256 = "1q5474wibhb0y600mcbw1wa59dadcjj2l6p7ihrv6yvdals39408";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-arm64.tar.gz";
+        sha256 = "0zi7zzn7kpvmjfmaviyf1bzzrlilbgkz6dcm4fqa73qcbm1rq515";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-darwin-arm64.tar.gz";
-        sha256 = "0q4150r8c31c2bxa7hkc820bhrihxwxkjgrmn5wzgjpjbq3aw5ja";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-arm64.tar.gz";
+        sha256 = "0qz4cqxvwn5wzq3wh5cfwxh0ch22p7wi2wcvjgymlar6q57flk75";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-arm64.tar.gz";
         sha256 = "066w46l9dv02pnq59h632w1f7sjj8qqh6867cb33bbh6if681fpa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-darwin-arm64.tar.gz";
-        sha256 = "1glpfbinny7cm7bk3q5y7g7lyrzmhdlsfjyiaxqwpkwx2960p5iv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-arm64.tar.gz";
+        sha256 = "1x579nqa93yi68zwq0ax6a3rs06bxfqh5snfiiwflp5x68yvbnl0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-darwin-arm64.tar.gz";
-        sha256 = "0kcivc4bs720s7cdjphjcy1sss7pfsands37c8gikhiq0cnl39mb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-arm64.tar.gz";
+        sha256 = "0z2s6yy3m871p5zhvcvgb7v7v51mr1y0msm71pqbqr9jj6mdlvpj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
@@ -547,32 +547,32 @@
         sha256 = "16m568zmhfh9y0ynjs789yiawn22r23i1zz9xsrq1kfx8raq94an";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-darwin-arm64.tar.gz";
-        sha256 = "1g2qds6iciclawr343ps693ndnwjnss8pxfb5mxc69gf7qz8j03i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-arm64.tar.gz";
+        sha256 = "14ar812kqjccam04wyzzn46620vp4fym70fq1qzdawh7a5njzdab";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-arm64.tar.gz";
         sha256 = "04svj7zrhwfy5hjccy2dn4a5il793fncj0b83bvkrvh4qcs8c8as";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-darwin-arm64.tar.gz";
-        sha256 = "15vh197lvrbb5x08xxkdsgmjaqq9qvvcm4ncj5xjrm4jaczbpd2a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-arm64.tar.gz";
+        sha256 = "0dwx5bkp7n7jjikk1nr55brma4dg0gldpf7mfwc62dzc36lgfyny";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-arm64.tar.gz";
-        sha256 = "0wcxrcpijn6jzz0l5azfqvh31xzg5q5bvk39iifczimdvw37xnva";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz";
+        sha256 = "0caz4kgnnrmdr7n571xc7yqscac9jnjwwpjzbnvx4ib6a91wvsdn";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-arm64.tar.gz";
         sha256 = "0i0lhxzvxvgi695x9g1nnqrzlipsydjsc3xz8zd7n9438pav3cmc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-darwin-arm64.tar.gz";
-        sha256 = "10phh7s0d83z4n9plh77wqjjr8h5h3zmsjdxk7fj7d72p2awf111";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-arm64.tar.gz";
+        sha256 = "09r89pxzk18pb65vd47bp31sbilgbpbp7j3a30b39lfff3larwd5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-darwin-arm64.tar.gz";
-        sha256 = "08aigahkv3calhcdyws3pm1nac5mdxk81jbys8qxr3c9x3b8wgqz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-arm64.tar.gz";
+        sha256 = "0qj26bd23qgz8pibsvhsb1gzlk96jh2hkh3l9s23jvlvbxd53hql";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-arm64.tar.gz";
@@ -595,20 +595,20 @@
         sha256 = "08llqzf509ds0nbcllpq5k3zl6l656yxx0bx0z9pibd9iwzjy3wj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-darwin-arm64.tar.gz";
-        sha256 = "1vk4kdxxx2rk3rhqwgw97xyfl53kxzc209xx8wh1fd3wd676rc2q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-arm64.tar.gz";
+        sha256 = "1z3sc1ihwn3g02mwm99shizdzfgzsqxivmkwmw5p5r2gxaflz1gh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-darwin-arm64.tar.gz";
-        sha256 = "1gf4p1x0mxv2zjz266inkz468p125wn68ls08az7naf4qmh4j50w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-arm64.tar.gz";
+        sha256 = "15cn9gfc957zalmwl3xxjrpyxh50gkdkzph31akwfw1lil1y6ws5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-arm64.tar.gz";
-        sha256 = "17ngmwyh6z1g6x3lrd77pxa9wwwarh4mqdcq7aiwf57plx4a4l6j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-arm64.tar.gz";
+        sha256 = "1h4q8s8bzs2w8b0hvlaw9awa0m3kzw22z38avaryv85n4jvq6zn2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-arm64.tar.gz";
-        sha256 = "09agrp3sb7mzhwaja4rvz0p25rpsb2n4v3s2kyzcx3pyfyhigvfn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-arm64.tar.gz";
+        sha256 = "0cq1cvvmfki8v0861ylckpchlm5xzshirixz95d7kvdchr6j4ds7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-arm64.tar.gz";
@@ -623,8 +623,8 @@
         sha256 = "0xlxx5i1ph57vn5q00hv8s0d5vj5jy3hrrkm7qvmjf47d7flqqv8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-darwin-arm64.tar.gz";
-        sha256 = "0nqyk1jn1d1s5s5kdzfzpqzz44gy6rif0l781jk10fq9lw7bvwld";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-arm64.tar.gz";
+        sha256 = "039lsilaazm80p07l08skcmplz45qpiq122rnscc25cwkjnmv0lg";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-arm64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
index ef43a412482e7..88da6f0d33f43 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
@@ -8,7 +8,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/go/pulumi-language-go";
 
-  vendorHash = "sha256-6JnRPns+qOLXP2RBjsgq4v6nuLn3uX8jF4+uinr2Wt8";
+  vendorHash = "sha256-mBK9VEatuxeoZtXXOKdwj7wtZ/lo4Bi2h7N00zK6Hpw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
index dc1368afe2dff..f6d3cbec0c237 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
@@ -9,7 +9,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/nodejs/cmd/pulumi-language-nodejs";
 
-  vendorHash = "sha256-gbZoDUJCKb5wcLhJ7DRSGHT3Q0xUlptUeS6Wen4dle0";
+  vendorHash = "sha256-gEOVtAyn7v8tsRU11NgrD3swMFFBxOTIjMWCqSSvHlI=";
 
   postPatch = ''
     # Gives github.com/pulumi/pulumi/pkg/v3: is replaced in go.mod, but not marked as replaced in vendor/modules.txt etc
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
index 16610c2f46f67..6994f26b92c69 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
@@ -9,7 +9,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/python/cmd/pulumi-language-python";
 
-  vendorHash = "sha256-aLCgAcrgnNH/eYpGkr5Kj4xWjSgP76nz0YoV6998i9M=";
+  vendorHash = "sha256-upRXs8Bo0dpnANNetfXqkatip9bA+Fqhg72Cd60ltz8=";
 
   postPatch = ''
     substituteInPlace main_test.go \
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 3aa9e58985c54..1998eec1bfcdb 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -14,7 +14,7 @@
 
 buildGoModule rec {
   pname = "pulumi";
-  version = "3.90.1";
+  version = "3.93.0";
 
   # Used in pulumi-language packages, which inherit this prop
   sdkVendorHash = lib.fakeHash;
@@ -23,12 +23,12 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dAQpQapkdccRr/O8XT8dHrLwPvIPqeV8f3HS+GtK2GM=";
+    hash = "sha256-EaYYIbV7IItnmVfyEHtaAbAXvrZ8CXMjW+yNXOBIxg8=";
     # Some tests rely on checkout directory name
     name = "pulumi";
   };
 
-  vendorHash = "sha256-ijFYlHVH0axDpFoPGvthGVRt8UIUZDsWv3vAOe0U4H4";
+  vendorHash = "sha256-G+LspC6b2TvboMU6rKB0qrhhMNaLPVt/nUYZzkiVr/Q=";
 
   sourceRoot = "${src.name}/pkg";
 
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index 38fd3fc1e12fa..b27c95793ca29 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "scaleway-cli";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "scaleway";
     repo = "scaleway-cli";
     rev = "v${version}";
-    sha256 = "sha256-Q65X2lsR5jyWXxxmkvUA0yG4miD+KUSBGRFXvH4KBGY=";
+    sha256 = "sha256-wx/247ZNbdNdRiGLTfCig1JAjmXZX0aCHbOgelzMcyw=";
   };
 
-  vendorHash = "sha256-mZ2XFZS5tqtRUhdo6AOCY4xSaYgxUEy1OFbyzsbCEnU=";
+  vendorHash = "sha256-FftJsXM9sexRqBKrIeTdWh5Z0eYIK3acDNtptqqILD8=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/admin/simplotask/default.nix b/pkgs/tools/admin/simplotask/default.nix
index ba7241a753d8f..f8a4e4462c16f 100644
--- a/pkgs/tools/admin/simplotask/default.nix
+++ b/pkgs/tools/admin/simplotask/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "simplotask";
-  version = "1.11.5";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "umputun";
     repo = "spot";
     rev = "v${version}";
-    hash = "sha256-ZPmYAUfkWo+inD2CwzT4Hncsshk3Y2W6aldy/5v1sks=";
+    hash = "sha256-bbn6RLkAAlQeHsaMmb34FFrhaYvouf8rSOJpGdYE7Y4=";
   };
 
   vendorHash = null;
@@ -29,7 +29,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A tool for effortless deployment and configuration management";
-    homepage = "https://simplotask.com/";
+    homepage = "https://spot.umputun.dev/";
     maintainers = with maintainers; [ sikmir ];
     license = licenses.mit;
     mainProgram = "spot";
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 6a0d93483b77e..a385cd14da469 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -7,19 +7,19 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.47.0";
+  version = "0.48.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ahy6wiBoOwS3MIrAIg2gIk2gkmphkCJUYAUtqVydA2Q=";
+    hash = "sha256-NINEitFZm1d0foG1P+evLiXXNVNwzK3PMCicksDaBFc=";
   };
 
   # Hash mismatch on across Linux and Darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-qG4z52oVa3sgu8QKX8UbHsk/aSfacgZShX298WUu2oU=";
+  vendorHash = "sha256-EYcOOQBwzXu87q0EfJr7TUypGJW3qtosP3ARLssPOS8=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/audio/fmtoy/default.nix b/pkgs/tools/audio/fmtoy/default.nix
deleted file mode 100644
index 69a0f570d3bc0..0000000000000
--- a/pkgs/tools/audio/fmtoy/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, unstableGitUpdater
-, dos2unix
-, pkg-config
-, zlib
-, alsa-lib
-, libjack2
-}:
-
-stdenv.mkDerivation rec {
-  pname = "fmtoy";
-  version = "unstable-2022-12-23";
-
-  src = fetchFromGitHub {
-    owner = "vampirefrog";
-    repo = "fmtoy";
-    rev = "78b61b5e9bc0c6874962dc4040456581c9999b36";
-    sha256 = "r5zbr6TCxzDiQvDsLQu/QwNfem1K4Ahaji0yIz/2yl0=";
-  };
-
-  postPatch = ''
-    dos2unix Makefile
-    # Don't hardcode compilers
-    sed -i -e '/CC=/d' -e '/CXX=/d' Makefile
-  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-    # Remove Linux-only program & its dependencies
-    sed -i -e '/PROGS/ s/fmtoy_jack//' Makefile
-    substituteInPlace Makefile \
-      --replace '$(shell pkg-config alsa jack --cflags)' ""
-  '';
-
-  nativeBuildInputs = [
-    dos2unix
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    pkg-config
-  ];
-
-  buildInputs = [
-    zlib
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    alsa-lib
-    libjack2
-  ];
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    for prog in $(grep 'PROGS=' Makefile | cut -d= -f2-); do
-      install -Dm755 $prog $out/bin/$prog
-    done
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = unstableGitUpdater {
-    url = "https://github.com/vampirefrog/fmtoy.git";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/vampirefrog/fmtoy";
-    description = "Tools for FM voices for Yamaha YM chips (OPL, OPM and OPN series)";
-    # Unclear if gpl3Only or gpl3Plus
-    # https://github.com/vampirefrog/fmtoy/issues/1
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ OPNA2608 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/audio/mpdcron/fix-canonicalize-conflict-with-glibc.patch b/pkgs/tools/audio/mpdcron/fix-canonicalize-conflict-with-glibc.patch
new file mode 100644
index 0000000000000..dd89f89984985
--- /dev/null
+++ b/pkgs/tools/audio/mpdcron/fix-canonicalize-conflict-with-glibc.patch
@@ -0,0 +1,22 @@
+diff --git a/ext/nokogiri/xml_document.c b/ext/nokogiri/xml_document.c
+index 1d2119c8..c1c87713 100644
+--- a/ext/nokogiri/xml_document.c
++++ b/ext/nokogiri/xml_document.c
+@@ -492,7 +492,7 @@ static int block_caller(void * ctx, xmlNodePtr _node, xmlNodePtr _parent)
+  * The block must return a non-nil, non-false value if the +obj+ passed in
+  * should be included in the canonicalized document.
+  */
+-static VALUE canonicalize(int argc, VALUE* argv, VALUE self)
++static VALUE nokogiri_xml_document_canonicalize(int argc, VALUE* argv, VALUE self)
+ {
+   VALUE mode;
+   VALUE incl_ns;
+@@ -573,7 +573,7 @@ void init_xml_document()
+   rb_define_method(klass, "encoding", encoding, 0);
+   rb_define_method(klass, "encoding=", set_encoding, 1);
+   rb_define_method(klass, "version", version, 0);
+-  rb_define_method(klass, "canonicalize", canonicalize, -1);
++  rb_define_method(klass, "nokogiri_xml_document_canonicalize", canonicalize, -1);
+   rb_define_method(klass, "dup", duplicate_document, -1);
+   rb_define_method(klass, "url", url, 0);
+   rb_define_method(klass, "create_entity", create_entity, -1);
diff --git a/pkgs/tools/audio/mpdcron/gemset.nix b/pkgs/tools/audio/mpdcron/gemset.nix
index 836878c9d88ad..ee254bb6354b7 100644
--- a/pkgs/tools/audio/mpdcron/gemset.nix
+++ b/pkgs/tools/audio/mpdcron/gemset.nix
@@ -18,6 +18,19 @@
       sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
       type = "gem";
     };
+
+    dontBuild = false;
+    patches = [
+      # Fixes a naming conflict of nokogiri's `canonicalize` function
+      # with one defined in glibc. This has been fixed upstream in 2020
+      # in a much newer version (1.15.5), but through the divergence
+      # of the affected file, the commit isn't directly applicable to
+      # the one packaged here:
+      #
+      # https://github.com/sparklemotion/nokogiri/pull/2106/commits/7a74cdbe4538e964023e5a0fdca58d8af708b91e
+      # https://github.com/sparklemotion/nokogiri/issues/2105
+      ./fix-canonicalize-conflict-with-glibc.patch
+    ];
     version = "1.10.3";
   };
 }
diff --git a/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch b/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
deleted file mode 100644
index 9d2e46bb4e912..0000000000000
--- a/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/cpp/synthesize.hpp b/src/cpp/synthesize.hpp
-index ef61aef..4c7db7a 100644
---- a/synthesize.hpp
-+++ b/synthesize.hpp
-@@ -119,11 +119,11 @@ void synthesize(SynthesisConfig &synthesisConfig, ModelSession &session,
- 
-   // Clean up
-   for (size_t i = 0; i < outputTensors.size(); i++) {
--    Ort::OrtRelease(outputTensors[i].release());
-+    Ort::detail::OrtRelease(outputTensors[i].release());
-   }
- 
-   for (size_t i = 0; i < inputTensors.size(); i++) {
--    Ort::OrtRelease(inputTensors[i].release());
-+    Ort::detail::OrtRelease(inputTensors[i].release());
-   }
- }
- } // namespace larynx
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index 7bea67dc621bd..4b9951f2e2eaf 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
     "LIBDIR=$(out)/lib/bup"
   ];
 
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration";
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration -Wno-error=implicit-int";
 
   postInstall = ''
     wrapProgram $out/bin/bup \
diff --git a/pkgs/tools/backup/pgbackrest/default.nix b/pkgs/tools/backup/pgbackrest/default.nix
index f4c9fba781fa7..50ab894de89e9 100644
--- a/pkgs/tools/backup/pgbackrest/default.nix
+++ b/pkgs/tools/backup/pgbackrest/default.nix
@@ -13,13 +13,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "pgbackrest";
-  version = "2.48";
+  version = "2.49";
 
   src = fetchFromGitHub {
     owner = "pgbackrest";
     repo = "pgbackrest";
     rev = "release/${version}";
-    sha256 = "sha256-RaNF5ufQafZjE2MfOlFOXkot/JEJCQOuiuIYgJolkbU=";
+    sha256 = "sha256-i1IcBNrobhgu+B/ezKFknTiqiZe6LktBxf9YU8JS2Wc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/compression/bzip3/default.nix b/pkgs/tools/compression/bzip3/default.nix
index 6e21a352d06f1..135b253229ad1 100644
--- a/pkgs/tools/compression/bzip3/default.nix
+++ b/pkgs/tools/compression/bzip3/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bzip3";
-  version = "1.3.2";
+  version = "1.4.0";
 
   outputs = [ "bin" "dev" "out" ];
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "kspalaiologos";
     repo = "bzip3";
     rev = finalAttrs.version;
-    hash = "sha256-nSmKpOwlbxbUN2TJwsS2CFP5UV2ODOKXFHAUsCje7mc=";
+    hash = "sha256-UVCZWcjlueKSGYqdm7oiJ5i7/irkWv7IOyeCWT2r4sk=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix
index b2e4bafc3af13..5321982f189ea 100644
--- a/pkgs/tools/compression/ouch/default.nix
+++ b/pkgs/tools/compression/ouch/default.nix
@@ -7,20 +7,21 @@
 , xz
 , zlib
 , zstd
+, stdenv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ouch";
-  version = "0.4.2";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ouch-org";
     repo = "ouch";
     rev = version;
-    hash = "sha256-XJOv7JFUJulEkGCMLxGi9nldHaPM/CUzyENIC2TdtoE=";
+    hash = "sha256-WqV04GhX7lIla5BEdHRgRZsAWBSweb1HFAC9XZYqpYo=";
   };
 
-  cargoHash = "sha256-TfAAU46rH6Jq0MuLRjbaVMRjzoSLYNAWBnUcT8DyIVg=";
+  cargoHash = "sha256-A3YcgHed5mp7//FMoC/02KAU7Y+7YiG50eWE9tP5mF8=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
@@ -28,12 +29,19 @@ rustPlatform.buildRustPackage rec {
 
   buildFeatures = [ "zstd/pkg-config" ];
 
+  preCheck = ''
+    substituteInPlace tests/ui.rs \
+      --replace 'format!(r"/private{path}")' 'path.to_string()'
+  '';
+
   postInstall = ''
     installManPage artifacts/*.1
     installShellCompletion artifacts/ouch.{bash,fish} --zsh artifacts/_ouch
   '';
 
-  env.OUCH_ARTIFACTS_FOLDER = "artifacts";
+  env = { OUCH_ARTIFACTS_FOLDER = "artifacts"; } //
+    # Work around https://github.com/NixOS/nixpkgs/issues/166205.
+    lib.optionalAttrs stdenv.cc.isClang { NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; };
 
   meta = with lib; {
     description = "A command-line utility for easily compressing and decompressing files and directories";
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index 8614c03ed9066..f7d5ce61d81cf 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.17.5";
+  version = "1.17.6";
   pname = "bindfs";
 
   src = fetchurl {
     url = "https://bindfs.org/downloads/bindfs-${finalAttrs.version}.tar.gz";
-    hash = "sha256-Wj2xu7soSOtDqzapI8mVgx0xmAd/2J6VHbXQt55i2mQ=";
+    hash = "sha256-076zzGm7K2gCzFOViOkh/qlz7WGRsTPyAkcZMR0cwYs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/blobfuse/install-adls.patch b/pkgs/tools/filesystems/blobfuse/install-adls.patch
deleted file mode 100644
index e48f4d592f683..0000000000000
--- a/pkgs/tools/filesystems/blobfuse/install-adls.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/adls/CMakeLists.txt b/adls/CMakeLists.txt
-index 1fb7146..22e663a 100644
---- a/adls/CMakeLists.txt
-+++ b/adls/CMakeLists.txt
-@@ -50,3 +50,9 @@ if(BUILD_TESTS)
-   string(REGEX REPLACE "([^;]+)" "${CMAKE_CURRENT_SOURCE_DIR}/\\1" AZURE_STORAGE_ADLS_TEST_SOURCES "${AZURE_STORAGE_ADLS_TEST_SOURCES}")
-   set(AZURE_STORAGE_ADLS_TEST_SOURCES ${AZURE_STORAGE_ADLS_TEST_SOURCES} PARENT_SCOPE)
- endif()
-+
-+install(TARGETS azure-storage-adls
-+        ARCHIVE DESTINATION lib
-+        LIBRARY DESTINATION lib
-+        RUNTIME DESTINATION bin)
-+
diff --git a/pkgs/tools/filesystems/davfs2/isdir.patch b/pkgs/tools/filesystems/davfs2/isdir.patch
deleted file mode 100644
index ae69b4460f5a2..0000000000000
--- a/pkgs/tools/filesystems/davfs2/isdir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur davfs2-1.4.5-old/src/dav_coda.c davfs2-1.4.5-new/src/dav_coda.c
---- davfs2-1.4.5-old/src/dav_coda.c	2009-06-04 20:30:32.000000000 +0200
-+++ davfs2-1.4.5-new/src/dav_coda.c	2011-02-09 19:51:22.260530572 +0100
-@@ -52,6 +52,10 @@
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
-+#ifdef HAVE_SYS_STAT_H
-+#include <sys/stat.h>
-+#endif
-+
- 
- #include "defaults.h"
- #include "mount_davfs.h"
-diff -ur davfs2-1.4.5-old/src/dav_fuse.c davfs2-1.4.5-new/src/dav_fuse.c
---- davfs2-1.4.5-old/src/dav_fuse.c	2009-06-30 20:06:44.000000000 +0200
-+++ davfs2-1.4.5-new/src/dav_fuse.c	2011-02-09 19:52:23.938220524 +0100
-@@ -41,6 +41,12 @@
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
-+#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_STAT_H
-+#include <sys/stat.h>
-+#endif
- 
- #include "defaults.h"
- #include "mount_davfs.h"
diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix
index e5804f3785296..e48a7506db42c 100644
--- a/pkgs/tools/filesystems/dwarfs/default.nix
+++ b/pkgs/tools/filesystems/dwarfs/default.nix
@@ -26,14 +26,14 @@
 
 stdenv.mkDerivation rec {
   pname = "dwarfs";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "mhx";
     repo = "dwarfs";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-DcPRrATI2cpLZWAL+sSCoXvJ1R0O3yHqhlJW1aEpDpA=";
+    hash = "sha256-lFJW9rmUhiHyu+unGuONcgbsJg9h9MSvNyECmarRF/M=";
   };
 
   patches = [
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index fd4643025605a..a5ca282955f33 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, buildPackages, fetchurl, fetchpatch, pkg-config, libuuid, gettext, texinfo
-, fuse
+, withFuse ? stdenv.isLinux, fuse
 , shared ? !stdenv.hostPlatform.isStatic
 , e2fsprogs, runCommand
 }:
@@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
 
   # fuse2fs adds 14mb of dependencies
   outputs = [ "bin" "dev" "out" "man" "info" ]
-    ++ lib.optionals stdenv.isLinux [ "fuse2fs" ];
+    ++ lib.optionals withFuse [ "fuse2fs" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ pkg-config texinfo ];
   buildInputs = [ libuuid gettext ]
-    ++ lib.optionals stdenv.isLinux [ fuse ];
+    ++ lib.optionals withFuse [ fuse ];
 
   patches = [
     (fetchpatch { # avoid using missing __GNUC_PREREQ(X,Y)
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     if [ -f $out/lib/${pname}/e2scrub_all_cron ]; then
       mv $out/lib/${pname}/e2scrub_all_cron $bin/bin/
     fi
-  '' + lib.optionalString stdenv.isLinux ''
+  '' + lib.optionalString withFuse ''
     mkdir -p $fuse2fs/bin
     mv $bin/bin/fuse2fs $fuse2fs/bin/fuse2fs
   '';
diff --git a/pkgs/tools/filesystems/stratisd/Cargo.lock b/pkgs/tools/filesystems/stratisd/Cargo.lock
index d3554b3ce19fa..1406bc0aea3f1 100644
--- a/pkgs/tools/filesystems/stratisd/Cargo.lock
+++ b/pkgs/tools/filesystems/stratisd/Cargo.lock
@@ -1269,7 +1269,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
 name = "stratisd"
-version = "3.6.2"
+version = "3.6.3"
 dependencies = [
  "assert_cmd",
  "assert_matches",
@@ -1305,6 +1305,7 @@ dependencies = [
  "rand",
  "regex",
  "retry",
+ "semver",
  "serde",
  "serde_derive",
  "serde_json",
diff --git a/pkgs/tools/filesystems/stratisd/default.nix b/pkgs/tools/filesystems/stratisd/default.nix
index bd8d4e89dd011..cd6ee0884637d 100644
--- a/pkgs/tools/filesystems/stratisd/default.nix
+++ b/pkgs/tools/filesystems/stratisd/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stratisd";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
     repo = pname;
     rev = "refs/tags/stratisd-v${version}";
-    hash = "sha256-R6Bb6ep5T8ePmxwDTxQyeXcSpp2S1C2zqwxmX2Wt1L8=";
+    hash = "sha256-Wu3SkuHyMCBape+pMymQntXRtdMIlF5wz75kKxaZlms=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/tools/filesystems/stuffbin/default.nix b/pkgs/tools/filesystems/stuffbin/default.nix
index 2640ba8b85197..b955aa870c0fa 100644
--- a/pkgs/tools/filesystems/stuffbin/default.nix
+++ b/pkgs/tools/filesystems/stuffbin/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "stuffbin";
-  version = "1.1.0";
+  version = "1.2.0";
 
   vendorHash = null;
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "knadh";
     repo = "stuffbin";
     rev = "v${version}";
-    sha256 = "sha256-M72xNh7bKUMLzA+M8bJB++kJ5KCrkboQm1v8BasP3Yo=";
+    sha256 = "sha256-roXjE0t4iwrL2y/G2oePYL2AbTwd9uzQPtgdY14WeZk=";
   };
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
diff --git a/pkgs/tools/games/ajour/default.nix b/pkgs/tools/games/ajour/default.nix
index bf783c7f47767..0f90a794987e6 100644
--- a/pkgs/tools/games/ajour/default.nix
+++ b/pkgs/tools/games/ajour/default.nix
@@ -70,6 +70,12 @@ in rustPlatform.buildRustPackage rec {
     libxkbcommon
   ];
 
+  postInstall = ''
+    mkdir -p $out/share
+    cp -r resources/logo $out/share/icons
+    install -Dm444 resources/linux/ajour.desktop -t $out/share/applications
+  '';
+
   fixupPhase = ''
     patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}:$(patchelf --print-rpath $out/bin/ajour)" $out/bin/ajour
     wrapProgram $out/bin/ajour --prefix PATH ":" ${lib.makeBinPath [ zenity kdialog ]}
diff --git a/pkgs/tools/games/igir/default.nix b/pkgs/tools/games/igir/default.nix
new file mode 100644
index 0000000000000..51b8060d32dcd
--- /dev/null
+++ b/pkgs/tools/games/igir/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "igir";
+  version = "2.0.6";
+
+  src = fetchFromGitHub {
+    owner = "emmercm";
+    repo = "igir";
+    rev = "v${version}";
+    hash = "sha256-HIhk60I5VUMHBUp5EQGpE7RZ0KiYwVMl1jEX9zb5ttA=";
+  };
+
+  npmDepsHash = "sha256-P+H6q+jwfJFMb5qtOS3OCVUu9MtZ+Knaog0qyP3FpFo=";
+
+  # I have no clue why I have to do this
+  postPatch = ''
+    patchShebangs scripts/update-readme-help.sh
+  '';
+
+  meta = with lib; {
+    description = "A video game ROM collection manager to help filter, sort, patch, archive, and report on collections on any OS";
+    homepage = "https://igir.io";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ TheBrainScrambler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch b/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
index a01822c0366e9..38d5dcd3af16f 100644
--- a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
+++ b/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
@@ -1,14 +1,14 @@
-From ccbe5c0401d6965a6daaa0b7bb022f63908c8942 Mon Sep 17 00:00:00 2001
+From c9ca58262045b82537bd8284d426c91582cc7ed7 Mon Sep 17 00:00:00 2001
 From: Philipp Rintz <git@rintz.net>
-Date: Mon, 28 Aug 2023 19:19:41 +0200
+Date: Thu, 28 Sep 2023 21:22:18 +0200
 Subject: [PATCH] uncommited
 
 ---
- pocket_updater.csproj | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ pocket_updater.csproj | 1 +
+ 1 file changed, 1 insertion(+)
 
 diff --git a/pocket_updater.csproj b/pocket_updater.csproj
-index 11f604c..410bd47 100644
+index 30f77d5..ad6bf69 100644
 --- a/pocket_updater.csproj
 +++ b/pocket_updater.csproj
 @@ -12,6 +12,7 @@
@@ -19,13 +19,6 @@ index 11f604c..410bd47 100644
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="CommandLineParser" Version="2.9.1" />
-@@ -26,4 +27,4 @@
-   <ItemGroup>
-     <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
-   </ItemGroup>
--</Project>
-\ No newline at end of file
-+</Project>
 -- 
 2.40.1
 
diff --git a/pkgs/tools/games/pocket-updater-utility/default.nix b/pkgs/tools/games/pocket-updater-utility/default.nix
index 2d841c00c5168..3fb5acb27aae4 100644
--- a/pkgs/tools/games/pocket-updater-utility/default.nix
+++ b/pkgs/tools/games/pocket-updater-utility/default.nix
@@ -7,17 +7,18 @@
 , openssl ? pkgs.openssl
 , zlib ? pkgs.zlib
 , hostPlatform ? stdenv.hostPlatform
+, nix-update-script ? stdenv.nix-update-script
 }:
 
 buildDotnetModule rec {
   pname = "pocket-updater-utility";
-  version = "2.31.0";
+  version = "2.37.0";
 
   src = fetchFromGitHub {
     owner = "mattpannella";
     repo = "${pname}";
     rev = "${version}";
-    hash = "sha256-z90YITAW2Nv+Mq2q56As4PoHqGPEnvDUPH73bhz/xnw=";
+    hash = "sha256-J9FYmoUNkMhLWsRCf64qBDAJaP8AIWGcuH0UjWx90ls=";
   };
 
   buildInputs = [
@@ -48,6 +49,10 @@ buildDotnetModule rec {
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
   dotnet-runtime = dotnetCorePackages.runtime_6_0;
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/mattpannella/pocket-updater-utility";
     description = "Analogue Pocket Updater Utility";
diff --git a/pkgs/tools/games/pocket-updater-utility/deps.nix b/pkgs/tools/games/pocket-updater-utility/deps.nix
index 0e9f626012d95..eea7ea49accbd 100644
--- a/pkgs/tools/games/pocket-updater-utility/deps.nix
+++ b/pkgs/tools/games/pocket-updater-utility/deps.nix
@@ -3,6 +3,7 @@
 
 { fetchNuGet }: [
   (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
+  (fetchNuGet { pname = "ConsoleMenu-simple"; version = "2.6.1"; sha256 = "1vbi77schslq3nsardm4v8mrk0zi0phczwm2np1bl9z7c84h5cym"; })
   (fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 271d5a5754f9b..941e4cfec22c0 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "argyllcms";
-  version = "3.0.2";
+  version = "3.1.0";
 
   src = fetchzip {
     # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
     # while on me. It might be good to find a mirror
     url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
-    hash = "sha256-9+rUhZVwSzAM9Ko6FYyl2OVvsOFBaUCA1PJs9kaLWaE=";
+    hash = "sha256-IZScf+xpvvMt5YFlYQprg51cw2ztMdOrqcLm7l5uBhU=";
   };
 
   nativeBuildInputs = [ jam unzip ];
diff --git a/pkgs/tools/graphics/astc-encoder/default.nix b/pkgs/tools/graphics/astc-encoder/default.nix
index dd7ebc6f3b434..eb0222ba84483 100644
--- a/pkgs/tools/graphics/astc-encoder/default.nix
+++ b/pkgs/tools/graphics/astc-encoder/default.nix
@@ -29,13 +29,13 @@ with rec {
 
 stdenv.mkDerivation rec {
   pname = "astc-encoder";
-  version = "4.6.0";
+  version = "4.6.1";
 
   src = fetchFromGitHub {
     owner = "ARM-software";
     repo = "astc-encoder";
     rev = version;
-    sha256 = "sha256-COZO4LTrM/kZp85uNGwB9eaF27Xf7NVg4hcshaCJBwI=";
+    sha256 = "sha256-7/GBzqgXh8sU3Pl30eH9Mi24PPIqayQqNuhkMnn5Lq0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index fa4cb75d174b3..9332b25babfb1 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, cmake, imagemagick }:
+{ lib, stdenv, fetchurl, cmake, imagemagick, testers }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "cuneiform";
   version = "1.1.0";
 
@@ -30,10 +30,23 @@ stdenv.mkDerivation {
     rm cuneiform_src/Kern/hhh/tigerh/h/strings.h
   '';
 
+  # make the install path match the rpath
+  postInstall = ''
+    if [[ -d ''${!outputLib}/lib64 ]]; then
+      mv ''${!outputLib}/lib64 ''${!outputLib}/lib
+      ln -s lib ''${!outputLib}/lib64
+    fi
+  '';
+
   buildInputs = [ imagemagick ];
 
   nativeBuildInputs = [ cmake ];
 
+  passthru.tests = testers.testVersion {
+    package = finalAttrs.finalPackage;
+    command = "cuneiform";
+  };
+
   meta = with lib; {
     description = "Multi-language OCR system";
     homepage = "https://launchpad.net/cuneiform-linux";
@@ -42,4 +55,4 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.raskin ];
     mainProgram = "cuneiform";
   };
-}
+})
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index e42ca26cfb08b..5dc243ec2d7ec 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation (finalAttrs: {
   # Unpack subproject sources
   postUnpack = ''(
     cd "$sourceRoot/subprojects"
-    ${lib.optionalString finalAttrs.doCheck ''
+    ${lib.optionalString finalAttrs.finalPackage.doCheck ''
       cp -R --no-preserve=mode,ownership ${cmocka.src} cmocka
     ''}
     cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version}
@@ -146,7 +146,7 @@ stdenv.mkDerivation (finalAttrs: {
   mesonFlags = [
     "-Dwith_wayland=enabled"
     "-Duse_system_spdlog=enabled"
-    "-Dtests=${if finalAttrs.doCheck then "enabled" else "disabled"}"
+    "-Dtests=${if finalAttrs.finalPackage.doCheck then "enabled" else "disabled"}"
   ] ++ lib.optionals gamescopeSupport [
     "-Dmangoapp=true"
     "-Dmangoapp_layer=true"
@@ -215,7 +215,7 @@ stdenv.mkDerivation (finalAttrs: {
     addOpenGLRunpath "$out/lib/mangohud/libMangoHud.so"
   '' + lib.optionalString gamescopeSupport ''
     addOpenGLRunpath "$out/bin/mangoapp"
-  '' + lib.optionalString finalAttrs.doCheck ''
+  '' + lib.optionalString finalAttrs.finalPackage.doCheck ''
     # libcmocka.so is only used for tests
     rm "$out/lib/libcmocka.so"
   '';
diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix
index ce623e25db0e2..e870f53da82e8 100644
--- a/pkgs/tools/graphics/qrcode/default.nix
+++ b/pkgs/tools/graphics/qrcode/default.nix
@@ -2,17 +2,15 @@
 
 stdenv.mkDerivation {
   pname = "qrcode";
-  version = "unstable-2022-01-10";
+  version = "unstable-2023-12-02";
 
   src = fetchFromGitHub {
     owner = "qsantos";
     repo = "qrcode";
-    rev = "f4475866bbf963ad118db936060f606eedc224d5";
-    hash = "sha256-IbWYSAc0PvSWcxKaPUXDldGDCK/lPZjptepYtLppPmA=";
+    rev = "96fac69ad3e4f616ce75c0e3ef4ed0574cfab315";
+    hash = "sha256-Aesjys6FchB6qcLRWJNGfcEZRlO3stw3+IM8Xe2pF+Q=";
   };
 
-  env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
-
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index e148f51d86893..d590ac7d340c6 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, buildPackages
 , cmake
 , pkg-config
 , python3
@@ -72,12 +73,14 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = true;
 
+  env.PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER="${buildPackages.wayland-scanner}/bin/wayland-scanner";
+
   cmakeFlags = [
     # Don't build the mock ICD as it may get used instead of other drivers, if installed
     "-DBUILD_ICD=OFF"
     # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
     "-DCMAKE_INSTALL_RPATH=${libraryPath}"
-    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
+    "-DPKG_CONFIG_EXECUTABLE=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
     "-DGLSLANG_INSTALL_DIR=${glslang}"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
new file mode 100644
index 0000000000000..b8e34332e8ae8
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, fcitx5
+, gettext
+, go
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fcitx5-bamboo";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = "fcitx5-bamboo";
+    rev = finalAttrs.version;
+    hash = "sha256-EcpuZN2JU6HSuiQgBPBsoYftdHypiyFlrUxDBlVW6eo=";
+    fetchSubmodules = true;
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    gettext
+    go
+  ];
+
+  buildInputs = [
+    fcitx5
+    extra-cmake-modules
+  ];
+
+  preConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+  '';
+
+  meta = {
+    description = "Vietnamese input method engine support for Fcitx";
+    homepage = "https://github.com/fcitx/fcitx5-bamboo";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile b/pkgs/tools/inputmethods/fusuma/Gemfile
index deeb923579641..7cee961df4a06 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile
@@ -1,13 +1,15 @@
 source 'https://rubygems.org'
-gem "fusuma"
+gem "fusuma", ">=3.0.0"
 gem "fusuma-plugin-appmatcher"
 gem "fusuma-plugin-keypress"
 gem "fusuma-plugin-sendkey"
-gem "fusuma-plugin-tap"
 gem "fusuma-plugin-wmctrl"
 
 # I've not activated the following plugins for the reasons given below.
 
+# tap has been archived by upstream
+# gem "fusuma-plugin-tap"
+
 # touchscreen needs specific h/w support I don't have access to, so I can't confirm
 # if it's problem free.  A quick check didn't reveal any problems.
 #gem "fusuma-plugin-touchscreen"
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
index e6055e890d474..283d4c3fa5e1b 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
@@ -1,35 +1,32 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    fusuma (3.1.0)
-    fusuma-plugin-appmatcher (0.6.0)
-      fusuma (~> 3.0)
+    fusuma (3.3.1)
+    fusuma-plugin-appmatcher (0.6.1)
+      fusuma (>= 3.0)
       rexml
       ruby-dbus
-    fusuma-plugin-keypress (0.8.0)
-      fusuma (~> 2.0)
+    fusuma-plugin-keypress (0.9.0)
+      fusuma (>= 3.1)
     fusuma-plugin-sendkey (0.10.1)
-      fusuma (~> 3.1)
+      fusuma (>= 3.1)
       revdev
-    fusuma-plugin-tap (0.4.2)
-      fusuma (~> 2.0)
     fusuma-plugin-wmctrl (1.3.1)
-      fusuma (~> 3.1)
+      fusuma (>= 3.1)
     revdev (0.2.1)
-    rexml (3.2.5)
-    ruby-dbus (0.19.0)
+    rexml (3.2.6)
+    ruby-dbus (0.23.1)
       rexml
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  fusuma
+  fusuma (>= 3.0.0)
   fusuma-plugin-appmatcher
   fusuma-plugin-keypress
   fusuma-plugin-sendkey
-  fusuma-plugin-tap
   fusuma-plugin-wmctrl
 
 BUNDLED WITH
-   2.4.6
+   2.4.22
diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix
index a118e56687d4f..47d5f62159957 100644
--- a/pkgs/tools/inputmethods/fusuma/gemset.nix
+++ b/pkgs/tools/inputmethods/fusuma/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "163an1yv8lasbdmdjsj2a4byq1rljg7vf5z86ip33xpb9l133xmm";
+      sha256 = "13pbvmkjriq6myynv4gfismiqa9y7bfbvvrfcv25670l4zyiakhm";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.3.1";
   };
   fusuma-plugin-appmatcher = {
     dependencies = ["fusuma" "rexml" "ruby-dbus"];
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "28e8c59d5984a5723510f19868c37c363bec93e51f6cb7a573170cf7f5b9189f";
+      sha256 = "1qkir4a657znq0fnx91lik7bw5kyq54jwhiy2zrlplln78xs5yai";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.6.1";
   };
   fusuma-plugin-keypress = {
     dependencies = ["fusuma"];
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "045c1820d909307abb1d232c0cf26bbd88eafa0453004124c07b15fff5d680de";
+      sha256 = "0as95haqa943i740xs7czcaibb8lvy4gn6kr8nbldq20nly64bih";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.0";
   };
   fusuma-plugin-sendkey = {
     dependencies = ["fusuma" "revdev"];
@@ -37,29 +37,18 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "f792fec194b611d5d79b93b6694876292c43bee55635d9422f885b6509eeb765";
+      sha256 = "0rdpxq4nanw85x1djdanwnz46b19fr46kdlkkgbxa4dnjk0zx4pp";
       type = "gem";
     };
     version = "0.10.1";
   };
-  fusuma-plugin-tap = {
-    dependencies = ["fusuma"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jlw08iw20fpykjglzj4c2fy3z13zsnmi63zbfpn0gmvs05869ys";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
   fusuma-plugin-wmctrl = {
     dependencies = ["fusuma"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "067939b2d8b99cf8fce43be40341cda3de3371596a8a4fb24eb13ca84c0bffe5";
+      sha256 = "1rgz1d6ahg5i9sr4z2kab5qk7pm3rm0h7r1vwkygi75rv2r3jy86";
       type = "gem";
     };
     version = "1.3.1";
@@ -79,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   ruby-dbus = {
     dependencies = ["rexml"];
@@ -90,9 +79,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18zbsr03drpx7mknm927i2kz5b49s0lwmrbmsdknfa674z0xy6sm";
+      sha256 = "0hf9y5lbi1xcadc2fw87wlif75s1359c2wwlvvd0gag7cq5dm0pm";
       type = "gem";
     };
-    version = "0.19.0";
+    version = "0.23.1";
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8e072ffeb3b46..c5f02f4c8a227 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.17.3";
+  version = "1.17.4";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "sha256-rolnpjJojtL+0tUbZIQgL1IIkv+d3MoMWoedfEMpr8A=";
+    sha256 = "sha256-XljpwsDsdZkcnXimnN7BzPhOZdUmEEJbBM53Sv/9rIo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 52b50b7cbb414..3ca3eba56840c 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.24.4";
+  version = "2.24.5";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    hash = "sha256-f/KtHm8R1MJORWKmv487hm80MeX2l0Ybd1ZjKHGFq0A=";
+    hash = "sha256-GMkudpQ91Qwyj7wJIl7LTx+v+goCUccxJggCAvEtL30=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook gobject-introspection ];
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
index ff2a7363d90e1..04f8c7f74c151 100644
--- a/pkgs/tools/inputmethods/input-remapper/default.nix
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -33,21 +33,21 @@
 let
   maybeXmodmap = lib.optional withXmodmap xmodmap;
 in
-(buildPythonApplication {
+(buildPythonApplication rec {
   pname = "input-remapper";
-  version = "1.5.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
-    rev = "e31a1b2bc5d23fe13130afcc242063196335399f";
     owner = "sezanzeb";
     repo = "input-remapper";
-    hash = "sha256-KPQLgXSonuOgphagYN2JN+CMIpmjTIPUTCqOPDk0UYU=";
+    rev = version;
+    hash = "sha256-rwlVGF/cWSv6Bsvhrs6nMDQ8avYT80aasrhWyQv55/A=";
   };
 
   postPatch = ''
     # fix FHS paths
     substituteInPlace inputremapper/configs/data.py \
-      --replace "/usr/share/input-remapper"  "$out/usr/share/input-remapper"
+      --replace "/usr/share"  "$out/usr/share"
   '' + lib.optionalString withDebugLogLevel ''
     # if debugging
     substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)"  "logger.setLevel(logging.DEBUG)"
diff --git a/pkgs/tools/inputmethods/keymapper/default.nix b/pkgs/tools/inputmethods/keymapper/default.nix
index b9517722a04ed..e93acecb62bf8 100644
--- a/pkgs/tools/inputmethods/keymapper/default.nix
+++ b/pkgs/tools/inputmethods/keymapper/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "keymapper";
-  version = "2.7.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "houmain";
     repo = "keymapper";
     rev = finalAttrs.version;
-    hash = "sha256-QgrMkGja8kMhXUE/kvPMq66xv/9tE/mEphlaEyDPHnM=";
+    hash = "sha256-X2Qk/cAczdkteB+6kyURGjvm1Ryio6WHj3Ga2POosCA=";
   };
 
   # all the following must be in nativeBuildInputs
diff --git a/pkgs/tools/misc/cf-terraforming/default.nix b/pkgs/tools/misc/cf-terraforming/default.nix
index 916f349dc5088..e6858863fc4eb 100644
--- a/pkgs/tools/misc/cf-terraforming/default.nix
+++ b/pkgs/tools/misc/cf-terraforming/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cf-terraforming";
-  version = "0.15.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cf-terraforming";
     rev = "v${version}";
-    sha256 = "sha256-4thb0AFlSYQ90SkdyTSiFUc6vTRpt6KX2nH/thMuv4o=";
+    sha256 = "sha256-C046oNN+tGvVIakCGJKKQBNHX+L1naaMDIk7tNGNjeQ=";
   };
 
   vendorHash = "sha256-bfxF0qlEbZDczEuFhckqsG00/IzuM18ut/AQ9EMwdh0=";
diff --git a/pkgs/tools/misc/diffoci/default.nix b/pkgs/tools/misc/diffoci/default.nix
index df7cc71140aab..3c7de46e01e86 100644
--- a/pkgs/tools/misc/diffoci/default.nix
+++ b/pkgs/tools/misc/diffoci/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "diffoci";
-  version = "0.1.2";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "reproducible-containers";
     repo = "diffoci";
     rev = "v${version}";
-    hash = "sha256-Rrwwo1OCE2gn6MGt5XVddb8bJtoN7iAtxzr2MxyHcwk=";
+    hash = "sha256-BTggky5behIxbVxyDZ09uobw0FBopboE9uUBEVgCgR4=";
   };
 
-  vendorHash = "sha256-18rsa91PiqZv70EK3K6K1l6N2mIpoVpkX29amKCo5cg=";
+  vendorHash = "sha256-4C35LBxSm6EkcOznQY1hT2vX9bwFfps/q76VqqPKBfI=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 6ed80c30b740b..f27acd85d9d4e 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -7,13 +7,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.20.3";
+  version = "2.21.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    hash = "sha256-9Qt6/LH30nz4oyP+kXhExzKpPcHRRGYkG43Mjl/ZBoc=";
+    hash = "sha256-szpM3PxIMcKJaCinzZltneCSJCDkPGvXOaGqa9hx9IQ=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     postFetch = ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoHash = "sha256-xBuc+nh3koLn4/wgrvVjWVc9mjX/6ElAN4n9dWxs5fs=";
+  cargoHash = "sha256-/10trywiFX0UvePxlWek1uXTBRVk4saE+n1RJipinaw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Foundation
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 6ac1f24a20108..2b683e73ed0f8 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -16,14 +16,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2023.11.4";
+  version = "2023.11.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-KIDqIf9aJP5IS+qE0Gy5j3F2DGz/WGbN4Wf9SGzgnzA=";
+    hash = "sha256-9LqZlhCt+7p6tnSHFhbnUzkEOJQDsg/Pd/hgd/Il0ZQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/fastfetch/default.nix b/pkgs/tools/misc/fastfetch/default.nix
index adab3390de1d2..53be29dcfa3c1 100644
--- a/pkgs/tools/misc/fastfetch/default.nix
+++ b/pkgs/tools/misc/fastfetch/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.2.3";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     rev = finalAttrs.version;
-    hash = "sha256-JaD0R1vfHoWMhipMtTW0dlggR7RbD2evHfHrjoZJBmk=";
+    hash = "sha256-jZeecymhjbXYE05zRF2dWHBS3hhRm1BmLB906YAlp+A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
index 074088f3f19ec..7abb37592c6ad 100644
--- a/pkgs/tools/misc/fend/default.nix
+++ b/pkgs/tools/misc/fend/default.nix
@@ -8,6 +8,10 @@
 , copyDesktopItems
 , makeDesktopItem
 , nix-update-script
+, testers
+, writeText
+, runCommand
+, fend
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -58,11 +62,26 @@ rustPlatform.buildRustPackage rec {
     })
   ];
 
-  passthru.updateScript = nix-update-script { };
+  passthru = {
+    updateScript = nix-update-script { };
+    tests = {
+      version = testers.testVersion { package = fend; };
+      units = testers.testEqualContents {
+        assertion = "fend does simple math and unit conversions";
+        expected = writeText "expected" ''
+          36 kph
+        '';
+        actual = runCommand "actual" { } ''
+          ${lib.getExe fend} '(100 meters) / (10 seconds) to kph' > $out
+        '';
+      };
+    };
+  };
 
   meta = with lib; {
     description = "Arbitrary-precision unit-aware calculator";
     homepage = "https://github.com/printfn/fend";
+    changelog = "https://github.com/printfn/fend/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ djanatyn liff ];
     mainProgram = "fend";
diff --git a/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch b/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch
deleted file mode 100644
index 3d4f674ff2c41..0000000000000
--- a/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 95d86c080a559d9c9f0498fb93d43d3fef377080 Mon Sep 17 00:00:00 2001
-From: Jack Leightcap <jack@leightcap.com>
-Date: Sat, 13 May 2023 17:28:54 -0400
-Subject: [PATCH] Relax Amaranth git dependency
-
-Signed-off-by: Jack Leightcap <jack@leightcap.com>
----
- software/pyproject.toml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/software/pyproject.toml b/software/pyproject.toml
-index 6d1e2f1..6dfcc9e 100644
---- a/software/pyproject.toml
-+++ b/software/pyproject.toml
-@@ -20,8 +20,8 @@ classifiers = [
- ]
- 
- dependencies = [
--  "amaranth @ git+https://github.com/amaranth-lang/amaranth.git",
--  "fx2>=0.11",
-+  "amaranth",
-+  "fx2",
-   "libusb1>=1.8.1",
-   "aiohttp~=3.8",
-   "pyvcd",
--- 
-2.38.4
-
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index f355d30290677..ac13cb69370ad 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.8";
+  version = "1.8.1";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nZqjC6PEpD/md+mWRhuro2hAxVAGiUhETfZMVHlfP5o=";
+    sha256 = "sha256-GTW7ECSHjFBw8O2NewvMgC+3aheusupDlSBTxZriHHc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/gti/default.nix b/pkgs/tools/misc/gti/default.nix
index b60abc97e92c7..9e396f33e6a1e 100644
--- a/pkgs/tools/misc/gti/default.nix
+++ b/pkgs/tools/misc/gti/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gti";
-  version = "1.8.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "rwos";
     repo = "gti";
     rev = "v${version}";
-    sha256 = "sha256-x6ncvnZPPrVcQYwtwkSenW+ri0L6FpuDa7U7uYUqiyk=";
+    sha256 = "sha256-DUDCFcaB38Xkp3lLfEhjGC0j430dphXFBVhGzm7/Bp0=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/hdf5/bin-mv.patch b/pkgs/tools/misc/hdf5/bin-mv.patch
deleted file mode 100644
index 45649977e5669..0000000000000
--- a/pkgs/tools/misc/hdf5/bin-mv.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -rc hdf5-1.8.5/configure hdf5-1.8.5-new/configure
-*** hdf5-1.8.5/configure	2010-06-04 20:26:04.000000000 +0200
---- hdf5-1.8.5-new/configure	2010-08-02 10:30:26.000000000 +0200
-***************
-*** 30587,30598 ****
-    sed 's/#define /#define H5_/' <src/H5config.h |\
-      sed 's/#undef /#undef H5_/' >pubconf
-    if test ! -f src/H5pubconf.h; then
-!     /bin/mv -f pubconf src/H5pubconf.h
-    elif (diff pubconf src/H5pubconf.h >/dev/null); then
-      rm -f pubconf
-      echo "src/H5pubconf.h is unchanged"
-    else
-!     /bin/mv -f pubconf src/H5pubconf.h
-    fi
-    echo "Post process src/libhdf5.settings"
-    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
---- 30587,30598 ----
-    sed 's/#define /#define H5_/' <src/H5config.h |\
-      sed 's/#undef /#undef H5_/' >pubconf
-    if test ! -f src/H5pubconf.h; then
-!     mv -f pubconf src/H5pubconf.h
-    elif (diff pubconf src/H5pubconf.h >/dev/null); then
-      rm -f pubconf
-      echo "src/H5pubconf.h is unchanged"
-    else
-!     mv -f pubconf src/H5pubconf.h
-    fi
-    echo "Post process src/libhdf5.settings"
-    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
diff --git a/pkgs/tools/misc/hyfetch/default.nix b/pkgs/tools/misc/hyfetch/default.nix
index 3621ad675b242..2e906541bda13 100644
--- a/pkgs/tools/misc/hyfetch/default.nix
+++ b/pkgs/tools/misc/hyfetch/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "hyfetch";
-  version = "1.4.10";
+  version = "1.4.11";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hykilpikonna";
     repo = "hyfetch";
     rev = "refs/tags/${version}";
-    hash = "sha256-B8FAMXot+QV7Q2bJuTsRsrxHSr/2f+WNTKrZqFXewdE=";
+    hash = "sha256-xzN/tbS5BUvpKeozesE99gNp3NRDjvf4Qx7BHLc4svo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index f99789dfc1c10..1f494dea84387 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "14.2.0";
+  version = "15.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U4eqIzvYzUfwprVpPHV/OFPKiBXK4/5z2p8kknX2iME=";
+    sha256 = "sha256-DpWYZa6Oe+Lkzga7Fol/8bTujb58wTFDpNJTaDEWBx8=";
   };
 
-  cargoSha256 = "sha256-g63Kfi4xJZO/+fq6eK2iB1dUGoSGWIIRaJr8BWO/txM=";
+  cargoHash = "sha256-+3cpAL+8X8L833kmZapUoGSwHOj+hnDN6oDNJZ6y24Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index 6bcbd8a9ac410..c4508d4424786 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.18.4";
+  version = "1.18.5";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zF+Hnsmw5TJCYYoItrwcnyh3NSmKrV9JoTPwTMVyw7Y=";
+    hash = "sha256-3s95PjuHIQ0qeTtVOXqsrWFrCeuUUaaA9Lgab4ATetg=";
   };
 
   vendorHash = "sha256-x6BeU6JDayCOi8T8+NvXZe59QmTaO9RAYwSiFlDPL/c=";
diff --git a/pkgs/tools/misc/nb/default.nix b/pkgs/tools/misc/nb/default.nix
index 56513d35c7791..d9d7110e77ce4 100644
--- a/pkgs/tools/misc/nb/default.nix
+++ b/pkgs/tools/misc/nb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nb";
-  version = "7.8.0";
+  version = "7.9.0";
 
   src = fetchFromGitHub {
     owner = "xwmx";
     repo = "nb";
     rev = version;
-    sha256 = "sha256-8TOEPPtwxbTlm5nGMjOmH8lvsDu0vNgvxaUOgKS1l/g=";
+    sha256 = "sha256-5pKRZfLEFoB9abQdUTETMJhhgDFqlH/URipUv3cLnxQ=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 092d591b88a82..b078361bf0574 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.90.0";
+  version = "0.90.1";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-FL0lNlofXHTdn5o6g4FHNYauzJkjCKTrspSXP9slp/A=";
+    hash = "sha256-JKcYvJtuN38VrhcVFHRc0CKTH+x8HShs1/Ui0iN1jNo=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-6Vr4Nk4mp505H3oAznAQ2mJl6qYFbHyO5MqgYeinnf8=";
+  vendorHash = "sha256-vaWOUc4CwiCDqe1szrBcgbHXQH/OkGTN0iqh+3CKPLQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index cf0ab2776ba57..be78d6c026004 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gCzdU7QWcG6lhE8Ebdz7ZYwbSQa5+UDHmserxQmBymg=";
+    sha256 = "sha256-i6bTG7XvBwVuOIeeBwZxr7z+wOtBqH+ZUEULu4MbCh0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index c8485d4a2fa45..dcb4065a02c0e 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -119,6 +119,10 @@ in stdenv.mkDerivation rec {
   makeFlags = [
     "installed_testdir=${placeholder "installedTests"}/libexec/installed-tests/libostree"
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/libostree"
+    # Setting this flag was required as workaround for a clang bug, but seems not relevant anymore.
+    # https://github.com/ostreedev/ostree/commit/fd8795f3874d623db7a82bec56904648fe2c1eb7
+    # See also Makefile-libostree.am
+    "INTROSPECTION_SCANNER_ENV="
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/panoply/default.nix b/pkgs/tools/misc/panoply/default.nix
index 5a333a38a4bcb..0f6471c322c70 100644
--- a/pkgs/tools/misc/panoply/default.nix
+++ b/pkgs/tools/misc/panoply/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "panoply";
-  version = "5.2.10";
+  version = "5.3.0";
 
   src = fetchurl {
     url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
-    sha256 = "sha256-en/CAmk9Rj2MrUF5vfsZu1fUDJFaAifL7PYgUT3Uu8k=";
+    sha256 = "sha256-UU+CVLUSysDercLvPzDwO0f+w0DNgHmQ/JrC/MJ7Qtg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index a2aee41eff758..8a724c0b8698f 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20231022";
+  version = "20231122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-k/K5TxhQeYpLXdoiva6G2ramVl41JYYOCORvJWPzJow=";
+    sha256 = "sha256-giyc+KoXFSCthn2xPvE0Jmab0WTIG5AKPby1VmEb6uI=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/tools/misc/pls/default.nix b/pkgs/tools/misc/pls/default.nix
deleted file mode 100644
index c6d6d2e52835f..0000000000000
--- a/pkgs/tools/misc/pls/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, python3, fetchFromGitHub }:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "pls";
-  version = "5.4.0";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "dhruvkb";
-    repo = "pls";
-    rev = version;
-    sha256 = "sha256-h93Kz+ETdHfnzypa8JjMvbzA1o/KS1UuTG8/vhEt7Vo=";
-  };
-
-  nativeBuildInputs = [ python3.pkgs.poetry-core ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    pyyaml
-    requests
-    rich
-  ];
-
-  nativeCheckInputs = with python3.pkgs; [
-    freezegun
-    jsonschema
-    pytestCheckHook
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'rich = "^12.5.1"' 'rich = "*"' \
-  '';
-
-  pytestFlagsArray = [ "tests/" "--ignore=tests/e2e" ];
-
-  pythonImportsCheck = [ "pls" ];
-
-  meta = with lib; {
-    homepage = "https://dhruvkb.github.io/pls/";
-    description = "Prettier and powerful ls";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ arjan-s ];
-  };
-}
diff --git a/pkgs/tools/misc/rkvm/default.nix b/pkgs/tools/misc/rkvm/default.nix
index 688c774209c6b..bf6ef6e482d00 100644
--- a/pkgs/tools/misc/rkvm/default.nix
+++ b/pkgs/tools/misc/rkvm/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rkvm";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "htrefil";
     repo = pname;
     rev = version;
-    hash = "sha256-3IdwBMN+VZBrcoT5vF7pF6xoNWZBn4k/jRJqADlpM7k=";
+    hash = "sha256-bWDVc5pWc5gtwGF3vwUgjDhqZP7E79nteKiuAEEbw6E=";
   };
 
-  cargoHash = "sha256-/SZKJI4gMkike2m8UVzbwfMqj697A8zbJEKAnnbSx3s=";
+  cargoHash = "sha256-FUaycVxW7QJ5gTZ/8bWjqSaMSepRF5iqlBNJLaDRNxc=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook makeWrapper ];
   buildInputs = [ libevdev ];
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 865bd0eb8077f..dd50b9a040892 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.10.6";
+  version = "0.10.7";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "sha256-tKxjzJ69wr48QQEgYLp7G6aOqxs9CCUiTHV1kaRCiHM=";
+    sha256 = "sha256-ELhWVimZWKaHL/PK7HtALKCTmzjcZN2ScDS0yOX3lVs=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/misc/sshx/default.nix b/pkgs/tools/misc/sshx/default.nix
new file mode 100644
index 0000000000000..9ae65dcaee1ce
--- /dev/null
+++ b/pkgs/tools/misc/sshx/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, callPackage
+, rustPlatform
+, fetchFromGitHub
+, protobuf
+, darwin
+, stdenv
+, buildNpmPackage
+}:
+let
+  version = "unstable-2023-11-23";
+
+  src = fetchFromGitHub {
+    owner = "ekzhang";
+    repo = "sshx";
+    rev = "2677f7e1fa3b369132cc7f27f6028a04b92ba5cf";
+    hash = "sha256-9fo8hNUzJr4gse0J2tw7j+alqE82+y8McADzTkxryWk=";
+  };
+
+  mkSshxPackage = { pname, cargoHash, ... }@args:
+    rustPlatform.buildRustPackage (rec {
+      inherit
+        pname
+        version
+        src
+        cargoHash;
+
+      nativeBuildInputs = [ protobuf ];
+      buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+
+      cargoBuildFlags = [ "--package" pname ];
+      cargoTestFlags = cargoBuildFlags;
+
+      meta = {
+        description = "Fast, collaborative live terminal sharing over the web";
+        homepage = "https://github.com/ekzhang/sshx";
+        license = lib.licenses.mit;
+        maintainers = with lib.maintainers; [ pinpox kranzes ];
+        mainProgram = pname;
+      };
+    } // args);
+in
+{
+  sshx = mkSshxPackage {
+    pname = "sshx";
+    cargoHash = "sha256-dA5Aen/qANW8si75pj/RsBknvOo3KDyU5UISAmmcfRE=";
+  };
+
+  sshx-server = mkSshxPackage rec {
+    pname = "sshx-server";
+    cargoHash = "sha256-1GRWCMXsOzqvORgtwfuywV4wLyX3r4nURhM3Dl5V9Ss=";
+
+    postPatch = ''
+      substituteInPlace crates/sshx-server/src/web.rs \
+        --replace 'ServeDir::new("build")' 'ServeDir::new("${passthru.web.outPath}")' \
+        --replace 'ServeFile::new("build/spa.html")' 'ServeFile::new("${passthru.web.outPath}/spa.html")'
+    '';
+
+    passthru.web = buildNpmPackage {
+      pname = "sshx-web";
+
+      inherit
+        version
+        src;
+
+      postPatch = ''
+        substituteInPlace vite.config.ts \
+          --replace 'execSync("git rev-parse --short HEAD").toString().trim()' '"${src.rev}"'
+      '';
+
+      npmDepsHash = "sha256-bKePCxo6+n0EG+4tbbMimPedJ0Hu1O8yZsgspmhobOs=";
+
+      installPhase = ''
+        mkdir -p "$out"
+        cp -r build/* "$out"
+      '';
+    };
+  };
+}
diff --git a/pkgs/tools/misc/svu/default.nix b/pkgs/tools/misc/svu/default.nix
index 352f4d0ab721e..0fafaffc153b4 100644
--- a/pkgs/tools/misc/svu/default.nix
+++ b/pkgs/tools/misc/svu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "svu";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "caarlos0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FmSBh2XxwxmIbX2TILnk+YUYbMQQbOb89uvnpl4b+7Y=";
+    sha256 = "sha256-MztFramrNqxYmdTRf857HOC7H66dLvezG6LL9njxWUs=";
   };
 
   vendorHash = "sha256-+e1oL08KvBSNaRepGR2SBBrEDJaGxl5V9rOBysGEfQs=";
diff --git a/pkgs/servers/teleport/11/Cargo.lock b/pkgs/tools/misc/vrc-get/Cargo.lock
index 582ffb9b4c12a..4eafab4798a14 100644
--- a/pkgs/servers/teleport/11/Cargo.lock
+++ b/pkgs/tools/misc/vrc-get/Cargo.lock
@@ -3,6 +3,21 @@
 version = 3
 
 [[package]]
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
+[[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"
@@ -12,62 +27,79 @@ dependencies = [
 ]
 
 [[package]]
-name = "asn1-rs"
-version = "0.5.1"
+name = "anstream"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4"
+checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
 dependencies = [
- "asn1-rs-derive",
- "asn1-rs-impl",
- "displaydoc",
- "nom",
- "num-traits",
- "rusticata-macros",
- "thiserror",
- "time",
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
 ]
 
 [[package]]
-name = "asn1-rs-derive"
-version = "0.4.0"
+name = "anstyle"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c"
+checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "synstructure",
+ "utf8parse",
 ]
 
 [[package]]
-name = "asn1-rs-impl"
-version = "0.1.0"
+name = "anstyle-query"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "atomic-polyfill"
-version = "0.1.11"
+name = "anstyle-wincon"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
+checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
 dependencies = [
- "critical-section",
+ "anstyle",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "atty"
-version = "0.2.14"
+name = "async-compression"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "bb42b2197bf15ccb092b62c74515dbd8b86d0effd934795f6687c93b6e679a2c"
 dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
+ "deflate64",
+ "flate2",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async_zip"
+version = "0.0.15"
+source = "git+https://github.com/Majored/rs-async-zip.git?rev=a58024e#a58024eee84d3d50e105de79bd6210f832667984"
+dependencies = [
+ "async-compression",
+ "crc32fast",
+ "futures-util",
+ "pin-project",
+ "thiserror",
+ "tokio",
+ "tokio-util",
 ]
 
 [[package]]
@@ -77,35 +109,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
-name = "base64"
-version = "0.13.1"
+name = "backtrace"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64ct"
-version = "1.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide 0.7.1",
+ "object",
+ "rustc-demangle",
+]
 
 [[package]]
-name = "bindgen"
-version = "0.60.1"
+name = "base64"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
-dependencies = [
- "bitflags",
- "cexpr",
- "clang-sys",
- "lazy_static",
- "lazycell",
- "peeking_take_while",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash",
- "shlex",
-]
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
 
 [[package]]
 name = "bitflags"
@@ -115,368 +137,343 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "block-buffer"
-version = "0.7.3"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
 dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
+ "generic-array",
 ]
 
 [[package]]
-name = "block-padding"
-version = "0.1.5"
+name = "bumpalo"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
-name = "boring"
-version = "2.1.0"
+name = "bytes"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c713ad6d8d7a681a43870ac37b89efd2a08015ceb4b256d82707509c1f0b6bb"
-dependencies = [
- "bitflags",
- "boring-sys",
- "foreign-types",
- "lazy_static",
- "libc",
-]
+checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
 
 [[package]]
-name = "boring-sys"
-version = "2.1.0"
+name = "cc"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7663d3069437a5ccdb2b5f4f481c8b80446daea10fa8503844e89ac65fcdc363"
-dependencies = [
- "bindgen",
- "cmake",
-]
+checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
 
 [[package]]
-name = "bufstream"
-version = "0.1.4"
+name = "cfg-if"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "bumpalo"
-version = "3.11.1"
+name = "clap"
+version = "4.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
 
 [[package]]
-name = "byte-tools"
-version = "0.3.1"
+name = "clap_builder"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
 
 [[package]]
-name = "byteorder"
-version = "1.4.3"
+name = "clap_complete"
+version = "4.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "4110a1e6af615a9e6d0a36f805d5c99099f8bab9b8042f5bc1fa220a4a89e36f"
+dependencies = [
+ "clap",
+]
 
 [[package]]
-name = "cbindgen"
-version = "0.24.3"
+name = "clap_derive"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6358dedf60f4d9b8db43ad187391afe959746101346fe51bb978126bec61dfb"
+checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
 dependencies = [
- "clap",
  "heck",
- "indexmap",
- "log",
  "proc-macro2",
  "quote",
- "serde",
- "serde_json",
- "syn",
- "tempfile",
- "toml",
+ "syn 2.0.29",
 ]
 
 [[package]]
-name = "cc"
-version = "1.0.77"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
-
-[[package]]
-name = "cexpr"
-version = "0.6.0"
+name = "clap_lex"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
-dependencies = [
- "nom",
-]
+checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
 
 [[package]]
-name = "cfg-if"
+name = "colorchoice"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
-name = "cipher"
-version = "0.4.3"
+name = "core-foundation"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
- "crypto-common",
- "inout",
+ "core-foundation-sys",
+ "libc",
 ]
 
 [[package]]
-name = "clang-sys"
-version = "1.4.0"
+name = "core-foundation-sys"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
-dependencies = [
- "glob",
- "libc",
- "libloading",
-]
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
 
 [[package]]
-name = "clap"
-version = "3.2.23"
+name = "cpufeatures"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
 dependencies = [
- "atty",
- "bitflags",
- "clap_lex",
- "indexmap",
- "strsim",
- "termcolor",
- "textwrap",
+ "libc",
 ]
 
 [[package]]
-name = "clap_lex"
-version = "0.2.4"
+name = "crc32fast"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
- "os_str_bytes",
+ "cfg-if",
 ]
 
 [[package]]
-name = "cmake"
-version = "0.1.49"
+name = "crypto-common"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
- "cc",
+ "generic-array",
+ "typenum",
 ]
 
 [[package]]
-name = "const-oid"
-version = "0.7.1"
+name = "deflate64"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+checksum = "30dc5bb425a582de72bb57130320aac133893ea85f6151f79bd9aa9067114f60"
 
 [[package]]
-name = "const-oid"
-version = "0.9.1"
+name = "digest"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
 
 [[package]]
-name = "critical-section"
-version = "1.1.1"
+name = "either"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
 
 [[package]]
-name = "crypto-bigint"
-version = "0.3.2"
+name = "encoding_rs"
+version = "0.8.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
 dependencies = [
- "generic-array 0.14.6",
- "subtle 2.4.1",
+ "cfg-if",
 ]
 
 [[package]]
-name = "crypto-common"
-version = "0.1.6"
+name = "env_logger"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
 dependencies = [
- "generic-array 0.14.6",
- "typenum",
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
 ]
 
 [[package]]
-name = "crypto-mac"
-version = "0.7.0"
+name = "equivalent"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
-dependencies = [
- "generic-array 0.12.4",
- "subtle 1.0.0",
-]
+checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
 
 [[package]]
-name = "data-encoding"
-version = "2.3.2"
+name = "errno"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
+checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.45.0",
+]
 
 [[package]]
-name = "delog"
-version = "0.1.6"
+name = "errno-dragonfly"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd67f90cc14e0a91cf693141453cccf2b74db9d59c40f6be18b79169fe77dfd"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
 dependencies = [
- "log",
+ "cc",
+ "libc",
 ]
 
 [[package]]
-name = "der"
-version = "0.5.1"
+name = "fastrand"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
 dependencies = [
- "const-oid 0.7.1",
- "crypto-bigint",
- "pem-rfc7468 0.3.1",
+ "instant",
 ]
 
 [[package]]
-name = "der"
-version = "0.6.0"
+name = "flate2"
+version = "1.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
 dependencies = [
- "const-oid 0.9.1",
- "pem-rfc7468 0.6.0",
- "zeroize",
+ "crc32fast",
+ "miniz_oxide 0.6.2",
 ]
 
 [[package]]
-name = "der-parser"
-version = "8.1.0"
+name = "fnv"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1"
-dependencies = [
- "asn1-rs",
- "displaydoc",
- "nom",
- "num-bigint 0.4.3",
- "num-traits",
- "rusticata-macros",
-]
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "derivative"
-version = "2.2.0"
+name = "foreign-types"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "foreign-types-shared",
 ]
 
 [[package]]
-name = "digest"
-version = "0.8.1"
+name = "foreign-types-shared"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.4",
-]
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
-name = "digest"
-version = "0.10.6"
+name = "form_urlencoded"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "const-oid 0.9.1",
- "crypto-common",
+ "percent-encoding",
 ]
 
 [[package]]
-name = "displaydoc"
-version = "0.2.3"
+name = "futures"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886"
+checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
 ]
 
 [[package]]
-name = "env_logger"
-version = "0.9.1"
+name = "futures-channel"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
 dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
+ "futures-core",
+ "futures-sink",
 ]
 
 [[package]]
-name = "fake-simd"
-version = "0.1.2"
+name = "futures-core"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
 
 [[package]]
-name = "fastrand"
-version = "1.8.0"
+name = "futures-executor"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
 dependencies = [
- "instant",
+ "futures-core",
+ "futures-task",
+ "futures-util",
 ]
 
 [[package]]
-name = "foreign-types"
-version = "0.5.0"
+name = "futures-io"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
-dependencies = [
- "foreign-types-macros",
- "foreign-types-shared",
-]
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
 
 [[package]]
-name = "foreign-types-macros"
-version = "0.2.2"
+name = "futures-macro"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8469d0d40519bc608ec6863f1cc88f3f1deee15913f2f3b3e573d81ed38cccc"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.29",
 ]
 
 [[package]]
-name = "foreign-types-shared"
-version = "0.3.1"
+name = "futures-sink"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
 
 [[package]]
-name = "generic-array"
-version = "0.12.4"
+name = "futures-task"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+[[package]]
+name = "futures-util"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
 dependencies = [
- "typenum",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
 ]
 
 [[package]]
@@ -490,27 +487,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "gethostname"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[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"
@@ -518,22 +494,32 @@ checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
-name = "glob"
-version = "0.3.0"
+name = "gimli"
+version = "0.27.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
 
 [[package]]
-name = "hash32"
-version = "0.2.1"
+name = "h2"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f"
 dependencies = [
- "byteorder",
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 1.9.3",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
 ]
 
 [[package]]
@@ -543,17 +529,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
-name = "heapless"
-version = "0.7.16"
+name = "hashbrown"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
-dependencies = [
- "atomic-polyfill",
- "hash32",
- "rustc_version",
- "spin 0.9.4",
- "stable_deref_trait",
-]
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 
 [[package]]
 name = "heck"
@@ -563,549 +542,410 @@ checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
 
 [[package]]
-name = "hmac"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
-dependencies = [
- "crypto-mac",
- "digest 0.8.1",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "indexmap"
-version = "1.9.2"
+name = "hermit-abi"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
 
 [[package]]
-name = "inout"
-version = "0.1.3"
+name = "http"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
 dependencies = [
- "generic-array 0.14.6",
+ "bytes",
+ "fnv",
+ "itoa",
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
+name = "http-body"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
- "cfg-if",
+ "bytes",
+ "http",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "iso7816"
-version = "0.1.1"
+name = "httparse"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7e6ac743d509349b7865595ce90bbfcfbe59f42b8ec0db9e76ec361ace3f652"
-dependencies = [
- "delog",
- "heapless",
-]
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
-name = "iso7816-tlv"
-version = "0.4.2"
+name = "httpdate"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "395d8e0ae63eb5016fbcf4a72864155880e34bce0158206fcfa7218efdd52e82"
-dependencies = [
- "untrusted 0.9.0",
-]
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
 
 [[package]]
-name = "itoa"
-version = "1.0.4"
+name = "humantime"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
-name = "js-sys"
-version = "0.3.60"
+name = "hyper"
+version = "0.14.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
 dependencies = [
- "wasm-bindgen",
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.4.9",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
 ]
 
 [[package]]
-name = "lazy_static"
-version = "1.4.0"
+name = "hyper-tls"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
 dependencies = [
- "spin 0.5.2",
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
 ]
 
 [[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"
+name = "idna"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "cfg-if",
- "winapi",
+ "unicode-bidi",
+ "unicode-normalization",
 ]
 
 [[package]]
-name = "libm"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
+name = "indexmap"
+version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
- "scopeguard",
+ "hashbrown 0.12.3",
 ]
 
 [[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "md-5"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18af3dcaf2b0219366cdb4e2af65a6101457b415c3d1a5c71dd9c2b7c77b9c8"
-dependencies = [
- "block-buffer",
- "digest 0.8.1",
- "opaque-debug",
-]
-
-[[package]]
-name = "md4"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4030c65cf2aab7ada769cae7d1e7159f8d034d6ded4f39afba037f094bfd9a1"
-dependencies = [
- "block-buffer",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug",
-]
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[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 = "num-bigint"
-version = "0.2.6"
+name = "indexmap"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
+ "equivalent",
+ "hashbrown 0.14.0",
+ "serde",
 ]
 
 [[package]]
-name = "num-bigint"
-version = "0.4.3"
+name = "instant"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
+ "cfg-if",
 ]
 
 [[package]]
-name = "num-bigint-dig"
-version = "0.8.2"
+name = "io-lifetimes"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905"
+checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e"
 dependencies = [
- "byteorder",
- "lazy_static",
- "libm",
- "num-integer",
- "num-iter",
- "num-traits",
- "rand 0.8.5",
- "smallvec",
- "zeroize",
+ "libc",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "num-derive"
-version = "0.3.3"
+name = "ipnet"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "is-terminal"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
 dependencies = [
- "autocfg",
- "num-traits",
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "num-iter"
-version = "0.1.43"
+name = "itertools"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
 dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
+ "either",
 ]
 
 [[package]]
-name = "num-traits"
-version = "0.2.15"
+name = "itoa"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg",
- "libm",
-]
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
 
 [[package]]
-name = "num_enum"
-version = "0.4.3"
+name = "js-sys"
+version = "0.3.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
 dependencies = [
- "derivative",
- "num_enum_derive",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "num_enum_derive"
-version = "0.4.3"
+name = "lazy_static"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
-name = "oid-registry"
-version = "0.6.0"
+name = "libc"
+version = "0.2.147"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d4bda43fd1b844cbc6e6e54b5444e2b1bc7838bce59ad205902cccbb26d6761"
-dependencies = [
- "asn1-rs",
-]
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 
 [[package]]
-name = "once_cell"
-version = "1.16.0"
+name = "linux-raw-sys"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f"
 
 [[package]]
-name = "opaque-debug"
-version = "0.2.3"
+name = "log"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
-name = "os_str_bytes"
-version = "6.4.1"
+name = "memchr"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
-name = "peeking_take_while"
-version = "0.1.2"
+name = "mime"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
 
 [[package]]
-name = "pem-rfc7468"
-version = "0.3.1"
+name = "miniz_oxide"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
 dependencies = [
- "base64ct",
+ "adler",
 ]
 
 [[package]]
-name = "pem-rfc7468"
-version = "0.6.0"
+name = "miniz_oxide"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
 dependencies = [
- "base64ct",
+ "adler",
 ]
 
 [[package]]
-name = "pkcs1"
-version = "0.3.3"
+name = "mio"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
- "der 0.5.1",
- "pkcs8 0.8.0",
- "zeroize",
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "pkcs1"
-version = "0.4.1"
+name = "native-tls"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff33bdbdfc54cc98a2eca766ebdec3e1b8fb7387523d5c9c9a2891da856f719"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
 dependencies = [
- "der 0.6.0",
- "pkcs8 0.9.0",
- "spki 0.6.0",
- "zeroize",
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
 ]
 
 [[package]]
-name = "pkcs8"
-version = "0.8.0"
+name = "num_cpus"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
- "der 0.5.1",
- "spki 0.5.4",
- "zeroize",
+ "hermit-abi 0.2.6",
+ "libc",
 ]
 
 [[package]]
-name = "pkcs8"
-version = "0.9.0"
+name = "object"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
 dependencies = [
- "der 0.6.0",
- "spki 0.6.0",
+ "memchr",
 ]
 
 [[package]]
-name = "ppv-lite86"
-version = "0.2.17"
+name = "once_cell"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
 
 [[package]]
-name = "proc-macro-crate"
-version = "0.1.5"
+name = "openssl"
+version = "0.10.55"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
 dependencies = [
- "toml",
+ "bitflags",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
 ]
 
 [[package]]
-name = "proc-macro2"
-version = "1.0.47"
+name = "openssl-macros"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
 dependencies = [
- "unicode-ident",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "quote"
-version = "1.0.21"
+name = "openssl-probe"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
-dependencies = [
- "proc-macro2",
-]
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
-name = "rand"
-version = "0.7.3"
+name = "openssl-src"
+version = "111.25.0+1.1.1t"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+checksum = "3173cd3626c43e3854b1b727422a276e568d9ec5fe8cec197822cf52cfb743d6"
 dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
+ "cc",
 ]
 
 [[package]]
-name = "rand"
-version = "0.8.5"
+name = "openssl-sys"
+version = "0.9.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
 dependencies = [
+ "cc",
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
 ]
 
 [[package]]
-name = "rand_chacha"
-version = "0.2.2"
+name = "percent-encoding"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
-name = "rand_chacha"
-version = "0.3.1"
+name = "pin-project"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
 dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
+ "pin-project-internal",
 ]
 
 [[package]]
-name = "rand_core"
-version = "0.5.1"
+name = "pin-project-internal"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
- "getrandom 0.1.16",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "rand_core"
-version = "0.6.4"
+name = "pin-project-lite"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.8",
-]
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
-name = "rand_hc"
-version = "0.2.0"
+name = "pin-utils"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
-name = "rc4"
-version = "0.1.0"
+name = "pkg-config"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1256e23efe6097f27aa82d6ca6889361c001586ae0f6917cbad072f05eb275"
-dependencies = [
- "cipher",
-]
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
-name = "rdp-client"
-version = "0.1.0"
+name = "proc-macro2"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
 dependencies = [
- "bitflags",
- "byteorder",
- "cbindgen",
- "env_logger",
- "iso7816",
- "iso7816-tlv",
- "libc",
- "log",
- "num-derive",
- "num-traits",
- "rand 0.8.5",
- "rand_chacha 0.3.1",
- "rdp-rs",
- "rsa 0.7.2",
- "tempfile",
- "utf16string",
- "uuid",
+ "unicode-ident",
 ]
 
 [[package]]
-name = "rdp-rs"
-version = "0.1.0"
-source = "git+https://github.com/gravitational/rdp-rs?rev=8f9f2ab4835f3e52cc9d1771114cc745f3c02759#8f9f2ab4835f3e52cc9d1771114cc745f3c02759"
-dependencies = [
- "boring",
- "bufstream",
- "byteorder",
- "gethostname",
- "hmac",
- "indexmap",
- "md-5",
- "md4",
- "num-bigint 0.2.6",
- "num_enum",
- "oid-registry",
- "rand 0.7.3",
- "rc4",
- "ring",
- "rsa 0.6.1",
- "rustls",
- "x509-parser",
- "yasna",
+name = "quote"
+version = "1.0.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+dependencies = [
+ "proc-macro2",
 ]
 
 [[package]]
@@ -1119,9 +959,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.7.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1144,218 +984,194 @@ dependencies = [
 ]
 
 [[package]]
-name = "ring"
-version = "0.16.20"
+name = "reqwest"
+version = "0.11.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
 dependencies = [
- "cc",
- "libc",
+ "base64",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
  "once_cell",
- "spin 0.5.2",
- "untrusted 0.7.1",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+ "tokio-native-tls",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
  "web-sys",
- "winapi",
+ "winreg",
 ]
 
 [[package]]
-name = "rsa"
-version = "0.6.1"
+name = "rustc-demangle"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b"
-dependencies = [
- "byteorder",
- "digest 0.10.6",
- "num-bigint-dig",
- "num-integer",
- "num-iter",
- "num-traits",
- "pkcs1 0.3.3",
- "pkcs8 0.8.0",
- "rand_core 0.6.4",
- "smallvec",
- "subtle 2.4.1",
- "zeroize",
-]
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
-name = "rsa"
-version = "0.7.2"
+name = "rustix"
+version = "0.37.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "094052d5470cbcef561cb848a7209968c9f12dfa6d668f4bca048ac5de51099c"
+checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2"
 dependencies = [
- "byteorder",
- "digest 0.10.6",
- "num-bigint-dig",
- "num-integer",
- "num-iter",
- "num-traits",
- "pkcs1 0.4.1",
- "pkcs8 0.9.0",
- "rand_core 0.6.4",
- "signature",
- "smallvec",
- "subtle 2.4.1",
- "zeroize",
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
-name = "rustc-hash"
-version = "1.1.0"
+name = "ryu"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
 
 [[package]]
-name = "rustc_version"
-version = "0.4.0"
+name = "schannel"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
 dependencies = [
- "semver",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "rusticata-macros"
-version = "4.1.0"
+name = "security-framework"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
+checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36"
 dependencies = [
- "nom",
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
 ]
 
 [[package]]
-name = "rustls"
-version = "0.20.7"
+name = "security-framework-sys"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
 dependencies = [
- "log",
- "ring",
- "sct",
- "webpki",
+ "core-foundation-sys",
+ "libc",
 ]
 
 [[package]]
-name = "ryu"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
-
-[[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"
+name = "semver"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 dependencies = [
- "ring",
- "untrusted 0.7.1",
+ "serde",
 ]
 
 [[package]]
-name = "semver"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
-
-[[package]]
 name = "serde"
-version = "1.0.148"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.148"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.29",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.89"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
 dependencies = [
+ "indexmap 2.0.0",
  "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
-name = "shlex"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
-
-[[package]]
-name = "signature"
-version = "1.6.4"
+name = "serde_urlencoded"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
- "digest 0.10.6",
- "rand_core 0.6.4",
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
 ]
 
 [[package]]
-name = "smallvec"
-version = "1.10.0"
+name = "sha2"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spin"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
 dependencies = [
- "lock_api",
+ "cfg-if",
+ "cpufeatures",
+ "digest",
 ]
 
 [[package]]
-name = "spki"
-version = "0.5.4"
+name = "slab"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
 dependencies = [
- "base64ct",
- "der 0.5.1",
+ "autocfg",
 ]
 
 [[package]]
-name = "spki"
-version = "0.6.0"
+name = "socket2"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
- "base64ct",
- "der 0.6.0",
+ "libc",
+ "winapi",
 ]
 
 [[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
+name = "socket2"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
 
 [[package]]
 name = "strsim"
@@ -1364,22 +1180,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
-name = "subtle"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
-
-[[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.104"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1387,15 +1191,14 @@ dependencies = [
 ]
 
 [[package]]
-name = "synstructure"
-version = "0.12.6"
+name = "syn"
+version = "2.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -1414,134 +1217,231 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
 name = "thiserror"
-version = "1.0.37"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.37"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "time"
-version = "0.3.17"
+name = "tinyvec"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 dependencies = [
- "itoa",
- "serde",
- "time-core",
- "time-macros",
+ "tinyvec_macros",
 ]
 
 [[package]]
-name = "time-core"
+name = "tinyvec_macros"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
 
 [[package]]
-name = "time-macros"
-version = "0.2.6"
+name = "tokio"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
- "time-core",
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "socket2 0.5.4",
+ "tokio-macros",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "toml"
-version = "0.5.9"
+name = "tokio-macros"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.29",
 ]
 
 [[package]]
-name = "typenum"
-version = "1.15.0"
+name = "tokio-native-tls"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
 
 [[package]]
-name = "unicode-ident"
-version = "1.0.5"
+name = "tokio-util"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[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 = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-core",
+]
 
 [[package]]
-name = "unicode-xid"
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
-name = "untrusted"
-version = "0.7.1"
+name = "typenum"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 
 [[package]]
-name = "untrusted"
-version = "0.9.0"
+name = "unicode-bidi"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+checksum = "0046be40136ef78dc325e0edefccf84ccddacd0afcc1ca54103fa3c61bbdab1d"
 
 [[package]]
-name = "utf16string"
-version = "0.2.0"
+name = "unicode-ident"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
- "byteorder",
+ "tinyvec",
 ]
 
 [[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 = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
 name = "uuid"
-version = "1.2.2"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 dependencies = [
- "getrandom 0.2.8",
+ "getrandom",
 ]
 
 [[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 = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
+name = "vrc-get"
+version = "1.3.0"
+dependencies = [
+ "async_zip",
+ "clap",
+ "clap_complete",
+ "env_logger",
+ "futures",
+ "indexmap 2.0.0",
+ "itertools",
+ "log",
+ "pin-project-lite",
+ "reqwest",
+ "semver",
+ "serde",
+ "serde_json",
+ "sha2",
+ "tokio",
+ "tokio-util",
+ "uuid",
+ "windows",
+]
+
+[[package]]
+name = "want"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+dependencies = [
+ "log",
+ "try-lock",
+]
 
 [[package]]
 name = "wasi"
@@ -1570,11 +1470,23 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "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"
@@ -1592,7 +1504,7 @@ checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -1604,23 +1516,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
 
 [[package]]
-name = "web-sys"
-version = "0.3.60"
+name = "wasm-streams"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
 dependencies = [
+ "futures-util",
  "js-sys",
  "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
 ]
 
 [[package]]
-name = "webpki"
-version = "0.22.0"
+name = "web-sys"
+version = "0.3.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
 dependencies = [
- "ring",
- "untrusted 0.7.1",
+ "js-sys",
+ "wasm-bindgen",
 ]
 
 [[package]]
@@ -1655,31 +1570,177 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "x509-parser"
-version = "0.14.0"
+name = "windows"
+version = "0.51.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
 dependencies = [
- "asn1-rs",
- "base64",
- "data-encoding",
- "der-parser",
- "lazy_static",
- "nom",
- "oid-registry",
- "rusticata-macros",
- "thiserror",
- "time",
+ "windows-core",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "yasna"
-version = "0.3.2"
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de7bff972b4f2a06c85f6d8454b09df153af7e3a4ec2aac81db1b105b684ddb"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
 
 [[package]]
-name = "zeroize"
-version = "1.5.7"
+name = "windows-sys"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
diff --git a/pkgs/tools/misc/vrc-get/default.nix b/pkgs/tools/misc/vrc-get/default.nix
index 6026f9d6f7341..e6ea0c595e68b 100644
--- a/pkgs/tools/misc/vrc-get/default.nix
+++ b/pkgs/tools/misc/vrc-get/default.nix
@@ -2,14 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vrc-get";
-  version = "1.1.3";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "anatawa12";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-CJBwW2QsLNLyNubawBPD+Cy74JrrdSUHe7JBSdbMnjY=";
-    fetchSubmodules = true;
+    hash = "sha256-FCLIc5c+50qGpBEbJ4bUSNAfQVdpeswNwiWrVcO91zI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -19,7 +18,12 @@ rustPlatform.buildRustPackage rec {
   # Make openssl-sys use pkg-config.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoHash = "sha256-PnNo+MmBo/Ke7pL6KwRKXz3gycJmbYefTRMWOvlCQaQ=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "async_zip-0.0.15" = "sha256-UXBVZy3nf20MUh9jQdYeS5ygrZfeRWtiNRtiyMvkdSs=";
+    };
+  };
 
   meta = with lib; {
     description = "Command line client of VRChat Package Manager, the main feature of VRChat Creator Companion (VCC)";
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index eee35ea8c9d48..61d76205a6d68 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -1,38 +1,53 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
 , pkg-config
 , openssl
 , check
 , pcsclite
 , PCSC
 , gengetopt
+, help2man
 , cmake
+, zlib
 , withApplePCSC ? stdenv.isDarwin
-, gitUpdater
+, nix-update-script
 , testers
-, yubico-piv-tool
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "yubico-piv-tool";
-  version = "2.3.1";
+  version = "2.4.1";
 
-  src = fetchurl {
-    url = "https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-${version}.tar.gz";
-    hash = "sha256-2ona/YthhapjU0Z1P53bKa8pvEq9kt2B832dZWC11k4=";
+  outputs = [ "out" "dev" "man" ];
+
+  src = fetchFromGitHub {
+    owner = "Yubico";
+    repo = "yubico-piv-tool";
+    rev = "refs/tags/yubico-piv-tool-${finalAttrs.version}";
+    hash = "sha256-KprY5BX7Fi/qWRT1pda9g8fqnmDB1Bh7oFM7sCwViuw=";
   };
 
   postPatch = ''
     substituteInPlace CMakeLists.txt --replace "-Werror" ""
   '';
 
-  nativeBuildInputs = [ pkg-config cmake gengetopt ];
-  buildInputs = [ openssl check ]
-    ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]);
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    gengetopt
+    help2man
+  ];
+
+  buildInputs = [
+    openssl
+    check
+    zlib.dev
+  ]
+  ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]);
 
   cmakeFlags = [
-    "-DGENERATE_MAN_PAGES=OFF" # Use the man page generated at release time
+    "-DGENERATE_MAN_PAGES=ON"
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
     "-DCMAKE_INSTALL_MANDIR=share/man"
@@ -42,13 +57,11 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-backend=${if withApplePCSC then "macscard" else "pcsc"}" ];
 
   passthru = {
-    updateScript = gitUpdater {
-      url = "https://github.com/Yubico/yubico-piv-tool.git";
-      rev-prefix = "yubico-piv-tool-";
+    updateScript = nix-update-script {
+      extraArgs = [ "--version-regex" "yubico-piv-tool-([0-9.]+)$" ];
     };
     tests.version = testers.testVersion {
-      inherit version;
-      package = yubico-piv-tool;
+      package = finalAttrs.finalPackage;
       command = "yubico-piv-tool --version";
     };
   };
@@ -72,4 +85,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ viraptor anthonyroussel ];
     mainProgram = "yubico-piv-tool";
   };
-}
+})
diff --git a/pkgs/tools/networking/bsd-finger/default.nix b/pkgs/tools/networking/bsd-finger/default.nix
index 48e64b202c6ef..9d4c0267c76ab 100644
--- a/pkgs/tools/networking/bsd-finger/default.nix
+++ b/pkgs/tools/networking/bsd-finger/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
       else "Remote user information server";
     platforms = platforms.linux;
     license = licenses.bsdOriginal;
+    mainProgram = "finger";
   };
 }
 # TODO: multiple outputs (manpage)
diff --git a/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch b/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch
deleted file mode 100644
index 088f9b4032d27..0000000000000
--- a/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-On darwin, providing SystemConfiguration to curl currently results in a
-reference loop, so we have to disable the check for it and the feature
-which requires it (NAT64).
-
-Patching actual configure script here as we also don't want to require
-autoconf in the bootstrap loop just to regenerate a patched configure.ac.
-
---- a/configure   2021-10-16 00:51:59.000000000 +0100
-+++ b/configure   2021-10-16 01:06:46.000000000 +0100
-@@ -21556,7 +221556,7 @@
-     if test "x$build_for_macos" != xno; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- printf "%s\n" "yes" >&6; }
--      LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework SystemConfiguration"
-+      LDFLAGS="$LDFLAGS -framework CoreFoundation"
-     else
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
- printf "%s\n" "no" >&6; }
-@@ -22211,9 +22211,6 @@
- fi
- 
- 
--if test "$HAVE_GETHOSTBYNAME" != "1"; then
--  as_fn_error $? "couldn't find libraries for gethostbyname()" "$LINENO" 5
--fi
- 
- 
- curl_includes_winsock2="\
-diff --git a/lib/curl_setup.h b/lib/curl_setup.h
-index b43714da7..7674778b7 100644
---- a/lib/curl_setup.h
-+++ b/lib/curl_setup.h
-@@ -250,20 +250,6 @@
- 
- #include <curl/system.h>
- 
--/*
-- * Use getaddrinfo to resolve the IPv4 address literal. If the current network
-- * interface doesn't support IPv4, but supports IPv6, NAT64, and DNS64,
-- * performing this task will result in a synthesized IPv6 address.
-- */
--#if defined(__APPLE__) && !defined(USE_ARES)
--#include <TargetConditionals.h>
--#define USE_RESOLVE_ON_IPS 1
--#  if TARGET_OS_MAC && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && \
--     defined(ENABLE_IPV6)
--#    define CURL_MACOS_CALL_COPYPROXIES 1
--#  endif
--#endif
--
- #ifdef USE_LWIPSOCK
- #  include <lwip/init.h>
- #  include <lwip/sockets.h>
diff --git a/pkgs/tools/networking/dirb/default.nix b/pkgs/tools/networking/dirb/default.nix
index 1ff6c33bcc26b..17a518bdea212 100644
--- a/pkgs/tools/networking/dirb/default.nix
+++ b/pkgs/tools/networking/dirb/default.nix
@@ -32,8 +32,9 @@ in stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = "-fcommon";
 
   postInstall = ''
-    mkdir -p $out/share/dirb/
+    mkdir -p $out/share/{dirb,wordlists}
     cp -r wordlists/ $out/share/dirb/
+    ln -s $out/share/dirb/wordlists/ $out/share/wordlists/dirb
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch b/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch
deleted file mode 100644
index 5e5cfd50af3e7..0000000000000
--- a/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/http_display/httpd.c b/src/http_display/httpd.c
-index f4709ef..7921d23 100644
---- a/src/http_display/httpd.c
-+++ b/src/http_display/httpd.c
-@@ -191,7 +191,6 @@ static void * http_server_dispatch(void *arg)
-         LWSMPRO_FILE,                  /* mount type is a directory in a filesystem */
-         1,                                     /* strlen("/"), ie length of the mountpoint */
-         NULL,
--        { NULL, NULL } // sentinel
-     };
-
-     memset(&info, 0, sizeof info);
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index 158b2cb275bc1..4a31bb1494b79 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    hash = "sha256-22Nio6yfkL9HWNrI+kk5dGfojTtB/h0sizCWH9w9so8=";
+    hash = "sha256-t9USry3I6tc8EKsfkq28/hPJMbaf0BqqOdzCl3oXd60=";
   };
 
-  cargoHash = "sha256-YfvcCnFXDoZXp/Aug0jVQkilsvSzS+JF90U0QvVFksE=";
+  cargoHash = "sha256-QERmZOyC4U6ZpCkL7ap5MRvPEE2vqK/tD+CrBLg07J0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/tools/networking/hping/default.nix b/pkgs/tools/networking/hping/default.nix
index 33663a44d2a96..11a8cad05b9cd 100644
--- a/pkgs/tools/networking/hping/default.nix
+++ b/pkgs/tools/networking/hping/default.nix
@@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString stdenv.isLinux ''
     sed -i -e 's|#include <net/bpf.h>|#include <pcap/bpf.h>|' \
       libpcap_stuff.c script.c
+  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace configure --replace 'BYTEORDER=`./byteorder -m`' BYTEORDER=${
+      {
+        littleEndian = "__LITTLE_ENDIAN_BITFIELD";
+        bigEndian = "__BIG_ENDIAN_BITFIELD";
+      }.${stdenv.hostPlatform.parsed.cpu.significantByte.name}}
+    substituteInPlace Makefile.in --replace './hping3 -v' ""
   '';
 
   configureFlags = [ (if withTcl then "TCLSH=${tcl}/bin/tclsh" else "--no-tcl") ];
diff --git a/pkgs/tools/networking/magic-wormhole-rs/default.nix b/pkgs/tools/networking/magic-wormhole-rs/default.nix
index 530ac45ab2b3f..5cdf5150b6830 100644
--- a/pkgs/tools/networking/magic-wormhole-rs/default.nix
+++ b/pkgs/tools/networking/magic-wormhole-rs/default.nix
@@ -9,16 +9,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "magic-wormhole-rs";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "magic-wormhole";
     repo = "magic-wormhole.rs";
     rev = version;
-    sha256 = "sha256-gNHtlbYWQvgboIG++N1680a4ql66PTF45DJGz521zzk=";
+    sha256 = "sha256-6dRnOAclHcPayY0e5guhWR5CLaKzp5TlEU5esLvYQg8=";
   };
 
-  cargoSha256 = "sha256-powJrbVVBWtIg0CV7ZdhaVIQA+VhEPtPCts7f8Sl1VY=";
+  cargoHash = "sha256-SPhTvj2DYNzuAtWamDhsgtCTUpQXtnhoRRSE745tB/k=";
 
   buildInputs = [ libxcb ]
     ++ lib.optionals stdenv.isDarwin [ Security AppKit ];
diff --git a/pkgs/tools/networking/maubot/wrapper.nix b/pkgs/tools/networking/maubot/wrapper.nix
index baa0c29052e90..6f4c577110be3 100644
--- a/pkgs/tools/networking/maubot/wrapper.nix
+++ b/pkgs/tools/networking/maubot/wrapper.nix
@@ -39,7 +39,7 @@ let wrapper = { pythonPackages ? (_: [ ]), plugins ? (_: [ ]), baseConfig ? null
             if builtins.isNull (baseConfig.server.override_resource_path or null)
             then "${unwrapped}/${python3.sitePackages}/maubot/management/frontend/build"
             else baseConfig.server.override_resource_path;
-        })})} $out/${python3.sitePackages}/maubot/example-config.yaml
+        })} $out/${python3.sitePackages}/maubot/example-config.yaml
         rm -rf $out/bin
       ''}
       mkdir -p $out/bin
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 21183437c02aa..b40ba824be1bb 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2023-09-07T22-48-55Z";
+  version = "2023-10-30T18-43-32Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-DW6G37SLYzXkh8EHXhczloIZxNQS2+ON2kXe5VsQSZg=";
+    sha256 = "sha256-4WYJaFVB/+ERMNKvfDZvJGEiImwISM8fXLbi+Y986AM=";
   };
 
-  vendorHash = "sha256-NbqqvV34Bzv2AmMYlN133RI7jNh96Jmo8065D3RxClI=";
+  vendorHash = "sha256-YDXkJVFK09I/Ic3ZBlO2AtybH6+RfwLmBCldX4i41Po=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/mockoon/default.nix b/pkgs/tools/networking/mockoon/default.nix
index 9f5f579e5889c..63e4e3c28030f 100644
--- a/pkgs/tools/networking/mockoon/default.nix
+++ b/pkgs/tools/networking/mockoon/default.nix
@@ -5,11 +5,11 @@
 
 let
   pname = "mockoon";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://github.com/mockoon/mockoon/releases/download/v${version}/mockoon-${version}.AppImage";
-    hash = "sha256-CxWjnDNobeDbvNx5gVLGfVxrQyMITZJYmJMzf2XlzQQ=";
+    hash = "sha256-FF2F16ulKerNnwgumaz2Theff7pRN4Up3FooCNW8kbg=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 6888b5aa4ab2b..1812dc690e180 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -26,13 +26,13 @@
 
 let
   pname = "mozillavpn";
-  version = "2.16.1";
+  version = "2.19.0";
   src = fetchFromGitHub {
     owner = "mozilla-mobile";
     repo = "mozilla-vpn-client";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-UMWBn3DoEU1fG7qh6F0GOhOqod+grPwp15wSSdP0eCo=";
+    hash = "sha256-aXfxUtGm+vq8U3jYTxYhOP7UXL6ukCJgmGQO2Wsqobo=";
   };
   patches = [ ];
 
@@ -46,19 +46,19 @@ let
     inherit src patches;
     name = "${pname}-${version}-extension-bridge";
     preBuild = "cd extension/bridge";
-    hash = "sha256-1wYTRc+NehiHwAd/2CmsJNv/TV6wH5wXwNiUdjzEUIk=";
+    hash = "sha256-23GTXsbjL8qfGA5NdPlrbdaA8rg8vOZsZCXvevi7Chc=";
   };
   signatureDeps = rustPlatform.fetchCargoTarball {
     inherit src patches;
     name = "${pname}-${version}-signature";
     preBuild = "cd signature";
-    hash = "sha256-oaKkQWMYkAy1c2biVt+GyjHBeYb2XkuRvFrWQJJIdPw=";
+    hash = "sha256-TB172hVIilDTl+y0shNp55if+FhrXjWSaGNF7K6GSH8=";
   };
   qtgleanDeps = rustPlatform.fetchCargoTarball {
     inherit src patches;
     name = "${pname}-${version}-qtglean";
     preBuild = "cd qtglean";
-    hash = "sha256-cqfiOBS8xFC2BbYp6BJWK6NHIU0tILSgu4eo3Ik4YqY=";
+    hash = "sha256-tfQ2ogSDDXNPeygBy+el+71iwcafSfY78hvYPHurKPE=";
   };
 
 in
@@ -110,7 +110,7 @@ stdenv.mkDerivation {
   dontCargoSetupPostUnpack = true;
 
   postPatch = ''
-    substituteInPlace src/apps/vpn/cmake/linux.cmake \
+    substituteInPlace src/cmake/linux.cmake \
       --replace '/etc/xdg/autostart' "$out/etc/xdg/autostart" \
       --replace '/usr/share/dbus-1' "$out/share/dbus-1" \
       --replace '${"$"}{SYSTEMD_UNIT_DIR}' "$out/lib/systemd/system"
diff --git a/pkgs/tools/networking/nexttrace/default.nix b/pkgs/tools/networking/nexttrace/default.nix
index c4f033184ebed..6db79ab5ceac3 100644
--- a/pkgs/tools/networking/nexttrace/default.nix
+++ b/pkgs/tools/networking/nexttrace/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "nexttrace";
-  version = "1.2.3.1";
+  version = "1.2.6";
 
   src = fetchFromGitHub {
     owner = "nxtrace";
     repo = "NTrace-core";
     rev = "v${version}";
-    sha256 = "sha256-uY3Cjemv+iFOrWm7lXzRprIljqHCLWOF6DyDURrH39g=";
+    sha256 = "sha256-UD6+oFXYk5VWD9MZdE3ECnyYJSe7v88D9gkIAj+e7Bw=";
   };
-  vendorHash = "sha256-sugEN7sKBwEKsfX1MBwOiyH1aq1995HL+Yv7Q8XaPAo=";
+  vendorHash = "sha256-2lDkNbsAgEMSKK7ODpjJEL0ZM4N1khzGuio1645Xxqo=";
 
   doCheck = false; # Tests require a network connection.
 
diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix
index e1abcb6c140d0..df03cc8c3ce77 100644
--- a/pkgs/tools/networking/nikto/default.nix
+++ b/pkgs/tools/networking/nikto/default.nix
@@ -6,20 +6,23 @@
 , installShellFiles
 }:
 
+let
+  version = "2.5.0";
+in
 stdenv.mkDerivation rec {
   pname = "nikto";
-  version = "2.2.0";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "sullo";
     repo = "nikto";
-    rev = "c83d0461edd75c02677dea53da2896644f35ecab";
-    sha256 = "0vwq2zdxir67cn78ls11qf1smd54nppy266v7ajm5rqdc47q7fy2";
+    rev = version;
+    sha256 = "sha256-lWiDbWc2BWAUgyaIm0tvZytja02WogYRoc7na4sHiNM=";
   };
 
   # Nikto searches its configuration file based on its current path
   # This fixes the current path regex for the wrapped executable.
-  patches = [ ./NIKTODIR-nix-wrapper-fix.patch ];
+  patches = [ ./nix-wrapper-fix.patch ];
 
   postPatch = ''
     # EXECDIR needs to be changed to the path where we copy the programs stuff
@@ -31,10 +34,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  propagatedBuildInputs = [ perlPackages.NetSSLeay ];
-
   buildInputs = [
     perlPackages.perl
+    perlPackages.NetSSLeay
   ];
 
   installPhase = ''
@@ -44,7 +46,6 @@ stdenv.mkDerivation rec {
     install -Dm 755 "program/nikto.pl" "$out/bin/nikto"
     install -Dm 644 program/nikto.conf.default "$out/etc/nikto.conf"
     installManPage documentation/nikto.1
-    install -Dm 644 program/docs/nikto_manual.html "$out/share/doc/${pname}/manual.html"
     install -Dm 644 README.md "$out/share/doc/${pname}/README"
     runHook postInstall
   '';
@@ -58,6 +59,7 @@ stdenv.mkDerivation rec {
     description = "Web server scanner";
     license = licenses.gpl2Plus;
     homepage = "https://cirt.net/Nikto2";
+    changelog = "https://github.com/sullo/nikto/releases/tag/${version}";
     maintainers = with maintainers; [ shamilton ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch b/pkgs/tools/networking/nikto/nix-wrapper-fix.patch
index d3caea1b26fdd..bc05d774577e7 100644
--- a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
+++ b/pkgs/tools/networking/nikto/nix-wrapper-fix.patch
@@ -1,26 +1,26 @@
-diff --color -ur a/program/nikto.pl b/program/nikto.pl
---- a/program/nikto.pl	2021-01-30 12:05:54.915072538 +0100
-+++ b/program/nikto.pl	2021-01-30 12:36:42.877729231 +0100
-@@ -223,7 +223,8 @@
+diff --git a/program/nikto.pl b/program/nikto.pl
+index 2cb07f9..323e666 100755
+--- a/program/nikto.pl
++++ b/program/nikto.pl
+@@ -243,7 +243,7 @@ sub config_init {
      # Guess Nikto current directory
      my $NIKTODIR = abs_path($0);
      chomp($NIKTODIR);
 -    $NIKTODIR =~ s#[\\/]nikto.pl$##;
 +    $NIKTODIR =~ s#[\\/]bin[\\/]\.nikto-wrapped$##;
-+
  
      # Guess user's home directory -- to support Windows
      foreach my $var (split(/ /, "HOME USERPROFILE")) {
-@@ -231,10 +232,10 @@
+@@ -251,10 +251,10 @@ sub config_init {
      }
  
      # Read the conf files in order (previous values are over-written with each, if multiple found)
--    push(@CF,"$NIKTODIR/nikto.conf.default");
+-    push(@CF, "$NIKTODIR/nikto.conf.default");
 +    push(@CF,"$NIKTODIR/etc/nikto.conf.default");
-     push(@CF,"/etc/nikto.conf");
-     push(@CF,"$home/nikto.conf");
--    push(@CF,"$NIKTODIR/nikto.conf");
+     push(@CF, "/etc/nikto.conf");
+     push(@CF, "$home/nikto.conf");
+-    push(@CF, "$NIKTODIR/nikto.conf");
 +    push(@CF,"$NIKTODIR/etc/nikto.conf");
-     push(@CF,"nikto.conf");
-     push(@CF,"$VARIABLES{'configfile'}");
+     push(@CF, "nikto.conf");
+     push(@CF, "$VARIABLES{'configfile'}");
  
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index 4872900b0fb72..b52912d5e9a08 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "2.1";
+  version = "2.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "sha256-GxQfh/ps5oM9G6B1EVgnjo8LqHD1hMqdnju1PCQq3kA=";
+    sha256 = "sha256-mnh0qzmgPDfimN/M33HntYj90Xcgc/uF8tKbzeQV1Yg=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index 6534391795200..f557030f991d2 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
 
 let this = stdenv.mkDerivation rec {
-  version = "7.0.1";
+  version = "7.1.0";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ let this = stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-ATh8c5Bd5Hpuz4gB+RyNYWJPih6JDIBYIl31HUk7wyo=";
+    sha256 = "sha256-hfq3pNgKnh5lxYJLzTdcOa0pSvB0kGCVKcjninvaZzo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/photon/destdir.patch b/pkgs/tools/networking/photon/destdir.patch
deleted file mode 100644
index e6cf997f2e7c4..0000000000000
--- a/pkgs/tools/networking/photon/destdir.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/photon.py.old b/photon.py
-index 92498e4..f7e2c3d 100644
---- a/photon.py.old
-+++ b/photon.py
-@@ -185,7 +185,7 @@ if args.user_agent:
-     user_agents = args.user_agent.split(',')
- else:
-     user_agents = []
--    with open(os.getcwd() + '/core/user-agents.txt', 'r') as uas:
-+    with open('DESTDIR/core/user-agents.txt', 'r') as uas:
-         for agent in uas:
-             user_agents.append(agent.strip('\n'))
- 
-@@ -534,4 +534,4 @@ if args.export:
- if not colors: # if colors are disabled
-     print ('%s Results saved in %s directory' % (good, output_dir))
- else:
--    print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir))
-\ No newline at end of file
-+    print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir))
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index d29bbe1292db5..361eacae4d0ea 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.7.0";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XD4xWOQumqbXMBbzHgCIgFIegUqJnFZsAvk1VZXX5rc=";
+    hash = "sha256-SaWSmc498eLkWddnsHFpR6BPSbX/VHAlq+X4B7JG3Rk=";
   };
 
-  vendorHash = "sha256-U70FjJ0HO5dyFj50qpyjy+k2r7IR/6gOLDi2LM3M3No=";
+  vendorHash = "sha256-Frbv2KD5hJ5HHUdY9mm0aZ9NA5TN1D0am+FhpJZTvr4=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 64c01b0ffe4f4..a2094802712cf 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "strongswan";
-  version = "5.9.11"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
+  version = "5.9.12"; # Make sure to also update <nixpkgs/nixos/modules/services/networking/strongswan-swanctl/swanctl-params.nix> when upgrading!
 
   src = fetchFromGitHub {
     owner = "strongswan";
     repo = "strongswan";
     rev = version;
-    hash = "sha256-DjVmDUEEJnf5kaia1f+Yow9g4+l3itOmoXR8/vVSssU=";
+    hash = "sha256-0s6I+ukA5XFAC0aJFKl9hjHDml2gMzXDn977EDxsZZ4=";
   };
 
   dontPatchELF = true;
diff --git a/pkgs/tools/networking/trippy/default.nix b/pkgs/tools/networking/trippy/default.nix
index 9b88ee4b799d1..933150aebb9fe 100644
--- a/pkgs/tools/networking/trippy/default.nix
+++ b/pkgs/tools/networking/trippy/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "trippy";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "fujiapple852";
     repo = "trippy";
     rev = version;
-    hash = "sha256-2bh4wNP8sQcojjjbx5DQctlkwCTYcPdSkpW4OCOyp9k=";
+    hash = "sha256-Q5WPpCm1RNLlNX8G1U160O2wJz+y+KMScApjx6gIBCg=";
   };
 
-  cargoHash = "sha256-C8SUceX9RwUyiCknmuRfBqG0vjesS54bZQHwi7krwKo=";
+  cargoHash = "sha256-brvfAZZ3L0loZQowcRfkS7o7ZYQB9hr5o1rgMSWaljU=";
 
   meta = with lib; {
     description = "A network diagnostic tool";
diff --git a/pkgs/tools/networking/wakelan/default.nix b/pkgs/tools/networking/wakelan/default.nix
index 7e9bcc1a70caf..3416b33281d3a 100644
--- a/pkgs/tools/networking/wakelan/default.nix
+++ b/pkgs/tools/networking/wakelan/default.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
     hash = "sha256-PfXrj4d2SHmatiPPFxjsxvhusML1HTRNjoYEQtzFzW8=";
   };
 
+  # code predates c99
+  env.CFLAGS = "-std=c89";
+
   preInstall = ''
     mkdir -p $out/man/man1 $out/bin
   '';
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index fe4950d5c2407..992303ec60721 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "5.5.20";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-0vQ6GBBtNA6Phlqhl3NZvEJqoyZ1um7VdkpsIRKhsm4=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/macports/macports-ports/raw/93de4e9fc1e5e8427bf98f48209e783a5e8fab57/net/whois/files/implicit.patch";
+      extraPrefix = "";
+      hash = "sha256-ogVylQz//tpXxPNIWIHkhghvToU1z1D1FfnUBdZLyRY=";
+    })
+  ];
+
   nativeBuildInputs = [ perl gettext pkg-config ];
   buildInputs = [ libidn2 libiconv ];
 
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
index ffe64cde4d345..b9227814dea20 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
@@ -97,8 +97,8 @@ class HTMLRenderer(Renderer):
     def strong_close(self, token: Token, tokens: Sequence[Token], i: int) -> str:
         return "</strong></span>"
     def fence(self, token: Token, tokens: Sequence[Token], i: int) -> str:
-        # TODO use token.info. docbook doesn't so we can't yet.
-        return f'<pre class="programlisting">\n{escape(token.content)}</pre>'
+        info = f" {escape(token.info, True)}" if token.info != "" else ""
+        return f'<pre><code class="programlisting{info}">{escape(token.content)}</code></pre>'
     def blockquote_open(self, token: Token, tokens: Sequence[Token], i: int) -> str:
         return '<div class="blockquote"><blockquote class="blockquote">'
     def blockquote_close(self, token: Token, tokens: Sequence[Token], i: int) -> str:
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
index d0229e074c543..9a00da567fa9e 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
@@ -496,8 +496,8 @@ class OptionsHTMLRenderer(OptionDocsRestrictions, HTMLRenderer):
         token.meta['compact'] = False
         return super().bullet_list_open(token, tokens, i)
     def fence(self, token: Token, tokens: Sequence[Token], i: int) -> str:
-        # TODO use token.info. docbook doesn't so we can't yet.
-        return f'<pre class="programlisting">{html.escape(token.content)}</pre>'
+        info = f" {html.escape(token.info, True)}" if token.info != "" else ""
+        return f'<pre><code class="programlisting{info}">{html.escape(token.content)}</code></pre>'
 
 class HTMLConverter(BaseConverter[OptionsHTMLRenderer]):
     __option_block_separator__ = ""
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py
index 96cf8d0b7dff1..fba0ce2679a41 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_html.py
@@ -204,8 +204,10 @@ def test_full() -> None:
           <div class="blockquote">
            <blockquote class="blockquote">
             <p>with <span class="emphasis"><em>nesting</em></span></p>
-            <pre class="programlisting">↵
-             nested code block↵
+            <pre>
+             <code class="programlisting">
+              nested code block↵
+             </code>
             </pre>
            </blockquote>
           </div>
@@ -213,8 +215,10 @@ def test_full() -> None:
            <ul class="itemizedlist compact" style="list-style-type: disc;">
             <li class="listitem"><p>and lists</p></li>
             <li class="listitem">
-             <pre class="programlisting">↵
-              containing code↵
+             <pre>
+              <code class="programlisting">
+               containing code↵
+              </code>
              </pre>
             </li>
            </ul>
@@ -240,11 +244,15 @@ def test_full() -> None:
              </p>
             </blockquote>
            </div>
-           <pre class="programlisting">↵
-            code block↵
+           <pre>
+            <code class="programlisting">
+             code block↵
+            </code>
            </pre>
-           <pre class="programlisting">↵
-            fenced block↵
+           <pre>
+            <code class="programlisting">
+             fenced block↵
+            </code>
            </pre>
            <p>text</p>
           </dd>
diff --git a/pkgs/tools/package-management/libcomps/default.nix b/pkgs/tools/package-management/libcomps/default.nix
new file mode 100644
index 0000000000000..89c2982497df4
--- /dev/null
+++ b/pkgs/tools/package-management/libcomps/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, check
+, cmake
+, doxygen
+, expat
+, fetchFromGitHub
+, libxml2
+, python
+, sphinx
+, stdenv
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libcomps";
+  version = "0.1.20";
+
+  outputs = [ "out" "dev" "py" ];
+
+  src = fetchFromGitHub {
+    owner = "rpm-software-management";
+    repo = "libcomps";
+    rev = version;
+    hash = "sha256-IX4du1+G7lwWrGnllydnBDap2aqK5pzos1Mdyu4MzOU=";
+  };
+
+  patches = [
+    ./fix-python-install-dir.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace libcomps/src/python/src/CMakeLists.txt \
+      --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}"
+  '';
+
+  nativeBuildInputs = [
+    check
+    cmake
+    doxygen
+    python
+    sphinx
+  ];
+
+  buildInputs = [
+    expat
+    libxml2
+    zlib
+  ];
+
+  dontUseCmakeBuildDir = true;
+  cmakeDir = "libcomps";
+
+  postFixup = ''
+    ls $out/lib
+    moveToOutput "lib/${python.libPrefix}" "$py"
+  '';
+
+  meta = with lib; {
+    description = "Comps XML file manipulation library";
+    homepage = "https://github.com/rpm-software-management/libcomps";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ katexochen ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch
new file mode 100644
index 0000000000000..958b4c80843c5
--- /dev/null
+++ b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt
+index d22b84e..57bd1c2 100644
+--- a/libcomps/src/python/src/CMakeLists.txt
++++ b/libcomps/src/python/src/CMakeLists.txt
+@@ -85,7 +85,7 @@ IF (SKBUILD)
+     INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps)
+     INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps)
+ ELSE ()
+-    EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++    SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@")
+
+     INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps)
+     #INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 739210ce92408..e7ecfc9c94db3 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -15,12 +15,19 @@
 , libyaml
 , rpm
 , zchunk
+, cppunit
+, python
+, swig
+, glib
+, sphinx
 }:
 
 stdenv.mkDerivation rec {
   pname = "libdnf";
   version = "0.72.0";
 
+  outputs = [ "out" "dev" "py" ];
+
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
@@ -36,12 +43,16 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     check
+    cppunit
     openssl
     json_c
     libsmartcols
     libyaml
     libmodulemd
     zchunk
+    python
+    swig
+    sphinx
   ];
 
   propagatedBuildInputs = [
@@ -56,29 +67,38 @@ stdenv.mkDerivation rec {
     cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake cmake/modules/
   '';
 
-  postPatch = ''
-    # See https://github.com/NixOS/nixpkgs/issues/107428
-    substituteInPlace CMakeLists.txt \
-      --replace "enable_testing()" "" \
-      --replace "add_subdirectory(tests)" ""
+  patches = [
+    ./fix-python-install-dir.patch
+  ];
 
+  postPatch = ''
     # https://github.com/rpm-software-management/libdnf/issues/1518
     substituteInPlace libdnf/libdnf.pc.in \
       --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
+    substituteInPlace cmake/modules/FindPythonInstDir.cmake \
+      --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}"
   '';
 
   cmakeFlags = [
     "-DWITH_GTKDOC=OFF"
     "-DWITH_HTML=OFF"
-    "-DWITH_BINDINGS=OFF"
+    "-DPYTHON_DESIRED=${lib.head (lib.splitString ["."] python.version)}"
   ];
 
+  postInstall = ''
+    rm -r $out/${python.sitePackages}/hawkey/test
+  '';
+
+  postFixup = ''
+    moveToOutput "lib/${python.libPrefix}" "$py"
+  '';
+
   meta = with lib; {
     description = "Package management library";
     homepage = "https://github.com/rpm-software-management/libdnf";
     changelog = "https://github.com/rpm-software-management/libdnf/releases/tag/${version}";
     license = licenses.gpl2Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ rb2k ];
+    maintainers = with maintainers; [ rb2k katexochen ];
   };
 }
diff --git a/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch b/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch
new file mode 100644
index 0000000000000..d08ec9deec025
--- /dev/null
+++ b/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/modules/FindPythonInstDir.cmake b/cmake/modules/FindPythonInstDir.cmake
+index ed098ded..2a2e1543 100644
+--- a/cmake/modules/FindPythonInstDir.cmake
++++ b/cmake/modules/FindPythonInstDir.cmake
+@@ -1,6 +1 @@
+-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "
+-from sys import stdout
+-from sysconfig import get_path
+-path=get_path(name='platlib', vars={'platbase':'${CMAKE_INSTALL_PREFIX}'})
+-stdout.write(path)"
+-OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@")
diff --git a/pkgs/tools/package-management/micromamba/default.nix b/pkgs/tools/package-management/micromamba/default.nix
index 182f58ea9da81..5ff23ec7188d6 100644
--- a/pkgs/tools/package-management/micromamba/default.nix
+++ b/pkgs/tools/package-management/micromamba/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "micromamba";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "mamba-org";
     repo = "mamba";
     rev = "micromamba-" + version;
-    hash = "sha256-/9CzcnPd1D8jSl/pfl54+8/728r+GCqWFXahl47MJ3g=";
+    hash = "sha256-29SuR4RDW0+yNR1RHlm3I4avy0CjBTGxv1FKxMDZxO0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/package-management/nix-doc/default.nix b/pkgs/tools/package-management/nix-doc/default.nix
index b5cc15704c32d..8a4e523e98b58 100644
--- a/pkgs/tools/package-management/nix-doc/default.nix
+++ b/pkgs/tools/package-management/nix-doc/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-doc";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "lf-";
     repo = "nix-doc";
-    sha256 = "sha256-H81U0gR/7oWjP1z7JC8tTek+tqzTwyJWgaJQOSyNn5M=";
+    sha256 = "sha256-yL0oG0NiQ7OdGQ/kZxQbSbNphKapu5HBFNP5E2fVe+Y=";
   };
 
   doCheck = true;
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     RUSTFLAGS = "-Z relro-level=partial";
   };
 
-  cargoSha256 = "sha256-yYVDToPLhGUYLrPNyyKwsYXe3QOTR26wtl3SCw4Za5s=";
+  cargoSha256 = "sha256-4bzLZt45ZLTZyZPZ4Nkvz7mNe4oqOIoaZUbCbNWBKG0=";
 
   meta = with lib; {
     description = "An interactive Nix documentation tool";
diff --git a/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch b/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch
deleted file mode 100644
index 5dfbfd780f1ca..0000000000000
--- a/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index d6b9dc1..ce7c493 100644
---- a/Makefile
-+++ b/Makefile
-@@ -601,7 +601,7 @@ install-localstatedir:
- endif
- 
- 
--install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir
-+install: all $(if $(BUILD_DOCS),install-doc) install-datadir
- ifneq ($(TOOLS),)
- 	$(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir))
- endif
diff --git a/pkgs/tools/security/argocd-vault-plugin/default.nix b/pkgs/tools/security/argocd-vault-plugin/default.nix
index d2557b36dc2e8..bd6e4c15fa27d 100644
--- a/pkgs/tools/security/argocd-vault-plugin/default.nix
+++ b/pkgs/tools/security/argocd-vault-plugin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd-vault-plugin";
-  version = "1.16.1";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "argoproj-labs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7bUpshg+OqlS5wvFkZkovQVaLglvSpp7FsVA9qNOk1U=";
+    hash = "sha256-YH7yNRaKdYzasaxYSManuiImyxglmIwgLvDKjUg3MR8=";
   };
 
-  vendorHash = "sha256-r9Pcm95gU0QTiREdiQiyJMOKZb5Lt2bIJywLerzgbdg=";
+  vendorHash = "sha256-0PrGrcS8Gx0cVImGrlmXlycFgWCTLjg2ISi0OhYoPpw=";
 
   # integration tests require filesystem and network access for credentials
   doCheck = false;
diff --git a/pkgs/tools/security/aws-iam-authenticator/default.nix b/pkgs/tools/security/aws-iam-authenticator/default.nix
index f186c43721f4f..0ce5e00e58bb6 100644
--- a/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "aws-iam-authenticator";
-  version = "0.6.12";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-IIlAsxxEYjR7+wdWExdsQAH0x4yOXZ+bVQWwn7mrhRw=";
+    hash = "sha256-ggTxiijZQ5URNgdimrx2MPA3phy+XKvwHzr8YVmfFDo=";
   };
 
-  vendorHash = "sha256-RcZqnyZtonE4qeu+llL1OPGPG93/Rx8ESWM5wapZ1BM=";
+  vendorHash = "sha256-TDsY05jnutNIKx0z6/8vGvsgYCIKBkTxh9mXqk4IR38=";
 
   ldflags = let PKG = "sigs.k8s.io/aws-iam-authenticator"; in [
     "-s"
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index 440ca40ec68df..080fc8ae3e320 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Gtg4zoMTOW/nrFm7PF4/96VGcMALg2msVZ3E7lGm5KA=";
+    hash = "sha256-SmD3Dq5LicPRe3lWFsq4zqM/yDZ1LsgRwSUA5/RbN9I=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/clevis/default.nix b/pkgs/tools/security/clevis/default.nix
index 0498f0599052a..fa1be45a5b997 100644
--- a/pkgs/tools/security/clevis/default.nix
+++ b/pkgs/tools/security/clevis/default.nix
@@ -16,6 +16,7 @@
 , ninja
 , pkg-config
 , tpm2-tools
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -29,6 +30,12 @@ stdenv.mkDerivation rec {
     hash = "sha256-3J3ti/jRiv+p3eVvJD7u0ko28rPd8Gte0mCJaVaqyOs=";
   };
 
+  patches = [
+    # Replaces the clevis-decrypt 300s timeout to a 10s timeout
+    # https://github.com/latchset/clevis/issues/289
+    ./tang-timeout.patch
+  ];
+
   postPatch = ''
     for f in $(find src/ -type f); do
       grep -q "/bin/cat" "$f" && substituteInPlace "$f" \
@@ -65,6 +72,14 @@ stdenv.mkDerivation rec {
     "man"
   ];
 
+  passthru.tests = {
+    inherit (nixosTests.installer) clevisBcachefs clevisBcachefsFallback clevisLuks clevisLuksFallback clevisZfs clevisZfsFallback;
+    clevisLuksSystemdStage1 = nixosTests.installer-systemd-stage-1.clevisLuks;
+    clevisLuksFallbackSystemdStage1 = nixosTests.installer-systemd-stage-1.clevisLuksFallback;
+    clevisZfsSystemdStage1 = nixosTests.installer-systemd-stage-1.clevisZfs;
+    clevisZfsFallbackSystemdStage1 = nixosTests.installer-systemd-stage-1.clevisZfsFallback;
+  };
+
   meta = with lib; {
     description = "Automated Encryption Framework";
     homepage = "https://github.com/latchset/clevis";
diff --git a/pkgs/tools/security/clevis/tang-timeout.patch b/pkgs/tools/security/clevis/tang-timeout.patch
new file mode 100644
index 0000000000000..454541d5e77ce
--- /dev/null
+++ b/pkgs/tools/security/clevis/tang-timeout.patch
@@ -0,0 +1,13 @@
+diff --git a/src/pins/tang/clevis-decrypt-tang b/src/pins/tang/clevis-decrypt-tang
+index 72393b4..40b660f 100755
+--- a/src/pins/tang/clevis-decrypt-tang
++++ b/src/pins/tang/clevis-decrypt-tang
+@@ -101,7 +101,7 @@ xfr="$(jose jwk exc -i '{"alg":"ECMR"}' -l- -r- <<< "$clt$eph")"
+ 
+ rec_url="$url/rec/$kid"
+ ct="Content-Type: application/jwk+json"
+-if ! rep="$(curl -sfg -X POST -H "$ct" --data-binary @- "$rec_url" <<< "$xfr")"; then
++if ! rep="$(curl --connect-timeout 10 -sfg -X POST -H "$ct" --data-binary @- "$rec_url" <<< "$xfr")"; then
+     echo "Error communicating with server $url" >&2
+     exit 1
+ fi
diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix
index 25b866285e95c..01773e1330dd5 100644
--- a/pkgs/tools/security/cnspec/default.nix
+++ b/pkgs/tools/security/cnspec/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "9.8.0";
+  version = "9.10.0";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XxjFmFU6G7pTJCkWUYadFTEAQh5HZigfvUNoNNw1DOM=";
+    hash = "sha256-jHV0kWxmIoznhxo+nj/oY+43Gp0FwMQeyX91IMgFmvY=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-Ykb1dmvdOgOBqgsCJbLGwUbbMfsao0is95g8a2chVME=";
+  vendorHash = "sha256-8clFlEuFD+o8USQlCPriC3BgHk2+U2BdxEwHt4hwI5M=";
 
   subPackages = [
     "apps/cnspec"
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index f910cf8467ed8..c80be56319f14 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -2,6 +2,7 @@
 , autoPatchelfHook
 , fuse3
 , maven, jdk, makeShellWrapper, glib, wrapGAppsHook
+, libayatana-appindicator
 }:
 
 
@@ -22,15 +23,14 @@ mavenJdk.buildMavenPackage rec {
     hash = "sha256-NMNlDEUpwKUywzhXhxlNX7NiE+6wOov2Yt8nTfbKTNI=";
   };
 
-  mvnParameters = "-Dmaven.test.skip=true";
-  mvnHash = "sha256-jIHMUj7ZQFu4XAvWUywj4f0PbmLHGtU5VRG0ZuKm3mA=";
+  mvnParameters = "-Dmaven.test.skip=true -Plinux";
+  mvnHash = "sha256-cmwU9k7TRRJ07bT1EmY3pIBkvvqmFyE7WJeVL7VFDyc=";
 
   preBuild = ''
     VERSION=${version}
     SEMVER_STR=${version}
   '';
 
-
   # This is based on the instructins in https://github.com/cryptomator/cryptomator/blob/develop/dist/linux/appimage/build.sh
   installPhase = ''
     mkdir -p $out/bin/ $out/share/cryptomator/libs/ $out/share/cryptomator/mods/
@@ -38,8 +38,9 @@ mavenJdk.buildMavenPackage rec {
     cp target/libs/* $out/share/cryptomator/libs/
     cp target/mods/* target/cryptomator-*.jar $out/share/cryptomator/mods/
 
-    makeShellWrapper ${jdk}/bin/java $out/bin/cryptomator \
+    makeShellWrapper ${jdk}/bin/java $out/bin/${pname} \
       --add-flags "--enable-preview" \
+      --add-flags "--enable-native-access=org.cryptomator.jfuse.linux.amd64,org.purejava.appindicator" \
       --add-flags "--class-path '$out/share/cryptomator/libs/*'" \
       --add-flags "--module-path '$out/share/cryptomator/mods'" \
       --add-flags "-Dfile.encoding='utf-8'" \
@@ -49,17 +50,17 @@ mavenJdk.buildMavenPackage rec {
       --add-flags "-Dcryptomator.p12Path='@{userhome}/.config/Cryptomator/key.p12'" \
       --add-flags "-Dcryptomator.ipcSocketPath='@{userhome}/.config/Cryptomator/ipc.socket'" \
       --add-flags "-Dcryptomator.mountPointsDir='@{userhome}/.local/share/Cryptomator/mnt'" \
-      --add-flags "-Dcryptomator.showTrayIcon=false" \
-      --add-flags "-Dcryptomator.buildNumber='nix'" \
+      --add-flags "-Dcryptomator.showTrayIcon=true" \
+      --add-flags "-Dcryptomator.buildNumber='nix-${src.rev}'" \
       --add-flags "-Dcryptomator.appVersion='${version}'" \
-      --add-flags "-Djdk.gtk.version=3" \
+      --add-flags "-Djava.net.useSystemProxies=true" \
       --add-flags "-Xss20m" \
       --add-flags "-Xmx512m" \
-      --add-flags "-Djavafx.embed.singleThread=true " \
-      --add-flags "-Dawt.useSystemAAFontSettings=on" \
+      --add-flags "-Dcryptomator.disableUpdateCheck=true" \
+      --add-flags "-Dcryptomator.integrationsLinux.trayIconsDir='$out/share/icons/hicolor/symbolic/apps'" \
       --add-flags "--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator" \
       --prefix PATH : "$out/share/cryptomator/libs/:${lib.makeBinPath [ jdk glib ]}" \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fuse3 ]}" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fuse3 libayatana-appindicator ]}" \
       --set JAVA_HOME "${jdk.home}"
 
     # install desktop entry and icons
@@ -80,7 +81,7 @@ mavenJdk.buildMavenPackage rec {
     wrapGAppsHook
     jdk
   ];
-  buildInputs = [ fuse3 jdk glib ];
+  buildInputs = [ fuse3 jdk glib libayatana-appindicator ];
 
   meta = with lib; {
     description = "Free client-side encryption for your cloud files";
diff --git a/pkgs/tools/security/dalfox/default.nix b/pkgs/tools/security/dalfox/default.nix
index b6d21b801efca..8c72a93d340f2 100644
--- a/pkgs/tools/security/dalfox/default.nix
+++ b/pkgs/tools/security/dalfox/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dalfox";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "hahwul";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-AG5CNqkxPQJQ+HN3JGUIgSYxgFigmUqVGn1yAHmo7Mo=";
+    sha256 = "sha256-7wSmPmS8m+rYhYlREzKlPUiUfDvru9zwFFvSCDq6JY8=";
   };
 
-  vendorHash = "sha256-OLT85GOcTnWmU+ZRem2+vY29nzvzXhnmIN2W+U6phPk=";
+  vendorHash = "sha256-W+37EL3e7G+U0EZUDuVqjZpfIf5+HcirH8NVsC+1NvA=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 272caf42e90e7..92b964ad2c95f 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.66.3";
+  version = "3.66.5";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-zS5nIULnzoOG43nNcVb6MdmKNDcDK75mh3SOMB5BXIY=";
+    sha256 = "sha256-/kcGfTDthm4gp1M4lSeY1x8Q7EWVX2pZVjF2rAbz+Es=";
   };
 
   vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 90ae553a014b3..ff1b798a59b31 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-11-28";
+  version = "2023-12-07";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3F2x+1d2h0fMy8p0qCOHh7UZyGYc65WkJcHxug0Hg6g=";
+    hash = "sha256-aN98whcpb3XMXWNFM0ynhcu6CmVdEXNDvtRE98mJSMA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/fscan/default.nix b/pkgs/tools/security/fscan/default.nix
index cda7fb968d3dc..00ce9d8ec78e3 100644
--- a/pkgs/tools/security/fscan/default.nix
+++ b/pkgs/tools/security/fscan/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fscan";
-  version = "1.8.3";
+  version = "1.8.3-build3";
 
   src = fetchFromGitHub {
     owner = "shadow1ng";
     repo = "fscan";
     rev = version;
-    hash = "sha256-uoM/nMtgIqyzpOoSQKD5k4LXAXoA8G5N4In8tZlngqs=";
+    hash = "sha256-GtOCd8JaR6tx8hoB+P9QXrEnN7Wvmv7jddhc2/8hjvQ=";
   };
 
   vendorHash = "sha256-hvb2IfypwYauF3ubE36u0bTU+l/FWP/CZt6dFd9zc6s=";
@@ -18,7 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/shadow1ng/fscan";
     license = licenses.mit;
     maintainers = with maintainers; [ Misaka13514 ];
-    platforms = with platforms; unix ++ windows;
     mainProgram = "fscan";
   };
 }
diff --git a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch b/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch
deleted file mode 100644
index 65804bac76425..0000000000000
--- a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tools/gpgkey2ssh.c b/tools/gpgkey2ssh.c
-index 903fb5b..d5611dc 100644
---- a/tools/gpgkey2ssh.c
-+++ b/tools/gpgkey2ssh.c
-@@ -268,7 +268,7 @@ main (int argc, char **argv)
-   keyid = argv[1];
- 
-   ret = asprintf (&command,
--		  "gpg --list-keys --with-colons --with-key-data '%s'",
-+		  "@out@/bin/gpg --list-keys --with-colons --with-key-data '%s'",
- 		  keyid);
-   assert (ret > 0);
- 
-
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 10efc22d4a1b8..6573c511474a7 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.15.10";
+  version = "1.15.11";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = "gopass";
     rev = "v${version}";
-    hash = "sha256-6s4rg2+oC+RB2gE4FQIY2MPmFSh+RxiZxaIuMI/T8hE=";
+    hash = "sha256-wgrZkRRMEWA9Lk9eW+iGi+dZNYfDVhRu1phimZC079c=";
   };
 
-  vendorHash = "sha256-tbZpNraGVC+p6O1MOh4vPmcwUgW5ykg7rGTNOWKFk0M=";
+  vendorHash = "sha256-TvohrwSFVv5ylVRd6jPdRDyRRhqqWa0xey9KN9vtyY8=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/gopass/git-credential.nix b/pkgs/tools/security/gopass/git-credential.nix
index 038cdaf84167b..8654d05d9d13a 100644
--- a/pkgs/tools/security/gopass/git-credential.nix
+++ b/pkgs/tools/security/gopass/git-credential.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "git-credential-gopass";
-  version = "1.15.10";
+  version = "1.15.11";
 
   src = fetchFromGitHub {
     owner = "gopasspw";
     repo = "git-credential-gopass";
     rev = "v${version}";
-    hash = "sha256-DQPjnCwpFOKN0ObPXPbwy7GK1VsPSj+pcLKjfSPPPRo=";
+    hash = "sha256-qnWgrpcj3DZQu5haP/5xqoO7eogkRjBmc8XpgFFNT6I=";
   };
 
-  vendorHash = "sha256-gvnBlf0JfdrHSHTF+OQxBHFER5F910mruzCa/prvIYA=";
+  vendorHash = "sha256-bit4+YgQ+Y/TA2q7KdZwYTE3ZKBwL6tUam+tHzBMiQw=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/gopass/hibp.nix b/pkgs/tools/security/gopass/hibp.nix
index 79a72bf891f81..11ee0a94dbf9b 100644
--- a/pkgs/tools/security/gopass/hibp.nix
+++ b/pkgs/tools/security/gopass/hibp.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gopass-hibp";
-  version = "1.15.10";
+  version = "1.15.11";
 
   src = fetchFromGitHub {
     owner = "gopasspw";
     repo = "gopass-hibp";
     rev = "v${version}";
-    hash = "sha256-v3FtWBi5H9LiFN/mowufonABr+aV3Z8MWBKiIUoy0NE=";
+    hash = "sha256-2XhvUIa8RxQ6CAKPGpL8/rBiJSX/WsSGtIpaHLIBM1E=";
   };
 
-  vendorHash = "sha256-c4kk1RrvB+c+8IfbIsLRvG7O3cy+u9l+pDZ52XX1AhI=";
+  vendorHash = "sha256-i9PUqircNf+jz5gcr3rVIR4tD9/bkV2h6LiDFhjiLaw=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/gopass/jsonapi.nix b/pkgs/tools/security/gopass/jsonapi.nix
index 21345240a6475..37ac46356c3a4 100644
--- a/pkgs/tools/security/gopass/jsonapi.nix
+++ b/pkgs/tools/security/gopass/jsonapi.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gopass-jsonapi";
-  version = "1.15.10";
+  version = "1.15.11";
 
   src = fetchFromGitHub {
     owner = "gopasspw";
     repo = "gopass-jsonapi";
     rev = "v${version}";
-    hash = "sha256-3E55MNS9QBLeae+Dc7NqbVMGie6NUKMBMGvkMqKeWoE=";
+    hash = "sha256-wJlnm+sgFg55LW4RWGjcT538DgNhJtFjwgwgqwLWH50=";
   };
 
-  vendorHash = "sha256-sarNWeBi93oXL9v2EkP/z2+Bd4TyNy+z6576hOCf1/Q=";
+  vendorHash = "sha256-qRmPO2WM9RD43twl5a47IT3xC1LGFwNF99ojIU2xg6A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/gopass/summon.nix b/pkgs/tools/security/gopass/summon.nix
index 48740f91954c5..97aed94c05fe1 100644
--- a/pkgs/tools/security/gopass/summon.nix
+++ b/pkgs/tools/security/gopass/summon.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gopass-summon-provider";
-  version = "1.15.10";
+  version = "1.15.11";
 
   src = fetchFromGitHub {
     owner = "gopasspw";
     repo = "gopass-summon-provider";
     rev = "v${version}";
-    hash = "sha256-S4BPUl7KuRakHr2fvNobChfevFw1UAbAdpFUkwXcmxs=";
+    hash = "sha256-rbfzmr6HtGUBCjO9jkocSghTAN+aNXTsSsMC38HqgW0=";
   };
 
-  vendorHash = "sha256-gvnBlf0JfdrHSHTF+OQxBHFER5F910mruzCa/prvIYA=";
+  vendorHash = "sha256-bit4+YgQ+Y/TA2q7KdZwYTE3ZKBwL6tUam+tHzBMiQw=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/gotestwaf/default.nix b/pkgs/tools/security/gotestwaf/default.nix
index 8f9d8776687fa..78ba5e06e4b92 100644
--- a/pkgs/tools/security/gotestwaf/default.nix
+++ b/pkgs/tools/security/gotestwaf/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gotestwaf";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "wallarm";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5cvyKCzisfuoMPuQpiRnIBCTw2yMdA1yavKNS9OwW58=";
+    hash = "sha256-fBmn+p5uVGnI4lyL12cX4S8eda79k2Y0RPQG9iZQs2Q=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix
index 10f67d5f0b356..a1fbd44b02320 100644
--- a/pkgs/tools/security/jadx/default.nix
+++ b/pkgs/tools/security/jadx/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , gradle
 , jdk
+, quark-engine
 , makeWrapper
 , perl
 , imagemagick
@@ -114,7 +115,9 @@ in stdenv.mkDerivation (finalAttrs: {
     cp -R build/jadx/lib $out
     for prog in jadx jadx-gui; do
       cp build/jadx/bin/$prog $out/bin
-      wrapProgram $out/bin/$prog --set JAVA_HOME ${jdk.home}
+      wrapProgram $out/bin/$prog \
+        --set JAVA_HOME ${jdk.home} \
+        --prefix PATH : "${lib.makeBinPath [ quark-engine ]}"
     done
 
     for size in 16 32 48; do
@@ -153,6 +156,6 @@ in stdenv.mkDerivation (finalAttrs: {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ delroth emilytrau ];
   };
 })
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index e7de6a9a982ed..b16aa8a0ddb32 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.44"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.45"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 9a129de0728ce..bdef38c32aadd 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 54a9eee7f85d369feef55d6a340340ad965f80a0
-  ref: refs/tags/6.3.44
+  revision: dd2f4b923912fc2ffc84d4a1d5e3bbccd5a8efc1
+  ref: refs/tags/6.3.45
   specs:
-    metasploit-framework (6.3.44)
+    metasploit-framework (6.3.45)
       actionpack (~> 7.0.0)
       activerecord (~> 7.0.0)
       activesupport (~> 7.0.0)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 6f9af0634e974..842fc64b64400 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.44";
+  version = "6.3.45";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = "refs/tags/${version}";
-    hash = "sha256-LBmyFE617G2ryEAp5fig3G2T/goa9NXUggu0XH4X1xs=";
+    hash = "sha256-vDTbuvMkudwV3rCEEwE62emXNSMgXR1XHyVB3sDN56Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 5f3386d4f2eba..d6d0ced8a5d1e 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -654,12 +654,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "54a9eee7f85d369feef55d6a340340ad965f80a0";
-      sha256 = "06yp2xz5rd0bhbadbx0s1bz96vfwl3wfaaa0r2mnvv5m9qab469c";
+      rev = "dd2f4b923912fc2ffc84d4a1d5e3bbccd5a8efc1";
+      sha256 = "19p7rp0dwh953xbisp904csrgsfr780i715hvqaxrf94yfxdnd5w";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.44";
+    version = "6.3.45";
   };
   metasploit-model = {
     groups = ["default"];
diff --git a/pkgs/tools/security/nitrokey-app2/default.nix b/pkgs/tools/security/nitrokey-app2/default.nix
index a3e3a82ec2347..15e756a7053b1 100644
--- a/pkgs/tools/security/nitrokey-app2/default.nix
+++ b/pkgs/tools/security/nitrokey-app2/default.nix
@@ -1,7 +1,6 @@
 { lib
 , python3
 , fetchFromGitHub
-, pynitrokey
 , wrapQtAppsHook
 }:
 
diff --git a/pkgs/tools/security/oauth2c/default.nix b/pkgs/tools/security/oauth2c/default.nix
index c4e187ea53ed5..b36eebea7b5f7 100644
--- a/pkgs/tools/security/oauth2c/default.nix
+++ b/pkgs/tools/security/oauth2c/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "oauth2c";
-  version = "1.12.1";
+  version = "1.12.2";
 
   src = fetchFromGitHub {
     owner = "cloudentity";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Qb4eES7xT/bQTMtcpFy6aQ7n5U/0yA1GXdTR9ga3aYU=";
+    hash = "sha256-iFYKAdoeCvyhAeZ5K3CHSsHG0Uq+Ok0C8ACe9RztDmY=";
   };
 
-  vendorHash = "sha256-+rkRo9zY3dRqElKApkbaBrDW8SqilqlGAhOM9vDeQps=";
+  vendorHash = "sha256-olDtsLoslxOsbAq60RnLp9MGZOt17/BPo9E9SgWOqoQ=";
 
   doCheck = false; # tests want to talk to oauth2c.us.authz.cloudentity.io
 
diff --git a/pkgs/tools/security/ossec/agent.nix b/pkgs/tools/security/ossec/agent.nix
new file mode 100644
index 0000000000000..003d2141c567c
--- /dev/null
+++ b/pkgs/tools/security/ossec/agent.nix
@@ -0,0 +1,69 @@
+{ lib, stdenv, fetchFromGitHub, which, pcre2, zlib, ncurses, openssl }:
+let
+  version = "unstable-2023-08-09";
+in
+stdenv.mkDerivation {
+  pname = "ossec-agent";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "ossec";
+    repo = "ossec-hids";
+    rev = "c8a36b0af3d4ee5252855b90236407cbfb996eb2";
+    sha256 = "sha256-AZ8iubyhNHXGR/l+hA61ifNDUoan7AQ42l/uRTt5GmE=";
+  };
+
+  # clear is used during the build process
+  nativeBuildInputs = [ ncurses ];
+
+  buildInputs = [ which pcre2 zlib openssl ];
+
+  # patch to remove root manipulation, install phase which tries to add users to the system, and init phase which tries to modify the system to launch files
+  patches = [ ./no-root.patch ];
+
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: src/common/mgmt/pint-worker-external.po:(.data.rel.local+0x0): multiple definition of
+  #     `PINT_worker_external_impl'; src/common/mgmt/pint-mgmt.po:(.bss+0x20): first defined here
+  env.NIX_CFLAGS_COMPILE = "-fcommon";
+
+  buildPhase = ''
+    mkdir $out
+    export USER_DIR="$out" # just to satisy the script
+    ./install.sh <<EOF
+en
+
+agent
+127.0.0.1
+yes
+yes
+yes
+EOF
+
+  '';
+
+  installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/share
+      mv $out/active-response/bin/* $out/bin
+      mv $out/etc $out/share
+      mv $out/queue $out/share
+      mv $out/var $out/share
+      mv $out/agentless $out/share
+      mv $out/.ssh $out/share
+      rm -r $out/active-response
+      rm -r $out/tmp
+
+      runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Open source host-based instrusion detection system";
+    homepage = "https://www.ossec.net";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix
deleted file mode 100644
index 1aa606f592742..0000000000000
--- a/pkgs/tools/security/ossec/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib, stdenv, fetchurl, which }:
-
-stdenv.mkDerivation rec {
-  pname = "ossec-client";
-  version = "2.6";
-
-  src = fetchurl {
-    url = "https://www.ossec.net/files/ossec-hids-${version}.tar.gz";
-    sha256 = "0k1b59wdv9h50gbyy88qw3cnpdm8hv0nrl0znm92h9a11i5b39ip";
-  };
-
-  buildInputs = [ which ];
-
-  patches = [ ./no-root.patch ];
-
-  # Workaround build failure on -fno-common toolchains like upstream
-  # gcc-10. Otherwise build fails as:
-  #   ld: src/common/mgmt/pint-worker-external.po:(.data.rel.local+0x0): multiple definition of
-  #     `PINT_worker_external_impl'; src/common/mgmt/pint-mgmt.po:(.bss+0x20): first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-
-  buildPhase = ''
-    echo "en
-
-agent
-$out
-no
-127.0.0.1
-yes
-yes
-yes
-
-
-"   | ./install.sh
-  '';
-
-  meta = with lib; {
-    description = "Open source host-based instrusion detection system";
-    homepage = "https://www.ossec.net";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
-  };
-}
-
diff --git a/pkgs/tools/security/ossec/no-root.patch b/pkgs/tools/security/ossec/no-root.patch
index ea6e9c54a9ae5..ef2f28560070f 100644
--- a/pkgs/tools/security/ossec/no-root.patch
+++ b/pkgs/tools/security/ossec/no-root.patch
@@ -1,7 +1,8 @@
-diff -Naur ossec-hids-2.6-orig/install.sh ossec-hids-2.6/install.sh
---- ossec-hids-2.6-orig/install.sh	2011-07-11 15:36:58.000000000 -0400
-+++ ossec-hids-2.6/install.sh	2012-07-09 09:58:57.970692818 -0400
-@@ -119,14 +119,14 @@
+diff --git a/install.sh b/install.sh
+index 387bde1a..cb6dcbf2 100755
+--- a/install.sh
++++ b/install.sh
+@@ -126,14 +126,14 @@ Install()
      # Generate the /etc/ossec-init.conf
      VERSION_FILE="./src/VERSION"
      VERSION=`cat ${VERSION_FILE}`
@@ -12,19 +13,38 @@ diff -Naur ossec-hids-2.6-orig/install.sh ossec-hids-2.6/install.sh
 -    echo "TYPE=\"${INSTYPE}\"" >> ${OSSEC_INIT}
 -    chmod 600 ${OSSEC_INIT}
 -    cp -pr ${OSSEC_INIT} ${INSTALLDIR}${OSSEC_INIT}
--    chmod 644 ${INSTALLDIR}${OSSEC_INIT}
-+    echo chmod 700 ${OSSEC_INIT} > /dev/null 2>&1
-+    echo "DIRECTORY=\"${INSTALLDIR}\"" > ${INSTALLDIR}${OSSEC_INIT}
-+    echo "VERSION=\"${VERSION}\"" >> ${INSTALLDIR}${OSSEC_INIT}
-+    echo "DATE=\"`date`\"" >> ${INSTALLDIR}${OSSEC_INIT}
-+    echo "TYPE=\"${INSTYPE}\"" >> ${INSTALLDIR}${OSSEC_INIT}
-+    echo chmod 600 ${OSSEC_INIT}
-+    echo cp -pr ${OSSEC_INIT} ${INSTALLDIR}${OSSEC_INIT}
-+    echo chmod 644 ${INSTALLDIR}${OSSEC_INIT}
+-    chmod 640 ${INSTALLDIR}${OSSEC_INIT}
++    # chmod 700 ${OSSEC_INIT} > /dev/null 2>&1
++    # echo "DIRECTORY=\"${INSTALLDIR}\"" > ${OSSEC_INIT}
++    # echo "VERSION=\"${VERSION}\"" >> ${OSSEC_INIT}
++    # echo "DATE=\"`date`\"" >> ${OSSEC_INIT}
++    # echo "TYPE=\"${INSTYPE}\"" >> ${OSSEC_INIT}
++    # chmod 600 ${OSSEC_INIT}
++    # cp -pr ${OSSEC_INIT} ${INSTALLDIR}${OSSEC_INIT}
++    # chmod 640 ${INSTALLDIR}${OSSEC_INIT}
  
  
      # If update_rules is set, we need to tweak
-@@ -926,11 +926,6 @@
+@@ -148,12 +148,12 @@ Install()
+     fi
+ 
+     # Calling the init script  to start ossec hids during boot
+-    if [ "X${update_only}" = "X" ]; then
+-        runInit
+-        if [ $? = 1 ]; then
+-            notmodified="yes"
+-        fi
+-    fi
++    # if [ "X${update_only}" = "X" ]; then
++    #     runInit
++    #     if [ $? = 1 ]; then
++    #         notmodified="yes"
++    #     fi
++    # fi
+ 
+ }
+ 
+@@ -965,10 +965,10 @@ main()
          catError "0x1-location";
      fi
  
@@ -32,145 +52,246 @@ diff -Naur ossec-hids-2.6-orig/install.sh ossec-hids-2.6/install.sh
 -    if [ ! "X$ME" = "Xroot" ]; then
 -        catError "0x2-beroot";
 -    fi
--
++    # # Must be root
++    # if [ ! "X$ME" = "Xroot" ]; then
++    #     catError "0x2-beroot";
++    # fi
+ 
      # Checking dependencies
      checkDependencies
- 
-diff -Naur ossec-hids-2.6-orig/src/InstallAgent.sh ossec-hids-2.6/src/InstallAgent.sh
---- ossec-hids-2.6-orig/src/InstallAgent.sh	2011-07-11 15:36:58.000000000 -0400
-+++ ossec-hids-2.6/src/InstallAgent.sh	2012-07-09 09:56:12.061870552 -0400
-@@ -80,7 +80,7 @@
+diff --git a/src/Makefile b/src/Makefile
+index 7fc04c0b..0eb27a0a 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -144,7 +144,7 @@ endif
+ ifeq (${uname_S},AIX)
+         INSTALL_CMD?=./install-shim-aix.ksh -m $(1) -o $(2) -g $(3)
  else
-     grep "^${USER}" /etc/passwd > /dev/null 2>&1
-     if [ ! $? = 0 ]; then
--	/usr/sbin/groupadd ${GROUP}
-+	echo /usr/sbin/groupadd ${GROUP}
- 
-     # We first check if /sbin/nologin is present. If it is not,
-     # we look for bin/false. If none of them is present, we
-@@ -93,7 +93,7 @@
-             OSMYSHELL="/bin/false"
-         fi
-     fi        
--	/usr/sbin/useradd -d ${DIR} -s ${OSMYSHELL} -g ${GROUP} ${USER}
-+	echo /usr/sbin/useradd -d ${DIR} -s ${OSMYSHELL} -g ${GROUP} ${USER}
-     fi
- fi
- 
-@@ -105,31 +105,31 @@
- done
- 
- # Default for all directories
--chmod -R 550 ${DIR}
--chown -R root:${GROUP} ${DIR}
-+echo chmod -R 550 ${DIR}
-+echo chown -R root:${GROUP} ${DIR}
- 
- # To the ossec queue (default for agentd to read)
--chown -R ${USER}:${GROUP} ${DIR}/queue/ossec
--chmod -R 770 ${DIR}/queue/ossec
-+echo chown -R ${USER}:${GROUP} ${DIR}/queue/ossec
-+echo chmod -R 770 ${DIR}/queue/ossec
- 
- # For the logging user
--chown -R ${USER}:${GROUP} ${DIR}/logs
--chmod -R 750 ${DIR}/logs
--chmod -R 775 ${DIR}/queue/rids
--touch ${DIR}/logs/ossec.log
--chown ${USER}:${GROUP} ${DIR}/logs/ossec.log
--chmod 664 ${DIR}/logs/ossec.log
+-        INSTALL_CMD?=install -m $(1) -o $(2) -g $(3)
++        INSTALL_CMD?=install
+ endif
+ 
+ ifdef DEBUGAD
+@@ -404,10 +404,10 @@ endif
+ install: install-${TARGET}
+ 
+ install-agent: install-common
+-	$(call INSTALL_CMD,0550,root,0) ossec-agentd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) agent-auth ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-agentd ${PREFIX}/bin
++	$(call INSTALL_CMD) agent-auth ${PREFIX}/bin
+ 
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/rids
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/rids
+ 
+ install-local: install-server-generic
+ 
+@@ -416,133 +416,126 @@ install-hybrid: install-server-generic
+ install-server: install-server-generic
+ 
+ install-common: build
+-	./init/adduser.sh ${OSSEC_USER} ${OSSEC_USER_MAIL} ${OSSEC_USER_REM} ${OSSEC_GROUP} ${PREFIX}
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs
+-	$(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/ossec.log
 -
--chown -R ${USER}:${GROUP} ${DIR}/queue/diff
--chmod -R 750 ${DIR}/queue/diff
--chmod 740 ${DIR}/queue/diff/* > /dev/null 2>&1
-+echo chown -R ${USER}:${GROUP} ${DIR}/logs
-+echo chmod -R 750 ${DIR}/logs
-+echo chmod -R 775 ${DIR}/queue/rids
-+echo touch ${DIR}/logs/ossec.log
-+echo chown ${USER}:${GROUP} ${DIR}/logs/ossec.log
-+echo chmod 664 ${DIR}/logs/ossec.log
-+
-+echo chown -R ${USER}:${GROUP} ${DIR}/queue/diff
-+echo chmod -R 750 ${DIR}/queue/diff
-+echo chmod 740 ${DIR}/queue/diff/* "> /dev/null 2>&1"
+-	$(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-logcollector ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-syscheckd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-execd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) manage_agents ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ../contrib/util.sh ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) ${OSSEC_CONTROL_SRC} ${PREFIX}/bin/ossec-control
++	$(call INSTALL_CMD) -d ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-logcollector ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-syscheckd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-execd ${PREFIX}/bin
++	$(call INSTALL_CMD) manage_agents ${PREFIX}/bin
++	$(call INSTALL_CMD) ../contrib/util.sh ${PREFIX}/bin/
++	$(call INSTALL_CMD) ${OSSEC_CONTROL_SRC} ${PREFIX}/bin/ossec-control
  
+ ifeq (${LUA_ENABLE},yes)
+-	$(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua
+-	$(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua/native
+-	$(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua/compiled
+-	$(call INSTALL_CMD,0550,root,0) ${EXTERNAL_LUA}src/ossec-lua ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) ${EXTERNAL_LUA}src/ossec-luac ${PREFIX}/bin/
++	$(call INSTALL_CMD) -d ${PREFIX}/lua
++	$(call INSTALL_CMD) -d ${PREFIX}/lua/native
++	$(call INSTALL_CMD) -d ${PREFIX}/lua/compiled
++	$(call INSTALL_CMD) ${EXTERNAL_LUA}src/ossec-lua ${PREFIX}/bin/
++	$(call INSTALL_CMD) ${EXTERNAL_LUA}src/ossec-luac ${PREFIX}/bin/
+ endif
  
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/queue
+-	$(call INSTALL_CMD,0770,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/alerts
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/ossec
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/syscheck
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/diff
++	$(call INSTALL_CMD) -d ${PREFIX}/queue
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/alerts
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/ossec
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/syscheck
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/diff
  
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/etc
++	$(call INSTALL_CMD) -d ${PREFIX}/etc
+ ifeq (${INSTALL_LOCALTIME},yes)
+-	$(call INSTALL_CMD,0440,root,${OSSEC_GROUP}) /etc/localtime ${PREFIX}/etc
++	$(call INSTALL_CMD) /etc/localtime ${PREFIX}/etc
+ endif
+ ifeq (${INSTALL_RESOLVCONF},yes)
+-	$(call INSTALL_CMD,0440,root,${OSSEC_GROUP}) /etc/resolv.conf ${PREFIX}/etc
++	$(call INSTALL_CMD) /etc/resolv.conf ${PREFIX}/etc
+ endif
  
- # For the etc dir
--chmod 550 ${DIR}/etc
--chown -R root:${GROUP} ${DIR}/etc
-+echo chmod 550 ${DIR}/etc
-+echo chown -R root:${GROUP} ${DIR}/etc
+-	$(call INSTALL_CMD,1550,root,${OSSEC_GROUP}) -d ${PREFIX}/tmp
++	$(call INSTALL_CMD) -d ${PREFIX}/tmp
+ 
+ ifneq (,$(wildcard /etc/TIMEZONE))
+-	$(call INSTALL_CMD,440,root,${OSSEC_GROUP}) /etc/TIMEZONE ${PREFIX}/etc/
++	$(call INSTALL_CMD) /etc/TIMEZONE ${PREFIX}/etc/
+ endif
+ # Solaris Needs some extra files
+ ifeq (${uname_S},SunOS)
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/usr/share/lib/zoneinfo/
++	$(call INSTALL_CMD) -d ${PREFIX}/usr/share/lib/zoneinfo/
+ 	cp -r /usr/share/lib/zoneinfo/* ${PREFIX}/usr/share/lib/zoneinfo/
+ endif
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/internal_options.conf ${PREFIX}/etc/
++	$(call INSTALL_CMD) -b ../etc/internal_options.conf ${PREFIX}/etc/
+ ifeq (,$(wildcard ${PREFIX}/etc/local_internal_options.conf))
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/local_internal_options.conf ${PREFIX}/etc/local_internal_options.conf
++	$(call INSTALL_CMD) ../etc/local_internal_options.conf ${PREFIX}/etc/local_internal_options.conf
+ endif
+ ifeq (,$(wildcard ${PREFIX}/etc/client.keys))
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) /dev/null ${PREFIX}/etc/client.keys
++	$(call INSTALL_CMD) /dev/null ${PREFIX}/etc/client.keys
+ endif
+ ifeq (,$(wildcard ${PREFIX}/etc/ossec.conf))
+ ifneq (,$(wildcard ../etc/ossec.mc))
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/ossec.mc ${PREFIX}/etc/ossec.conf
++	$(call INSTALL_CMD) ../etc/ossec.mc ${PREFIX}/etc/ossec.conf
+ else
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ${OSSEC_CONF_SRC} ${PREFIX}/etc/ossec.conf
++	$(call INSTALL_CMD) ${OSSEC_CONF_SRC} ${PREFIX}/etc/ossec.conf
+ endif
+ endif
+ 
+-	$(call INSTALL_CMD,0770,root,${OSSEC_GROUP}) -d ${PREFIX}/etc/shared
+-	$(call INSTALL_CMD,0640,${OSSEC_USER},${OSSEC_GROUP}) rootcheck/db/*.txt ${PREFIX}/etc/shared/
++	$(call INSTALL_CMD) -d ${PREFIX}/etc/shared
++	$(call INSTALL_CMD) rootcheck/db/*.txt ${PREFIX}/etc/shared/
+ 
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/active-response
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/active-response/bin
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/agentless
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) agentlessd/scripts/* ${PREFIX}/agentless/
++	$(call INSTALL_CMD) -d ${PREFIX}/active-response
++	$(call INSTALL_CMD) -d ${PREFIX}/active-response/bin
++	$(call INSTALL_CMD) -d ${PREFIX}/agentless
++	$(call INSTALL_CMD) agentlessd/scripts/* ${PREFIX}/agentless/
+ 
+-	$(call INSTALL_CMD,0700,root,${OSSEC_GROUP}) -d ${PREFIX}/.ssh
++	$(call INSTALL_CMD) -d ${PREFIX}/.ssh
+ 
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) ../active-response/*.sh ${PREFIX}/active-response/bin/
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) ../active-response/firewalls/*.sh ${PREFIX}/active-response/bin/
++	$(call INSTALL_CMD) ../active-response/*.sh ${PREFIX}/active-response/bin/
++	$(call INSTALL_CMD) ../active-response/firewalls/*.sh ${PREFIX}/active-response/bin/
+ 
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/var
+-	$(call INSTALL_CMD,0770,root,${OSSEC_GROUP}) -d ${PREFIX}/var/run
+-
+-	./init/fw-check.sh execute
++	$(call INSTALL_CMD) -d ${PREFIX}/var
++	$(call INSTALL_CMD) -d ${PREFIX}/var/run
  
- ls /etc/localtime > /dev/null 2>&1
- if [ $? = 0 ]; then
-@@ -167,25 +167,25 @@
- cp -pr ../etc/client.keys ${DIR}/etc/ > /dev/null 2>&1
- cp -pr agentlessd/scripts/* ${DIR}/agentless/
  
--chown root:${GROUP} ${DIR}/etc/internal_options.conf
--chown root:${GROUP} ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
--chown root:${GROUP} ${DIR}/etc/client.keys > /dev/null 2>&1
--chown root:${GROUP} ${DIR}/agentless/*
--chown ${USER}:${GROUP} ${DIR}/.ssh
--chown -R root:${GROUP} ${DIR}/etc/shared
+ 
+ install-server-generic: install-common
+-	$(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/active-responses.log
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/archives
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/alerts
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/firewall
+-
+-	$(call INSTALL_CMD,0550,root,0) ossec-agentlessd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-analysisd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-monitord ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-reportd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-maild ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-remoted ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-logtest ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-csyslogd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-authd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-dbd ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) ossec-makelists ${PREFIX}/bin
+-	$(call INSTALL_CMD,0550,root,0) verify-agent-conf ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) clear_stats ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) list_agents ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) ossec-regex ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) syscheck_update ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) agent_control ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) syscheck_control ${PREFIX}/bin/
+-	$(call INSTALL_CMD,0550,root,0) rootcheck_control ${PREFIX}/bin/
 -
--chmod 550 ${DIR}/etc
--chmod 440 ${DIR}/etc/internal_options.conf
--chmod 440 ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
--chmod 440 ${DIR}/etc/client.keys > /dev/null 2>&1
--chmod -R 770 ${DIR}/etc/shared # ossec must be able to write to it
--chmod 550 ${DIR}/agentless/*
--chmod 700 ${DIR}/.ssh
-+echo chown root:${GROUP} ${DIR}/etc/internal_options.conf
-+echo chown root:${GROUP} ${DIR}/etc/local_internal_options.conf "> /dev/null 2>&1"
-+echo chown root:${GROUP} ${DIR}/etc/client.keys "> /dev/null 2>&1"
-+echo chown root:${GROUP} ${DIR}/agentless/*
-+echo chown ${USER}:${GROUP} ${DIR}/.ssh
-+echo chown -R root:${GROUP} ${DIR}/etc/shared
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/stats
+-	$(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/rules
++	$(call INSTALL_CMD) /dev/null ${PREFIX}/logs/active-responses.log
++	$(call INSTALL_CMD) -d ${PREFIX}/logs/archives
++	$(call INSTALL_CMD) -d ${PREFIX}/logs/alerts
++	$(call INSTALL_CMD) -d ${PREFIX}/logs/firewall
 +
-+echo chmod 550 ${DIR}/etc
-+echo chmod 440 ${DIR}/etc/internal_options.conf
-+echo chmod 440 ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
-+echo chmod 440 ${DIR}/etc/client.keys > /dev/null 2>&1
-+echo chmod -R 770 ${DIR}/etc/shared # ossec must be able to write to it
-+echo chmod 550 ${DIR}/agentless/*
-+echo chmod 700 ${DIR}/.ssh
- 
- 
- # For the /var/run
--chmod 770 ${DIR}/var/run
--chown root:${GROUP} ${DIR}/var/run
-+echo chmod 770 ${DIR}/var/run
-+echo chown root:${GROUP} ${DIR}/var/run
- 
- 
- # Moving the binary files
-@@ -201,11 +201,11 @@
- sh ./init/fw-check.sh execute > /dev/null
- cp -pr ../active-response/*.sh ${DIR}/active-response/bin/
- cp -pr ../active-response/firewalls/*.sh ${DIR}/active-response/bin/
--chmod 755 ${DIR}/active-response/bin/*
--chown root:${GROUP} ${DIR}/active-response/bin/*
-+echo chmod 755 ${DIR}/active-response/bin/*
-+echo chown root:${GROUP} ${DIR}/active-response/bin/*
- 
--chown root:${GROUP} ${DIR}/bin/*
--chmod 550 ${DIR}/bin/*
-+echo chown root:${GROUP} ${DIR}/bin/*
-+echo chmod 550 ${DIR}/bin/*
- 
- 
- # Moving the config file
-@@ -221,8 +221,8 @@
- else    
-     cp -pr ../etc/ossec-agent.conf ${DIR}/etc/ossec.conf
- fi
--chown root:${GROUP} ${DIR}/etc/ossec.conf
--chmod 440 ${DIR}/etc/ossec.conf
-+echo chown root:${GROUP} ${DIR}/etc/ossec.conf
-+echo chmod 440 ${DIR}/etc/ossec.conf
++	$(call INSTALL_CMD) ossec-agentlessd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-analysisd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-monitord ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-reportd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-maild ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-remoted ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-logtest ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-csyslogd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-authd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-dbd ${PREFIX}/bin
++	$(call INSTALL_CMD) ossec-makelists ${PREFIX}/bin
++	$(call INSTALL_CMD) verify-agent-conf ${PREFIX}/bin/
++	$(call INSTALL_CMD) clear_stats ${PREFIX}/bin/
++	$(call INSTALL_CMD) list_agents ${PREFIX}/bin/
++	$(call INSTALL_CMD) ossec-regex ${PREFIX}/bin/
++	$(call INSTALL_CMD) syscheck_update ${PREFIX}/bin/
++	$(call INSTALL_CMD) agent_control ${PREFIX}/bin/
++	$(call INSTALL_CMD) syscheck_control ${PREFIX}/bin/
++	$(call INSTALL_CMD) rootcheck_control ${PREFIX}/bin/
++
++	$(call INSTALL_CMD) -d ${PREFIX}/stats
++	$(call INSTALL_CMD) -d ${PREFIX}/rules
+ ifneq (,$(wildcard ${PREFIX}/rules/local_rules.xml))
+ 	cp ${PREFIX}/rules/local_rules.xml ${PREFIX}/rules/local_rules.xml.installbackup
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/rules/*.xml ${PREFIX}/rules
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ${PREFIX}/rules/local_rules.xml.installbackup ${PREFIX}/rules/local_rules.xml
++	$(call INSTALL_CMD) -b ../etc/rules/*.xml ${PREFIX}/rules
++	$(call INSTALL_CMD) ${PREFIX}/rules/local_rules.xml.installbackup ${PREFIX}/rules/local_rules.xml
+ 	rm ${PREFIX}/rules/local_rules.xml.installbackup
+ else
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/rules/*.xml ${PREFIX}/rules
++	$(call INSTALL_CMD) -b ../etc/rules/*.xml ${PREFIX}/rules
+ endif
+ 
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/fts
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/fts
+ 
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/rootcheck
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/rootcheck
+ 
+-	$(call INSTALL_CMD,0750,${OSSEC_USER_REM},${OSSEC_GROUP}) -d ${PREFIX}/queue/agent-info
+-	$(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/agentless
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/agent-info
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/agentless
+ 
+-	$(call INSTALL_CMD,0750,${OSSEC_USER_REM},${OSSEC_GROUP}) -d ${PREFIX}/queue/rids
++	$(call INSTALL_CMD) -d ${PREFIX}/queue/rids
  
+-	$(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/decoder.xml ${PREFIX}/etc/
++	$(call INSTALL_CMD) ../etc/decoder.xml ${PREFIX}/etc/
  
+ 	rm -f ${PREFIX}/etc/shared/merged.mg
  
diff --git a/pkgs/tools/security/ossec/server.nix b/pkgs/tools/security/ossec/server.nix
new file mode 100644
index 0000000000000..1a7a3e8136758
--- /dev/null
+++ b/pkgs/tools/security/ossec/server.nix
@@ -0,0 +1,70 @@
+{ lib, stdenv, fetchFromGitHub, which, pcre2, zlib, ncurses, openssl }:
+let
+  version = "unstable-2023-08-09";
+in
+stdenv.mkDerivation {
+  pname = "ossec-server";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "ossec";
+    repo = "ossec-hids";
+    rev = "c8a36b0af3d4ee5252855b90236407cbfb996eb2";
+    sha256 = "sha256-AZ8iubyhNHXGR/l+hA61ifNDUoan7AQ42l/uRTt5GmE=";
+  };
+
+  # clear is used during the build process
+  nativeBuildInputs = [ ncurses ];
+
+  buildInputs = [ which pcre2 zlib openssl ];
+
+  # patch to remove root manipulation, install phase which tries to add users to the system, and init phase which tries to modify the system to launch files
+  patches = [ ./no-root.patch ];
+
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: src/common/mgmt/pint-worker-external.po:(.data.rel.local+0x0): multiple definition of
+  #     `PINT_worker_external_impl'; src/common/mgmt/pint-mgmt.po:(.bss+0x20): first defined here
+  env.NIX_CFLAGS_COMPILE = "-fcommon";
+
+  buildPhase = ''
+    mkdir -p $out/logs
+    export USER_DIR="$out" # just to satisy the script
+    ./install.sh <<EOF
+en
+
+server
+n
+n
+EOF
+  '';
+
+  installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/share
+      mv $out/active-response/bin/* $out/bin
+      mv $out/etc $out/share
+      mv $out/queue $out/share
+      mv $out/var $out/share
+      mv $out/agentless $out/share
+      mv $out/.ssh $out/share
+      mv $out/logs $out/share
+      mv $out/rules $out/share
+      mv $out/stats $out/share
+      rm -r $out/active-response
+      rm -r $out/tmp
+      ls -lah $out
+
+      runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Open source host-based instrusion detection system";
+    homepage = "https://www.ossec.net";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/tools/security/pinentry-bemenu/default.nix b/pkgs/tools/security/pinentry-bemenu/default.nix
index aec655d0b5594..ed43ee3825979 100644
--- a/pkgs/tools/security/pinentry-bemenu/default.nix
+++ b/pkgs/tools/security/pinentry-bemenu/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pinentry-bemenu";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "t-8ch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5ll4a/1Ughx0s2l/mcIsp1g4oNoNhm0RWvY/tXDvPGE=";
+    sha256 = "sha256-h+PC8IGwCW5ZroLGpypcmpejOo+JGM7zG4N5fguBWvM=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix
index 8a8fa4496c38e..097ef50239745 100644
--- a/pkgs/tools/security/qdigidoc/default.nix
+++ b/pkgs/tools/security/qdigidoc/default.nix
@@ -2,6 +2,7 @@
 , mkDerivation
 , fetchurl
 , cmake
+, flatbuffers
 , gettext
 , pkg-config
 , libdigidocpp
@@ -16,12 +17,12 @@
 
 mkDerivation rec {
   pname = "qdigidoc";
-  version = "4.2.12";
+  version = "4.4.0";
 
   src = fetchurl {
     url =
       "https://github.com/open-eid/DigiDoc4-Client/releases/download/v${version}/qdigidoc4-${version}.tar.gz";
-    hash = "sha256-6bso1qvhVhbBfrcTq4S+aHtHli7X2A926N4r45ztq4E=";
+    hash = "sha256-5zo0yoY0wufm9DWRIccxJ5g4DXn75nT4fd2h+5QP4oQ=";
   };
 
   tsl = fetchurl {
@@ -37,6 +38,7 @@ mkDerivation rec {
   '';
 
   buildInputs = [
+    flatbuffers
     libdigidocpp
     opensc
     openldap
diff --git a/pkgs/tools/security/rblake2sum/default.nix b/pkgs/tools/security/rblake2sum/default.nix
index a5a4a1bce76c3..8f2a868363560 100644
--- a/pkgs/tools/security/rblake2sum/default.nix
+++ b/pkgs/tools/security/rblake2sum/default.nix
@@ -24,5 +24,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/crev-dev/rblake2sum";
     license = [ licenses.mit ];
     maintainers = with maintainers; [ dpc ];
+    mainProgram = "rblake2sum";
   };
 }
diff --git a/pkgs/tools/security/rblake3sum/default.nix b/pkgs/tools/security/rblake3sum/default.nix
new file mode 100644
index 0000000000000..341dcd06fb6a7
--- /dev/null
+++ b/pkgs/tools/security/rblake3sum/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, Security
+}:
+rustPlatform.buildRustPackage {
+  pname = "rblake3sum";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "rustshop";
+    repo = "rblake3sum";
+    rev = "6a8e2576ccc05214eacb75b75a9d4cfdf272161c";
+    hash = "sha256-UFk6SJVA58WXhH1CIuT48MEF19yPUe1HD+ekn4LDj8g=";
+  };
+
+  cargoHash = "sha256-SE/Zg/UEV/vhB/VDcn8Y70OUIoxbJBh6H2QgFMkWPc4=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "A recursive blake3 digest (hash) of a file-system path";
+    homepage = "https://github.com/rustshop/rblake3sum";
+    license = [ licenses.mit ];
+    maintainers = with maintainers; [ dpc ];
+    mainProgram = "rblake3sum";
+  };
+}
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
index ba776b8af3e3f..7cde2be4fbc5f 100644
--- a/pkgs/tools/security/srm/default.nix
+++ b/pkgs/tools/security/srm/default.nix
@@ -1,14 +1,18 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchsvn, autoreconfHook }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "srm";
-  version = "1.2.15";
+  version = "1.2.15-unstable-2017-12-18";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/srm/${version}/srm-${version}.tar.gz";
-    sha256 = "10sjarhprs6s4zandndg720528rcnd4xk8dl48pjj7li1q9c30vm";
+  src = fetchsvn {
+    url = "svn://svn.code.sf.net/p/srm/srm/trunk/";
+    rev = "268";
+    sha256 = "sha256-bY8p6IS5zeByoe/uTmvBAaBN4Wu7J19dVSpbtqx4OeQ=";
   };
 
+  patches = [ ./fix-output-in-verbose-mode.patch ];
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with lib; {
     description = "Delete files securely";
     longDescription = ''
@@ -22,5 +26,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch b/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch
new file mode 100644
index 0000000000000..966d7ba4612ea
--- /dev/null
+++ b/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch
@@ -0,0 +1,57 @@
+diff --git a/src/sunlink.c b/src/sunlink.c
+index 7050713..ffcb8d3 100644
+--- a/src/sunlink.c
++++ b/src/sunlink.c
+@@ -468,6 +468,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 5, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 6, 0xFF) < 0) return -1;
+       if(overwrite_random(srm, 7, 1) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_DOE)
+     {
+@@ -475,6 +477,8 @@ static int overwrite_selector(struct srm_target *srm)
+ 	error("US DoE mode");
+       if(overwrite_random(srm, 1, 2) < 0) return -1;
+       if(overwrite_bytes(srm, 3, 'D', 'o', 'E') < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_OPENBSD)
+     {
+@@ -483,12 +487,16 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 1, 0xFF) < 0) return -1;
+       if(overwrite_byte(srm, 2, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 3, 0xFF) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_SIMPLE)
+     {
+       if((srm->options&SRM_OPT_V) > 1)
+ 	error("Simple mode");
+       if(overwrite_byte(srm, 1, 0x00) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_RCMP)
+     {
+@@ -497,6 +505,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 1, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 2, 0xFF) < 0) return -1;
+       if(overwrite_string(srm, 3, "RCMP") < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else
+     {
+@@ -535,6 +545,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_random(srm, 32, 4) < 0) return -1;
+       /* if you want to backup your partition or shrink your vmware image having the file zero-ed gives best compression results. */
+       if(overwrite_byte(srm, 36, 0x00) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+ #if 0
+   if((srm->options & SRM_OPT_V) > 1)
diff --git a/pkgs/tools/security/sss-cli/default.nix b/pkgs/tools/security/sss-cli/default.nix
new file mode 100644
index 0000000000000..80daa4a6627ea
--- /dev/null
+++ b/pkgs/tools/security/sss-cli/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sss-cli";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "dsprenkels";
+    repo = "sss-cli";
+    rev = "v${version}";
+    hash = "sha256-9Wht+t48SsWpj1z2yY6P7G+h9StmuqfMdODtyPffhak=";
+  };
+
+  cargoPatches = [ ./fix-cargo-lock.patch ];
+
+  cargoHash = "sha256-nKb0J9ym3ZYC80KemwQwT5vVtQUngYD4/091hAIYAiU=";
+
+  meta = with lib; {
+    homepage = "https://github.com/dsprenkels/sss-cli";
+    description = "Command line program for secret-sharing strings";
+    license = licenses.mit;
+    maintainers = with maintainers; [ laalsaas ];
+  };
+}
diff --git a/pkgs/tools/security/sss-cli/fix-cargo-lock.patch b/pkgs/tools/security/sss-cli/fix-cargo-lock.patch
new file mode 100644
index 0000000000000..4af581c4962d8
--- /dev/null
+++ b/pkgs/tools/security/sss-cli/fix-cargo-lock.patch
@@ -0,0 +1,21 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index a57c5d8..27278d9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,5 +1,7 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "aho-corasick"
+ version = "0.7.15"
+@@ -253,7 +255,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "shamirsecretsharing-cli"
+-version = "0.1.0"
++version = "0.1.1"
+ dependencies = [
+  "atty",
+  "clap",
diff --git a/pkgs/tools/security/step-cli/default.nix b/pkgs/tools/security/step-cli/default.nix
index 040c25b65c3f1..53a0a44588a2a 100644
--- a/pkgs/tools/security/step-cli/default.nix
+++ b/pkgs/tools/security/step-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "step-cli";
-  version = "0.25.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8sMF7KSrHyApdXZ3Oy4KogEqd6R8KlQVkqIcvYQBPJY=";
+    hash = "sha256-Lltlvr/Hvh2W8MiB5WC3RmQcHg6kRPau7Fvvaqm60MQ=";
   };
 
   ldflags = [
@@ -25,7 +25,7 @@ buildGoModule rec {
     rm command/certificate/remote_test.go
   '';
 
-  vendorHash = "sha256-c+2mOAMdGcqeL7zAURso3XVcnb93HNS/i6c63kiIHKU=";
+  vendorHash = "sha256-dhJrDhMnPb985W3YP7+W8GHuMpkkZJcxks27TThj2YE=";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/pkgs/tools/security/step-kms-plugin/default.nix b/pkgs/tools/security/step-kms-plugin/default.nix
index 66413b1798aca..9e948bf52dd6f 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.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pbSv3qTQkeYWtg5HKu9kUIWYw6t6yKKA4GQuiwGEPD8=";
+    hash = "sha256-l0MMcLghhqVVQAdhk0a0nDqYvJbXCV2PFbRtiGQcDn0=";
   };
 
-  vendorHash = "sha256-hb1Nn/+PVhhBByQ8I9MuUEd5di5jEZVMtSpm0+qBXQk=";
+  vendorHash = "sha256-3du8KlM08N5hKmzZWYZdfPOL5R+BspbK6ABF+RSJzHg=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index e286f7e7aee3c..40056ec72eb89 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -71,9 +71,8 @@ stdenv.mkDerivation rec {
 
   passthru.tests = { inherit (nixosTests) sudo; };
 
-  meta = {
+  meta = with lib; {
     description = "A command to run commands as root";
-
     longDescription =
       ''
         Sudo (su "do") allows a system administrator to delegate
@@ -81,13 +80,10 @@ stdenv.mkDerivation rec {
         to run some (or all) commands as root or another user while
         providing an audit trail of the commands and their arguments.
       '';
-
     homepage = "https://www.sudo.ws/";
-
-    license = "https://www.sudo.ws/sudo/license.html";
-
-    maintainers = with lib.maintainers; [ delroth ];
-
-    platforms = lib.platforms.linux;
+    # From https://www.sudo.ws/about/license/
+    license = with licenses; [ sudo bsd2 bsd3 zlib ];
+    maintainers = with maintainers; [ delroth ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index fd8c512837ff4..9bff2f0679e4b 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.18.3";
+  version = "1.18.5";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-2jIdKBNn3Ajvq+fQ1OuQ0VB8+S0QYwLZnJMlGqZ7WtE=";
+    hash = "sha256-RDKy588qUvs0SGysz4DnQMliKiTJn4GA53kDyMZhzQE=";
   };
 
-  vendorHash = "sha256-PH94le8IwVuinlRsk84HGSxhBSJTTJDrou7nfD1J1JM=";
+  vendorHash = "sha256-9zD81p/UjH43B0aeqlItP9vrGMaT/zhVYv60ot153Gc=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index fb9ce6fd6d5a6..c13f33f9115e9 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.14.4";
+  version = "1.14.7";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-E7lEKsbl2L6KhLgAZbemCaTIjbsvl3wg3oCURn/Judc=";
+    sha256 = "sha256-ubMHvKV5OOmQOrjm2J56/XCxsj+qDBPOKgS6hF75g28=";
   };
 
-  vendorHash = "sha256-8ytAT7qVXAIfoeMyTBMJ6DiWn74sRM1WrrOYaKTlKMo=";
+  vendorHash = "sha256-zpHjZjgCgf4b2FAJQ22eVgq0YGoVvxGYJ3h/3ZRiyrQ=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index ca392d68a96d7..e7516cc83d0dc 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vault-bin";
-  version = "1.15.2";
+  version = "1.15.3";
 
   src =
     let
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-aawDrQu8wEZqJ/uyCJjtWcgy8Ut34B5P+odqddE5P3M=";
-        aarch64-linux = "sha256-thLVw//yIgPCAV9CdrRlINLg+cO5aB279I2aboZMF6w=";
-        i686-linux = "sha256-bUhtnQB5YZdDuB4uondln0D3itoTr+1FaqjgTiT76WA=";
-        x86_64-darwin = "sha256-+wZrWwbpibtCla1ydhDnLJsHrVymLzEXVE1KftZ+pOs=";
-        aarch64-darwin = "sha256-2FGiCzIAEyXTqRaKEDZK5d/PWl4EmvJl9NieiOdgOeY=";
+        x86_64-linux = "sha256-rRXpRxuslOvvNgK6W0BG/LWs2sAGGCuSxcbVbsmrtN0=";
+        aarch64-linux = "sha256-vD/S+aZGa+JFRBV9WML9WbhrFpB8FynM62ZJ0zkWtDU=";
+        i686-linux = "sha256-Y9KpL0kZxlgfkBSyXJVSND2hSJ1y+FuXKPK0/P2YX2w=";
+        x86_64-darwin = "sha256-i85GQSJK7dPoLP7XBrz7CiISCG8KbGylL++ecy/CXRY=";
+        aarch64-darwin = "sha256-eZAuUNbigJ/kye8p3yu+Qf+p47IkxKJntR2sGFpM+j8=";
       };
     in
     fetchzip {
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     description = "A tool for managing secrets, this binary includes the UI";
     homepage = "https://www.vaultproject.io";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.mpl20;
+    license = licenses.bsl11;
     maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man techknowlogick mkaito ];
     mainProgram = "vault";
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
index b233f57a58179..186144a3b1a91 100644
--- a/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,57 +1,57 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.1.7.4)
+    activesupport (6.1.7.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    addressable (2.8.4)
+    addressable (2.8.5)
       public_suffix (>= 2.0.2, < 6.0)
-    cms_scanner (0.13.8)
-      ethon (>= 0.14, < 0.16)
+    cms_scanner (0.13.9)
+      ethon (>= 0.14, < 0.17)
       get_process_mem (~> 0.2.5)
-      nokogiri (>= 1.11.4, < 1.14.0)
+      nokogiri (>= 1.11.4, < 1.16.0)
       opt_parse_validator (~> 1.9.5)
-      public_suffix (~> 4.0.3)
-      ruby-progressbar (>= 1.10, < 1.12)
-      sys-proctable (~> 1.2.2)
+      public_suffix (>= 4.0.3, < 5.1.0)
+      ruby-progressbar (>= 1.10, < 1.14)
+      sys-proctable (>= 1.2.2, < 1.4.0)
       typhoeus (>= 1.3, < 1.5)
       xmlrpc (~> 0.3)
       yajl-ruby (~> 1.4.1)
     concurrent-ruby (1.2.2)
-    ethon (0.15.0)
+    ethon (0.16.0)
       ffi (>= 1.15.0)
-    ffi (1.15.5)
+    ffi (1.16.3)
     get_process_mem (0.2.7)
       ffi (~> 1.0)
     i18n (1.14.1)
       concurrent-ruby (~> 1.0)
-    mini_portile2 (2.8.2)
-    minitest (5.18.1)
-    nokogiri (1.13.10)
-      mini_portile2 (~> 2.8.0)
+    mini_portile2 (2.8.5)
+    minitest (5.20.0)
+    nokogiri (1.15.5)
+      mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     opt_parse_validator (1.9.5)
       activesupport (>= 5.2, < 6.2.0)
       addressable (>= 2.5, < 2.9)
-    public_suffix (4.0.7)
-    racc (1.7.1)
-    ruby-progressbar (1.11.0)
-    sys-proctable (1.2.7)
+    public_suffix (5.0.4)
+    racc (1.7.3)
+    ruby-progressbar (1.13.0)
+    sys-proctable (1.3.0)
       ffi (~> 1.1)
-    typhoeus (1.4.0)
+    typhoeus (1.4.1)
       ethon (>= 0.9.0)
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
     webrick (1.8.1)
-    wpscan (3.8.24)
-      cms_scanner (~> 0.13.8)
-    xmlrpc (0.3.2)
+    wpscan (3.8.25)
+      cms_scanner (~> 0.13.9)
+    xmlrpc (0.3.3)
       webrick
     yajl-ruby (1.4.3)
-    zeitwerk (2.6.8)
+    zeitwerk (2.6.12)
 
 PLATFORMS
   ruby
@@ -60,4 +60,4 @@ DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   2.4.13
+   2.4.22
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
index 5cae455dd0143..abe19a29bf8f4 100644
--- a/pkgs/tools/security/wpscan/gemset.nix
+++ b/pkgs/tools/security/wpscan/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s465919p6fcgcsqin8w8hay2m598dvnzks490hbsb0p68sdz69m";
+      sha256 = "1nhrdih0rk46i0s6x7nqhbypmj1hf23zl5gfl9xasb6k4r2a1dxk";
       type = "gem";
     };
-    version = "6.1.7.4";
+    version = "6.1.7.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
+      sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   cms_scanner = {
     dependencies = ["ethon" "get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15d7djrrkrcwznglgkr4y80jbsbxaf071qhjnn4i1c4n7nszwwfj";
+      sha256 = "0p3vdkkd04r31d503z5v0480xlq1fhiw77icbk5s17y6dwfacydy";
       type = "gem";
     };
-    version = "0.13.8";
+    version = "0.13.9";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -48,20 +48,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
+      sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v";
       type = "gem";
     };
-    version = "0.15.0";
+    version = "0.16.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.3";
   };
   get_process_mem = {
     dependencies = ["ffi"];
@@ -90,20 +90,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6";
+      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.5";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb";
+      sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
       type = "gem";
     };
-    version = "5.18.1";
+    version = "5.20.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -111,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
+      sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
       type = "gem";
     };
-    version = "1.13.10";
+    version = "1.15.5";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -132,30 +132,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
+      sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "5.0.4";
   };
   racc = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
+      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.3";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
+      sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
   sys-proctable = {
     dependencies = ["ffi"];
@@ -163,10 +163,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "121ix0bl19pawhljs17sfgddkd0hgxlhchsz9kxw14ipmskjq9ah";
+      sha256 = "0m3fj6j1qpfszqnsvr6wpak0d9vw5ggylaqkalhl3m50kbbimxii";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.3.0";
   };
   typhoeus = {
     dependencies = ["ethon"];
@@ -174,10 +174,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
+      sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qh7x5sjx1i9h8zrp86qz126brxbqx0c3wxc8vn7fpln0y78nw9q";
+      sha256 = "1x04asq0aznbm6m79jlsv7mjbhq755759s4bi3qbyrv5rwpy7hji";
       type = "gem";
     };
-    version = "3.8.24";
+    version = "3.8.25";
   };
   xmlrpc = {
     dependencies = ["webrick"];
@@ -217,10 +217,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xa79ry3976ylap38cr5g6q3m81plm611flqd3dwgnmgbkycb6jp";
+      sha256 = "0fwfnccagsjrbvrav5nbk3zracj9zncr7i375nn20jd4cfy4cggc";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "0.3.3";
   };
   yajl-ruby = {
     groups = ["default"];
@@ -237,9 +237,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck6bj7wa73dkdh13735jl06k6cfny98glxjkas82aivlmyzqqbk";
+      sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn";
       type = "gem";
     };
-    version = "2.6.8";
+    version = "2.6.12";
   };
 }
diff --git a/pkgs/tools/system/openseachest/default.nix b/pkgs/tools/system/openseachest/default.nix
index 1bdcf796f7504..ab17c23bc61e9 100644
--- a/pkgs/tools/system/openseachest/default.nix
+++ b/pkgs/tools/system/openseachest/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openseachest";
-  version = "23.03.1";
+  version = "23.12";
 
   src = fetchFromGitHub {
     owner = "Seagate";
     repo = "openSeaChest";
     rev = "v${version}";
-    sha256 = "sha256-jDCCozHeOazB3cM/9TlwHq1pu7yTiD818jykHeQ+RBo=";
+    sha256 = "sha256-2snxruIC/93+yI7g/9cCXcms8FaoXnoyWq9py8GTwrs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/system/skeema/default.nix b/pkgs/tools/system/skeema/default.nix
index 1d5c7c4886a9c..38d6c4d1f75a7 100644
--- a/pkgs/tools/system/skeema/default.nix
+++ b/pkgs/tools/system/skeema/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "skeema";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "skeema";
     repo = "skeema";
     rev = "v${version}";
-    hash = "sha256-BXjcn9oakTvaWPYIsAsjYRwQ1aKhZ4PAV2AkxSVOF/I=";
+    hash = "sha256-S7eMqaz8BZ80AwIrVmX+rnEgIwEdy8q65FIy6Mac4CY=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/text/d2/default.nix b/pkgs/tools/text/d2/default.nix
index bca032d6ddf96..4e426085374dd 100644
--- a/pkgs/tools/text/d2/default.nix
+++ b/pkgs/tools/text/d2/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "d2";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "terrastruct";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bp45tkV7f6rGDAmhle/e3cHIqa7nPakANvk4QxetLts=";
+    hash = "sha256-4kSnwJTS+am9ATlUPsWLGccHXFQqrEcK0GtaqqW7fdQ=";
   };
 
-  vendorHash = "sha256-QMptNFCoJouI555WkA+4TJhaEzQgJJmca3jVpM3neeI=";
+  vendorHash = "sha256-BEYww1wsf9nxE48TNvyFkddF0TwQg7e5BoolvvKewYg=";
 
   excludedPackages = [ "./e2etests" ];
 
diff --git a/pkgs/tools/text/enscript/0001-use-system-getopt.patch b/pkgs/tools/text/enscript/0001-use-system-getopt.patch
new file mode 100644
index 0000000000000..0ae8776f361e8
--- /dev/null
+++ b/pkgs/tools/text/enscript/0001-use-system-getopt.patch
@@ -0,0 +1,68 @@
+From 4c5cbf6db71cf2981fc836ed370c82149748d8ea Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Wed, 6 Dec 2023 22:57:19 +0000
+Subject: [PATCH] use system getopt
+
+the file compat/getopt.h also needs to be removed otherwise it will
+create conflicts with the system includes
+---
+ compat/Makefile.am | 4 ++--
+ compat/Makefile.in | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/compat/Makefile.am b/compat/Makefile.am
+index aefc06f..23aaf81 100644
+--- a/compat/Makefile.am
++++ b/compat/Makefile.am
+@@ -25,7 +25,7 @@
+ AUTOMAKE_OPTIONS = no-dependencies
+ 
+ noinst_LIBRARIES = libcompat.a
+-libcompat_a_SOURCES = getopt.c getopt1.c xalloc.c regex.c
++libcompat_a_SOURCES = xalloc.c regex.c
+ libcompat_a_LIBADD = @LIBOBJS@ @ALLOCA@
+ libcompat_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
+ 
+@@ -34,7 +34,7 @@ libcompat_a_SOURCES_windelta =	\
+ 	+../w32/getpwd.c	\
+ 	+../w32/getuid.c
+ 
+-noinst_HEADERS = getopt.h regex.h xalloc.h
++noinst_HEADERS = regex.h xalloc.h
+ 
+ EXTRA_DIST = ChangeLog.old strerror.c memmove.c memcpy.c strtol.c	\
+ 	strtoul.c gettext.h
+diff --git a/compat/Makefile.in b/compat/Makefile.in
+index edfc620..dee05d7 100644
+--- a/compat/Makefile.in
++++ b/compat/Makefile.in
+@@ -137,7 +137,7 @@ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+ am__v_AR_0 = @echo "  AR      " $@;
+ am__v_AR_1 = 
+ libcompat_a_AR = $(AR) $(ARFLAGS)
+-am_libcompat_a_OBJECTS = getopt.$(OBJEXT) getopt1.$(OBJEXT) \
++am_libcompat_a_OBJECTS = \
+ 	xalloc.$(OBJEXT) regex.$(OBJEXT)
+ libcompat_a_OBJECTS = $(am_libcompat_a_OBJECTS)
+ AM_V_P = $(am__v_P_@AM_V@)
+@@ -326,7 +326,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = no-dependencies
+ noinst_LIBRARIES = libcompat.a
+-libcompat_a_SOURCES = getopt.c getopt1.c xalloc.c regex.c
++libcompat_a_SOURCES = xalloc.c regex.c
+ libcompat_a_LIBADD = @LIBOBJS@ @ALLOCA@
+ libcompat_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
+ libcompat_a_SOURCES_windelta = \
+@@ -334,7 +334,7 @@ libcompat_a_SOURCES_windelta = \
+ 	+../w32/getpwd.c	\
+ 	+../w32/getuid.c
+ 
+-noinst_HEADERS = getopt.h regex.h xalloc.h
++noinst_HEADERS = regex.h xalloc.h
+ EXTRA_DIST = ChangeLog.old strerror.c memmove.c memcpy.c strtol.c	\
+ 	strtoul.c gettext.h
+ 
+-- 
+2.42.0
+
diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
index 1299ef78679c1..e5aeb75ca6266 100644
--- a/pkgs/tools/text/enscript/default.nix
+++ b/pkgs/tools/text/enscript/default.nix
@@ -9,12 +9,20 @@ stdenv.mkDerivation rec {
     sha256 = "1fy0ymvzrrvs889zanxcaxjfcxarm2d3k43c9frmbl1ld7dblmkd";
   };
 
-  preBuild =
-    ''
-      # Fix building on Darwin with GCC.
-      substituteInPlace compat/regex.c --replace \
-         __private_extern__  '__attribute__ ((visibility ("hidden")))'
-    '';
+  patches = [
+    # fix compile failure on macos. use system getopt like linux
+    # requires that compat/getopt.h is also removed
+    # https://savannah.gnu.org/bugs/?64307
+    ./0001-use-system-getopt.patch
+  ];
+
+  postPatch = ''
+    # the delete component of 0001-use-system-getopt.patch
+    rm compat/getopt.h
+    # Fix building on Darwin with GCC.
+    substituteInPlace compat/regex.c --replace \
+       __private_extern__  '__attribute__ ((visibility ("hidden")))'
+  '';
 
   buildInputs = [ gettext ];
 
diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix
index a9f1b79c474a8..f8317d70d7782 100644
--- a/pkgs/tools/text/fastmod/default.nix
+++ b/pkgs/tools/text/fastmod/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fastmod";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j5+6ijJ04/Non7AUSN35OhfZ04MiPUDU4V1HLwZaM9k=";
+    sha256 = "sha256-A/3vzfwaStoQ9gdNM8yjmL2J/pQjj6yb68WThiTF+1E=";
   };
 
-  cargoSha256 = "sha256-RNTnP3RKRZXo3+L54y/8nBunGbsxVY72sbl+ZrqfeMI=";
+  cargoHash = "sha256-sFrABp4oYhel+GONFsTbunq+4We2DicvF9A3FT/ZArc=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 8904d1bf690e8..fc6c21551fe87 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -17,7 +17,7 @@ mkDerivation rec {
   version = "1.10.6";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/kdiff3/kdiff3-${version}.tar.xz";
     hash = "sha256-EzOu+dZjbGs0ZqF/0sXZbpGdTrUh6isjUoJUETau+zE=";
   };
 
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 65fcb5b71e7bc..ed4543140e863 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "sha256-I0Blp3o+NVL0b/86UTztufwKVkgO9KNXtBuUrUnbWco=";
+    sha256 = "sha256-S6iBg7nEKCLrFzUnCseTaxFl6/YeRic2tJnBPLuXmWw=";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/pkgs/tools/text/tuc/default.nix b/pkgs/tools/text/tuc/default.nix
index 3598a317633f7..f51d81dc7a17e 100644
--- a/pkgs/tools/text/tuc/default.nix
+++ b/pkgs/tools/text/tuc/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "tuc";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "riquito";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zEWQ1wGpEowVPdlezC/LZhoPGS546nuqREfavo3fbTs=";
+    sha256 = "sha256-83tS0sYqQqGQVXFBQ/mIDxL9QKqPjAM48vTXA8NKdtE=";
   };
 
-  cargoHash = "sha256-YRw1HxVy1/SOWfareR6rh6M78xFm+Im//klhXGGt95g=";
+  cargoHash = "sha256-ka6h60ettSsho7QnWmpWrEPEyHIIyTVSW2r1Hk132CY=";
 
   meta = with lib; {
     description = "When cut doesn't cut it";
diff --git a/pkgs/tools/typesetting/tex/catdvi/default.nix b/pkgs/tools/typesetting/tex/catdvi/default.nix
index 924aa57ece996..1958a2f4c0734 100644
--- a/pkgs/tools/typesetting/tex/catdvi/default.nix
+++ b/pkgs/tools/typesetting/tex/catdvi/default.nix
@@ -28,6 +28,11 @@ stdenv.mkDerivation (finalAttrs: {
     })
   ];
 
+  # fix implicit-int compile error in test code used in configure script
+  postPatch = ''
+    sed -i 's/^main()/int main()/' configure
+  '';
+
   hardeningDisable = [ "format" ];
 
   outputs = [ "out" ] ++ lib.optional (with stdenv; buildPlatform.canExecute hostPlatform) "dev";
diff --git a/pkgs/tools/typesetting/typstfmt/Cargo.lock b/pkgs/tools/typesetting/typstfmt/Cargo.lock
index 8f560ac59e5de..ecfb8d4030f54 100644
--- a/pkgs/tools/typesetting/typstfmt/Cargo.lock
+++ b/pkgs/tools/typesetting/typstfmt/Cargo.lock
@@ -18,6 +18,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
 name = "bstr"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -30,9 +36,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
+checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
 dependencies = [
  "memchr",
  "serde",
@@ -46,9 +52,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "comemo"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a097f142aeb5b03af73595536cd55f5d649fca4d656379aac86b3af133cf92"
+checksum = "bf5705468fa80602ee6a5f9318306e6c428bffd53e43209a78bc05e6e667c6f4"
 dependencies = [
  "comemo-macros",
  "siphasher",
@@ -56,13 +62,13 @@ dependencies = [
 
 [[package]]
 name = "comemo-macros"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168cc09917f6a014a4cf6ed166d1b541a20a768c60f9cc348f25203ee8312940"
+checksum = "54af6ac68ada2d161fa9cc1ab52676228e340866d094d6542107e74b82acc095"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn",
 ]
 
 [[package]]
@@ -137,16 +143,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -166,28 +166,28 @@ dependencies = [
 
 [[package]]
 name = "globset"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
  "aho-corasick",
- "bstr 1.7.0",
- "fnv",
+ "bstr 1.8.0",
  "log",
- "regex",
+ "regex-automata 0.4.3",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -229,9 +229,20 @@ checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall",
+]
 
 [[package]]
 name = "linked-hash-map"
@@ -281,9 +292,9 @@ checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
@@ -299,21 +310,21 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall",
+ "libredox",
  "thiserror",
 ]
 
@@ -363,29 +374,29 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.189"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.189"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
 dependencies = [
  "serde",
 ]
@@ -421,32 +432,21 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.3.11"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
-
-[[package]]
-name = "syn"
-version = "1.0.109"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -470,7 +470,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn",
 ]
 
 [[package]]
@@ -506,9 +506,9 @@ dependencies = [
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -545,7 +545,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn",
 ]
 
 [[package]]
@@ -560,20 +560,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-log"
-version = "0.1.3"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
- "lazy_static",
  "log",
+ "once_cell",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "nu-ansi-term",
  "sharded-slab",
@@ -601,7 +601,7 @@ dependencies = [
 
 [[package]]
 name = "typstfmt"
-version = "0.2.6"
+version = "0.2.7"
 dependencies = [
  "confy",
  "lexopt",
@@ -610,7 +610,7 @@ dependencies = [
 
 [[package]]
 name = "typstfmt_lib"
-version = "0.2.6"
+version = "0.2.7"
 dependencies = [
  "globmatch",
  "insta",
@@ -770,9 +770,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "winnow"
-version = "0.5.17"
+version = "0.5.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c"
+checksum = "b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94"
 dependencies = [
  "memchr",
 ]
diff --git a/pkgs/tools/typesetting/typstfmt/default.nix b/pkgs/tools/typesetting/typstfmt/default.nix
index cec70394e4f97..2305998e94a20 100644
--- a/pkgs/tools/typesetting/typstfmt/default.nix
+++ b/pkgs/tools/typesetting/typstfmt/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typstfmt";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "astrale-sharp";
     repo = "typstfmt";
     rev = version;
-    hash = "sha256-UUVbnxIj7kQVpZvSbbB11i6wAvdTnXVk5cNSNoGBeRM=";
+    hash = "sha256-LBYsTCjZ+U+lgd7Z3H1sBcWwseoHsuepPd66bWgfvhI=";
   };
 
   cargoLock = {
diff --git a/pkgs/tools/video/go2rtc/default.nix b/pkgs/tools/video/go2rtc/default.nix
index c6f8b66d1bcdc..92b3f9ba2ac20 100644
--- a/pkgs/tools/video/go2rtc/default.nix
+++ b/pkgs/tools/video/go2rtc/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go2rtc";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "AlexxIT";
     repo = "go2rtc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3cWhASwOgSovApNT/MUbhHhmp/o4k3ckgfcSFwJJqI8=";
+    hash = "sha256-knC8GWu8543QIvk2OKotTHB88qgSQpOI+58oHusgVKc=";
   };
 
-  vendorHash = "sha256-SV4sMDgUv6Ci0aC7wsam7ftqMSpFwsMGkC9qLpR+O68=";
+  vendorHash = "sha256-+n0atALq5e2iEbEeJ1kefnKka7gTE0iFRSRnUCz4bh8=";
 
   buildFlagArrays = [
     "-trimpath"
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
index e6b867139165d..da2f1a9091565 100644
--- a/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -60,7 +60,7 @@ buildGoModule rec {
     description = "System container image builder for LXC and LXD";
     homepage = "https://github.com/lxc/distrobuilder";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ megheaiulian adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
     mainProgram = "distrobuilder";
   };
diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
index e78b36c9f84f9..cea1553e0bc6f 100644
--- a/pkgs/tools/virtualization/xe-guest-utilities/default.nix
+++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
@@ -6,16 +6,17 @@
 
 buildGoModule rec {
   pname = "xe-guest-utilities";
-  version = "7.30.0";
+  version = "8.3.1";
 
   src = fetchFromGitHub {
     owner = "xenserver";
     repo = "xe-guest-utilities";
     rev = "v${version}";
-    hash = "sha256-gMb8QIUg8t0SiTtUzqeh4XM5hHgCXuf5KlV3OeoU0LI=";
+    hash = "sha256-d0WdezcT44ExeHSnoJ3Dn0u/IRlhWreOZPSVw6Q1h/w=";
   };
 
-  vendorHash = "sha256-zhpDvo8iujE426/gxJY+Pqfv99vLNKHqyMQbbXIKodY=";
+  deleteVendor = true;
+  vendorHash = "sha256-X/BI+ZhoqCGCmJfccyEBVgZc70aRTp3rL5j+rBWG5fE=";
 
   postPatch = ''
     substituteInPlace mk/xen-vcpu-hotplug.rules \
diff --git a/pkgs/tools/wayland/mpvpaper/default.nix b/pkgs/tools/wayland/mpvpaper/default.nix
index 51edcc0ea3a2f..91ec1e80267ff 100644
--- a/pkgs/tools/wayland/mpvpaper/default.nix
+++ b/pkgs/tools/wayland/mpvpaper/default.nix
@@ -2,7 +2,6 @@
 , lib
 , meson
 , ninja
-, wlroots
 , wayland
 , wayland-protocols
 , wayland-scanner
@@ -17,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mpvpaper";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "GhostNaN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0LjIwOY2hBUb0nziD3HLP2Ek5+8v3ntssRFD9eQgWkc=";
+    sha256 = "sha256-pJPoI47KKazVT6RfqyftZe+lPe6Kn2cllRSfq0twUpQ=";
   };
 
   strictDeps = true;
@@ -37,7 +36,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    wlroots
     wayland
     wayland-protocols
     egl-wayland
diff --git a/pkgs/tools/wayland/swaysome/default.nix b/pkgs/tools/wayland/swaysome/default.nix
index 4acf4115a0480..308592e450f94 100644
--- a/pkgs/tools/wayland/swaysome/default.nix
+++ b/pkgs/tools/wayland/swaysome/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swaysome";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitLab {
     owner = "hyask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KmGAp0EPnnM+hPRpUGsbt+NU2v5mcPaRUqo0pqUr1L8=";
+    sha256 = "sha256-U5W/9VL1t1/R4ADPxseBV6CMKx04I4vbp7sFmSqRZXk=";
   };
 
-  cargoHash = "sha256-9sOR99CaTyMQoGMKP2Cag6YNxmgEqNPE/kiJPziqB9U=";
+  cargoHash = "sha256-QA3EQsYgjwx8QX50yaxiJyAPDlpYYqiqLiXco1kJmw0=";
 
   meta = with lib; {
     description = "Helper to make sway behave more like awesomewm";
diff --git a/pkgs/tools/wayland/wob/default.nix b/pkgs/tools/wayland/wob/default.nix
index 67f7904192f92..3dc21b64fb119 100644
--- a/pkgs/tools/wayland/wob/default.nix
+++ b/pkgs/tools/wayland/wob/default.nix
@@ -5,6 +5,7 @@
 , meson
 , ninja
 , pkg-config
+, cmocka
 , scdoc
 , wayland-scanner
 , wayland
@@ -14,20 +15,20 @@
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.14.2";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    sha256 = "sha256-u4jLVLGcMTgDEgN8jW5d59m3GorJX7Z6+qKhzvbON3k=";
+    sha256 = "sha256-9LFAEo17w861ldMJU+t1oLAKoM6gJc4Em4tSwQDXbKU=";
   };
 
   strictDeps = true;
   depsBuildBuild = [
     pkg-config
   ];
-  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
+  nativeBuildInputs = [ meson ninja pkg-config cmocka scdoc wayland-scanner ];
   buildInputs = [ inih wayland wayland-protocols ]
     ++ lib.optional stdenv.isLinux libseccomp;
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 6b8ccb8895809..7a7c99a7cb122 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -69,7 +69,9 @@ mapAliases ({
   alsaUtils = alsa-utils; # Added 2021-06-10
   angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
   ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
+  apacheAnt_1_9 = throw "Ant 1.9 has been removed since it's not used in nixpkgs anymore"; # Added 2023-11-12
   antimicroX = antimicrox; # Added 2021-10-31
+  arcanPackages = throw "arcanPackages was removed and its sub-attributes were promoted to top-level"; # Added 2023-11-26
   ardour_6 = throw "ardour_6 has been removed in favor of newer versions"; # Added 2023-10-13
   aseprite-unfree = aseprite; # Added 2023-08-26
   asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
@@ -164,7 +166,7 @@ mapAliases ({
 
   # these are for convenience, not for backward compat and shouldn't expire
   clang6Stdenv = lowPrio llvmPackages_6.stdenv;
-  clang7Stdenv = lowPrio llvmPackages_7.stdenv;
+  clang7Stdenv = throw "clang7Stdenv has been removed from nixpkgs"; # Added 2023-11-19
   clang8Stdenv = lowPrio llvmPackages_8.stdenv;
   clang9Stdenv = lowPrio llvmPackages_9.stdenv;
   clang10Stdenv = lowPrio llvmPackages_10.stdenv;
@@ -175,6 +177,9 @@ mapAliases ({
   clang15Stdenv = lowPrio llvmPackages_15.stdenv;
   clang16Stdenv = lowPrio llvmPackages_16.stdenv;
 
+  clang-tools_7  = throw "clang-tools_7 has been removed from nixpkgs"; # Added 2023-11-19
+  clang_7  = throw "clang_7 has been removed from nixpkgs"; # Added 2023-11-19
+
   ### D ###
 
   dagger = throw "'dagger' has been removed from nixpkgs, as the trademark policy of the upstream project is incompatible"; # Added 2023-10-16
@@ -282,6 +287,7 @@ mapAliases ({
   geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10
   ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18
   go-dependency-manager = throw "'go-dependency-manager' is unmaintained and the go community now uses 'go.mod' mostly instead"; # Added 2023-10-04
+  gotktrix = throw "'gotktrix' has been removed, as it was broken and unmaintained"; # Added 2023-12-06
   git-subset = throw "'git-subset' has been removed in favor of 'git-filter-repo'"; # Added 2023-01-13
 
   gitAndTools = self // {
@@ -387,6 +393,7 @@ mapAliases ({
   imagemagick7 = imagemagick; # Added 2021-02-22
   imagemagick7_light = imagemagick_light; # Added 2021-02-22
   imlib = throw "imlib has been dropped due to the lack of maintenance from upstream since 2004"; # Added 2023-01-04
+  indigenous-desktop = throw "'indigenous-desktop' has been renamed to/replaced by 'indiepass-desktop'"; # Added 2023-11-08
   instead-launcher = throw "instead-launcher has been removed, because it depended on qt4"; # Added 2023-07-26
   insync-v3 = throw "insync-v3 has been merged into the insync package; use insync instead"; #Added 2023-05-13
   index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17
@@ -559,6 +566,10 @@ mapAliases ({
   '';
   linux_latest_hardened = linuxPackages_latest_hardened;
 
+  lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19
+  lldb_7 = throw "lldb_7 has been removed from nixpkgs"; # Added 2023-11-19
+  llvmPackages_7 = throw "llvmPackages_7 has been removed from nixpkgs"; # Added 2023-11-19
+  llvm_7 = throw "llvm_7 has been removed from nixpkgs"; # Added 2023-11-19
 
   lobster-two = google-fonts; # Added 2021-07-22
   luxcorerender = throw "'luxcorerender' has been removed as it's unmaintained and broken in nixpkgs since a while ago"; # Added 2023-06-07
@@ -617,6 +628,7 @@ mapAliases ({
   nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
   nix-direnv-flakes = nix-direnv;
   nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
+  nix-template-rpm = throw "'nix-template-rpm' has been removed as it is broken and unmaintained" ; # Added 2023-11-20
   nixFlakes = nixVersions.stable; # Added 2021-05-21
   nixStable = nixVersions.stable; # Added 2022-01-24
   nixUnstable = nixVersions.unstable; # Added 2022-01-26
@@ -644,6 +656,7 @@ mapAliases ({
   noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
   noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09
   noto-fonts-extra = noto-fonts; # Added 2023-04-08
+  nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl";
 
   ### O ###
 
@@ -768,6 +781,7 @@ mapAliases ({
   qt6ct = qt6Packages.qt6ct; # Added 2023-03-07
   qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
   qtile-unwrapped = python3.pkgs.qtile; # Added 2023-05-12
+  quantum-espresso-mpi = quantum-espresso; # Added 2023-11-23
   qutebrowser-qt6 = throw "'qutebrowser-qt6' has been replaced by 'qutebrowser', since the the qt5 version has been removed"; # Added 2023-08-19
   quvi = throw "'quvi' has been removed, as it was broken and unmaintained"; # Added 2023-11-25
 
@@ -832,6 +846,13 @@ mapAliases ({
   s2n = s2n-tls; # Added 2021-03-03
   sane-backends-git = sane-backends; # Added 2021-02-19
   scantailor = scantailor-advanced; # Added 2022-05-26
+  schildichat-web = throw ''
+    schildichat has been removed as it is severely lacking behind the Element upstream and does not receive regular security fixes.
+    Please participate in upstream discussion on getting out new releases:
+    https://github.com/SchildiChat/schildichat-desktop/issues/212
+    https://github.com/SchildiChat/schildichat-desktop/issues/215''; # Added 2023-12-05
+  schildichat-desktop = schildichat-web;
+  schildichat-desktop-wayland = schildichat-web;
   sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   searx = throw "'searx' has been removed as it is unmaintained. Please switch to searxng"; # Added 2023-10-03
   session-desktop-appimage = session-desktop;
@@ -905,6 +926,7 @@ mapAliases ({
   taro = taproot-assets; # Added 2023-07-04
   tdesktop = telegram-desktop; # Added 2023-04-07
   telegram-cli = throw "telegram-cli was removed because it was broken and abandoned upstream"; # Added 2023-07-28
+  teleport_11 = throw "teleport 11 has been removed as it is EOL. Please upgrade to Teleport 12 or later"; # Added 2023-11-27
   tensile = throw "'tensile' has been replaced with 'rocmPackages.tensile'"; # Added 2023-10-08
   testVersion = testers.testVersion; # Added 2022-04-20
   tfplugindocs = terraform-plugin-docs; # Added 2023-11-01
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 545175af47f0b..47e6879dd8aa3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -226,6 +226,12 @@ with pkgs;
 
   chkservice = callPackage ../tools/admin/chkservice { };
 
+  # addDriverRunpath is the preferred package name, as this enables
+  # many more scenarios than just opengl now.
+  addDriverRunpath = callPackage ../build-support/add-driver-runpath { };
+
+  # addOpenGLRunpath should be added to aliases.nix after the 24.05 branch-off.
+  # Post 24.11 branch-off, this should throw an error in aliases.nix.
   addOpenGLRunpath = callPackage ../build-support/add-opengl-runpath { };
 
   quickemu = callPackage ../development/quickemu { };
@@ -611,6 +617,8 @@ with pkgs;
 
   dec-decode = callPackage ../development/tools/dec-decode { };
 
+  dnf4 =  with python3Packages; toPythonApplication dnf4;
+
   dnf5 = callPackage ../tools/package-management/dnf5 { };
 
   documenso = callPackage ../applications/office/documenso { };
@@ -814,6 +822,10 @@ with pkgs;
 
   sea-orm-cli = callPackage ../development/tools/sea-orm-cli { };
 
+  vcpkg-tool = callPackage ../by-name/vc/vcpkg-tool/package.nix {
+    fmt = fmt_10;
+  };
+
   r3ctl = qt5.callPackage ../tools/misc/r3ctl { };
 
   ptouch-print = callPackage ../misc/ptouch-print { };
@@ -1764,6 +1776,10 @@ with pkgs;
 
   davinci-resolve = callPackage ../applications/video/davinci-resolve { };
 
+  davinci-resolve-studio = callPackage ../applications/video/davinci-resolve { studioVariant = true; };
+
+  dehinter = with python3Packages; toPythonApplication dehinter;
+
   dolbybcsoftwaredecode = callPackage ../applications/audio/dolbybcsoftwaredecode { };
 
   donkey = callPackage ../tools/security/donkey { };
@@ -1804,6 +1820,10 @@ with pkgs;
 
   ethq = callPackage ../os-specific/linux/ethq { };
 
+  font-v = with python3Packages; toPythonApplication font-v;
+
+  fontbakery = with python3Packages; toPythonApplication fontbakery;
+
   weidu = callPackage ../tools/games/weidu { };
 
   weylus = callPackage ../applications/graphics/weylus  {
@@ -1888,6 +1908,8 @@ with pkgs;
 
   hyperpotamus = callPackage ../tools/misc/hyperpotamus { };
 
+  igir = callPackage ../tools/games/igir { };
+
   immich-cli = callPackage ../tools/misc/immich-cli { };
 
   inherit (callPackage ../tools/networking/ivpn/default.nix {}) ivpn ivpn-service;
@@ -2022,6 +2044,8 @@ with pkgs;
 
   sgrep = callPackage ../tools/text/sgrep { };
 
+  shaperglot = with python3Packages; toPythonApplication shaperglot;
+
   shell-genie = callPackage  ../applications/misc/shell-genie { };
 
   sloth = callPackage ../tools/misc/sloth { };
@@ -2088,12 +2112,12 @@ with pkgs;
 
   transmission-rss = callPackage ../tools/networking/transmission-rss { };
 
-  trigger-control = callPackage ../tools/games/trigger-control { };
-
   trimage = callPackage ../applications/graphics/trimage { inherit (qt5) wrapQtAppsHook; };
 
   ttchat = callPackage ../tools/misc/ttchat { };
 
+  ufolint = with python3Packages; toPythonApplication ufolint;
+
   ukmm = callPackage ../tools/games/ukmm { };
 
   unflac = callPackage ../tools/audio/unflac { };
@@ -2116,6 +2140,8 @@ with pkgs;
 
   vopono = callPackage ../tools/networking/vopono { };
 
+  vprof = with python3Packages; toPythonApplication vprof;
+
   vrc-get = callPackage ../tools/misc/vrc-get {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -2671,10 +2697,7 @@ with pkgs;
 
   emulationstation = callPackage ../applications/emulators/emulationstation { };
 
-  fceux = callPackage ../applications/emulators/fceux {
-    lua = lua5_1;
-    inherit (libsForQt5) wrapQtAppsHook;
-  };
+  fceux = libsForQt5.callPackage ../applications/emulators/fceux { lua = lua5_1; };
 
   firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
 
@@ -3008,8 +3031,6 @@ with pkgs;
 
   xplorer = callPackage ../applications/file-managers/xplorer { };
 
-  ytree = callPackage ../applications/file-managers/ytree { };
-
   johnny-reborn-engine = callPackage ../applications/misc/johnny-reborn { };
 
   johnny-reborn = callPackage ../applications/misc/johnny-reborn/with-data.nix { };
@@ -3022,7 +3043,12 @@ with pkgs;
 
   blackbox-terminal = callPackage ../applications/terminal-emulators/blackbox-terminal { };
 
-  contour = libsForQt5.callPackage ../applications/terminal-emulators/contour { fmt = fmt_8; };
+  contour = qt6.callPackage ../applications/terminal-emulators/contour {
+    inherit (darwin.apple_sdk_11_0.libs) utmp;
+    inherit (darwin) sigtool;
+    stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
+    fmt = fmt_9;
+  };
 
   cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { };
 
@@ -3890,7 +3916,7 @@ with pkgs;
 
   gopacked = callPackage ../applications/misc/gopacked { };
 
-  gotktrix = callPackage ../applications/networking/instant-messengers/gotktrix { };
+  goperf = callPackage ../development/tools/goperf { };
 
   graphite-cli = nodePackages.graphite-cli;
 
@@ -4780,8 +4806,6 @@ with pkgs;
 
   slurp = callPackage ../tools/wayland/slurp { };
 
-  sov = callPackage ../tools/wayland/sov { };
-
   swaykbdd = callPackage ../tools/wayland/swaykbdd { };
 
   swayr = callPackage ../tools/wayland/swayr { };
@@ -5215,7 +5239,7 @@ with pkgs;
 
   element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_26;
+    electron = electron_27;
   };
   element-desktop-wayland = writeScriptBin "element-desktop" ''
     #!/bin/sh
@@ -5691,7 +5715,7 @@ with pkgs;
   hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper { };
 
   hyprpicker = callPackage ../applications/window-managers/hyprwm/hyprpicker {
-    wlroots = wlroots_0_15;
+    wlroots = wlroots_0_16;
   };
 
   hyprshade = python311Packages.callPackage ../applications/window-managers/hyprwm/hyprshade { };
@@ -6304,6 +6328,10 @@ with pkgs;
       inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  rblake3sum = callPackage ../tools/security/rblake3sum {
+      inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   reg = callPackage ../tools/virtualization/reg { };
 
   retool = callPackage ../applications/misc/retool { };
@@ -6859,8 +6887,9 @@ with pkgs;
   inherit (callPackage ../applications/networking/remote/citrix-workspace { })
     citrix_workspace_23_02_0
     citrix_workspace_23_07_0
+    citrix_workspace_23_09_0
   ;
-  citrix_workspace = citrix_workspace_23_07_0;
+  citrix_workspace = citrix_workspace_23_09_0;
 
   clima = callPackage ../tools/text/clima { };
 
@@ -6981,7 +7010,7 @@ with pkgs;
   keymapper = callPackage ../tools/inputmethods/keymapper { };
 
   twitch-tui = callPackage ../applications/networking/instant-messengers/twitch-tui {
-    inherit (darwin.apple_sdk_11_0.frameworks) Security CoreServices;
+    inherit (darwin.apple_sdk_11_0.frameworks) Security CoreServices SystemConfiguration;
   };
 
   gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { stdenv = gcc10StdenvCompat; };
@@ -7077,7 +7106,7 @@ with pkgs;
   ibus-theme-tools = callPackage ../tools/misc/ibus-theme-tools { };
 
   interception-tools = callPackage ../tools/inputmethods/interception-tools { };
-  interception-tools-plugins = {
+  interception-tools-plugins = recurseIntoAttrs {
     caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { };
     dual-function-keys = callPackage ../tools/inputmethods/interception-tools/dual-function-keys.nix { };
   };
@@ -7215,7 +7244,7 @@ with pkgs;
   compass = callPackage ../development/tools/compass { };
 
   cone = callPackage ../development/compilers/cone {
-    llvmPackages = llvmPackages_7;
+    llvmPackages = llvmPackages_13;
   };
 
   conda = callPackage ../tools/package-management/conda { };
@@ -7279,7 +7308,7 @@ with pkgs;
   cudaPackages_10_0 = callPackage ./cuda-packages.nix { cudaVersion = "10.0"; };
   cudaPackages_10_1 = callPackage ./cuda-packages.nix { cudaVersion = "10.1"; };
   cudaPackages_10_2 = callPackage ./cuda-packages.nix { cudaVersion = "10.2"; };
-  cudaPackages_10 = cudaPackages_10_2;
+  cudaPackages_10 = recurseIntoAttrs cudaPackages_10_2;
 
   cudaPackages_11_0 = callPackage ./cuda-packages.nix { cudaVersion = "11.0"; };
   cudaPackages_11_1 = callPackage ./cuda-packages.nix { cudaVersion = "11.1"; };
@@ -7290,16 +7319,21 @@ with pkgs;
   cudaPackages_11_6 = callPackage ./cuda-packages.nix { cudaVersion = "11.6"; };
   cudaPackages_11_7 = callPackage ./cuda-packages.nix { cudaVersion = "11.7"; };
   cudaPackages_11_8 = callPackage ./cuda-packages.nix { cudaVersion = "11.8"; };
-  cudaPackages_11 = cudaPackages_11_8;
+  cudaPackages_11 = recurseIntoAttrs cudaPackages_11_8;
 
   cudaPackages_12_0 = callPackage ./cuda-packages.nix { cudaVersion = "12.0"; };
   cudaPackages_12_1 = callPackage ./cuda-packages.nix { cudaVersion = "12.1"; };
   cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; };
-  cudaPackages_12 = cudaPackages_12_0;
+  cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; };
+  cudaPackages_12 = recurseIntoAttrs cudaPackages_12_0;
+
+  # Use the older cudaPackages for tensorflow and jax, as determined by cudnn
+  # compatibility: https://www.tensorflow.org/install/source#gpu
+  cudaPackagesGoogle = cudaPackages_11;
 
   # TODO: try upgrading once there is a cuDNN release supporting CUDA 12. No
   # such cuDNN release as of 2023-01-10.
-  cudaPackages = recurseIntoAttrs cudaPackages_11;
+  cudaPackages = cudaPackages_11;
 
   # TODO: move to alias
   cudatoolkit = cudaPackages.cudatoolkit;
@@ -7782,19 +7816,6 @@ with pkgs;
 
   strawberry = libsForQt5.callPackage ../applications/audio/strawberry { };
 
-  schildichat-desktop = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-desktop.nix {
-    inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_25;
-  };
-  schildichat-desktop-wayland = writeScriptBin "schildichat-desktop" ''
-    #!/bin/sh
-    NIXOS_OZONE_WL=1 exec ${schildichat-desktop}/bin/schildichat-desktop "$@"
-  '';
-
-  schildichat-web = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-web.nix {
-    conf = config.schildichat-web.conf or { };
-  };
-
   schleuder = callPackage ../tools/security/schleuder { };
 
   schleuder-cli = callPackage ../tools/security/schleuder/cli { };
@@ -8084,6 +8105,8 @@ with pkgs;
 
   fcitx5-with-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/with-addons.nix { };
 
+  fcitx5-bamboo = callPackage ../tools/inputmethods/fcitx5/fcitx5-bamboo.nix { };
+
   fcitx5-chinese-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix { };
 
   fcitx5-mozc = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-mozc.nix {
@@ -11251,16 +11274,6 @@ with pkgs;
 
   nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher;
 
-  nvidia-thrust = callPackage ../development/libraries/nvidia-thrust { };
-
-  nvidia-thrust-intel = callPackage ../development/libraries/nvidia-thrust {
-    hostSystem = "TBB";
-    deviceSystem = if config.cudaSupport then "CUDA" else "TBB";
-  };
-
-  nvidia-thrust-cuda = callPackage ../development/libraries/nvidia-thrust {
-    deviceSystem = "CUDA";
-  };
 
   miller = callPackage ../tools/text/miller { };
 
@@ -11748,7 +11761,9 @@ with pkgs;
 
   osqp = callPackage ../development/libraries/science/math/osqp { };
 
-  ossec = callPackage ../tools/security/ossec { };
+  ossec-agent = callPackage ../tools/security/ossec/agent.nix { };
+
+  ossec-server = callPackage ../tools/security/ossec/server.nix { };
 
   osslsigncode = callPackage ../development/tools/osslsigncode { };
 
@@ -12165,8 +12180,6 @@ with pkgs;
 
   plowshare = callPackage ../tools/misc/plowshare { };
 
-  pls = callPackage ../tools/misc/pls { };
-
   pm2 = nodePackages.pm2;
 
   pmenu = callPackage ../tools/X11/pmenu { };
@@ -13505,6 +13518,10 @@ with pkgs;
 
   sshuttle = callPackage ../tools/security/sshuttle { };
 
+  inherit (callPackages ../tools/misc/sshx { })
+    sshx
+    sshx-server;
+
   ssldump = callPackage ../tools/networking/ssldump { };
 
   sslsplit = callPackage ../tools/networking/sslsplit { };
@@ -13569,6 +13586,8 @@ with pkgs;
 
   ssocr = callPackage ../applications/misc/ssocr { };
 
+  sss-cli = callPackage ../tools/security/sss-cli { };
+
   ssss = callPackage ../tools/security/ssss { };
 
   stabber = callPackage ../misc/stabber { };
@@ -13780,9 +13799,6 @@ with pkgs;
 
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
-  teleport_11 = callPackage ../servers/teleport/11 {
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security AppKit;
-  };
   teleport_12 = callPackage ../servers/teleport/12 {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security AppKit;
   };
@@ -14220,8 +14236,6 @@ with pkgs;
 
   typos = callPackage ../development/tools/typos { };
 
-  typst = callPackage ../tools/typesetting/typst { };
-
   typstfmt = callPackage ../tools/typesetting/typstfmt { };
 
   typst-live = callPackage ../tools/typesetting/typst-live { };
@@ -15618,7 +15632,6 @@ with pkgs;
 
   clang = llvmPackages.clang;
   clang_6  = llvmPackages_6.clang;
-  clang_7  = llvmPackages_7.clang;
   clang_8  = llvmPackages_8.clang;
   clang_9  = llvmPackages_9.clang;
   clang_10 = llvmPackages_10.clang;
@@ -15628,6 +15641,7 @@ with pkgs;
   clang_14 = llvmPackages_14.clang;
   clang_15 = llvmPackages_15.clang;
   clang_16 = llvmPackages_16.clang;
+  clang_17 = llvmPackages_17.clang;
 
   clang-tools = callPackage ../development/tools/clang-tools {
     llvmPackages = llvmPackages_14;
@@ -15637,10 +15651,6 @@ with pkgs;
     llvmPackages = llvmPackages_6;
   };
 
-  clang-tools_7 = callPackage ../development/tools/clang-tools {
-    llvmPackages = llvmPackages_7;
-  };
-
   clang-tools_8 = callPackage ../development/tools/clang-tools {
     llvmPackages = llvmPackages_8;
   };
@@ -15677,6 +15687,10 @@ with pkgs;
     llvmPackages = llvmPackages_16;
   };
 
+  clang-tools_17 = callPackage ../development/tools/clang-tools {
+    llvmPackages = llvmPackages_17;
+  };
+
   clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer {
     llvmPackages = llvmPackages_14;
     inherit (llvmPackages_14) clang;
@@ -15735,6 +15749,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  critcl = callPackage ../development/compilers/critcl {
+    tcllib = tcllib.override { withCritcl = false; };
+  };
+
   inherit (darwin.apple_sdk_11_0.callPackage ../development/compilers/crystal { })
     crystal_1_2
     crystal_1_7
@@ -16570,7 +16588,6 @@ with pkgs;
 
   lld = llvmPackages.lld;
   lld_6 = llvmPackages_6.lld;
-  lld_7 = llvmPackages_7.lld;
   lld_8 = llvmPackages_8.lld;
   lld_9 = llvmPackages_9.lld;
   lld_10 = llvmPackages_10.lld;
@@ -16580,10 +16597,10 @@ with pkgs;
   lld_14 = llvmPackages_14.lld;
   lld_15 = llvmPackages_15.lld;
   lld_16 = llvmPackages_16.lld;
+  lld_17 = llvmPackages_17.lld;
 
   lldb = lldb_14;
   lldb_6 = llvmPackages_6.lldb;
-  lldb_7 = llvmPackages_7.lldb;
   lldb_8 = llvmPackages_8.lldb;
   lldb_9 = llvmPackages_9.lldb;
   lldb_10 = llvmPackages_10.lldb;
@@ -16593,10 +16610,10 @@ with pkgs;
   lldb_14 = llvmPackages_14.lldb;
   lldb_15 = llvmPackages_15.lldb;
   lldb_16 = llvmPackages_16.lldb;
+  lldb_17 = llvmPackages_17.lldb;
 
   llvm = llvmPackages.llvm;
   llvm_6  = llvmPackages_6.llvm;
-  llvm_7  = llvmPackages_7.llvm;
   llvm_8  = llvmPackages_8.llvm;
   llvm_9  = llvmPackages_9.llvm;
   llvm_10 = llvmPackages_10.llvm;
@@ -16606,6 +16623,7 @@ with pkgs;
   llvm_14 = llvmPackages_14.llvm;
   llvm_15 = llvmPackages_15.llvm;
   llvm_16 = llvmPackages_16.llvm;
+  llvm_17 = llvmPackages_17.llvm;
 
   libllvm = llvmPackages.libllvm;
   llvm-manpages = llvmPackages.llvm-manpages;
@@ -16634,13 +16652,6 @@ with pkgs;
     targetLlvmLibraries = targetPackages.llvmPackages_6.libraries or llvmPackages_6.libraries;
   });
 
-  llvmPackages_7 = recurseIntoAttrs (callPackage ../development/compilers/llvm/7 {
-    inherit (stdenvAdapters) overrideCC;
-    buildLlvmTools = buildPackages.llvmPackages_7.tools;
-    targetLlvm = targetPackages.llvmPackages_7.llvm or llvmPackages_7.llvm;
-    targetLlvmLibraries = targetPackages.llvmPackages_7.libraries or llvmPackages_7.libraries;
-  });
-
   llvmPackages_8 = recurseIntoAttrs (callPackage ../development/compilers/llvm/8 {
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_8.tools;
@@ -16704,6 +16715,13 @@ with pkgs;
     targetLlvm = targetPackages.llvmPackages_16.llvm or llvmPackages_16.llvm;
   }));
 
+  llvmPackages_17 = recurseIntoAttrs (callPackage ../development/compilers/llvm/17 ({
+    inherit (stdenvAdapters) overrideCC;
+    buildLlvmTools = buildPackages.llvmPackages_17.tools;
+    targetLlvmLibraries = targetPackages.llvmPackages_17.libraries or llvmPackages_17.libraries;
+    targetLlvm = targetPackages.llvmPackages_17.llvm or llvmPackages_17.llvm;
+  }));
+
   lorri = callPackage ../tools/misc/lorri {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -16913,7 +16931,7 @@ with pkgs;
       targetPlatform = lib.systems.elaborate {
         # lib.systems.elaborate won't recognize "unknown" as the last component.
         config = "wasm32-unknown-wasi";
-        rust.config = "wasm32-unknown-unknown";
+        rust.rustcTarget = "wasm32-unknown-unknown";
       };
     };
   }).overrideAttrs (old: {
@@ -17539,7 +17557,7 @@ with pkgs;
 
   clojure = callPackage ../development/interpreters/clojure {
     # set this to an LTS version of java
-    jdk = jdk17;
+    jdk = jdk21;
   };
 
   clojure-lsp = callPackage ../development/tools/misc/clojure-lsp { };
@@ -17719,9 +17737,7 @@ with pkgs;
 
   ### End of CuboCore
 
-  maude = callPackage ../development/interpreters/maude {
-    stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv;
-  };
+  maude = callPackage ../development/interpreters/maude { };
 
   me_cleaner = callPackage ../tools/misc/me_cleaner { };
 
@@ -17954,6 +17970,7 @@ with pkgs;
 
   rakudo = callPackage ../development/interpreters/rakudo { };
   moarvm = callPackage ../development/interpreters/rakudo/moarvm.nix {
+    inherit (darwin) cctools-port;
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
   };
   nqp = callPackage  ../development/interpreters/rakudo/nqp.nix { };
@@ -18029,8 +18046,8 @@ with pkgs;
   smiley-sans = callPackage ../data/fonts/smiley-sans { };
 
   inherit (callPackages ../applications/networking/cluster/spark { })
-    spark_3_4 spark_3_3 spark_3_2;
-  spark3 = spark_3_4;
+    spark_3_5 spark_3_4 spark_3_3;
+  spark3 = spark_3_5;
   spark = spark3;
 
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
@@ -18292,8 +18309,6 @@ with pkgs;
 
   karma-runner = callPackage ../development/tools/karma-runner { };
 
-  phpunit = callPackage ../development/tools/misc/phpunit { };
-
   teller = callPackage ../development/tools/teller { };
 
   yakut = python3Packages.callPackage ../development/tools/misc/yakut { };
@@ -18406,7 +18421,6 @@ with pkgs;
   antlr = antlr4;
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
-  apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
   ant = apacheAnt;
 
   apacheKafka = apacheKafka_3_5;
@@ -18476,9 +18490,10 @@ with pkgs;
   electron_22 = electron_22-bin;
   electron_23 = electron_23-bin;
   electron_24 = electron_24-bin;
-  electron_25 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_25 then electron-source.electron_25 else electron_25-bin;
+  electron_25 = electron_25-bin;
   electron_26 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_26 then electron-source.electron_26 else electron_26-bin;
   electron_27 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_27 then electron-source.electron_27 else electron_27-bin;
+  electron_28 = electron-source.electron_28;
   electron = electron_27;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
@@ -19161,7 +19176,9 @@ with pkgs;
 
   fprettify = callPackage ../development/tools/fprettify { };
 
-  framac = callPackage ../development/tools/analysis/frama-c { };
+  framac = callPackage ../development/tools/analysis/frama-c {
+    why3 = pkgs.why3.override { version = "1.6.0"; };
+  };
 
   frame = callPackage ../development/libraries/frame { };
 
@@ -19689,10 +19706,6 @@ with pkgs;
 
   openai = with python3Packages; toPythonApplication openai;
 
-  openai-full = with python3Packages; toPythonApplication (openai.override {
-   withOptionalDependencies = true;
-  });
-
   openai-whisper = with python3.pkgs; toPythonApplication openai-whisper;
 
   openai-whisper-cpp = darwin.apple_sdk_11_0.callPackage ../tools/audio/openai-whisper-cpp {
@@ -20694,8 +20707,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
 
-  # may add CoreServices and Security again, when MacOS uses Clang 14.0+ by default.
-  botan3 = callPackage ../development/libraries/botan/3.0.nix { };
+  botan3 = callPackage ../development/libraries/botan/3.0.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+  };
 
   box2d = callPackage ../development/libraries/box2d { };
 
@@ -20753,6 +20767,9 @@ with pkgs;
     # catboost requires clang 12+ for build
     # after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
     inherit (llvmPackages_12) stdenv;
+
+    # https://github.com/catboost/catboost/issues/2540
+    cudaPackages = cudaPackages_11;
   };
 
   ndn-cxx = callPackage ../development/libraries/ndn-cxx { };
@@ -20916,7 +20933,8 @@ with pkgs;
   ctranslate2 = callPackage ../development/libraries/ctranslate2 rec {
     stdenv = if withCUDA then gcc11Stdenv else pkgs.stdenv;
     withCUDA = pkgs.config.cudaSupport;
-    withCuDNN = pkgs.config.cudaSupport;
+    withCuDNN = withCUDA && (cudaPackages ? cudnn);
+    cudaPackages = pkgs.cudaPackages;
   };
 
   ubus = callPackage ../development/libraries/ubus { };
@@ -22063,7 +22081,7 @@ with pkgs;
 
   hwloc = callPackage ../development/libraries/hwloc { };
 
-  hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_17; };
+  hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_19; };
 
   hydra-cli = callPackage ../development/tools/misc/hydra-cli { };
 
@@ -22573,6 +22591,8 @@ with pkgs;
 
   libcollectdclient = callPackage ../development/libraries/libcollectdclient { };
 
+  libcomps = callPackage ../tools/package-management/libcomps { python = python3; };
+
   libcpr = callPackage ../development/libraries/libcpr { };
 
   libcredis = callPackage ../development/libraries/libcredis { };
@@ -22661,7 +22681,7 @@ with pkgs;
 
   libdnet = callPackage ../development/libraries/libdnet { };
 
-  libdnf = callPackage ../tools/package-management/libdnf { };
+  libdnf = callPackage ../tools/package-management/libdnf { python = python3; };
 
   libdovi = callPackage ../development/libraries/libdovi { };
 
@@ -23613,6 +23633,8 @@ with pkgs;
 
   libuldaq = callPackage ../development/libraries/libuldaq { };
 
+  libunicode = callPackage ../development/libraries/libunicode { fmt = fmt_8; };
+
   libunwind =
     if stdenv.isDarwin then darwin.libunwind
     else if stdenv.hostPlatform.system == "riscv32-linux" then llvmPackages_14.libunwind
@@ -24570,6 +24592,9 @@ with pkgs;
 
   protobuf = protobuf_24;
 
+  protobuf_25 = callPackage ../development/libraries/protobuf/25.nix {
+    abseil-cpp = abseil-cpp_202308;
+  };
   protobuf_24 = callPackage ../development/libraries/protobuf/24.nix { };
   protobuf_23 = callPackage ../development/libraries/protobuf/23.nix { };
   protobuf_21 = callPackage ../development/libraries/protobuf/21.nix {
@@ -25308,6 +25333,8 @@ with pkgs;
 
   tepl = callPackage ../development/libraries/tepl { };
 
+  termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_8; };
+
   telepathy-glib = callPackage ../development/libraries/telepathy/glib { };
 
   telepathy-farstream = callPackage ../development/libraries/telepathy/farstream { };
@@ -27130,6 +27157,7 @@ with pkgs;
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-artifactory-exporter = callPackage ../servers/monitoring/prometheus/artifactory-exporter.nix { };
+  prometheus-atlas-exporter = callPackage ../servers/monitoring/prometheus/atlas-exporter.nix { };
   prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
   prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
   prometheus-bird-exporter = callPackage ../servers/monitoring/prometheus/bird-exporter.nix { };
@@ -27393,6 +27421,8 @@ with pkgs;
 
   tailscale = callPackage ../servers/tailscale { };
 
+  tailscale-nginx-auth = callPackage ../by-name/ta/tailscale-nginx-auth/package.nix { };
+
   tailscale-systray = callPackage ../applications/misc/tailscale-systray { };
 
   tailspin = callPackage ../tools/misc/tailspin { };
@@ -28953,8 +28983,6 @@ with pkgs;
 
   vdo = callPackage ../os-specific/linux/vdo { };
 
-  windmill = callPackage ../servers/windmill {};
-
   windows = callPackages ../os-specific/windows {};
 
   wirelesstools = callPackage ../os-specific/linux/wireless-tools { };
@@ -29159,9 +29187,7 @@ with pkgs;
 
   comfortaa = callPackage ../data/fonts/comfortaa { };
 
-  colloid-kde = callPackage ../data/themes/colloid-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  colloid-kde = libsForQt5.callPackage ../data/themes/colloid-kde { };
 
   comic-mono = callPackage ../data/fonts/comic-mono { };
 
@@ -29234,8 +29260,6 @@ with pkgs;
 
   documize-community = callPackage ../servers/documize-community { };
 
-  doge = callPackage ../misc/doge { };
-
   doulos-sil = callPackage ../data/fonts/doulos-sil { };
 
   cabin = callPackage ../data/fonts/cabin { };
@@ -29379,9 +29403,7 @@ with pkgs;
 
   graphite-gtk-theme = callPackage ../data/themes/graphite-gtk-theme { };
 
-  graphite-kde-theme = callPackage ../data/themes/graphite-kde-theme {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  graphite-kde-theme = libsForQt5.callPackage ../data/themes/graphite-kde-theme { };
 
   greybird = callPackage ../data/themes/greybird { };
 
@@ -29518,9 +29540,7 @@ with pkgs;
 
   layan-gtk-theme = callPackage ../data/themes/layan-gtk-theme { };
 
-  layan-kde = callPackage ../data/themes/layan-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  layan-kde = libsForQt5.callPackage ../data/themes/layan-kde { };
 
   lao = callPackage ../data/fonts/lao { };
 
@@ -29724,9 +29744,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation SystemConfiguration;
   };
 
-  nordic = callPackage ../data/themes/nordic {
-    inherit (libsForQt5) breeze-icons plasma-framework plasma-workspace;
-  };
+  nordic = libsForQt5.callPackage ../data/themes/nordic { };
 
   nordzy-cursor-theme = callPackage ../data/icons/nordzy-cursor-theme { };
 
@@ -29885,9 +29903,7 @@ with pkgs;
 
   qogir-icon-theme = callPackage ../data/icons/qogir-icon-theme { };
 
-  qogir-kde = callPackage ../data/themes/qogir-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  qogir-kde = libsForQt5.callPackage ../data/themes/qogir-kde { };
 
   qogir-theme = callPackage ../data/themes/qogir { };
 
@@ -30013,6 +30029,8 @@ with pkgs;
 
   quattrocento-sans = callPackage ../data/fonts/quattrocento-sans { };
 
+  quivira = callPackage ../data/fonts/quivira { };
+
   raleway = callPackage ../data/fonts/raleway { };
 
   recursive = callPackage ../data/fonts/recursive { };
@@ -30175,9 +30193,7 @@ with pkgs;
 
   unscii = callPackage ../data/fonts/unscii { };
 
-  utterly-nord-plasma = callPackage ../data/themes/utterly-nord-plasma {
-    inherit (libsForQt5) breeze-icons kdeclarative kirigami2 plasma-framework plasma-workspace;
-  };
+  utterly-nord-plasma = libsForQt5.callPackage ../data/themes/utterly-nord-plasma { };
 
   utterly-round-plasma-style = callPackage ../data/themes/utterly-round-plasma-style { };
 
@@ -30197,6 +30213,8 @@ with pkgs;
 
   victor-mono = callPackage ../data/fonts/victor-mono { };
 
+  vimix-cursor-theme = callPackage ../data/icons/vimix-cursor-theme { };
+
   vimix-gtk-themes = callPackage ../data/themes/vimix {
     inherit (gnome) gnome-shell;
   };
@@ -30221,9 +30239,7 @@ with pkgs;
 
   whitesur-icon-theme = callPackage ../data/icons/whitesur-icon-theme { };
 
-  whitesur-kde = callPackage ../data/themes/whitesur-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  whitesur-kde = libsForQt5.callPackage ../data/themes/whitesur-kde { };
 
   wireless-regdb = callPackage ../data/misc/wireless-regdb { };
 
@@ -31010,8 +31026,6 @@ with pkgs;
 
   cosmic-settings = callPackage ../applications/window-managers/cosmic/settings { };
 
-  cosmic-edit = callPackage ../applications/editors/cosmic-edit { };
-
   coursera-dl = callPackage ../applications/misc/coursera-dl { };
 
   coyim = callPackage ../applications/networking/instant-messengers/coyim { };
@@ -31638,7 +31652,9 @@ with pkgs;
 
   gaucheBootstrap = darwin.apple_sdk_11_0.callPackage ../development/interpreters/gauche/boot.nix { };
 
-  gauche = darwin.apple_sdk_11_0.callPackage ../development/interpreters/gauche { };
+  gauche = darwin.apple_sdk_11_0.callPackage ../development/interpreters/gauche {
+    inherit (darwin.apple_sdk_11_0.frameworks) CoreServices;
+  };
 
   gazelle-origin = python3Packages.callPackage ../tools/misc/gazelle-origin { };
 
@@ -31959,8 +31975,6 @@ with pkgs;
 
   firefox_decrypt = python3Packages.callPackage ../tools/security/firefox_decrypt { };
 
-  fmtoy = callPackage ../tools/audio/fmtoy { };
-
   flac = callPackage ../applications/audio/flac { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -32128,6 +32142,7 @@ with pkgs;
     vmopts = config.jetbrains.vmopts or null;
     jdk = jetbrains.jdk;
   }) // {
+    jdk-no-jcef = callPackage ../development/compilers/jetbrains-jdk { withJcef = false; };
     jdk = callPackage ../development/compilers/jetbrains-jdk {  };
     jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix { };
   });
@@ -32500,7 +32515,9 @@ with pkgs;
 
   hypnotix = callPackage ../applications/video/hypnotix { };
 
-  indigenous-desktop = callPackage ../applications/networking/feedreaders/indigenous-desktop { };
+  indiepass-desktop = callPackage ../by-name/in/indiepass-desktop/package.nix {
+    electron = electron_19;
+  };
 
   jackline = callPackage ../applications/networking/instant-messengers/jackline { };
 
@@ -33487,8 +33504,6 @@ with pkgs;
 
   handlr = callPackage ../tools/misc/handlr { };
 
-  handlr-regex = callPackage ../tools/misc/handlr-regex { };
-
   jftui = callPackage ../applications/video/jftui { };
 
   lime = callPackage ../development/libraries/lime { };
@@ -33970,9 +33985,7 @@ with pkgs;
   wrapMpv = callPackage ../applications/video/mpv/wrapper.nix { };
   mpv = wrapMpv mpv-unwrapped { };
 
-  mpvpaper = callPackage ../tools/wayland/mpvpaper {
-    wlroots = wlroots_0_15;
-  };
+  mpvpaper = callPackage ../tools/wayland/mpvpaper { };
 
   mpvScripts = callPackage ../applications/video/mpv/scripts { };
 
@@ -34114,8 +34127,7 @@ with pkgs;
   open-policy-agent = callPackage ../development/tools/open-policy-agent { };
 
   openmm = callPackage ../development/libraries/science/chemistry/openmm {
-    stdenv = gcc11Stdenv;
-    gfortran = gfortran11;
+    swig = swig4;
   };
 
   openshift = callPackage ../applications/networking/cluster/openshift { };
@@ -34382,8 +34394,6 @@ with pkgs;
 
   nomacs = libsForQt5.callPackage ../applications/graphics/nomacs { };
 
-  normcap = callPackage ../applications/graphics/normcap { };
-
   notepad-next = libsForQt5.callPackage ../applications/editors/notepad-next { };
 
   notepadqq = libsForQt5.callPackage ../applications/editors/notepadqq { };
@@ -34537,8 +34547,6 @@ with pkgs;
 
   vgmtools = callPackage ../tools/audio/vgmtools { };
 
-  vieb = callPackage ../applications/networking/browsers/vieb { };
-
   vital = callPackage ../applications/audio/vital { };
 
   vivaldi = callPackage ../applications/networking/browsers/vivaldi { };
@@ -34831,6 +34839,7 @@ with pkgs;
   protonvpn-cli_2 = python3Packages.callPackage ../applications/networking/protonvpn-cli/2.nix { };
 
   protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { };
+  protonvpn-gui_legacy = python3Packages.callPackage ../applications/networking/protonvpn-gui/legacy.nix { };
 
   ps2client = callPackage ../applications/networking/ps2client { };
 
@@ -35276,9 +35285,7 @@ with pkgs;
 
   simple-scan = gnome.simple-scan;
 
-  sioyek = callPackage ../applications/misc/sioyek {
-    inherit (libsForQt5) qmake qt3d qtbase wrapQtAppsHook;
-  };
+  sioyek = libsForQt5.callPackage ../applications/misc/sioyek { };
 
   siproxd = callPackage ../applications/networking/siproxd { };
 
@@ -36349,9 +36356,7 @@ with pkgs;
 
   vwm = callPackage ../applications/window-managers/vwm { };
 
-  vym = callPackage ../applications/misc/vym {
-    inherit (libsForQt5) qmake qtscript qtsvg qtbase wrapQtAppsHook;
-  };
+  vym = libsForQt5.callPackage ../applications/misc/vym { };
 
   wad = callPackage ../tools/security/wad { };
 
@@ -38690,7 +38695,28 @@ with pkgs;
 
   ### DESKTOP ENVIRONMENTS
 
-  arcanPackages = recurseIntoAttrs (callPackage ../desktops/arcan { });
+  arcan-wrapped = arcan.wrapper.override { };
+  arcan-all-wrapped = arcan.wrapper.override {
+    name = "arcan-all-wrapped";
+    appls = [ cat9 durden pipeworld ];
+
+  };
+  cat9-wrapped = arcan.wrapper.override {
+    name = "cat9-wrapped";
+    appls = [ cat9 ];
+  };
+  durden-wrapped = arcan.wrapper.override {
+    name = "durden-wrapped";
+    appls = [ durden ];
+  };
+  pipeworld-wrapped = arcan.wrapper.override {
+    name = "pipeworld-wrapped";
+    appls = [ pipeworld ];
+  };
+  prio-wrapped = arcan.wrapper.override {
+    name = "prio-wrapped";
+    appls = [ prio ];
+  };
 
   budgie = recurseIntoAttrs (callPackage ../desktops/budgie { });
   budgiePlugins = recurseIntoAttrs (callPackage ../desktops/budgie/plugins { });
@@ -38850,9 +38876,9 @@ with pkgs;
 
   pymol = callPackage ../applications/science/chemistry/pymol { };
 
-  quantum-espresso = callPackage ../applications/science/chemistry/quantum-espresso { };
-
-  quantum-espresso-mpi = callPackage ../applications/science/chemistry/quantum-espresso { useMpi = true; };
+  quantum-espresso = callPackage ../applications/science/chemistry/quantum-espresso {
+    hdf5 = hdf5-fortran;
+  };
 
   siesta = callPackage ../applications/science/chemistry/siesta { };
 
@@ -39322,6 +39348,7 @@ with pkgs;
   osi = callPackage ../development/libraries/science/math/osi { };
 
   or-tools = callPackage ../development/libraries/science/math/or-tools {
+    stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
     python = python3;
     protobuf = protobuf_21;
     # or-tools builds with -std=c++20, so abseil-cpp must
@@ -39438,7 +39465,6 @@ with pkgs;
     singlePrec = true;
     enableMpi = true;
     enableCuda = true;
-    cudatoolkit = cudatoolkit_11;
     fftw = fftwSinglePrec;
   });
 
@@ -39980,7 +40006,6 @@ with pkgs;
 
   faissWithCuda = faiss.override {
     cudaSupport = true;
-    nvidia-thrust = nvidia-thrust-cuda;
   };
 
   fityk = callPackage ../applications/science/misc/fityk { };
@@ -40022,7 +40047,6 @@ with pkgs;
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv;
   });
 
   rinetd = callPackage ../servers/rinetd { };
@@ -40777,8 +40801,6 @@ with pkgs;
 
   nix-script = callPackage ../tools/nix/nix-script { };
 
-  nix-template-rpm = callPackage ../build-support/templaterpm { inherit (python2Packages) python toposort; };
-
   nix-top = callPackage ../tools/package-management/nix-top { };
 
   nix-tree = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-tree);
@@ -41698,8 +41720,6 @@ with pkgs;
 
   snowsql = callPackage ../applications/misc/snowsql { };
 
-  snowmachine = python3Packages.callPackage ../applications/misc/snowmachine { };
-
   sidequest = callPackage ../applications/misc/sidequest { };
 
   maphosts = callPackage ../tools/networking/maphosts { };
@@ -41714,7 +41734,7 @@ with pkgs;
 
   xrq = callPackage ../applications/misc/xrq { };
 
-  pynitrokey = callPackage ../tools/security/pynitrokey { };
+  pynitrokey = with python3Packages; toPythonApplication pynitrokey;
 
   nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { };
 
@@ -42135,4 +42155,6 @@ with pkgs;
   mdhtml = callPackage ../tools/text/mdhtml { };
 
   insulator2 = callPackage ../applications/misc/insulator2 {};
+
+  animdl = python3Packages.callPackage ../applications/video/animdl { };
 }
diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix
index a2f49a98ccd53..19ff558afbc7d 100644
--- a/pkgs/top-level/cuda-packages.nix
+++ b/pkgs/top-level/cuda-packages.nix
@@ -1,75 +1,121 @@
-{ lib
-, pkgs
-, cudaVersion
+# Notes:
+#
+# Silvan (Tweag) covered some things on recursive attribute sets in the Nix Hour:
+# https://www.youtube.com/watch?v=BgnUFtd1Ivs
+#
+# I (@connorbaker) highly recommend watching it.
+#
+# Most helpful comment regarding recursive attribute sets:
+#
+# https://github.com/NixOS/nixpkgs/pull/256324#issuecomment-1749935979
+#
+# To summarize:
+#
+# - `prev` should only be used to access attributes which are going to be overriden.
+# - `final` should only be used to access `callPackage` to build new packages.
+# - Attribute names should be computable without relying on `final`.
+#   - Extensions should take arguments to build attribute names before relying on `final`.
+#
+# Silvan's recommendation then is to explicitly use `callPackage` to provide everything our extensions need
+# to compute the attribute names, without relying on `final`.
+#
+# I've (@connorbaker) attempted to do that, though I'm unsure of how this will interact with overrides.
+{
+  callPackage,
+  cudaVersion,
+  lib,
+  newScope,
+  pkgs,
 }:
-
-with lib;
-
 let
-
-  scope = makeScope pkgs.newScope (final: {
-    # Here we put package set configuration and utility functions.
-    inherit cudaVersion;
-    cudaMajorVersion = versions.major final.cudaVersion;
-    cudaMajorMinorVersion = lib.versions.majorMinor final.cudaVersion;
-    inherit lib pkgs;
-
-    addBuildInputs = drv: buildInputs: drv.overrideAttrs (oldAttrs: {
-      buildInputs = (oldAttrs.buildInputs or []) ++ buildInputs;
-    });
-  });
-
-  cutensorExtension = final: prev: let
-    ### CuTensor
-
-    buildCuTensorPackage = final.callPackage ../development/libraries/science/math/cutensor/generic.nix;
-
-    cuTensorVersions = {
-      "1.2.2.5" = {
-        hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY=";
-      };
-      "1.5.0.3" = {
-        hash = "sha256-T96+lPC6OTOkIs/z3QWg73oYVSyidN0SVkBWmT9VRx0=";
-      };
-    };
-
-    inherit (final) cudaMajorMinorVersion cudaMajorVersion;
-
-    cutensor = buildCuTensorPackage rec {
-      version = if cudaMajorMinorVersion == "10.1" then "1.2.2.5" else "1.5.0.3";
-      inherit (cuTensorVersions.${version}) hash;
-      # This can go into generic.nix
-      libPath = "lib/${if cudaMajorVersion == "10" then cudaMajorMinorVersion else cudaMajorVersion}";
-    };
-  in { inherit cutensor; };
-
-  extraPackagesExtension = final: prev: {
-
-    nccl = final.callPackage ../development/libraries/science/math/nccl { };
-
-    nccl-tests = final.callPackage ../development/libraries/science/math/nccl/tests.nix { };
-
-    autoAddOpenGLRunpathHook = final.callPackage ( { makeSetupHook, addOpenGLRunpath }:
-      makeSetupHook {
-        name = "auto-add-opengl-runpath-hook";
-        propagatedBuildInputs = [
-          addOpenGLRunpath
-        ];
-      } ../development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh
-    ) {};
-
-  };
-
-  composedExtension = composeManyExtensions ([
-    extraPackagesExtension
-    (import ../development/compilers/cudatoolkit/extension.nix)
-    (import ../development/compilers/cudatoolkit/redist/extension.nix)
-    (import ../development/compilers/cudatoolkit/redist/overrides.nix)
-    (import ../development/libraries/science/math/cudnn/extension.nix)
-    (import ../development/libraries/science/math/tensorrt/extension.nix)
-    (import ../test/cuda/cuda-samples/extension.nix)
-    (import ../test/cuda/cuda-library-samples/extension.nix)
-    cutensorExtension
-  ]);
-
-in (scope.overrideScope composedExtension)
+  inherit (lib)
+    attrsets
+    customisation
+    fixedPoints
+    strings
+    versions
+    ;
+  # Backbone
+  gpus = builtins.import ../development/cuda-modules/gpus.nix;
+  nvccCompatibilities = builtins.import ../development/cuda-modules/nvcc-compatibilities.nix;
+  flags = callPackage ../development/cuda-modules/flags.nix {inherit cudaVersion gpus;};
+  passthruFunction =
+    final:
+    (
+      {
+        inherit cudaVersion lib pkgs;
+        inherit gpus nvccCompatibilities flags;
+        cudaMajorVersion = versions.major cudaVersion;
+        cudaMajorMinorVersion = versions.majorMinor cudaVersion;
+
+        # Maintain a reference to the final cudaPackages.
+        # Without this, if we use `final.callPackage` and a package accepts `cudaPackages` as an argument,
+        # it's provided with `cudaPackages` from the top-level scope, which is not what we want. We want to
+        # provide the `cudaPackages` from the final scope -- that is, the *current* scope.
+        cudaPackages = final;
+
+        # TODO(@connorbaker): `cudaFlags` is an alias for `flags` which should be removed in the future.
+        cudaFlags = flags;
+
+        # Exposed as cudaPackages.backendStdenv.
+        # This is what nvcc uses as a backend,
+        # and it has to be an officially supported one (e.g. gcc11 for cuda11).
+        #
+        # It, however, propagates current stdenv's libstdc++ to avoid "GLIBCXX_* not found errors"
+        # when linked with other C++ libraries.
+        # E.g. for cudaPackages_11_8 we use gcc11 with gcc12's libstdc++
+        # Cf. https://github.com/NixOS/nixpkgs/pull/218265 for context
+        backendStdenv = final.callPackage ../development/cuda-modules/backend-stdenv.nix {};
+
+        # Loose packages
+        cudatoolkit = final.callPackage ../development/cuda-modules/cudatoolkit {};
+        # SaxPy is only available after 11.4 because it requires redistributable versions of CUDA libraries.
+        saxpy = attrsets.optionalAttrs (strings.versionAtLeast cudaVersion "11.4") (
+          final.callPackage ../development/cuda-modules/saxpy {}
+        );
+      }
+      # NCCL is not supported on Jetson, because it does not use NVLink or PCI-e for inter-GPU communication.
+      # https://forums.developer.nvidia.com/t/can-jetson-orin-support-nccl/232845/9
+      // attrsets.optionalAttrs (!flags.isJetsonBuild) {
+        nccl = final.callPackage ../development/cuda-modules/nccl {};
+        nccl-tests = final.callPackage ../development/cuda-modules/nccl-tests {};
+      }
+    );
+
+  mkVersionedPackageName =
+    name: version:
+    strings.concatStringsSep "_" [
+      name
+      (strings.replaceStrings ["."] ["_"] (versions.majorMinor version))
+    ];
+
+  composedExtension = fixedPoints.composeManyExtensions [
+    (import ../development/cuda-modules/setup-hooks/extension.nix)
+    (callPackage ../development/cuda-modules/cuda/extension.nix {inherit cudaVersion;})
+    (callPackage ../development/cuda-modules/cuda/overrides.nix {inherit cudaVersion;})
+    (callPackage ../development/cuda-modules/generic-builders/multiplex.nix {
+      inherit cudaVersion flags mkVersionedPackageName;
+      pname = "cudnn";
+      releasesModule = ../development/cuda-modules/cudnn/releases.nix;
+      shimsFn = ../development/cuda-modules/cudnn/shims.nix;
+      fixupFn = ../development/cuda-modules/cudnn/fixup.nix;
+    })
+    (callPackage ../development/cuda-modules/cutensor/extension.nix {
+      inherit cudaVersion flags mkVersionedPackageName;
+    })
+    (callPackage ../development/cuda-modules/generic-builders/multiplex.nix {
+      inherit cudaVersion flags mkVersionedPackageName;
+      pname = "tensorrt";
+      releasesModule = ../development/cuda-modules/tensorrt/releases.nix;
+      shimsFn = ../development/cuda-modules/tensorrt/shims.nix;
+      fixupFn = ../development/cuda-modules/tensorrt/fixup.nix;
+    })
+    (callPackage ../test/cuda/cuda-samples/extension.nix {inherit cudaVersion;})
+    (callPackage ../test/cuda/cuda-library-samples/extension.nix {})
+  ];
+
+  cudaPackages = customisation.makeScope newScope (
+    fixedPoints.extends composedExtension passthruFunction
+  );
+in
+cudaPackages
diff --git a/pkgs/top-level/hare-third-party.nix b/pkgs/top-level/hare-third-party.nix
index 524df05659f42..084e749c676cc 100644
--- a/pkgs/top-level/hare-third-party.nix
+++ b/pkgs/top-level/hare-third-party.nix
@@ -4,4 +4,6 @@ lib.makeScope newScope (self:
 let
   inherit (self) callPackage;
 in
-{ })
+{
+  hare-json = callPackage ../development/hare-packages/hare-json { };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b8f11100d39cd..44ff6a6dd59ef 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -65,7 +65,8 @@ in {
 
   compiler = {
     ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix {
-      llvmPackages = pkgs.llvmPackages_6;
+      # Should be llvmPackages_6 which has been removed from nixpkgs
+      llvmPackages = null;
     };
 
     ghc8102Binary = callPackage ../development/compilers/ghc/8.10.2-binary.nix {
@@ -80,20 +81,6 @@ in {
       llvmPackages = pkgs.llvmPackages_12;
     };
 
-    ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
-      bootPkgs =
-        # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
-        # 8.10.2 is needed as using 8.10.7 is broken due to RTS-incompatibilities
-        # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
-        if stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isMusl then
-          packages.ghc8102Binary
-        else
-          packages.ghc865Binary;
-      inherit (buildPackages.python3Packages) sphinx;
-      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_7;
-      llvmPackages = pkgs.llvmPackages_7;
-    };
-    ghc88 = compiler.ghc884;
     ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix {
       bootPkgs =
         # the oldest ghc with aarch64-darwin support is 8.10.5
@@ -484,12 +471,6 @@ in {
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
       packageSetConfig = bootstrapPackageSet;
     };
-    ghc884 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc884;
-      ghc = bh.compiler.ghc884;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
-    };
-    ghc88 = packages.ghc884;
     ghc8107 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc8107;
       ghc = bh.compiler.ghc8107;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index e788578d669f6..e6f54a1401ba6 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -593,6 +593,7 @@ let
     github-unix = callPackage ../development/ocaml-modules/github/unix.nix {  };
 
     gluten = callPackage ../development/ocaml-modules/gluten { };
+    gluten-eio = callPackage ../development/ocaml-modules/gluten/eio.nix { };
     gluten-lwt = callPackage ../development/ocaml-modules/gluten/lwt.nix { };
     gluten-lwt-unix = callPackage ../development/ocaml-modules/gluten/lwt-unix.nix { };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index cda91b8c627b4..08e863c385525 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -312,8 +312,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     phalcon = callPackage ../development/php-packages/phalcon { };
 
-    php-spx = callPackage ../development/php-packages/php-spx { };
-
     pinba = callPackage ../development/php-packages/pinba { };
 
     protobuf = callPackage ../development/php-packages/protobuf { };
@@ -332,6 +330,8 @@ lib.makeScope pkgs.newScope (self: with self; {
       inherit (pkgs) darwin;
     };
 
+    spx = callPackage ../development/php-packages/spx { };
+
     sqlsrv = callPackage ../development/php-packages/sqlsrv { };
 
     ssh2 = callPackage ../development/php-packages/ssh2 { };
@@ -345,6 +345,8 @@ lib.makeScope pkgs.newScope (self: with self; {
     xdebug = callPackage ../development/php-packages/xdebug { };
 
     yaml = callPackage ../development/php-packages/yaml { };
+  } // lib.optionalAttrs config.allowAliases {
+    php-spx = throw "php-spx is deprecated, use spx instead";
   } // (
     # Core extensions
     let
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index ccac3710dcd90..c2bd5f3904096 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -225,6 +225,8 @@ mapAliases ({
   lazy_imports = lazy-imports; # added 2023-10-13
   lektor = throw "lektor has been promoted to a top-level attribute"; # added 2023-08-01
   line_profiler = line-profiler; # added 2023-11-04
+  livestreamer = throw "'livestreamer' has been removed, as it unmaintained. A currently maintained fork is 'streamlink'."; # added 2023-11-14
+  livestreamer-curses = throw "'livestreamer-curses' has been removed as it, and livestreamer itself are unmaintained."; # added 2023-11-14
   logilab_astng = throw "logilab-astng has not been released since 2013 and is unmaintained"; # added 2022-11-29
   logilab_common = logilab-common; # added 2022-11-21
   loo-py = loopy; # added 2022-05-03
@@ -467,11 +469,13 @@ mapAliases ({
   zc_buildout_nix = throw "zc_buildout_nix was pinned to a version no longer compatible with other modules";
   zope_broken = throw "zope_broken has been removed because it is obsolete and not needed in zodb>=3.10"; # added 2023-07-26
   zope_component = zope-component; # added 2023-07-28
+  zope_configuration = zope-configuration; # added 2023-11-12
   zope_contenttype = zope-contenttype; # added 2023-10-11
   zope_deprecation = zope-deprecation; # added 2023-10-07
   zope_dottedname = zope-dottedname; # added 2023-11-12
   zope_i18nmessageid = zope-i18nmessageid; # added 2023-07-29
   zope_lifecycleevent = zope-lifecycleevent; # added 2023-10-11
   zope_proxy = zope-proxy; # added 2023-10-07
+  zope_testing = zope-testing; # added 2023-11-12
   zxing_cpp = zxing-cpp; # added 2023-11-05
 })
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 07f44dcf96fda..bc47bcbc48c3a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -516,6 +516,8 @@ self: super: with self; {
 
   amqtt = callPackage ../development/python-modules/amqtt { };
 
+  anchor-kr = callPackage ../development/python-modules/anchor-kr { };
+
   ancp-bids = callPackage ../development/python-modules/ancp-bids { };
 
   android-backup = callPackage ../development/python-modules/android-backup { };
@@ -538,6 +540,8 @@ self: super: with self; {
 
   aniso8601 = callPackage ../development/python-modules/aniso8601 { };
 
+  anitopy = callPackage ../development/python-modules/anitopy { };
+
   annexremote = callPackage ../development/python-modules/annexremote { };
 
   annotated-types = callPackage ../development/python-modules/annotated-types { };
@@ -999,6 +1003,8 @@ self: super: with self; {
 
   axis = callPackage ../development/python-modules/axis { };
 
+  axisregistry = callPackage ../development/python-modules/axisregistry { };
+
   azure-appconfiguration = callPackage ../development/python-modules/azure-appconfiguration { };
 
   azure-applicationinsights = callPackage ../development/python-modules/azure-applicationinsights { };
@@ -1251,6 +1257,8 @@ self: super: with self; {
 
   babelfish = callPackage ../development/python-modules/babelfish { };
 
+  babelfont = callPackage ../development/python-modules/babelfont { };
+
   babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { };
 
   bambi = callPackage ../development/python-modules/bambi { };
@@ -1370,6 +1378,8 @@ self: super: with self; {
   else
     callPackage ../development/python-modules/bcrypt { };
 
+  bdffont = callPackage ../development/python-modules/bdffont { };
+
   beaker = callPackage ../development/python-modules/beaker { };
 
   before-after = callPackage ../development/python-modules/before-after { };
@@ -1420,6 +1430,8 @@ self: super: with self; {
 
   betterproto = callPackage ../development/python-modules/betterproto { };
 
+  beziers = callPackage ../development/python-modules/beziers { };
+
   bibtexparser = callPackage ../development/python-modules/bibtexparser { };
 
   bidict = callPackage ../development/python-modules/bidict { };
@@ -1952,6 +1964,8 @@ self: super: with self; {
 
   characteristic = callPackage ../development/python-modules/characteristic { };
 
+  character-encoding-utils = callPackage ../development/python-modules/character-encoding-utils { };
+
   chardet = callPackage ../development/python-modules/chardet { };
 
   charset-normalizer = callPackage ../development/python-modules/charset-normalizer { };
@@ -2210,6 +2224,8 @@ self: super: with self; {
 
   collections-extended = callPackage ../development/python-modules/collections-extended { };
 
+  collidoscope = callPackage ../development/python-modules/collidoscope { };
+
   colorama = callPackage ../development/python-modules/colorama { };
 
   colorcet = callPackage ../development/python-modules/colorcet { };
@@ -2244,6 +2260,8 @@ self: super: with self; {
 
   comm = callPackage ../development/python-modules/comm { };
 
+  commandlines = callPackage ../development/python-modules/commandlines { };
+
   commandparse = callPackage ../development/python-modules/commandparse { };
 
   commentjson = callPackage ../development/python-modules/commentjson { };
@@ -2453,7 +2471,8 @@ self: super: with self; {
 
   cufflinks = callPackage ../development/python-modules/cufflinks { };
 
-  cupy = callPackage ../development/python-modules/cupy { };
+  # cupy 12.2.0 possibly incompatible with cutensor 2.0 that comes with cudaPackages_12
+  cupy = callPackage ../development/python-modules/cupy { cudaPackages = pkgs.cudaPackages_11; };
 
   curio = callPackage ../development/python-modules/curio { };
 
@@ -2726,6 +2745,8 @@ self: super: with self; {
 
   defusedxml = callPackage ../development/python-modules/defusedxml { };
 
+  dehinter = callPackage ../development/python-modules/dehinter { };
+
   deid = callPackage ../development/python-modules/deid { };
 
   delegator-py = callPackage ../development/python-modules/delegator-py { };
@@ -2768,6 +2789,8 @@ self: super: with self; {
 
   detectron2 = callPackage ../development/python-modules/detectron2 { };
 
+  devialet = callPackage ../development/python-modules/devialet { };
+
   devito = callPackage ../development/python-modules/devito { };
 
   devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { };
@@ -3220,6 +3243,8 @@ self: super: with self; {
 
   dnachisel = callPackage ../development/python-modules/dnachisel { };
 
+  dnf4 = callPackage ../development/python-modules/dnf4 { };
+
   dnfile = callPackage ../development/python-modules/dnfile { };
 
   dnslib = callPackage ../development/python-modules/dnslib { };
@@ -4165,6 +4190,10 @@ self: super: with self; {
 
   fontawesomefree = callPackage ../development/python-modules/fontawesomefree { };
 
+  fontbakery = callPackage ../development/python-modules/fontbakery { };
+
+  fontfeatures = callPackage ../development/python-modules/fontfeatures { };
+
   fontforge = toPythonModule (pkgs.fontforge.override {
     withPython = true;
     inherit python;
@@ -4180,6 +4209,8 @@ self: super: with self; {
 
   fontmake = callPackage ../development/python-modules/fontmake { };
 
+  font-v = callPackage ../development/python-modules/font-v { };
+
   skia-pathops = callPackage ../development/python-modules/skia-pathops {
     inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL;
   };
@@ -4196,8 +4227,12 @@ self: super: with self; {
 
   openstep-plist = callPackage ../development/python-modules/openstep-plist { };
 
+  glyphsets = callPackage ../development/python-modules/glyphsets { };
+
   glyphslib = callPackage ../development/python-modules/glyphslib { };
 
+  glyphtools = callPackage ../development/python-modules/glyphtools { };
+
   foobot-async = callPackage ../development/python-modules/foobot-async { };
 
   foolscap = callPackage ../development/python-modules/foolscap { };
@@ -4226,6 +4261,8 @@ self: super: with self; {
 
   fpdf = callPackage ../development/python-modules/fpdf { };
 
+  fpdf2 = callPackage ../development/python-modules/fpdf2 { };
+
   fpylll = callPackage ../development/python-modules/fpylll { };
 
   fpyutils = callPackage ../development/python-modules/fpyutils { };
@@ -4463,6 +4500,8 @@ self: super: with self; {
 
   gflags = callPackage ../development/python-modules/gflags { };
 
+  gflanguages = callPackage ../development/python-modules/gflanguages { };
+
   ghapi = callPackage ../development/python-modules/ghapi { };
 
   ghdiff = callPackage ../development/python-modules/ghdiff { };
@@ -4496,6 +4535,8 @@ self: super: with self; {
 
   gitdb = callPackage ../development/python-modules/gitdb { };
 
+  githubkit = callPackage ../development/python-modules/githubkit { };
+
   github-to-sqlite = callPackage ../development/python-modules/github-to-sqlite { };
 
   github-webhook = callPackage ../development/python-modules/github-webhook { };
@@ -4700,6 +4741,8 @@ self: super: with self; {
 
   govee-ble = callPackage ../development/python-modules/govee-ble { };
 
+  govee-led-wez = callPackage ../development/python-modules/govee-led-wez { };
+
   goveelights = callPackage ../development/python-modules/goveelights { };
 
   gpapi = callPackage ../development/python-modules/gpapi { };
@@ -4921,6 +4964,8 @@ self: super: with self; {
 
   habanero = callPackage ../development/python-modules/habanero { };
 
+  habluetooth = callPackage ../development/python-modules/habluetooth { };
+
   habitipy = callPackage ../development/python-modules/habitipy { };
 
   hachoir = callPackage ../development/python-modules/hachoir { };
@@ -5120,6 +5165,8 @@ self: super: with self; {
 
   hstspreload = callPackage ../development/python-modules/hstspreload { };
 
+  html2image = callPackage ../development/python-modules/html2image { };
+
   html2text = callPackage ../development/python-modules/html2text { };
 
   html5lib = callPackage ../development/python-modules/html5lib { };
@@ -5198,6 +5245,8 @@ self: super: with self; {
 
   humanize = callPackage ../development/python-modules/humanize { };
 
+  human-readable = callPackage ../development/python-modules/human-readable { };
+
   humblewx = callPackage ../development/python-modules/humblewx { };
 
   hupper = callPackage ../development/python-modules/hupper { };
@@ -6044,6 +6093,8 @@ self: super: with self; {
 
   kubernetes = callPackage ../development/python-modules/kubernetes { };
 
+  kurbopy = callPackage ../development/python-modules/kurbopy { };
+
   l18n = callPackage ../development/python-modules/l18n { };
 
   labelbox = callPackage ../development/python-modules/labelbox { };
@@ -6112,6 +6163,8 @@ self: super: with self; {
 
   lc7001 = callPackage ../development/python-modules/lc7001 { };
 
+  lcd-i2c = callPackage ../development/python-modules/lcd-i2c { };
+
   lcgit = callPackage ../development/python-modules/lcgit { };
 
   lcov_cobertura = callPackage ../development/python-modules/lcov_cobertura { };
@@ -6187,8 +6240,22 @@ self: super: with self; {
 
   libcloud = callPackage ../development/python-modules/libcloud { };
 
+  libcomps = lib.pipe pkgs.libcomps [
+    toPythonModule
+    (p: p.overrideAttrs (super: { meta = super.meta // { outputsToInstall = [ "py" ]; }; }))
+    (p: p.override { inherit python; })
+    (p: p.py)
+  ];
+
   libcst = callPackage ../development/python-modules/libcst { };
 
+  libdnf = lib.pipe pkgs.libdnf [
+    toPythonModule
+    (p: p.overrideAttrs (super: { meta = super.meta // { outputsToInstall = [ "py" ]; }; }))
+    (p: p.override { inherit python; })
+    (p: p.py)
+  ];
+
   libevdev = callPackage ../development/python-modules/libevdev { };
 
   libfdt = toPythonModule (pkgs.dtc.override {
@@ -6388,6 +6455,10 @@ self: super: with self; {
 
   lingua = callPackage ../development/python-modules/lingua { };
 
+  linien-client = callPackage ../development/python-modules/linien-client { };
+
+  linien-common = callPackage ../development/python-modules/linien-common { };
+
   linkify-it-py = callPackage ../development/python-modules/linkify-it-py { };
 
   linknlink = callPackage ../development/python-modules/linknlink { };
@@ -6418,10 +6489,6 @@ self: super: with self; {
 
   livereload = callPackage ../development/python-modules/livereload { };
 
-  livestreamer = callPackage ../development/python-modules/livestreamer { };
-
-  livestreamer-curses = callPackage ../development/python-modules/livestreamer-curses { };
-
   lizard = callPackage ../development/python-modules/lizard { };
 
   llfuse = callPackage ../development/python-modules/llfuse {
@@ -6773,6 +6840,8 @@ self: super: with self; {
 
   mediafile = callPackage ../development/python-modules/mediafile { };
 
+  mediafire-dl = callPackage ../development/python-modules/mediafire-dl { };
+
   mediapy = callPackage ../development/python-modules/mediapy { };
 
   meeko = callPackage ../development/python-modules/meeko { };
@@ -7208,6 +7277,10 @@ self: super: with self; {
 
   mutf8 = callPackage ../development/python-modules/mutf8 { };
 
+  mujoco = callPackage ../development/python-modules/mujoco {
+    inherit (pkgs) mujoco;
+  };
+
   mujson = callPackage ../development/python-modules/mujson { };
 
   mwcli = callPackage ../development/python-modules/mwcli { };
@@ -8106,6 +8179,8 @@ self: super: with self; {
 
   netdisco = callPackage ../development/python-modules/netdisco { };
 
+  nethsm = callPackage ../development/python-modules/nethsm { };
+
   netifaces = callPackage ../development/python-modules/netifaces { };
 
   netmiko = callPackage ../development/python-modules/netmiko { };
@@ -8487,6 +8562,8 @@ self: super: with self; {
 
   opcua-widgets = callPackage ../development/python-modules/opcua-widgets { };
 
+  open-clip-torch = callPackage ../development/python-modules/open-clip-torch { };
+
   open-garage = callPackage ../development/python-modules/open-garage { };
 
   open-meteo = callPackage ../development/python-modules/open-meteo { };
@@ -8615,6 +8692,8 @@ self: super: with self; {
 
   opentsne = callPackage ../development/python-modules/opentsne { };
 
+  opentypespec = callPackage ../development/python-modules/opentypespec { };
+
   openvino = callPackage ../development/python-modules/openvino {
     openvino-native = pkgs.openvino.override {
       inherit python;
@@ -8711,6 +8790,8 @@ self: super: with self; {
 
   ossfs = callPackage ../development/python-modules/ossfs { };
 
+  ots-python = callPackage ../development/python-modules/ots-python { };
+
   outcome = callPackage ../development/python-modules/outcome { };
 
   ovh = callPackage ../development/python-modules/ovh { };
@@ -9170,6 +9251,8 @@ self: super: with self; {
 
   pixelmatch = callPackage ../development/python-modules/pixelmatch { };
 
+  pixel-font-builder = callPackage ../development/python-modules/pixel-font-builder { };
+
   pixel-ring = callPackage ../development/python-modules/pixel-ring { };
 
   pjsua2 = (toPythonModule (pkgs.pjsip.override {
@@ -9266,6 +9349,8 @@ self: super: with self; {
 
   pyngrok = callPackage ../development/python-modules/pyngrok { };
 
+  pynitrokey = callPackage ../development/python-modules/pynitrokey { };
+
   pynndescent = callPackage ../development/python-modules/pynndescent { };
 
   pynobo = callPackage ../development/python-modules/pynobo { };
@@ -9658,6 +9743,28 @@ self: super: with self; {
 
   proton-client = callPackage ../development/python-modules/proton-client { };
 
+  proton-core = callPackage ../development/python-modules/proton-core { };
+
+  proton-keyring-linux = callPackage ../development/python-modules/proton-keyring-linux { };
+
+  proton-keyring-linux-secretservice = callPackage ../development/python-modules/proton-keyring-linux-secretservice { };
+
+  proton-vpn-api-core = callPackage ../development/python-modules/proton-vpn-api-core { };
+
+  proton-vpn-connection = callPackage ../development/python-modules/proton-vpn-connection { };
+
+  proton-vpn-killswitch = callPackage ../development/python-modules/proton-vpn-killswitch { };
+
+  proton-vpn-killswitch-network-manager = callPackage ../development/python-modules/proton-vpn-killswitch-network-manager { };
+
+  proton-vpn-logger = callPackage ../development/python-modules/proton-vpn-logger { };
+
+  proton-vpn-network-manager = callPackage ../development/python-modules/proton-vpn-network-manager { };
+
+  proton-vpn-network-manager-openvpn = callPackage ../development/python-modules/proton-vpn-network-manager-openvpn { };
+
+  proton-vpn-session = callPackage ../development/python-modules/proton-vpn-session { };
+
   protonup-ng = callPackage ../development/python-modules/protonup-ng { };
 
   protonvpn-nm-lib = callPackage ../development/python-modules/protonvpn-nm-lib {
@@ -9847,6 +9954,8 @@ self: super: with self; {
 
   pyasn1-modules = callPackage ../development/python-modules/pyasn1-modules { };
 
+  pyasuswrt = callPackage ../development/python-modules/pyasuswrt { };
+
   pyathena = callPackage ../development/python-modules/pyathena { };
 
   pyatmo = callPackage ../development/python-modules/pyatmo { };
@@ -10355,6 +10464,8 @@ self: super: with self; {
 
   pyipp = callPackage ../development/python-modules/pyipp { };
 
+  pyipv8 = callPackage ../development/python-modules/pyipv8 { };
+
   pyiqvia = callPackage ../development/python-modules/pyiqvia { };
 
   pyisbn = callPackage ../development/python-modules/pyisbn { };
@@ -10547,6 +10658,8 @@ self: super: with self; {
 
   pymicrobot = callPackage ../development/python-modules/pymicrobot { };
 
+  pymiele = callPackage ../development/python-modules/pymiele { };
+
   pymilter = callPackage ../development/python-modules/pymilter { };
 
   pymilvus = callPackage ../development/python-modules/pymilvus { };
@@ -11748,6 +11861,8 @@ self: super: with self; {
 
   pytimeparse2 = callPackage ../development/python-modules/pytimeparse2 { };
 
+  pytikz-allefeld = callPackage ../development/python-modules/pytikz-allefeld { };
+
   pytm = callPackage ../development/python-modules/pytm { };
 
   pytmx = callPackage ../development/python-modules/pytmx { };
@@ -12243,6 +12358,8 @@ self: super: with self; {
 
   rencode = callPackage ../development/python-modules/rencode { };
 
+  renson-endura-delta = callPackage ../development/python-modules/renson-endura-delta { };
+
   reorder-python-imports = callPackage ../development/python-modules/reorder-python-imports { };
 
   reolink = callPackage ../development/python-modules/reolink { };
@@ -12525,6 +12642,8 @@ self: super: with self; {
 
   rstcheck-core = callPackage ../development/python-modules/rstcheck-core { };
 
+  rstr = callPackage ../development/python-modules/rstr { };
+
   rtmidi-python = callPackage ../development/python-modules/rtmidi-python {
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices;
   };
@@ -12883,6 +13002,8 @@ self: super: with self; {
 
   shapely = callPackage ../development/python-modules/shapely { };
 
+  shaperglot = callPackage ../development/python-modules/shaperglot { };
+
   sharedmem = callPackage ../development/python-modules/sharedmem { };
 
   sharkiq = callPackage ../development/python-modules/sharkiq { };
@@ -13469,6 +13590,8 @@ self: super: with self; {
 
   squarify = callPackage ../development/python-modules/squarify { };
 
+  sre-yield = callPackage ../development/python-modules/sre-yield { };
+
   srp = callPackage ../development/python-modules/srp { };
 
   srpenergy = callPackage ../development/python-modules/srpenergy { };
@@ -13589,6 +13712,8 @@ self: super: with self; {
 
   strictyaml = callPackage ../development/python-modules/strictyaml { };
 
+  stringbrewer = callPackage ../development/python-modules/stringbrewer { };
+
   stringcase = callPackage ../development/python-modules/stringcase { };
 
   stringly = callPackage ../development/python-modules/stringly { };
@@ -13870,7 +13995,6 @@ self: super: with self; {
   callPackage ../development/python-modules/tensorflow {
     inherit (pkgs.darwin) cctools;
     inherit (pkgs.config) cudaSupport;
-    inherit (self.tensorflow-bin) cudaPackages;
     inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
     flatbuffers-core = pkgs.flatbuffers;
     flatbuffers-python = self.flatbuffers;
@@ -13903,7 +14027,7 @@ self: super: with self; {
 
   tensorly = callPackage ../development/python-modules/tensorly { };
 
-  tensorrt = callPackage ../development/python-modules/tensorrt { };
+  tensorrt = callPackage ../development/python-modules/tensorrt { cudaPackages = pkgs.cudaPackages_11; };
 
   tensorstore = callPackage ../development/python-modules/tensorstore { };
 
@@ -15279,6 +15403,8 @@ self: super: with self; {
 
   ufoLib2 = callPackage ../development/python-modules/ufoLib2 { };
 
+  ufolint = callPackage ../development/python-modules/ufolint { };
+
   ufonormalizer = callPackage ../development/python-modules/ufonormalizer { };
 
   ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };
@@ -15333,6 +15459,8 @@ self: super: with self; {
 
   unicrypto = callPackage ../development/python-modules/unicrypto { };
 
+  unidata-blocks = callPackage ../development/python-modules/unidata-blocks { };
+
   unidecode = callPackage ../development/python-modules/unidecode { };
 
   unidic = callPackage ../development/python-modules/unidic { };
@@ -15527,6 +15655,8 @@ self: super: with self; {
 
   vg = callPackage ../development/python-modules/vg { };
 
+  vharfbuzz = callPackage ../development/python-modules/vharfbuzz { };
+
   videocr = callPackage ../development/python-modules/videocr { };
 
   vidstab = callPackage ../development/python-modules/vidstab { };
@@ -15583,6 +15713,8 @@ self: super: with self; {
 
   vpk = callPackage ../development/python-modules/vpk { };
 
+  vprof = callPackage ../development/python-modules/vprof { };
+
   vqgan-jax = callPackage ../development/python-modules/vqgan-jax { };
 
   vsts = callPackage ../development/python-modules/vsts { };
@@ -15705,6 +15837,8 @@ self: super: with self; {
 
   webcolors = callPackage ../development/python-modules/webcolors { };
 
+  webdataset = callPackage ../development/python-modules/webdataset { };
+
   webdav4 = callPackage ../development/python-modules/webdav4 { };
 
   webdavclient3 = callPackage ../development/python-modules/webdavclient3 { };
@@ -16053,8 +16187,14 @@ self: super: with self; {
 
   yolink-api = callPackage ../development/python-modules/yolink-api { };
 
+  yosys = toPythonModule (pkgs.yosys.override {
+    python3 = python;
+  });
+
   youless-api = callPackage ../development/python-modules/youless-api { };
 
+  youseedee = callPackage ../development/python-modules/youseedee { };
+
   youtube-dl = callPackage ../tools/misc/youtube-dl { };
 
   youtube-dl-light = callPackage ../tools/misc/youtube-dl {
@@ -16185,7 +16325,7 @@ self: super: with self; {
 
   zope-component = callPackage ../development/python-modules/zope-component { };
 
-  zope_configuration = callPackage ../development/python-modules/zope_configuration { };
+  zope-configuration = callPackage ../development/python-modules/zope-configuration { };
 
   zope-contenttype = callPackage ../development/python-modules/zope-contenttype { };
 
@@ -16221,7 +16361,7 @@ self: super: with self; {
 
   zope-testbrowser = callPackage ../development/python-modules/zope-testbrowser { };
 
-  zope_testing = callPackage ../development/python-modules/zope_testing { };
+  zope-testing = callPackage ../development/python-modules/zope-testing { };
 
   zope_testrunner = callPackage ../development/python-modules/zope_testrunner { };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index b1fb263e0bb83..9acaacea24a4d 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -80,6 +80,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   ### LIBRARIES
 
+  accounts-qml-module = callPackage ../development/libraries/accounts-qml-module { };
+
   accounts-qt = callPackage ../development/libraries/accounts-qt { };
 
   alkimia = callPackage ../development/libraries/alkimia { };
@@ -140,13 +142,13 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   liblastfm = callPackage ../development/libraries/liblastfm { };
 
-  libopenshot = callPackage ../applications/video/openshot-qt/libopenshot.nix {
+  libopenshot = callPackage ../development/libraries/libopenshot {
     stdenv = if pkgs.stdenv.isDarwin then pkgs.overrideSDK pkgs.stdenv "11.0" else pkgs.stdenv;
   };
 
   packagekit-qt = callPackage ../tools/package-management/packagekit/qt.nix { };
 
-  libopenshot-audio = callPackage ../applications/video/openshot-qt/libopenshot-audio.nix {
+  libopenshot-audio = callPackage ../development/libraries/libopenshot-audio {
     inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate AGL Cocoa Foundation;
   };
 
@@ -246,6 +248,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   qxlsx = callPackage ../development/libraries/qxlsx { };
 
+  qzxing = callPackage ../development/libraries/qzxing { };
+
   soqt = callPackage ../development/libraries/soqt { };
 
   telepathy = callPackage ../development/libraries/telepathy/qt { };
diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix
index 1cd1b731c4696..1b6e1ce4c1c7c 100644
--- a/pkgs/top-level/qt6-packages.nix
+++ b/pkgs/top-level/qt6-packages.nix
@@ -50,6 +50,8 @@ makeScopeWithSplicing' {
 
   qxlsx = callPackage ../development/libraries/qxlsx { };
 
+  qzxing = callPackage ../development/libraries/qzxing { };
+
   poppler = callPackage ../development/libraries/poppler {
     lcms = pkgs.lcms2;
     qt6Support = true;
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 39ea843bcea28..f1b5645e52b6c 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -60,7 +60,6 @@ let
 
   # list of all compilers to test specific packages on
   released = with compilerNames; [
-    ghc884
     ghc8107
     ghc902
     ghc924
@@ -390,10 +389,6 @@ let
 
           ghcjs = {};
           ghcjs810 = {};
-
-          # Can't be built with musl, see meta.broken comment in the drv
-          integer-simple.ghc884 = {};
-          integer-simple.ghc88 = {};
         };
 
       # Get some cache going for MUSL-enabled GHC.
@@ -501,8 +496,6 @@ let
       ] released;
       funcmp = released;
       haskell-language-server = lib.subtractLists [
-        # Support ceased as of 1.9.0.0
-        compilerNames.ghc884
         # Support ceased as of 2.3.0.0
         compilerNames.ghc8107
         # Not yet supported
@@ -534,12 +527,10 @@ let
         compilerNames.ghc981
       ] released;
       ghc-api-compat = [
-        compilerNames.ghc884
         compilerNames.ghc8107
         compilerNames.ghc902
       ];
       ghc-bignum = [
-        compilerNames.ghc884
         compilerNames.ghc8107
       ];
       ghc-lib = lib.subtractLists [
@@ -554,13 +545,11 @@ let
       ghc-source-gen = [
         # Feel free to remove these as they break,
         # ghc-source-gen currently doesn't support GHC 9.4
-        compilerNames.ghc884
         compilerNames.ghc8107
         compilerNames.ghc902
         compilerNames.ghc928
       ];
       ghc-tags = lib.subtractLists [
-        compilerNames.ghc884
         compilerNames.ghc981
       ] released;
       hashable = lib.subtractLists [
@@ -653,7 +642,6 @@ let
         constituents = accumulateDerivations [
           jobs.pkgsMusl.haskell.compiler.ghc8102Binary
           jobs.pkgsMusl.haskell.compiler.ghc8107Binary
-          jobs.pkgsMusl.haskell.compiler.ghc884
           jobs.pkgsMusl.haskell.compiler.ghc8107
           jobs.pkgsMusl.haskell.compiler.ghc902
           jobs.pkgsMusl.haskell.compiler.ghc924
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index 58b673e50dbce..54e70b1936de7 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04byz5614vjb7mzzn8l4ff121m7d7jnr0wa8fl47i3ax8a4hrmrb";
+      sha256 = "05kl5kjvd5218nq9j6yfs3mw3bm21hdjixj6x3f5nzpmbg7inz4y";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kf2zd0m9p8im4f8176qywgacbi33ri517v52qr2qd8gk731knx2";
+      sha256 = "0lbxllvna81clk9957dd3346aw53gp8kgw23qccca96szhhmcy5p";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@@ -27,21 +27,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0abw1z8a1rpdkd3mwjsm0x207hvy0kqrp7d23rldvwk9ff5p9g5c";
+      sha256 = "07kfdadci4i9fpkvmxcpjr192ah5hi91rax47h9yabp29wpgzv73";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   actionpack = {
-    dependencies = ["actionview" "activesupport" "nokogiri" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+    dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hdcq6d55vs5cdj1rgr13vn10mfwdkphsahiiz4i2j9f3wz8rp7g";
+      sha256 = "0qqs6hl42dy7c1hmnpxkzdk6qk22fgyjpr2ibi4yd9rlf58vm8pa";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q6c3jpr8av62bgb1pc8f7xh11kwd41dysi0aychx260glw80llp";
+      sha256 = "0d4f693b9jjwa0r39bhpci5i734cq102ibmig5pzxcsqadcl4bds";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c6k5d7agz4svnvycdharcffkd5zwrwrl8cmyqn9lrral3lhkiy2";
+      sha256 = "1jxk32mapfhla3a5wnixcfk38ndw2r4lqfsv13hmckn91wvc8h7m";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02sawsi5r7pwvg0kmx9i2l9n69nqs406wsxlypbh8cpj8h0aawlk";
+      sha256 = "188kaggslza03lgrgdz9m1vvcbmrj91nrmvnl5fl7c4vz8kpp1np";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01jrk2i6vp8jcll65d03mqmp1ibxa0ip7bdg5157fkm5syblzsqw";
+      sha256 = "1gvf1acnkisars8wci88cz8fns27r2ssbqk2lsp9r2a7rlhqgmrl";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "timeout"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lpcbgqbrb3yfk3i66mnxa5i36r0ig9dwzksjbm15i30rndr27p5";
+      sha256 = "0d1bz6qq3982dbbdid4zn37rzrszvhxvb42vh4jfkr2fnzg0awvy";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g4ic06i3lkinziq6amhczdw0swq54cglb35by2lmfm8g5wkn0cb";
+      sha256 = "1knrpj89n0r7jynxasqv4mi650l5710rjnh4masfv170pnlzkc22";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   activesupport = {
     dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xpwx7hw7mgmjk3w3g8bkz5jfapixhgn3ihly0xkpyvgp1shp8h1";
+      sha256 = "1l6hmf99zgckpn812qfxfz60rbh0zixv1hxnxhjlg8942pvixn2v";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -218,20 +218,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
+      sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.2.0";
   };
   benchmark = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "017jh2lx3z5hqjvnqclc5bfr5q0d3zk0nqjfz73909ybr4h20kmi";
+      sha256 = "0wghmhwjzv4r9mdcny4xfz2h2cm7ci24md79rvy2x65r4i99k9sc";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.3.0";
   };
   bigdecimal = {
     groups = ["default"];
@@ -373,10 +373,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mwcdg1i4126jf2qcsp4mhd1vqzqd8ck08wpyassz1sg0a8yxw4j";
+      sha256 = "1r2w719d5zfzl3wnc5npnjv4194b7gdh4vib09vifdm8yab14br3";
       type = "gem";
     };
-    version = "1.13.0";
+    version = "1.14.3";
   };
   cocoapods-acknowledgements = {
     dependencies = ["cocoapods" "redcarpet" "xcodeproj"];
@@ -436,10 +436,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g944vch2mllh8lijbfgl0c2kn9gi5vsg9y9v67x0qca5b1bx4id";
+      sha256 = "04qyzcwkwbm7l4kjp6m8g2pvsryfvsllwpqf0mxfnzwbdid40zwn";
       type = "gem";
     };
-    version = "1.13.0";
+    version = "1.14.3";
   };
   cocoapods-coverage = {
     dependencies = ["cocoapods-testing" "slather"];
@@ -498,10 +498,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jgipkiah3z6qb9ax6qac3b2m1idavd5adc319k5rjsfddpfgszh";
+      sha256 = "1ldnwwsx44i2xsdmsmyz9xrar19lfy5s5xslvral1p3674dvwvmv";
       type = "gem";
     };
-    version = "1.6.3";
+    version = "2.1";
   };
   cocoapods-expert-difficulty = {
     groups = ["default"];
@@ -807,10 +807,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
+      sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.4";
   };
   dentaku = {
     dependencies = ["concurrent-ruby"];
@@ -859,10 +859,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "021a7f9lmvz5d3g4zdzm99xal9w3z6wzv2wyrp3jr929nnlf7hdd";
+      sha256 = "1a5k4wj0ic2z1zrxyvhj1r1pv51qy0nslgbjf3rxkd720s00v29b";
       type = "gem";
     };
-    version = "7.6.0";
+    version = "7.7.0";
   };
   dnsruby = {
     dependencies = ["simpleidn"];
@@ -897,15 +897,14 @@
     version = "1.4.0";
   };
   domain_name = {
-    dependencies = ["unf"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0";
+      sha256 = "1gpciaifmxql8h01ci12qq08dnqrdlzkkz6fmia9v9yc3r9a29si";
       type = "gem";
     };
-    version = "0.5.20190701";
+    version = "0.6.20231109";
   };
   dotenv = {
     groups = ["default"];
@@ -923,10 +922,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h9c2qiam82y3caapa2x157j1lkk9954hrjg3p22hxcsk8fli3vb";
+      sha256 = "03ylflxbp9jrs1hx3d4wvx05yb9hdq4a0r706zz6qc6kvqfazr79";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.2.0";
   };
   e2mmap = {
     groups = ["default"];
@@ -1017,10 +1016,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "104vrqqy6bszbhpvabgz9ra7dm6lnb5jwzwqm2fks0ka44spknyl";
+      sha256 = "138gi8b95nqv8m83dynpsszz11a6c5si1pym6y0b6bfb01r33pyi";
       type = "gem";
     };
-    version = "0.104.0";
+    version = "0.105.0";
   };
   execjs = {
     groups = ["default"];
@@ -1038,10 +1037,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5";
+      sha256 = "19w1lzipnxs6vy3y0pw1mf956f768ppzgfrnlpwgrpnjjv9xqf7d";
       type = "gem";
     };
-    version = "2.7.11";
+    version = "2.7.12";
   };
   faraday-net_http = {
     groups = ["default"];
@@ -1090,10 +1089,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s2zib38yr3fn4ggpis9sjar12q3ypgy607ndjyhhnjwslxcfjdy";
+      sha256 = "0x504023g56y32r81l6i4pqbhn46szzy6s5bcdlc7kb5iv1iigar";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -1521,10 +1520,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17p6arsklbzh2hvwwr8i4cfrpa7vhk8q88fhickhwmn7m80lxdw7";
+      sha256 = "0appka5sbafafn4f8d285skxw3qkhbap28vn9ms0pf7pbp7s2449";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.1";
   };
   jaro_winkler = {
     groups = ["default"];
@@ -2011,20 +2010,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
+      sha256 = "0wi7g6c8q0v1kahwp38mv8d526p1n2ddsr79ajx84idvih0c601i";
       type = "gem";
     };
-    version = "2.6.3";
+    version = "2.7.0";
   };
   json_pure = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kn736pb52j8b9xxq6l8wqp2chs74aa14vfnp0rijjn086m8b4f3";
+      sha256 = "0ilnxmppz9dcwp61dbciv6nk4qsggc6l20gsxdb1flffik6q90z9";
       type = "gem";
     };
-    version = "2.6.3";
+    version = "2.7.0";
   };
   jsonpath = {
     dependencies = ["multi_json"];
@@ -2116,10 +2115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aarly8kl587d100n81cphks5vp2rnkm8dnf69p0dr7k78dasas3";
+      sha256 = "1s5v614c1kg5z4hqrmza5fr7qfpqvqirc51624wwsq9vismdisnv";
       type = "gem";
     };
-    version = "4.1.1";
+    version = "4.1.2";
   };
   link-header-parser = {
     groups = ["default"];
@@ -2169,10 +2168,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
+      sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh";
       type = "gem";
     };
-    version = "2.21.3";
+    version = "2.22.0";
   };
   mab = {
     groups = ["default"];
@@ -2303,10 +2302,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
+      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   minima = {
     dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"];
@@ -2375,10 +2374,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pkxnp7p44kvs460bbbgjarr7xy1j8kjjmhwkg1kypj9wgmwb6qa";
+      sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "0.2.0";
   };
   mysql2 = {
     groups = ["default"];
@@ -2436,10 +2435,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "129h6qs08iyl976zzs96pqbigd82rz89jn3fd71xi0s82q7sl0h0";
+      sha256 = "0541lfqaz46h8s3fks11vsd1iqzmgjjw3c0jp9agg92zblwj0axs";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.4.7";
   };
   net-pop = {
     dependencies = ["net-protocol"];
@@ -2458,10 +2457,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
+      sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.2.2";
   };
   net-scp = {
     dependencies = ["net-ssh"];
@@ -2510,10 +2509,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w9978zwjf1qhy3amkivab0f9syz6a7k0xgydjidaf7xc831d78f";
+      sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
       type = "gem";
     };
-    version = "2.5.9";
+    version = "2.7.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -2521,10 +2520,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -2607,10 +2606,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rqjqv5gk89xdyva8i6lak5hsd97mcrsk4l6bdg94ig98ac55as5";
+      sha256 = "04gq05mgy3v8gac0dk8ldr59865vbjhkzna51w8wh900512lakyq";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   pango = {
     dependencies = ["cairo-gobject" "gobject-introspection"];
@@ -2649,10 +2648,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07jn3rndwfrqlziknhrqlvn523xb5kirnpbcmb4h4hw5npf67nii";
+      sha256 = "10jiv4c28bdvp4r98s042ilzks8wx36qw5a4byragwa1fzwy87va";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.2.0";
   };
   pastel = {
     dependencies = ["tty-color"];
@@ -2711,10 +2710,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "184c3fb62qafc4wpar63w1ig5g7qh22a632slzrpq37zjjwpszqd";
+      sha256 = "04wi7n51w42v9s958gfmxwkg5iikq25whacyflpi307517ymlaya";
       type = "gem";
     };
-    version = "1.5.5";
+    version = "1.5.6";
   };
   polyglot = {
     groups = ["default"];
@@ -2732,10 +2731,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y7p5712grf8sd4kmk9i62qs9mak2fd8685i78qv95wdz3g2csaa";
+      sha256 = "1hzd04pzq97rjb1a148gm0wgfb2nr89axbd16d2h6kp666fg4i00";
       type = "gem";
     };
-    version = "4.0.2";
+    version = "4.0.3";
   };
   prettier_print = {
     groups = ["default"];
@@ -2747,6 +2746,16 @@
     };
     version = "1.2.1";
   };
+  prism = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "172qxf1zyrhxzwbn4c7gz12zdyb1jkdqrqvb2c7863lmxp53rrxs";
+      type = "gem";
+    };
+    version = "0.18.0";
+  };
   pry = {
     dependencies = ["coderay" "method_source"];
     groups = ["default"];
@@ -2786,10 +2795,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz";
+      sha256 = "0wjzrkssjfjpynij5dpycyflhqbjvi1gc2j73xgq3b196s1d3c24";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "5.1.1.1";
   };
   public_suffix = {
     groups = ["default"];
@@ -2828,10 +2837,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
+      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.3";
   };
   rack = {
     groups = ["default"];
@@ -2893,10 +2902,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bzzryklzna9lsmf34sj52x1wvb81wxwaiwa95hblan11wng43jk";
+      sha256 = "1sryvf34ggxx088djc5c358m0h95i9qjhbgwl0zysmi3y0sw79g0";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "minitest" "nokogiri"];
@@ -2926,10 +2935,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iyjy761sfk238by4br38j5a24bwvfhsr3wjm5yqf4gjw1srr7rx";
+      sha256 = "0n0qb1qnzicbmkj4j5fb27c6hhm5i0qss0vir3kaynh6zz24sfgh";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.1.2";
   };
   rainbow = {
     groups = ["default"];
@@ -2946,10 +2955,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
       type = "gem";
     };
-    version = "13.0.6";
+    version = "13.1.0";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -3019,10 +3028,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm";
+      sha256 = "1pnkgnk2vli1y8bbc25qbgv6z2al44dlgcm2mx3ssm34j7xz7gqh";
       type = "gem";
     };
-    version = "6.5.0";
+    version = "6.6.0";
   };
   re2 = {
     dependencies = ["mini_portile2"];
@@ -3030,10 +3039,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13xfrx1wwq7n2qsw449fq8h611n05v400i9dz9k6pdia019hp8q3";
+      sha256 = "0bbh1lddqffsck99ivynjyf9n39s9as6cn9dn17xsx9vid5ysf2b";
       type = "gem";
     };
-    version = "2.1.3";
+    version = "2.4.3";
   };
   red-colors = {
     dependencies = ["matrix"];
@@ -3062,10 +3071,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00qqqzgh7f0f2j6rkbm5v7976mg8ik4sapk2vnb3rq98m8xc1wfw";
+      sha256 = "1n7k4sgx5vzsigp8c15flz4fclqy4j2a33vim7b2c2w5jyjhwxrv";
       type = "gem";
     };
-    version = "5.0.7";
+    version = "5.0.8";
   };
   redis-client = {
     dependencies = ["connection_pool"];
@@ -3073,10 +3082,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n3nl3znncrnv2gi4byqhc79jvv50b0vkf7ci7w6a90qn9fvwxxm";
+      sha256 = "013p2968vqrr282yvxp3pyy5vn0nrgdppzqywbwbfjq2kkwx2fx9";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.18.0";
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
@@ -3105,10 +3114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3";
+      sha256 = "1d9a5s3qrjdy50ll2s32gg3qmf10ryp3v2nr5k718kvfadp50ray";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.8.2";
   };
   reline = {
     dependencies = ["io-console"];
@@ -3116,10 +3125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0187pj9k7d8kdvzjk6r6mf7z7wy18saxxhn7x7pqc840w6h4s0ja";
+      sha256 = "1hi6zfj6zqzxcbamhjm9w9cswv62f76l8gsdfcnmhpw35cyxphh8";
       type = "gem";
     };
-    version = "0.3.9";
+    version = "0.4.1";
   };
   rest-client = {
     dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
@@ -3239,15 +3248,15 @@
     version = "3.12.1";
   };
   rubocop = {
-    dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wgnf17sq22f4f79r44hxbd1w0ivvl89mbjshpzqzd4zk199y8wq";
+      sha256 = "06qnp5zs233j4f59yyqrg8al6hr9n4a7vcdg3p31v0np8bz9srwg";
       type = "gem";
     };
-    version = "1.56.4";
+    version = "1.57.2";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -3255,10 +3264,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "188bs225kkhrb17dsf3likdahs2p1i1sqn0pr3pvlx50g6r2mnni";
+      sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs";
       type = "gem";
     };
-    version = "1.29.0";
+    version = "1.30.0";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -3304,15 +3313,15 @@
     version = "0.8.0";
   };
   ruby-lsp = {
-    dependencies = ["language_server-protocol" "sorbet-runtime" "yarp"];
+    dependencies = ["language_server-protocol" "prism" "sorbet-runtime"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0drw0zbymw9bb2jln5arqk8vw1w0h68bk8h87ppws72695z5r6vb";
+      sha256 = "13snp4q09vv3g7nskaza9xm50shxrdc2xxdyz6gp4vgzbvp4ihc0";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "0.13.0";
   };
   ruby-lxc = {
     groups = ["default"];
@@ -3360,10 +3369,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19pzpx406rr9s3qk527rn9y3b76sjq5pi7y0xzqiy50q3k0hhg7g";
+      sha256 = "16vkhdb9ss8z4alg46n675n4z1115g8akyg44nzkp8vpxksgrr1v";
       type = "gem";
     };
-    version = "2.1.4";
+    version = "2.2.0";
   };
   ruby2_keywords = {
     groups = ["default"];
@@ -3498,10 +3507,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n6hiim82lfydzv71lgzmkyacsbm3q5nw7ixavprci5wrl9zwls7";
+      sha256 = "0p5i06vygm601822vydxniad2rhxg6xkl97r9f6pgk6pnz7spq38";
       type = "gem";
     };
-    version = "0.19.1";
+    version = "0.20.1";
   };
   sequel = {
     dependencies = ["bigdecimal"];
@@ -3509,10 +3518,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xxdnal3qh53kvp72ykf6jbcv7m69bjg61h59awp3xbzmdqli7q5";
+      sha256 = "0zj66n0m1la1anxjjdb8a35frzabym112rf9ssyxq42mq05ln4m2";
       type = "gem";
     };
-    version = "5.73.0";
+    version = "5.74.0";
   };
   sequel_pg = {
     dependencies = ["pg" "sequel"];
@@ -3594,10 +3603,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zw9iqvg6a0cri1v1pwymsxw5cjic4vcmi0ziss123d3g175fi3w";
+      sha256 = "19jqdnqc9vxgag3hkmh7zawsjmm5s9hg4gjqz89pc5fmljxp1w97";
       type = "gem";
     };
-    version = "2.7.5";
+    version = "2.8.0";
   };
   slop = {
     groups = ["default"];
@@ -3645,10 +3654,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12jxz8xwy1mr4yfrdfs2zhf3pigli8bk0pdc5lnf82vdk8vadpmy";
+      sha256 = "18280l1wgdmr9xhr4mzxr4ycskwbgjzd91vmdzx0dlp6xp2dydnb";
       type = "gem";
     };
-    version = "0.5.11064";
+    version = "0.5.11144";
   };
   sqlite3 = {
     dependencies = ["mini_portile2"];
@@ -3656,20 +3665,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15415lmz69jbzl6nch4q5l2jxv054676nk6y0vgy0g3iklmjrxvc";
+      sha256 = "08irz5llz31im8pmkk5k0kw433jyyji1qa98xkdmpphncdjr38am";
       type = "gem";
     };
-    version = "1.6.6";
+    version = "1.6.9";
   };
   stringio = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ix96dxbjqlpymdigb4diwrifr0bq7qhsrng95fkkp18av326nqk";
+      sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1";
       type = "gem";
     };
-    version = "3.0.8";
+    version = "3.1.0";
   };
   syntax_tree = {
     dependencies = ["prettier_print"];
@@ -3739,10 +3748,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
+      sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   thrift = {
     groups = ["default"];
@@ -3769,10 +3778,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd";
+      sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.4.1";
   };
   tiny_tds = {
     groups = ["default"];
@@ -3832,10 +3841,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
+      sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -3875,10 +3884,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch";
+      sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj";
       type = "gem";
     };
-    version = "0.0.8.2";
+    version = "0.0.9.1";
   };
   unicode-display_width = {
     groups = ["default"];
@@ -3947,10 +3956,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbpija1z2ia0bgqm950z564pk8x8zisjnlxpqhysffczz7hv46z";
+      sha256 = "109v9vgkry317v5vc3b5dwgxpp1if3q9m26mrpl6052m020q05qx";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "5.1.1";
   };
   xcodeproj = {
     dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"];
@@ -3983,16 +3992,6 @@
     };
     version = "0.9.34";
   };
-  yarp = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nqmiw4477afgk2n9ily1gvk78hvg7zj24cdah10m8m8va21r9ir";
-      type = "gem";
-    };
-    version = "0.12.0";
-  };
   zeitwerk = {
     groups = ["default"];
     platforms = [];